-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add interfaces and partial implement for public core.workspaces #4
Add interfaces and partial implement for public core.workspaces #4
Conversation
@@ -199,6 +202,7 @@ export class CoreSystem { | |||
const uiSettings = await this.uiSettings.start(); | |||
const docLinks = this.docLinks.start({ injectedMetadata }); | |||
const http = await this.http.start(); | |||
const workspaces = await this.workspaces.start({ http }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@SuZhou-Joe Should it pass savedObjects
instead? like await this.workspaces.start({ savedObjects });
I thought workspace service will use savedObjects
to interact with data store.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We will use the savedObjects client in server/workspaces. public/workspaces.service will only send specific http request to the routes server/workspaces registered.
Let me draw a diagram to better illustrate the dependency later.
Signed-off-by: SuZhoue-Joe <[email protected]>
Signed-off-by: SuZhoue-Joe <[email protected]>
Signed-off-by: SuZhoue-Joe <[email protected]>
Signed-off-by: SuZhoue-Joe <[email protected]>
0860a9c
to
02f73fa
Compare
}; | ||
} | ||
|
||
public async getCurrentWorkspaceId(): Promise<IResponse<WorkspaceAttribute['id']>> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@SuZhou-Joe Can response of this function not be a promise?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It will be more extensible that we claim the response as promise and it may require some API calls when we need to fetch the id.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In my opinion, the service should have a state to store current workspace info and have a synchronous method to return so that other component can handle this logic easily. We can discuss this in scrum meeting.
options?: WorkspaceFindOptions | ||
): Promise< | ||
IResponse< | ||
WorkspaceAttribute & { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@SuZhou-Joe There should respond a array of WorkspaceAttribute instead of single?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are right, let me modify this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
*/ | ||
export { WorkspacesClientContract, WorkspacesClient } from './workspaces_client'; | ||
export { WorkspacesStart, WorkspacesService } from './workspaces_service'; | ||
export { WorkspaceAttribute, WorkspaceFindOptions } from '../../server/types'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@SuZhou-Joe these variables should be exported in public level, otherwise there will be an error when imported.
…objects client wrapper (#230) * feat: add basic workspace saved objects client wrapper Signed-off-by: Lin Wang <[email protected]> * feat: add unit test (#2) Signed-off-by: SuZhou-Joe <[email protected]> * feat: update client wrapper Signed-off-by: tygao <[email protected]> * feat: init permission control in workspace plugin Signed-off-by: Lin Wang <[email protected]> * Support disable permission check on workspace (#228) * support disable permission check for workspace Signed-off-by: Hailong Cui <[email protected]> * fix typos Signed-off-by: Hailong Cui <[email protected]> --------- Signed-off-by: Hailong Cui <[email protected]> * feat: add ACLSearchParams consumer in repository (#3) Signed-off-by: SuZhou-Joe <[email protected]> * fix: ACLSearchParams missing in search dsl Signed-off-by: Lin Wang <[email protected]> * test: add integration test for workspace saved objects client wrapper Signed-off-by: Lin Wang <[email protected]> * style: add empty line under license Signed-off-by: Lin Wang <[email protected]> * test: enable workspace permission control for integration tests Signed-off-by: Lin Wang <[email protected]> * feat: add workspace into includeHiddenTypes (#249) * feat: add workspace into includeHiddenTypes of client wrapper and permission control client Signed-off-by: SuZhou-Joe <[email protected]> * fix: hiddenType side effect Signed-off-by: SuZhou-Joe <[email protected]> --------- Signed-off-by: SuZhou-Joe <[email protected]> * fix workspace client wrapper integration tests Signed-off-by: Lin Wang <[email protected]> * add permissions fields to workspace CRUD APIs Signed-off-by: Lin Wang <[email protected]> * Move WorkspacePermissionMode inside workspace plugin Signed-off-by: Lin Wang <[email protected]> * Address pr comments Signed-off-by: Lin Wang <[email protected]> * Remove ACLSearchParams in public SavedObjectsFindOptions Signed-off-by: Lin Wang <[email protected]> * Remove lodash and Add default permissionModes Signed-off-by: Lin Wang <[email protected]> * feat: address concerns on ensureRawRequest (#4) * feat: address concerns on ensureRawRequest Signed-off-by: SuZhou-Joe <[email protected]> * feat: add check for empty array Signed-off-by: SuZhou-Joe <[email protected]> * feat: make find api backward compatible Signed-off-by: SuZhou-Joe <[email protected]> * feat: remove useless code Signed-off-by: SuZhou-Joe <[email protected]> --------- Signed-off-by: SuZhou-Joe <[email protected]> * Update annotations and error Signed-off-by: Lin Wang <[email protected]> * Add unit tests for worksapce saved objects client wrapper Signed-off-by: Lin Wang <[email protected]> * Remove getPrincipalsOfObjects in permission Signed-off-by: Lin Wang <[email protected]> * Fix permissionEnabled flag missed in workspace plugin setup test Signed-off-by: Lin Wang <[email protected]> * Change back to Not Authorized error Signed-off-by: Lin Wang <[email protected]> * Fix unit tests for query_params and plugin setup Signed-off-by: Lin Wang <[email protected]> * Fix unittests in workspace server utils Signed-off-by: Lin Wang <[email protected]> * feat: add workspacesSearchOperators to decouple ACLSearchParams Signed-off-by: SuZhou-Joe <[email protected]> * feat: update test cases Signed-off-by: SuZhou-Joe <[email protected]> * feat: optimize test cases Signed-off-by: SuZhou-Joe <[email protected]> * feat: optimize comment Signed-off-by: SuZhou-Joe <[email protected]> * feat: omit defaultSearchOperator in public savedobjetcs client Signed-off-by: SuZhou-Joe <[email protected]> * feat: omit workspacesSearchOperator field Signed-off-by: SuZhou-Joe <[email protected]> --------- Signed-off-by: Lin Wang <[email protected]> Signed-off-by: SuZhou-Joe <[email protected]> Signed-off-by: tygao <[email protected]> Signed-off-by: Hailong Cui <[email protected]> Co-authored-by: Lin Wang <[email protected]> Co-authored-by: SuZhou-Joe <[email protected]> Co-authored-by: Hailong Cui <[email protected]>
…objects client wrapper (#230) * feat: add basic workspace saved objects client wrapper Signed-off-by: Lin Wang <[email protected]> * feat: add unit test (#2) Signed-off-by: SuZhou-Joe <[email protected]> * feat: update client wrapper Signed-off-by: tygao <[email protected]> * feat: init permission control in workspace plugin Signed-off-by: Lin Wang <[email protected]> * Support disable permission check on workspace (#228) * support disable permission check for workspace Signed-off-by: Hailong Cui <[email protected]> * fix typos Signed-off-by: Hailong Cui <[email protected]> --------- Signed-off-by: Hailong Cui <[email protected]> * feat: add ACLSearchParams consumer in repository (#3) Signed-off-by: SuZhou-Joe <[email protected]> * fix: ACLSearchParams missing in search dsl Signed-off-by: Lin Wang <[email protected]> * test: add integration test for workspace saved objects client wrapper Signed-off-by: Lin Wang <[email protected]> * style: add empty line under license Signed-off-by: Lin Wang <[email protected]> * test: enable workspace permission control for integration tests Signed-off-by: Lin Wang <[email protected]> * feat: add workspace into includeHiddenTypes (#249) * feat: add workspace into includeHiddenTypes of client wrapper and permission control client Signed-off-by: SuZhou-Joe <[email protected]> * fix: hiddenType side effect Signed-off-by: SuZhou-Joe <[email protected]> --------- Signed-off-by: SuZhou-Joe <[email protected]> * fix workspace client wrapper integration tests Signed-off-by: Lin Wang <[email protected]> * add permissions fields to workspace CRUD APIs Signed-off-by: Lin Wang <[email protected]> * Move WorkspacePermissionMode inside workspace plugin Signed-off-by: Lin Wang <[email protected]> * Address pr comments Signed-off-by: Lin Wang <[email protected]> * Remove ACLSearchParams in public SavedObjectsFindOptions Signed-off-by: Lin Wang <[email protected]> * Remove lodash and Add default permissionModes Signed-off-by: Lin Wang <[email protected]> * feat: address concerns on ensureRawRequest (#4) * feat: address concerns on ensureRawRequest Signed-off-by: SuZhou-Joe <[email protected]> * feat: add check for empty array Signed-off-by: SuZhou-Joe <[email protected]> * feat: make find api backward compatible Signed-off-by: SuZhou-Joe <[email protected]> * feat: remove useless code Signed-off-by: SuZhou-Joe <[email protected]> --------- Signed-off-by: SuZhou-Joe <[email protected]> * Update annotations and error Signed-off-by: Lin Wang <[email protected]> * Add unit tests for worksapce saved objects client wrapper Signed-off-by: Lin Wang <[email protected]> * Remove getPrincipalsOfObjects in permission Signed-off-by: Lin Wang <[email protected]> * Fix permissionEnabled flag missed in workspace plugin setup test Signed-off-by: Lin Wang <[email protected]> * Change back to Not Authorized error Signed-off-by: Lin Wang <[email protected]> * Fix unit tests for query_params and plugin setup Signed-off-by: Lin Wang <[email protected]> * Fix unittests in workspace server utils Signed-off-by: Lin Wang <[email protected]> * feat: add workspacesSearchOperators to decouple ACLSearchParams Signed-off-by: SuZhou-Joe <[email protected]> * feat: update test cases Signed-off-by: SuZhou-Joe <[email protected]> * feat: optimize test cases Signed-off-by: SuZhou-Joe <[email protected]> * feat: optimize comment Signed-off-by: SuZhou-Joe <[email protected]> * feat: omit defaultSearchOperator in public savedobjetcs client Signed-off-by: SuZhou-Joe <[email protected]> * feat: omit workspacesSearchOperator field Signed-off-by: SuZhou-Joe <[email protected]> --------- Signed-off-by: Lin Wang <[email protected]> Signed-off-by: SuZhou-Joe <[email protected]> Signed-off-by: tygao <[email protected]> Signed-off-by: Hailong Cui <[email protected]> Co-authored-by: Lin Wang <[email protected]> Co-authored-by: SuZhou-Joe <[email protected]> Co-authored-by: Hailong Cui <[email protected]>
Description
Issues Resolved
Screenshot
Testing the changes
Check List
yarn test:jest
yarn test:jest_integration
yarn test:ftr