Skip to content

Commit

Permalink
remove personal workspace (opensearch-project#271)
Browse files Browse the repository at this point in the history
Signed-off-by: Hailong Cui <ihailong@amazon.com>
  • Loading branch information
Hailong-am committed Mar 4, 2024
1 parent 415605f commit 4f1c5e8
Show file tree
Hide file tree
Showing 4 changed files with 2 additions and 49 deletions.
1 change: 0 additions & 1 deletion src/core/server/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,6 @@ export {
PUBLIC_WORKSPACE_ID,
MANAGEMENT_WORKSPACE_ID,
WORKSPACE_TYPE,
PERSONAL_WORKSPACE_ID_PREFIX,
} from '../utils';

export {
Expand Down
2 changes: 0 additions & 2 deletions src/core/utils/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,3 @@ export enum WorkspacePermissionMode {
export const PUBLIC_WORKSPACE_ID = 'public';

export const MANAGEMENT_WORKSPACE_ID = 'management';

export const PERSONAL_WORKSPACE_ID_PREFIX = 'personal';
1 change: 0 additions & 1 deletion src/core/utils/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,5 @@ export {
PUBLIC_WORKSPACE_ID,
MANAGEMENT_WORKSPACE_ID,
WORKSPACE_TYPE,
PERSONAL_WORKSPACE_ID_PREFIX,
} from './constants';
export { getWorkspaceIdFromUrl, formatUrlWithWorkspaceId, cleanWorkspaceId } from './workspace';
47 changes: 2 additions & 45 deletions src/plugins/workspace/server/workspace_client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import type {
SavedObjectsServiceStart,
Logger,
Permissions,
OpenSearchDashboardsRequest,
} from '../../../core/server';
import {
ACL,
Expand All @@ -21,7 +20,6 @@ import {
PUBLIC_WORKSPACE_ID,
WORKSPACE_TYPE,
WorkspacePermissionMode,
PERSONAL_WORKSPACE_ID_PREFIX,
} from '../../../core/server';
import {
IWorkspaceClientImpl,
Expand All @@ -32,7 +30,7 @@ import {
WorkspacePermissionItem,
} from './types';
import { workspace } from './saved_objects';
import { generateRandomId, getPrincipalsFromRequest } from './utils';
import { generateRandomId } from './utils';
import {
WORKSPACE_OVERVIEW_APP_ID,
WORKSPACE_SAVED_OBJECTS_CLIENT_WRAPPER_ID,
Expand Down Expand Up @@ -254,30 +252,7 @@ export class WorkspaceClientWithSavedObject implements IWorkspaceClientImpl {
managementWorkspaceACL.getPermissions()
);
}
private async setupPersonalWorkspace(
request: OpenSearchDashboardsRequest,
savedObjectClient?: SavedObjectsClientContract
) {
const principals = getPrincipalsFromRequest(request);
const personalWorkspaceACL = new ACL().addPermission(
[WorkspacePermissionMode.LibraryWrite, WorkspacePermissionMode.Write],
{
users: principals.users,
}
);
return this.checkAndCreateWorkspace(
savedObjectClient,
`${PERSONAL_WORKSPACE_ID_PREFIX}-${principals.users?.[0] || ''}`,
{
name: i18n.translate('workspaces.personal.workspace.default.name', {
defaultMessage: 'Personal workspace',
}),
features: ['*', `!@${DEFAULT_APP_CATEGORIES.management.id}`],
reserved: true,
},
personalWorkspaceACL.getPermissions()
);
}

public async setup(core: CoreSetup): Promise<IResponse<boolean>> {
this.setupDep.savedObjects.registerType(workspace);
return {
Expand Down Expand Up @@ -370,24 +345,6 @@ export class WorkspaceClientWithSavedObject implements IWorkspaceClientImpl {
tasks.push(this.setupManagementWorkspace(scopedClientWithoutPermissionCheck));
}

/**
* Setup personal workspace
*/
const principals = getPrincipalsFromRequest(requestDetail.request);
/**
* Only when authentication is enabled will personal workspace be created.
* and the personal workspace id will be like "personal-{userId}"
*/
if (principals.users && principals.users?.[0]) {
const hasPersonalWorkspace = savedObjects.find(
(item) => `${PERSONAL_WORKSPACE_ID_PREFIX}-${principals.users?.[0] || ''}` === item.id
);
if (!hasPersonalWorkspace) {
tasks.push(
this.setupPersonalWorkspace(requestDetail.request, scopedClientWithoutPermissionCheck)
);
}
}
try {
await Promise.all(tasks);
if (tasks.length) {
Expand Down

0 comments on commit 4f1c5e8

Please sign in to comment.