mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-25 02:13:00 +08:00
chore(core): better doc action error message (#10288)
This commit is contained in:
@@ -856,7 +856,7 @@ test('default page role should be able to override the workspace role', async t
|
|||||||
await t.throwsAsync(
|
await t.throwsAsync(
|
||||||
updateDocDefaultRole(app, workspace.id, docId, DocRole.Manager),
|
updateDocDefaultRole(app, workspace.id, docId, DocRole.Manager),
|
||||||
{
|
{
|
||||||
message: `You do not have permission to access doc ${docId} under Space ${workspace.id}.`,
|
message: `You do not have permission to perform Doc.Users.Manage action on doc ${docId}.`,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -908,7 +908,7 @@ test('should be able to grant and revoke doc user role', async t => {
|
|||||||
// external user can't manage the page
|
// external user can't manage the page
|
||||||
app.switchUser(external);
|
app.switchUser(external);
|
||||||
await t.throwsAsync(revokeDocUserRoles(app, ws.id, docId, read.id), {
|
await t.throwsAsync(revokeDocUserRoles(app, ws.id, docId, read.id), {
|
||||||
message: `You do not have permission to access doc ${docId} under Space ${ws.id}.`,
|
message: `You do not have permission to perform Doc.Users.Manage action on doc ${docId}.`,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -922,7 +922,7 @@ test('update page default role should throw error if the space does not exist',
|
|||||||
await t.throwsAsync(
|
await t.throwsAsync(
|
||||||
updateDocDefaultRole(app, nonExistWorkspaceId, docId, DocRole.Manager),
|
updateDocDefaultRole(app, nonExistWorkspaceId, docId, DocRole.Manager),
|
||||||
{
|
{
|
||||||
message: `You do not have permission to access doc ${docId} under Space ${nonExistWorkspaceId}.`,
|
message: `You do not have permission to perform Doc.Users.Manage action on doc ${docId}.`,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -108,12 +108,12 @@ test('should not be able to public not permitted doc', async t => {
|
|||||||
|
|
||||||
await t.throwsAsync(publishDoc(app, 'not_exists_ws', 'doc2'), {
|
await t.throwsAsync(publishDoc(app, 'not_exists_ws', 'doc2'), {
|
||||||
message:
|
message:
|
||||||
'You do not have permission to access doc doc2 under Space not_exists_ws.',
|
'You do not have permission to perform Doc.Publish action on doc doc2.',
|
||||||
});
|
});
|
||||||
|
|
||||||
await t.throwsAsync(revokePublicDoc(app, 'not_exists_ws', 'doc2'), {
|
await t.throwsAsync(revokePublicDoc(app, 'not_exists_ws', 'doc2'), {
|
||||||
message:
|
message:
|
||||||
'You do not have permission to access doc doc2 under Space not_exists_ws.',
|
'You do not have permission to perform Doc.Publish action on doc doc2.',
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -419,11 +419,11 @@ export const USER_FRIENDLY_ERRORS = {
|
|||||||
message: ({ spaceId, docId }) =>
|
message: ({ spaceId, docId }) =>
|
||||||
`Doc ${docId} under Space ${spaceId} not found.`,
|
`Doc ${docId} under Space ${spaceId} not found.`,
|
||||||
},
|
},
|
||||||
doc_access_denied: {
|
doc_action_denied: {
|
||||||
type: 'no_permission',
|
type: 'no_permission',
|
||||||
args: { spaceId: 'string', docId: 'string' },
|
args: { spaceId: 'string', docId: 'string', action: 'string' },
|
||||||
message: ({ spaceId, docId }) =>
|
message: ({ docId, action }) =>
|
||||||
`You do not have permission to access doc ${docId} under Space ${spaceId}.`,
|
`You do not have permission to perform ${action} action on doc ${docId}.`,
|
||||||
},
|
},
|
||||||
version_rejected: {
|
version_rejected: {
|
||||||
type: 'action_forbidden',
|
type: 'action_forbidden',
|
||||||
|
|||||||
@@ -299,14 +299,15 @@ export class DocNotFound extends UserFriendlyError {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ObjectType()
|
@ObjectType()
|
||||||
class DocAccessDeniedDataType {
|
class DocActionDeniedDataType {
|
||||||
@Field() spaceId!: string
|
@Field() spaceId!: string
|
||||||
@Field() docId!: string
|
@Field() docId!: string
|
||||||
|
@Field() action!: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export class DocAccessDenied extends UserFriendlyError {
|
export class DocActionDenied extends UserFriendlyError {
|
||||||
constructor(args: DocAccessDeniedDataType, message?: string | ((args: DocAccessDeniedDataType) => string)) {
|
constructor(args: DocActionDeniedDataType, message?: string | ((args: DocActionDeniedDataType) => string)) {
|
||||||
super('no_permission', 'doc_access_denied', message, args);
|
super('no_permission', 'doc_action_denied', message, args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ObjectType()
|
@ObjectType()
|
||||||
@@ -832,7 +833,7 @@ export enum ErrorNames {
|
|||||||
SPACE_OWNER_NOT_FOUND,
|
SPACE_OWNER_NOT_FOUND,
|
||||||
SPACE_SHOULD_HAVE_ONLY_ONE_OWNER,
|
SPACE_SHOULD_HAVE_ONLY_ONE_OWNER,
|
||||||
DOC_NOT_FOUND,
|
DOC_NOT_FOUND,
|
||||||
DOC_ACCESS_DENIED,
|
DOC_ACTION_DENIED,
|
||||||
VERSION_REJECTED,
|
VERSION_REJECTED,
|
||||||
INVALID_HISTORY_TIMESTAMP,
|
INVALID_HISTORY_TIMESTAMP,
|
||||||
DOC_HISTORY_NOT_FOUND,
|
DOC_HISTORY_NOT_FOUND,
|
||||||
@@ -903,5 +904,5 @@ registerEnumType(ErrorNames, {
|
|||||||
export const ErrorDataUnionType = createUnionType({
|
export const ErrorDataUnionType = createUnionType({
|
||||||
name: 'ErrorDataUnion',
|
name: 'ErrorDataUnion',
|
||||||
types: () =>
|
types: () =>
|
||||||
[GraphqlBadRequestDataType, QueryTooLongDataType, WrongSignInCredentialsDataType, UnknownOauthProviderDataType, MissingOauthQueryParameterDataType, InvalidEmailDataType, InvalidPasswordLengthDataType, WorkspacePermissionNotFoundDataType, SpaceNotFoundDataType, MemberNotFoundInSpaceDataType, NotInSpaceDataType, AlreadyInSpaceDataType, SpaceAccessDeniedDataType, SpaceOwnerNotFoundDataType, SpaceShouldHaveOnlyOneOwnerDataType, DocNotFoundDataType, DocAccessDeniedDataType, VersionRejectedDataType, InvalidHistoryTimestampDataType, DocHistoryNotFoundDataType, BlobNotFoundDataType, ExpectToGrantDocUserRolesDataType, ExpectToRevokeDocUserRolesDataType, ExpectToUpdateDocUserRoleDataType, UnsupportedSubscriptionPlanDataType, SubscriptionAlreadyExistsDataType, SubscriptionNotExistsDataType, SameSubscriptionRecurringDataType, SubscriptionPlanNotFoundDataType, CopilotDocNotFoundDataType, CopilotMessageNotFoundDataType, CopilotPromptNotFoundDataType, CopilotProviderSideErrorDataType, CopilotInvalidContextDataType, CopilotContextFileNotSupportedDataType, CopilotFailedToModifyContextDataType, CopilotFailedToMatchContextDataType, RuntimeConfigNotFoundDataType, InvalidRuntimeConfigTypeDataType, InvalidLicenseUpdateParamsDataType, WorkspaceMembersExceedLimitToDowngradeDataType] as const,
|
[GraphqlBadRequestDataType, QueryTooLongDataType, WrongSignInCredentialsDataType, UnknownOauthProviderDataType, MissingOauthQueryParameterDataType, InvalidEmailDataType, InvalidPasswordLengthDataType, WorkspacePermissionNotFoundDataType, SpaceNotFoundDataType, MemberNotFoundInSpaceDataType, NotInSpaceDataType, AlreadyInSpaceDataType, SpaceAccessDeniedDataType, SpaceOwnerNotFoundDataType, SpaceShouldHaveOnlyOneOwnerDataType, DocNotFoundDataType, DocActionDeniedDataType, VersionRejectedDataType, InvalidHistoryTimestampDataType, DocHistoryNotFoundDataType, BlobNotFoundDataType, ExpectToGrantDocUserRolesDataType, ExpectToRevokeDocUserRolesDataType, ExpectToUpdateDocUserRoleDataType, UnsupportedSubscriptionPlanDataType, SubscriptionAlreadyExistsDataType, SubscriptionNotExistsDataType, SameSubscriptionRecurringDataType, SubscriptionPlanNotFoundDataType, CopilotDocNotFoundDataType, CopilotMessageNotFoundDataType, CopilotPromptNotFoundDataType, CopilotProviderSideErrorDataType, CopilotInvalidContextDataType, CopilotContextFileNotSupportedDataType, CopilotFailedToModifyContextDataType, CopilotFailedToMatchContextDataType, RuntimeConfigNotFoundDataType, InvalidRuntimeConfigTypeDataType, InvalidLicenseUpdateParamsDataType, WorkspaceMembersExceedLimitToDowngradeDataType] as const,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { groupBy } from 'lodash-es';
|
|||||||
|
|
||||||
import {
|
import {
|
||||||
CanNotBatchGrantDocOwnerPermissions,
|
CanNotBatchGrantDocOwnerPermissions,
|
||||||
DocAccessDenied,
|
DocActionDenied,
|
||||||
EventBus,
|
EventBus,
|
||||||
OnEvent,
|
OnEvent,
|
||||||
SpaceAccessDenied,
|
SpaceAccessDenied,
|
||||||
@@ -552,7 +552,7 @@ export class PermissionService {
|
|||||||
user?: string
|
user?: string
|
||||||
) {
|
) {
|
||||||
if (!(await this.tryCheckPage(ws, page, action, user))) {
|
if (!(await this.tryCheckPage(ws, page, action, user))) {
|
||||||
throw new DocAccessDenied({ spaceId: ws, docId: page });
|
throw new DocActionDenied({ spaceId: ws, docId: page, action });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import type { WorkspaceDoc as PrismaWorkspaceDoc } from '@prisma/client';
|
|||||||
import { PrismaClient } from '@prisma/client';
|
import { PrismaClient } from '@prisma/client';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
DocAccessDenied,
|
DocActionDenied,
|
||||||
DocDefaultRoleCanNotBeOwner,
|
DocDefaultRoleCanNotBeOwner,
|
||||||
DocIsNotPublic,
|
DocIsNotPublic,
|
||||||
ExpectToGrantDocUserRoles,
|
ExpectToGrantDocUserRoles,
|
||||||
@@ -662,7 +662,7 @@ export class DocResolver {
|
|||||||
user.id
|
user.id
|
||||||
);
|
);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (error instanceof DocAccessDenied) {
|
if (error instanceof DocActionDenied) {
|
||||||
this.logger.log(
|
this.logger.log(
|
||||||
`User does not have permission to update page default role (${JSON.stringify(
|
`User does not have permission to update page default role (${JSON.stringify(
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -250,7 +250,8 @@ input DeleteSessionInput {
|
|||||||
workspaceId: String!
|
workspaceId: String!
|
||||||
}
|
}
|
||||||
|
|
||||||
type DocAccessDeniedDataType {
|
type DocActionDeniedDataType {
|
||||||
|
action: String!
|
||||||
docId: String!
|
docId: String!
|
||||||
spaceId: String!
|
spaceId: String!
|
||||||
}
|
}
|
||||||
@@ -315,7 +316,7 @@ type EditorType {
|
|||||||
name: String!
|
name: String!
|
||||||
}
|
}
|
||||||
|
|
||||||
union ErrorDataUnion = AlreadyInSpaceDataType | BlobNotFoundDataType | CopilotContextFileNotSupportedDataType | CopilotDocNotFoundDataType | CopilotFailedToMatchContextDataType | CopilotFailedToModifyContextDataType | CopilotInvalidContextDataType | CopilotMessageNotFoundDataType | CopilotPromptNotFoundDataType | CopilotProviderSideErrorDataType | DocAccessDeniedDataType | DocHistoryNotFoundDataType | DocNotFoundDataType | ExpectToGrantDocUserRolesDataType | ExpectToRevokeDocUserRolesDataType | ExpectToUpdateDocUserRoleDataType | GraphqlBadRequestDataType | InvalidEmailDataType | InvalidHistoryTimestampDataType | InvalidLicenseUpdateParamsDataType | InvalidPasswordLengthDataType | InvalidRuntimeConfigTypeDataType | MemberNotFoundInSpaceDataType | MissingOauthQueryParameterDataType | NotInSpaceDataType | QueryTooLongDataType | RuntimeConfigNotFoundDataType | SameSubscriptionRecurringDataType | SpaceAccessDeniedDataType | SpaceNotFoundDataType | SpaceOwnerNotFoundDataType | SpaceShouldHaveOnlyOneOwnerDataType | SubscriptionAlreadyExistsDataType | SubscriptionNotExistsDataType | SubscriptionPlanNotFoundDataType | UnknownOauthProviderDataType | UnsupportedSubscriptionPlanDataType | VersionRejectedDataType | WorkspaceMembersExceedLimitToDowngradeDataType | WorkspacePermissionNotFoundDataType | WrongSignInCredentialsDataType
|
union ErrorDataUnion = AlreadyInSpaceDataType | BlobNotFoundDataType | CopilotContextFileNotSupportedDataType | CopilotDocNotFoundDataType | CopilotFailedToMatchContextDataType | CopilotFailedToModifyContextDataType | CopilotInvalidContextDataType | CopilotMessageNotFoundDataType | CopilotPromptNotFoundDataType | CopilotProviderSideErrorDataType | DocActionDeniedDataType | DocHistoryNotFoundDataType | DocNotFoundDataType | ExpectToGrantDocUserRolesDataType | ExpectToRevokeDocUserRolesDataType | ExpectToUpdateDocUserRoleDataType | GraphqlBadRequestDataType | InvalidEmailDataType | InvalidHistoryTimestampDataType | InvalidLicenseUpdateParamsDataType | InvalidPasswordLengthDataType | InvalidRuntimeConfigTypeDataType | MemberNotFoundInSpaceDataType | MissingOauthQueryParameterDataType | NotInSpaceDataType | QueryTooLongDataType | RuntimeConfigNotFoundDataType | SameSubscriptionRecurringDataType | SpaceAccessDeniedDataType | SpaceNotFoundDataType | SpaceOwnerNotFoundDataType | SpaceShouldHaveOnlyOneOwnerDataType | SubscriptionAlreadyExistsDataType | SubscriptionNotExistsDataType | SubscriptionPlanNotFoundDataType | UnknownOauthProviderDataType | UnsupportedSubscriptionPlanDataType | VersionRejectedDataType | WorkspaceMembersExceedLimitToDowngradeDataType | WorkspacePermissionNotFoundDataType | WrongSignInCredentialsDataType
|
||||||
|
|
||||||
enum ErrorNames {
|
enum ErrorNames {
|
||||||
ACCESS_DENIED
|
ACCESS_DENIED
|
||||||
@@ -347,7 +348,7 @@ enum ErrorNames {
|
|||||||
COPILOT_SESSION_DELETED
|
COPILOT_SESSION_DELETED
|
||||||
COPILOT_SESSION_NOT_FOUND
|
COPILOT_SESSION_NOT_FOUND
|
||||||
CUSTOMER_PORTAL_CREATE_FAILED
|
CUSTOMER_PORTAL_CREATE_FAILED
|
||||||
DOC_ACCESS_DENIED
|
DOC_ACTION_DENIED
|
||||||
DOC_DEFAULT_ROLE_CAN_NOT_BE_OWNER
|
DOC_DEFAULT_ROLE_CAN_NOT_BE_OWNER
|
||||||
DOC_HISTORY_NOT_FOUND
|
DOC_HISTORY_NOT_FOUND
|
||||||
DOC_IS_NOT_PUBLIC
|
DOC_IS_NOT_PUBLIC
|
||||||
|
|||||||
@@ -360,7 +360,7 @@ enum ErrorNames {
|
|||||||
|
|
||||||
CUSTOMER_PORTAL_CREATE_FAILED
|
CUSTOMER_PORTAL_CREATE_FAILED
|
||||||
|
|
||||||
DOC_ACCESS_DENIED
|
DOC_ACTION_DENIED
|
||||||
|
|
||||||
DOC_HISTORY_NOT_FOUND
|
DOC_HISTORY_NOT_FOUND
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { Menu, MenuItem, MenuTrigger, notify } from '@affine/component';
|
import { Menu, MenuItem, MenuTrigger, notify } from '@affine/component';
|
||||||
import { useAsyncCallback } from '@affine/core/components/hooks/affine-async-hooks';
|
import { useAsyncCallback } from '@affine/core/components/hooks/affine-async-hooks';
|
||||||
import { ShareInfoService } from '@affine/core/modules/share-doc';
|
import { ShareInfoService } from '@affine/core/modules/share-doc';
|
||||||
import { PublicDocMode } from '@affine/graphql';
|
import { PublicDocMode, UserFriendlyError } from '@affine/graphql';
|
||||||
import { useI18n } from '@affine/i18n';
|
import { useI18n } from '@affine/i18n';
|
||||||
import track from '@affine/track';
|
import track from '@affine/track';
|
||||||
import {
|
import {
|
||||||
@@ -73,18 +73,12 @@ export const PublicDoc = ({ disabled }: { disabled?: boolean }) => {
|
|||||||
style: 'normal',
|
style: 'normal',
|
||||||
icon: <SingleSelectCheckSolidIcon color={cssVar('primaryColor')} />,
|
icon: <SingleSelectCheckSolidIcon color={cssVar('primaryColor')} />,
|
||||||
});
|
});
|
||||||
} catch (err) {
|
} catch (error) {
|
||||||
|
const err = UserFriendlyError.fromAnyError(error);
|
||||||
notify.error({
|
notify.error({
|
||||||
title:
|
title: err.name,
|
||||||
t[
|
message: err.message,
|
||||||
'com.affine.share-menu.confirm-modify-mode.notification.fail.title'
|
|
||||||
](),
|
|
||||||
message:
|
|
||||||
t[
|
|
||||||
'com.affine.share-menu.confirm-modify-mode.notification.fail.message'
|
|
||||||
](),
|
|
||||||
});
|
});
|
||||||
console.error(err);
|
|
||||||
}
|
}
|
||||||
}, [isSharedPage, shareInfoService.shareInfo, t]);
|
}, [isSharedPage, shareInfoService.shareInfo, t]);
|
||||||
|
|
||||||
|
|||||||
@@ -144,6 +144,11 @@ export interface CopilotContextListItem {
|
|||||||
status: Maybe<ContextFileStatus>;
|
status: Maybe<ContextFileStatus>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface CopilotDocNotFoundDataType {
|
||||||
|
__typename?: 'CopilotDocNotFoundDataType';
|
||||||
|
docId: Scalars['String']['output'];
|
||||||
|
}
|
||||||
|
|
||||||
export interface CopilotFailedToMatchContextDataType {
|
export interface CopilotFailedToMatchContextDataType {
|
||||||
__typename?: 'CopilotFailedToMatchContextDataType';
|
__typename?: 'CopilotFailedToMatchContextDataType';
|
||||||
content: Scalars['String']['output'];
|
content: Scalars['String']['output'];
|
||||||
@@ -308,8 +313,9 @@ export interface DeleteSessionInput {
|
|||||||
workspaceId: Scalars['String']['input'];
|
workspaceId: Scalars['String']['input'];
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface DocAccessDeniedDataType {
|
export interface DocActionDeniedDataType {
|
||||||
__typename?: 'DocAccessDeniedDataType';
|
__typename?: 'DocActionDeniedDataType';
|
||||||
|
action: Scalars['String']['output'];
|
||||||
docId: Scalars['String']['output'];
|
docId: Scalars['String']['output'];
|
||||||
spaceId: Scalars['String']['output'];
|
spaceId: Scalars['String']['output'];
|
||||||
}
|
}
|
||||||
@@ -387,18 +393,20 @@ export type ErrorDataUnion =
|
|||||||
| AlreadyInSpaceDataType
|
| AlreadyInSpaceDataType
|
||||||
| BlobNotFoundDataType
|
| BlobNotFoundDataType
|
||||||
| CopilotContextFileNotSupportedDataType
|
| CopilotContextFileNotSupportedDataType
|
||||||
|
| CopilotDocNotFoundDataType
|
||||||
| CopilotFailedToMatchContextDataType
|
| CopilotFailedToMatchContextDataType
|
||||||
| CopilotFailedToModifyContextDataType
|
| CopilotFailedToModifyContextDataType
|
||||||
| CopilotInvalidContextDataType
|
| CopilotInvalidContextDataType
|
||||||
| CopilotMessageNotFoundDataType
|
| CopilotMessageNotFoundDataType
|
||||||
| CopilotPromptNotFoundDataType
|
| CopilotPromptNotFoundDataType
|
||||||
| CopilotProviderSideErrorDataType
|
| CopilotProviderSideErrorDataType
|
||||||
| DocAccessDeniedDataType
|
| DocActionDeniedDataType
|
||||||
| DocHistoryNotFoundDataType
|
| DocHistoryNotFoundDataType
|
||||||
| DocNotFoundDataType
|
| DocNotFoundDataType
|
||||||
| ExpectToGrantDocUserRolesDataType
|
| ExpectToGrantDocUserRolesDataType
|
||||||
| ExpectToRevokeDocUserRolesDataType
|
| ExpectToRevokeDocUserRolesDataType
|
||||||
| ExpectToUpdateDocUserRoleDataType
|
| ExpectToUpdateDocUserRoleDataType
|
||||||
|
| GraphqlBadRequestDataType
|
||||||
| InvalidEmailDataType
|
| InvalidEmailDataType
|
||||||
| InvalidHistoryTimestampDataType
|
| InvalidHistoryTimestampDataType
|
||||||
| InvalidLicenseUpdateParamsDataType
|
| InvalidLicenseUpdateParamsDataType
|
||||||
@@ -440,6 +448,7 @@ export enum ErrorNames {
|
|||||||
CAPTCHA_VERIFICATION_FAILED = 'CAPTCHA_VERIFICATION_FAILED',
|
CAPTCHA_VERIFICATION_FAILED = 'CAPTCHA_VERIFICATION_FAILED',
|
||||||
COPILOT_ACTION_TAKEN = 'COPILOT_ACTION_TAKEN',
|
COPILOT_ACTION_TAKEN = 'COPILOT_ACTION_TAKEN',
|
||||||
COPILOT_CONTEXT_FILE_NOT_SUPPORTED = 'COPILOT_CONTEXT_FILE_NOT_SUPPORTED',
|
COPILOT_CONTEXT_FILE_NOT_SUPPORTED = 'COPILOT_CONTEXT_FILE_NOT_SUPPORTED',
|
||||||
|
COPILOT_DOC_NOT_FOUND = 'COPILOT_DOC_NOT_FOUND',
|
||||||
COPILOT_FAILED_TO_CREATE_MESSAGE = 'COPILOT_FAILED_TO_CREATE_MESSAGE',
|
COPILOT_FAILED_TO_CREATE_MESSAGE = 'COPILOT_FAILED_TO_CREATE_MESSAGE',
|
||||||
COPILOT_FAILED_TO_GENERATE_TEXT = 'COPILOT_FAILED_TO_GENERATE_TEXT',
|
COPILOT_FAILED_TO_GENERATE_TEXT = 'COPILOT_FAILED_TO_GENERATE_TEXT',
|
||||||
COPILOT_FAILED_TO_MATCH_CONTEXT = 'COPILOT_FAILED_TO_MATCH_CONTEXT',
|
COPILOT_FAILED_TO_MATCH_CONTEXT = 'COPILOT_FAILED_TO_MATCH_CONTEXT',
|
||||||
@@ -453,7 +462,7 @@ export enum ErrorNames {
|
|||||||
COPILOT_SESSION_DELETED = 'COPILOT_SESSION_DELETED',
|
COPILOT_SESSION_DELETED = 'COPILOT_SESSION_DELETED',
|
||||||
COPILOT_SESSION_NOT_FOUND = 'COPILOT_SESSION_NOT_FOUND',
|
COPILOT_SESSION_NOT_FOUND = 'COPILOT_SESSION_NOT_FOUND',
|
||||||
CUSTOMER_PORTAL_CREATE_FAILED = 'CUSTOMER_PORTAL_CREATE_FAILED',
|
CUSTOMER_PORTAL_CREATE_FAILED = 'CUSTOMER_PORTAL_CREATE_FAILED',
|
||||||
DOC_ACCESS_DENIED = 'DOC_ACCESS_DENIED',
|
DOC_ACTION_DENIED = 'DOC_ACTION_DENIED',
|
||||||
DOC_DEFAULT_ROLE_CAN_NOT_BE_OWNER = 'DOC_DEFAULT_ROLE_CAN_NOT_BE_OWNER',
|
DOC_DEFAULT_ROLE_CAN_NOT_BE_OWNER = 'DOC_DEFAULT_ROLE_CAN_NOT_BE_OWNER',
|
||||||
DOC_HISTORY_NOT_FOUND = 'DOC_HISTORY_NOT_FOUND',
|
DOC_HISTORY_NOT_FOUND = 'DOC_HISTORY_NOT_FOUND',
|
||||||
DOC_IS_NOT_PUBLIC = 'DOC_IS_NOT_PUBLIC',
|
DOC_IS_NOT_PUBLIC = 'DOC_IS_NOT_PUBLIC',
|
||||||
@@ -470,6 +479,7 @@ export enum ErrorNames {
|
|||||||
FAILED_TO_CHECKOUT = 'FAILED_TO_CHECKOUT',
|
FAILED_TO_CHECKOUT = 'FAILED_TO_CHECKOUT',
|
||||||
FAILED_TO_SAVE_UPDATES = 'FAILED_TO_SAVE_UPDATES',
|
FAILED_TO_SAVE_UPDATES = 'FAILED_TO_SAVE_UPDATES',
|
||||||
FAILED_TO_UPSERT_SNAPSHOT = 'FAILED_TO_UPSERT_SNAPSHOT',
|
FAILED_TO_UPSERT_SNAPSHOT = 'FAILED_TO_UPSERT_SNAPSHOT',
|
||||||
|
GRAPHQL_BAD_REQUEST = 'GRAPHQL_BAD_REQUEST',
|
||||||
INTERNAL_SERVER_ERROR = 'INTERNAL_SERVER_ERROR',
|
INTERNAL_SERVER_ERROR = 'INTERNAL_SERVER_ERROR',
|
||||||
INVALID_CHECKOUT_PARAMETERS = 'INVALID_CHECKOUT_PARAMETERS',
|
INVALID_CHECKOUT_PARAMETERS = 'INVALID_CHECKOUT_PARAMETERS',
|
||||||
INVALID_EMAIL = 'INVALID_EMAIL',
|
INVALID_EMAIL = 'INVALID_EMAIL',
|
||||||
@@ -583,6 +593,12 @@ export interface GrantedDocUserTypeEdge {
|
|||||||
node: GrantedDocUserType;
|
node: GrantedDocUserType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface GraphqlBadRequestDataType {
|
||||||
|
__typename?: 'GraphqlBadRequestDataType';
|
||||||
|
code: Scalars['String']['output'];
|
||||||
|
message: Scalars['String']['output'];
|
||||||
|
}
|
||||||
|
|
||||||
export interface InvalidEmailDataType {
|
export interface InvalidEmailDataType {
|
||||||
__typename?: 'InvalidEmailDataType';
|
__typename?: 'InvalidEmailDataType';
|
||||||
email: Scalars['String']['output'];
|
email: Scalars['String']['output'];
|
||||||
|
|||||||
@@ -1,26 +1,26 @@
|
|||||||
{
|
{
|
||||||
"ar": 87,
|
"ar": 88,
|
||||||
"ca": 4,
|
"ca": 4,
|
||||||
"da": 5,
|
"da": 5,
|
||||||
"de": 87,
|
"de": 88,
|
||||||
"el-GR": 87,
|
"el-GR": 88,
|
||||||
"en": 100,
|
"en": 100,
|
||||||
"es-AR": 87,
|
"es-AR": 88,
|
||||||
"es-CL": 89,
|
"es-CL": 89,
|
||||||
"es": 87,
|
"es": 88,
|
||||||
"fa": 87,
|
"fa": 88,
|
||||||
"fr": 87,
|
"fr": 88,
|
||||||
"hi": 2,
|
"hi": 2,
|
||||||
"it-IT": 87,
|
"it-IT": 88,
|
||||||
"it": 1,
|
"it": 1,
|
||||||
"ja": 87,
|
"ja": 88,
|
||||||
"ko": 63,
|
"ko": 63,
|
||||||
"pl": 87,
|
"pl": 88,
|
||||||
"pt-BR": 87,
|
"pt-BR": 88,
|
||||||
"ru": 87,
|
"ru": 88,
|
||||||
"sv-SE": 87,
|
"sv-SE": 88,
|
||||||
"uk": 87,
|
"uk": 88,
|
||||||
"ur": 2,
|
"ur": 2,
|
||||||
"zh-Hans": 87,
|
"zh-Hans": 88,
|
||||||
"zh-Hant": 87
|
"zh-Hant": 88
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5708,19 +5708,19 @@ export function useAFFiNEI18N(): {
|
|||||||
*/
|
*/
|
||||||
["com.affine.settings.workspace.affine-ai.description"](): string;
|
["com.affine.settings.workspace.affine-ai.description"](): string;
|
||||||
/**
|
/**
|
||||||
* `Achieved workspaces`
|
* `Archived workspaces`
|
||||||
*/
|
*/
|
||||||
["com.affine.settings.workspace.backup"](): string;
|
["com.affine.settings.workspace.backup"](): string;
|
||||||
/**
|
/**
|
||||||
* `Management in local workspace backup files`
|
* `Manage archived local workspace files`
|
||||||
*/
|
*/
|
||||||
["com.affine.settings.workspace.backup.subtitle"](): string;
|
["com.affine.settings.workspace.backup.subtitle"](): string;
|
||||||
/**
|
/**
|
||||||
* `No backup files found`
|
* `No archived workspace files found`
|
||||||
*/
|
*/
|
||||||
["com.affine.settings.workspace.backup.empty"](): string;
|
["com.affine.settings.workspace.backup.empty"](): string;
|
||||||
/**
|
/**
|
||||||
* `Delete backup workspace`
|
* `Delete archived workspace`
|
||||||
*/
|
*/
|
||||||
["com.affine.settings.workspace.backup.delete"](): string;
|
["com.affine.settings.workspace.backup.delete"](): string;
|
||||||
/**
|
/**
|
||||||
@@ -5790,14 +5790,6 @@ export function useAFFiNEI18N(): {
|
|||||||
* `Shared doc`
|
* `Shared doc`
|
||||||
*/
|
*/
|
||||||
["com.affine.share-menu.SharedPage"](): string;
|
["com.affine.share-menu.SharedPage"](): string;
|
||||||
/**
|
|
||||||
* `Please try again later.`
|
|
||||||
*/
|
|
||||||
["com.affine.share-menu.confirm-modify-mode.notification.fail.message"](): string;
|
|
||||||
/**
|
|
||||||
* `Failed to modify`
|
|
||||||
*/
|
|
||||||
["com.affine.share-menu.confirm-modify-mode.notification.fail.title"](): string;
|
|
||||||
/**
|
/**
|
||||||
* `Copy Link`
|
* `Copy Link`
|
||||||
*/
|
*/
|
||||||
@@ -7199,11 +7191,11 @@ export function useAFFiNEI18N(): {
|
|||||||
spaceId: string;
|
spaceId: string;
|
||||||
}>): string;
|
}>): string;
|
||||||
/**
|
/**
|
||||||
* `You do not have permission to access doc {{docId}} under Space {{spaceId}}.`
|
* `You do not have permission to perform {{action}} action on doc {{docId}}.`
|
||||||
*/
|
*/
|
||||||
["error.DOC_ACCESS_DENIED"](options: Readonly<{
|
["error.DOC_ACTION_DENIED"](options: Readonly<{
|
||||||
|
action: string;
|
||||||
docId: string;
|
docId: string;
|
||||||
spaceId: string;
|
|
||||||
}>): string;
|
}>): string;
|
||||||
/**
|
/**
|
||||||
* `Your client with version {{version}} is rejected by remote sync server. Please upgrade to {{serverVersion}}.`
|
* `Your client with version {{version}} is rejected by remote sync server. Please upgrade to {{serverVersion}}.`
|
||||||
|
|||||||
@@ -1446,8 +1446,6 @@
|
|||||||
"com.affine.share-menu.ShareWithLink": "Share with link",
|
"com.affine.share-menu.ShareWithLink": "Share with link",
|
||||||
"com.affine.share-menu.ShareWithLinkDescription": "Create a link you can easily share with anyone. The visitors will open your doc in the form od a document",
|
"com.affine.share-menu.ShareWithLinkDescription": "Create a link you can easily share with anyone. The visitors will open your doc in the form od a document",
|
||||||
"com.affine.share-menu.SharedPage": "Shared doc",
|
"com.affine.share-menu.SharedPage": "Shared doc",
|
||||||
"com.affine.share-menu.confirm-modify-mode.notification.fail.message": "Please try again later.",
|
|
||||||
"com.affine.share-menu.confirm-modify-mode.notification.fail.title": "Failed to modify",
|
|
||||||
"com.affine.share-menu.copy": "Copy Link",
|
"com.affine.share-menu.copy": "Copy Link",
|
||||||
"com.affine.share-menu.copy-private-link": "Copy private link",
|
"com.affine.share-menu.copy-private-link": "Copy private link",
|
||||||
"com.affine.share-menu.copy.block": "Copy Link to Selected Block",
|
"com.affine.share-menu.copy.block": "Copy Link to Selected Block",
|
||||||
@@ -1783,7 +1781,7 @@
|
|||||||
"error.SPACE_OWNER_NOT_FOUND": "Owner of Space {{spaceId}} not found.",
|
"error.SPACE_OWNER_NOT_FOUND": "Owner of Space {{spaceId}} not found.",
|
||||||
"error.SPACE_SHOULD_HAVE_ONLY_ONE_OWNER": "Space should have only one owner.",
|
"error.SPACE_SHOULD_HAVE_ONLY_ONE_OWNER": "Space should have only one owner.",
|
||||||
"error.DOC_NOT_FOUND": "Doc {{docId}} under Space {{spaceId}} not found.",
|
"error.DOC_NOT_FOUND": "Doc {{docId}} under Space {{spaceId}} not found.",
|
||||||
"error.DOC_ACCESS_DENIED": "You do not have permission to access doc {{docId}} under Space {{spaceId}}.",
|
"error.DOC_ACTION_DENIED": "You do not have permission to perform {{action}} action on doc {{docId}}.",
|
||||||
"error.VERSION_REJECTED": "Your client with version {{version}} is rejected by remote sync server. Please upgrade to {{serverVersion}}.",
|
"error.VERSION_REJECTED": "Your client with version {{version}} is rejected by remote sync server. Please upgrade to {{serverVersion}}.",
|
||||||
"error.INVALID_HISTORY_TIMESTAMP": "Invalid doc history timestamp provided.",
|
"error.INVALID_HISTORY_TIMESTAMP": "Invalid doc history timestamp provided.",
|
||||||
"error.DOC_HISTORY_NOT_FOUND": "History of {{docId}} at {{timestamp}} under Space {{spaceId}}.",
|
"error.DOC_HISTORY_NOT_FOUND": "History of {{docId}} at {{timestamp}} under Space {{spaceId}}.",
|
||||||
|
|||||||
Reference in New Issue
Block a user