feat(core): guard service (#9816)

This commit is contained in:
EYHN
2025-02-10 07:26:38 +08:00
committed by GitHub
parent 879157b938
commit 92f4f0c2d9
89 changed files with 1520 additions and 522 deletions
+8 -1
View File
@@ -19,11 +19,18 @@ export class UserFriendlyError
readonly status = this.response.status;
readonly code = this.response.code;
readonly type = this.response.type;
override readonly name = this.response.name;
readonly rawName = this.response.name;
override readonly message = this.response.message;
readonly data = this.response.data;
readonly stacktrace = this.response.stacktrace;
override get name() {
if (this.rawName in ErrorNames) {
return this.rawName;
}
return ErrorNames.INTERNAL_SERVER_ERROR;
}
static fromAnyError(response: any) {
if (response instanceof GraphQLError) {
return new UserFriendlyError(response.extensions);
@@ -0,0 +1,21 @@
query getDocRolePermissions($workspaceId: String!, $docId: String!) {
workspace(id: $workspaceId) {
doc(docId: $docId) {
permissions {
Doc_Copy
Doc_Delete
Doc_Duplicate
Doc_Properties_Read
Doc_Properties_Update
Doc_Publish
Doc_Read
Doc_Restore
Doc_TransferOwner
Doc_Trash
Doc_Update
Doc_Users_Manage
Doc_Users_Read
}
}
}
}
@@ -318,6 +318,35 @@ mutation deleteWorkspace($id: String!) {
}`,
};
export const getDocRolePermissionsQuery = {
id: 'getDocRolePermissionsQuery' as const,
operationName: 'getDocRolePermissions',
definitionName: 'workspace',
containsFile: false,
query: `
query getDocRolePermissions($workspaceId: String!, $docId: String!) {
workspace(id: $workspaceId) {
doc(docId: $docId) {
permissions {
Doc_Copy
Doc_Delete
Doc_Duplicate
Doc_Properties_Read
Doc_Properties_Update
Doc_Publish
Doc_Read
Doc_Restore
Doc_TransferOwner
Doc_Trash
Doc_Update
Doc_Users_Manage
Doc_Users_Read
}
}
}
}`,
};
export const forkCopilotSessionMutation = {
id: 'forkCopilotSessionMutation' as const,
operationName: 'forkCopilotSession',
@@ -1551,6 +1580,33 @@ query workspaceQuota($id: String!) {
}`,
};
export const getWorkspaceRolePermissionsQuery = {
id: 'getWorkspaceRolePermissionsQuery' as const,
operationName: 'getWorkspaceRolePermissions',
definitionName: 'workspaceRolePermissions',
containsFile: false,
query: `
query getWorkspaceRolePermissions($id: String!) {
workspaceRolePermissions(id: $id) {
permissions {
Workspace_CreateDoc
Workspace_Delete
Workspace_Organize_Read
Workspace_Properties_Create
Workspace_Properties_Delete
Workspace_Properties_Read
Workspace_Properties_Update
Workspace_Settings_Read
Workspace_Settings_Update
Workspace_Sync
Workspace_TransferOwner
Workspace_Users_Manage
Workspace_Users_Read
}
}
}`,
};
export const approveWorkspaceTeamMemberMutation = {
id: 'approveWorkspaceTeamMemberMutation' as const,
operationName: 'approveWorkspaceTeamMember',
@@ -0,0 +1,19 @@
query getWorkspaceRolePermissions($id: String!) {
workspaceRolePermissions(id: $id) {
permissions {
Workspace_CreateDoc
Workspace_Delete
Workspace_Organize_Read
Workspace_Properties_Create
Workspace_Properties_Delete
Workspace_Properties_Read
Workspace_Properties_Update
Workspace_Settings_Read
Workspace_Settings_Update
Workspace_Sync
Workspace_TransferOwner
Workspace_Users_Manage
Workspace_Users_Read
}
}
}
+68
View File
@@ -1958,6 +1958,37 @@ export type DeleteWorkspaceMutation = {
deleteWorkspace: boolean;
};
export type GetDocRolePermissionsQueryVariables = Exact<{
workspaceId: Scalars['String']['input'];
docId: Scalars['String']['input'];
}>;
export type GetDocRolePermissionsQuery = {
__typename?: 'Query';
workspace: {
__typename?: 'WorkspaceType';
doc: {
__typename?: 'DocType';
permissions: {
__typename?: 'DocPermissions';
Doc_Copy: boolean;
Doc_Delete: boolean;
Doc_Duplicate: boolean;
Doc_Properties_Read: boolean;
Doc_Properties_Update: boolean;
Doc_Publish: boolean;
Doc_Read: boolean;
Doc_Restore: boolean;
Doc_TransferOwner: boolean;
Doc_Trash: boolean;
Doc_Update: boolean;
Doc_Users_Manage: boolean;
Doc_Users_Read: boolean;
};
};
};
};
export type ForkCopilotSessionMutationVariables = Exact<{
options: ForkChatSessionInput;
}>;
@@ -3100,6 +3131,33 @@ export type WorkspaceQuotaQuery = {
};
};
export type GetWorkspaceRolePermissionsQueryVariables = Exact<{
id: Scalars['String']['input'];
}>;
export type GetWorkspaceRolePermissionsQuery = {
__typename?: 'Query';
workspaceRolePermissions: {
__typename?: 'WorkspaceRolePermissions';
permissions: {
__typename?: 'WorkspacePermissions';
Workspace_CreateDoc: boolean;
Workspace_Delete: boolean;
Workspace_Organize_Read: boolean;
Workspace_Properties_Create: boolean;
Workspace_Properties_Delete: boolean;
Workspace_Properties_Read: boolean;
Workspace_Properties_Update: boolean;
Workspace_Settings_Read: boolean;
Workspace_Settings_Update: boolean;
Workspace_Sync: boolean;
Workspace_TransferOwner: boolean;
Workspace_Users_Manage: boolean;
Workspace_Users_Read: boolean;
};
};
};
export type ApproveWorkspaceTeamMemberMutationVariables = Exact<{
workspaceId: Scalars['String']['input'];
userId: Scalars['String']['input'];
@@ -3137,6 +3195,11 @@ export type Queries =
variables: CopilotQuotaQueryVariables;
response: CopilotQuotaQuery;
}
| {
name: 'getDocRolePermissionsQuery';
variables: GetDocRolePermissionsQueryVariables;
response: GetDocRolePermissionsQuery;
}
| {
name: 'getCopilotHistoriesQuery';
variables: GetCopilotHistoriesQueryVariables;
@@ -3331,6 +3394,11 @@ export type Queries =
name: 'workspaceQuotaQuery';
variables: WorkspaceQuotaQueryVariables;
response: WorkspaceQuotaQuery;
}
| {
name: 'getWorkspaceRolePermissionsQuery';
variables: GetWorkspaceRolePermissionsQueryVariables;
response: GetWorkspaceRolePermissionsQuery;
};
export type Mutations =