Fix unclear metadata validation errors (#20234)
https://github.com/user-attachments/assets/8f8f1122-3de1-4a9b-8bb4-a3c8d31e47ae --------- Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
+9
-6
@@ -32,6 +32,7 @@ import {
|
||||
graphQLErrorCodesToFilter,
|
||||
shouldCaptureException,
|
||||
} from 'src/engine/utils/global-exception-handler.util';
|
||||
import { translateUserFriendlyMessageDescriptors } from 'src/engine/core-modules/i18n/utils/translate-user-friendly-message-descriptors.util';
|
||||
|
||||
const DEFAULT_EVENT_ID_KEY = 'exceptionEventId';
|
||||
const SCHEMA_VERSION_HEADER = 'x-schema-version';
|
||||
@@ -223,13 +224,15 @@ export const useGraphQLErrorHandlerHook = <
|
||||
error instanceof BaseGraphQLError
|
||||
? {
|
||||
...error,
|
||||
extensions: {
|
||||
...error.extensions,
|
||||
userFriendlyMessage: i18n._(
|
||||
error.extensions.userFriendlyMessage ??
|
||||
extensions: translateUserFriendlyMessageDescriptors(
|
||||
{
|
||||
...error.extensions,
|
||||
userFriendlyMessage:
|
||||
error.extensions.userFriendlyMessage ??
|
||||
defaultErrorMessage,
|
||||
),
|
||||
},
|
||||
},
|
||||
i18n,
|
||||
),
|
||||
}
|
||||
: generateGraphQLErrorFromError(error, i18n);
|
||||
|
||||
|
||||
+148
@@ -0,0 +1,148 @@
|
||||
import { type I18n, type MessageDescriptor } from '@lingui/core';
|
||||
|
||||
import { translateUserFriendlyMessageDescriptors } from 'src/engine/core-modules/i18n/utils/translate-user-friendly-message-descriptors.util';
|
||||
|
||||
const buildDescriptor = (id: string): MessageDescriptor => ({
|
||||
id,
|
||||
message: id,
|
||||
});
|
||||
|
||||
const i18nMock = {
|
||||
_: (descriptor: MessageDescriptor) => `tr:${descriptor.id}`,
|
||||
} as unknown as I18n;
|
||||
|
||||
describe('translateUserFriendlyMessageDescriptors', () => {
|
||||
it('translates a top-level userFriendlyMessage descriptor to a string', () => {
|
||||
const result = translateUserFriendlyMessageDescriptors(
|
||||
{ userFriendlyMessage: buildDescriptor('top-level') },
|
||||
i18nMock,
|
||||
);
|
||||
|
||||
expect(result).toEqual({ userFriendlyMessage: 'tr:top-level' });
|
||||
});
|
||||
|
||||
it('leaves a userFriendlyMessage value untouched when it is already a string', () => {
|
||||
const result = translateUserFriendlyMessageDescriptors(
|
||||
{ userFriendlyMessage: 'already a string' },
|
||||
i18nMock,
|
||||
);
|
||||
|
||||
expect(result).toEqual({ userFriendlyMessage: 'already a string' });
|
||||
});
|
||||
|
||||
it('does not translate descriptors stored under other keys', () => {
|
||||
const descriptor = buildDescriptor('not-user-friendly');
|
||||
|
||||
const result = translateUserFriendlyMessageDescriptors(
|
||||
{ someOtherKey: descriptor },
|
||||
i18nMock,
|
||||
);
|
||||
|
||||
expect(result).toEqual({
|
||||
someOtherKey: { id: 'not-user-friendly', message: 'not-user-friendly' },
|
||||
});
|
||||
});
|
||||
|
||||
it('translates userFriendlyMessage descriptors nested inside arrays of objects', () => {
|
||||
const result = translateUserFriendlyMessageDescriptors(
|
||||
{
|
||||
errors: [
|
||||
{ code: 'A', userFriendlyMessage: buildDescriptor('first') },
|
||||
{ code: 'B', userFriendlyMessage: buildDescriptor('second') },
|
||||
],
|
||||
},
|
||||
i18nMock,
|
||||
);
|
||||
|
||||
expect(result).toEqual({
|
||||
errors: [
|
||||
{ code: 'A', userFriendlyMessage: 'tr:first' },
|
||||
{ code: 'B', userFriendlyMessage: 'tr:second' },
|
||||
],
|
||||
});
|
||||
});
|
||||
|
||||
it('preserves primitives, null and undefined values found along the way', () => {
|
||||
const result = translateUserFriendlyMessageDescriptors(
|
||||
{
|
||||
statusCode: 400,
|
||||
message: 'Validation failed',
|
||||
eventId: null,
|
||||
traceId: undefined,
|
||||
nested: { count: 0, flag: false },
|
||||
},
|
||||
i18nMock,
|
||||
);
|
||||
|
||||
expect(result).toEqual({
|
||||
statusCode: 400,
|
||||
message: 'Validation failed',
|
||||
eventId: null,
|
||||
traceId: undefined,
|
||||
nested: { count: 0, flag: false },
|
||||
});
|
||||
});
|
||||
|
||||
it('handles a realistic metadata-validation payload with both top-level and per-error descriptors', () => {
|
||||
const result = translateUserFriendlyMessageDescriptors(
|
||||
{
|
||||
userFriendlyMessage: buildDescriptor('Field value is required'),
|
||||
summary: { totalErrors: 1, viewGroup: 1 },
|
||||
errors: {
|
||||
viewGroup: [
|
||||
{
|
||||
status: 'fail',
|
||||
type: 'create',
|
||||
metadataName: 'viewGroup',
|
||||
errors: [
|
||||
{
|
||||
code: 'INVALID_VIEW_DATA',
|
||||
message: 'Field value is required',
|
||||
userFriendlyMessage: buildDescriptor(
|
||||
'Field value is required',
|
||||
),
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
i18nMock,
|
||||
);
|
||||
|
||||
expect(result).toEqual({
|
||||
userFriendlyMessage: 'tr:Field value is required',
|
||||
summary: { totalErrors: 1, viewGroup: 1 },
|
||||
errors: {
|
||||
viewGroup: [
|
||||
{
|
||||
status: 'fail',
|
||||
type: 'create',
|
||||
metadataName: 'viewGroup',
|
||||
errors: [
|
||||
{
|
||||
code: 'INVALID_VIEW_DATA',
|
||||
message: 'Field value is required',
|
||||
userFriendlyMessage: 'tr:Field value is required',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
it('does not mutate the input payload', () => {
|
||||
const descriptor = buildDescriptor('mutation-check');
|
||||
const input = { userFriendlyMessage: descriptor, nested: { value: 1 } };
|
||||
|
||||
const result = translateUserFriendlyMessageDescriptors(input, i18nMock);
|
||||
|
||||
expect(input.userFriendlyMessage).toBe(descriptor);
|
||||
expect(result).not.toBe(input);
|
||||
expect(result).toEqual({
|
||||
userFriendlyMessage: 'tr:mutation-check',
|
||||
nested: { value: 1 },
|
||||
});
|
||||
});
|
||||
});
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
import { type I18n, type MessageDescriptor } from '@lingui/core';
|
||||
import { isArray, isObject, isString } from '@sniptt/guards';
|
||||
|
||||
const USER_FRIENDLY_MESSAGE_KEY = 'userFriendlyMessage';
|
||||
|
||||
const isMessageDescriptor = (value: unknown): value is MessageDescriptor =>
|
||||
isObject(value) && 'id' in value && isString(value.id);
|
||||
|
||||
const translateValueRecursively = (
|
||||
value: unknown,
|
||||
i18n: I18n,
|
||||
parentKey?: string,
|
||||
): unknown => {
|
||||
if (parentKey === USER_FRIENDLY_MESSAGE_KEY && isMessageDescriptor(value)) {
|
||||
return i18n._(value);
|
||||
}
|
||||
|
||||
if (isArray(value)) {
|
||||
return value.map((item) =>
|
||||
translateValueRecursively(item, i18n, parentKey),
|
||||
);
|
||||
}
|
||||
|
||||
if (isObject(value)) {
|
||||
return Object.fromEntries(
|
||||
Object.entries(value).map(([key, nestedValue]) => [
|
||||
key,
|
||||
translateValueRecursively(nestedValue, i18n, key),
|
||||
]),
|
||||
);
|
||||
}
|
||||
|
||||
return value;
|
||||
};
|
||||
|
||||
export const translateUserFriendlyMessageDescriptors = (
|
||||
payload: object,
|
||||
i18n: I18n,
|
||||
): Record<string, unknown> =>
|
||||
translateValueRecursively(payload, i18n) as Record<string, unknown>;
|
||||
+7
-25
@@ -95,7 +95,6 @@ export class FieldMetadataResolver {
|
||||
async createOneField(
|
||||
@Args('input') input: CreateOneFieldMetadataInput,
|
||||
@AuthWorkspace() { id: workspaceId }: WorkspaceEntity,
|
||||
@Context() context: I18nContext,
|
||||
) {
|
||||
try {
|
||||
const flatFieldMetadata = await this.fieldMetadataService.createOneField({
|
||||
@@ -105,10 +104,7 @@ export class FieldMetadataResolver {
|
||||
|
||||
return fromFlatFieldMetadataToFieldMetadataDto(flatFieldMetadata);
|
||||
} catch (error) {
|
||||
return fieldMetadataGraphqlApiExceptionHandler(
|
||||
error,
|
||||
this.i18nService.getI18nInstance(context.req.locale),
|
||||
);
|
||||
return fieldMetadataGraphqlApiExceptionHandler(error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,7 +113,6 @@ export class FieldMetadataResolver {
|
||||
async updateOneField(
|
||||
@Args('input') input: UpdateOneFieldMetadataInput,
|
||||
@AuthWorkspace() { id: workspaceId }: WorkspaceEntity,
|
||||
@Context() context: I18nContext,
|
||||
) {
|
||||
try {
|
||||
const flatFieldMetadata = await this.fieldMetadataService.updateOneField({
|
||||
@@ -127,10 +122,7 @@ export class FieldMetadataResolver {
|
||||
|
||||
return fromFlatFieldMetadataToFieldMetadataDto(flatFieldMetadata);
|
||||
} catch (error) {
|
||||
fieldMetadataGraphqlApiExceptionHandler(
|
||||
error,
|
||||
this.i18nService.getI18nInstance(context.req.locale),
|
||||
);
|
||||
fieldMetadataGraphqlApiExceptionHandler(error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -139,7 +131,6 @@ export class FieldMetadataResolver {
|
||||
async deleteOneField(
|
||||
@Args('input') deleteOneFieldInput: DeleteOneFieldInput,
|
||||
@AuthWorkspace() { id: workspaceId }: WorkspaceEntity,
|
||||
@Context() context: I18nContext,
|
||||
) {
|
||||
if (!isDefined(workspaceId)) {
|
||||
throw new ForbiddenError('Could not retrieve workspace ID');
|
||||
@@ -153,10 +144,7 @@ export class FieldMetadataResolver {
|
||||
|
||||
return fromFlatFieldMetadataToFieldMetadataDto(flatFieldMetadata);
|
||||
} catch (error) {
|
||||
fieldMetadataGraphqlApiExceptionHandler(
|
||||
error,
|
||||
this.i18nService.getI18nInstance(context.req.locale),
|
||||
);
|
||||
fieldMetadataGraphqlApiExceptionHandler(error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -168,7 +156,7 @@ export class FieldMetadataResolver {
|
||||
id: fieldMetadataId,
|
||||
objectMetadataId,
|
||||
}: Pick<FieldMetadataDTO, 'id' | 'objectMetadataId'>,
|
||||
@Context() context: { loaders: IDataloaders } & I18nContext,
|
||||
@Context() context: { loaders: IDataloaders },
|
||||
): Promise<RelationDTO | null> {
|
||||
try {
|
||||
return await context.loaders.relationLoader.load({
|
||||
@@ -177,10 +165,7 @@ export class FieldMetadataResolver {
|
||||
workspaceId: workspace.id,
|
||||
});
|
||||
} catch (error) {
|
||||
return fieldMetadataGraphqlApiExceptionHandler(
|
||||
error,
|
||||
this.i18nService.getI18nInstance(context.req.locale),
|
||||
);
|
||||
return fieldMetadataGraphqlApiExceptionHandler(error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -192,7 +177,7 @@ export class FieldMetadataResolver {
|
||||
id: fieldMetadataId,
|
||||
objectMetadataId,
|
||||
}: Pick<FieldMetadataDTO, 'id' | 'objectMetadataId'>,
|
||||
@Context() context: { loaders: IDataloaders } & I18nContext,
|
||||
@Context() context: { loaders: IDataloaders },
|
||||
): Promise<RelationDTO[] | null> {
|
||||
try {
|
||||
return await context.loaders.morphRelationLoader.load({
|
||||
@@ -201,10 +186,7 @@ export class FieldMetadataResolver {
|
||||
workspaceId: workspace.id,
|
||||
});
|
||||
} catch (error) {
|
||||
return fieldMetadataGraphqlApiExceptionHandler(
|
||||
error,
|
||||
this.i18nService.getI18nInstance(context.req.locale),
|
||||
);
|
||||
return fieldMetadataGraphqlApiExceptionHandler(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-14
@@ -4,31 +4,19 @@ import {
|
||||
Injectable,
|
||||
type NestInterceptor,
|
||||
} from '@nestjs/common';
|
||||
import { GqlExecutionContext } from '@nestjs/graphql';
|
||||
|
||||
import { type Observable, catchError } from 'rxjs';
|
||||
import { SOURCE_LOCALE } from 'twenty-shared/translations';
|
||||
|
||||
import { I18nService } from 'src/engine/core-modules/i18n/i18n.service';
|
||||
import { fieldMetadataGraphqlApiExceptionHandler } from 'src/engine/metadata-modules/field-metadata/utils/field-metadata-graphql-api-exception-handler.util';
|
||||
|
||||
@Injectable()
|
||||
export class FieldMetadataGraphqlApiExceptionInterceptor
|
||||
implements NestInterceptor
|
||||
{
|
||||
constructor(private readonly i18nService: I18nService) {}
|
||||
|
||||
// oxlint-disable-next-line @typescripttypescript/no-explicit-any
|
||||
intercept(context: ExecutionContext, next: CallHandler): Observable<any> {
|
||||
const gqlContext = GqlExecutionContext.create(context);
|
||||
const ctx = gqlContext.getContext();
|
||||
const locale = ctx.req?.locale ?? SOURCE_LOCALE;
|
||||
const i18n = this.i18nService.getI18nInstance(locale);
|
||||
|
||||
intercept(_context: ExecutionContext, next: CallHandler): Observable<any> {
|
||||
return next
|
||||
.handle()
|
||||
.pipe(
|
||||
catchError((err) => fieldMetadataGraphqlApiExceptionHandler(err, i18n)),
|
||||
);
|
||||
.pipe(catchError((err) => fieldMetadataGraphqlApiExceptionHandler(err)));
|
||||
}
|
||||
}
|
||||
|
||||
+3
-7
@@ -1,4 +1,3 @@
|
||||
import { type I18n } from '@lingui/core';
|
||||
import { assertUnreachable } from 'twenty-shared/utils';
|
||||
|
||||
import {
|
||||
@@ -13,14 +12,11 @@ import {
|
||||
} from 'src/engine/metadata-modules/field-metadata/field-metadata.exception';
|
||||
import { InvalidMetadataException } from 'src/engine/metadata-modules/utils/exceptions/invalid-metadata.exception';
|
||||
import { WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager/workspace-migration/exceptions/workspace-migration-builder-exception';
|
||||
import { workspaceMigrationBuilderExceptionFormatter } from 'src/engine/workspace-manager/workspace-migration/interceptors/workspace-migration-builder-exception-formatter';
|
||||
import { workspaceMigrationBuilderGraphqlApiExceptionHandler } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/workspace-migration-builder-graphql-api-exception-handler.util';
|
||||
|
||||
export const fieldMetadataGraphqlApiExceptionHandler = (
|
||||
error: Error,
|
||||
i18n: I18n,
|
||||
) => {
|
||||
export const fieldMetadataGraphqlApiExceptionHandler = (error: Error) => {
|
||||
if (error instanceof WorkspaceMigrationBuilderException) {
|
||||
workspaceMigrationBuilderExceptionFormatter(error, i18n);
|
||||
workspaceMigrationBuilderGraphqlApiExceptionHandler(error);
|
||||
}
|
||||
|
||||
if (error instanceof InvalidMetadataException) {
|
||||
|
||||
+3
-10
@@ -1,14 +1,12 @@
|
||||
import { UseFilters, UseGuards, UsePipes } from '@nestjs/common';
|
||||
import { Context, Parent, ResolveField } from '@nestjs/graphql';
|
||||
|
||||
import { MetadataResolver } from 'src/engine/api/graphql/graphql-config/decorators/metadata-resolver.decorator';
|
||||
import { PreventNestToAutoLogGraphqlErrorsFilter } from 'src/engine/core-modules/graphql/filters/prevent-nest-to-auto-log-graphql-errors.filter';
|
||||
import { ResolverValidationPipe } from 'src/engine/core-modules/graphql/pipes/resolver-validation.pipe';
|
||||
import { I18nService } from 'src/engine/core-modules/i18n/i18n.service';
|
||||
import { type I18nContext } from 'src/engine/core-modules/i18n/types/i18n-context.type';
|
||||
import { WorkspaceEntity } from 'src/engine/core-modules/workspace/workspace.entity';
|
||||
import { type IDataloaders } from 'src/engine/dataloaders/dataloader.interface';
|
||||
import { AuthWorkspace } from 'src/engine/decorators/auth/auth-workspace.decorator';
|
||||
import { MetadataResolver } from 'src/engine/api/graphql/graphql-config/decorators/metadata-resolver.decorator';
|
||||
import { WorkspaceAuthGuard } from 'src/engine/guards/workspace-auth.guard';
|
||||
import { IndexFieldMetadataDTO } from 'src/engine/metadata-modules/index-metadata/dtos/index-field-metadata.dto';
|
||||
import { IndexMetadataDTO } from 'src/engine/metadata-modules/index-metadata/dtos/index-metadata.dto';
|
||||
@@ -23,13 +21,11 @@ import { PermissionsGraphqlApiExceptionFilter } from 'src/engine/metadata-module
|
||||
PermissionsGraphqlApiExceptionFilter,
|
||||
)
|
||||
export class IndexMetadataResolver {
|
||||
constructor(private readonly i18nService: I18nService) {}
|
||||
|
||||
@ResolveField(() => [IndexFieldMetadataDTO], { nullable: false })
|
||||
async indexFieldMetadataList(
|
||||
@AuthWorkspace() workspace: WorkspaceEntity,
|
||||
@Parent() indexMetadata: IndexMetadataDTO,
|
||||
@Context() context: { loaders: IDataloaders } & I18nContext,
|
||||
@Context() context: { loaders: IDataloaders },
|
||||
): Promise<IndexFieldMetadataDTO[]> {
|
||||
try {
|
||||
const indexFieldMetadataItems =
|
||||
@@ -41,10 +37,7 @@ export class IndexMetadataResolver {
|
||||
|
||||
return indexFieldMetadataItems;
|
||||
} catch (error) {
|
||||
objectMetadataGraphqlApiExceptionHandler(
|
||||
error,
|
||||
this.i18nService.getI18nInstance(context.req.locale),
|
||||
);
|
||||
objectMetadataGraphqlApiExceptionHandler(error);
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
+2
-16
@@ -4,33 +4,19 @@ import {
|
||||
Injectable,
|
||||
type NestInterceptor,
|
||||
} from '@nestjs/common';
|
||||
import { GqlExecutionContext } from '@nestjs/graphql';
|
||||
|
||||
import { type Observable, catchError } from 'rxjs';
|
||||
import { SOURCE_LOCALE } from 'twenty-shared/translations';
|
||||
|
||||
import { I18nService } from 'src/engine/core-modules/i18n/i18n.service';
|
||||
import { objectMetadataGraphqlApiExceptionHandler } from 'src/engine/metadata-modules/object-metadata/utils/object-metadata-graphql-api-exception-handler.util';
|
||||
|
||||
@Injectable()
|
||||
export class ObjectMetadataGraphqlApiExceptionInterceptor
|
||||
implements NestInterceptor
|
||||
{
|
||||
constructor(private readonly i18nService: I18nService) {}
|
||||
|
||||
// oxlint-disable-next-line @typescripttypescript/no-explicit-any
|
||||
intercept(context: ExecutionContext, next: CallHandler): Observable<any> {
|
||||
const gqlContext = GqlExecutionContext.create(context);
|
||||
const ctx = gqlContext.getContext();
|
||||
const locale = ctx.req?.locale ?? SOURCE_LOCALE;
|
||||
const i18n = this.i18nService.getI18nInstance(locale);
|
||||
|
||||
intercept(_context: ExecutionContext, next: CallHandler): Observable<any> {
|
||||
return next
|
||||
.handle()
|
||||
.pipe(
|
||||
catchError((err) =>
|
||||
objectMetadataGraphqlApiExceptionHandler(err, i18n),
|
||||
),
|
||||
);
|
||||
.pipe(catchError((err) => objectMetadataGraphqlApiExceptionHandler(err)));
|
||||
}
|
||||
}
|
||||
|
||||
+6
-24
@@ -137,7 +137,6 @@ export class ObjectMetadataResolver {
|
||||
async createOneObject(
|
||||
@Args('input') input: CreateOneObjectInput,
|
||||
@AuthWorkspace() { id: workspaceId }: WorkspaceEntity,
|
||||
@Context() context: I18nContext,
|
||||
) {
|
||||
try {
|
||||
const flatobjectMetadata =
|
||||
@@ -148,10 +147,7 @@ export class ObjectMetadataResolver {
|
||||
|
||||
return fromFlatObjectMetadataToObjectMetadataDto(flatobjectMetadata);
|
||||
} catch (error) {
|
||||
objectMetadataGraphqlApiExceptionHandler(
|
||||
error,
|
||||
this.i18nService.getI18nInstance(context.req.locale),
|
||||
);
|
||||
objectMetadataGraphqlApiExceptionHandler(error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -160,7 +156,6 @@ export class ObjectMetadataResolver {
|
||||
async deleteOneObject(
|
||||
@Args('input') deleteObjectInput: DeleteOneObjectInput,
|
||||
@AuthWorkspace() { id: workspaceId }: WorkspaceEntity,
|
||||
@Context() context: I18nContext,
|
||||
) {
|
||||
try {
|
||||
const flatobjectMetadata =
|
||||
@@ -171,10 +166,7 @@ export class ObjectMetadataResolver {
|
||||
|
||||
return fromFlatObjectMetadataToObjectMetadataDto(flatobjectMetadata);
|
||||
} catch (error) {
|
||||
objectMetadataGraphqlApiExceptionHandler(
|
||||
error,
|
||||
this.i18nService.getI18nInstance(context.req.locale),
|
||||
);
|
||||
objectMetadataGraphqlApiExceptionHandler(error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -183,7 +175,6 @@ export class ObjectMetadataResolver {
|
||||
async updateOneObject(
|
||||
@Args('input') updateObjectInput: UpdateOneObjectInput,
|
||||
@AuthWorkspace() { id: workspaceId }: WorkspaceEntity,
|
||||
@Context() context: I18nContext,
|
||||
) {
|
||||
try {
|
||||
const flatobjectMetadata =
|
||||
@@ -194,10 +185,7 @@ export class ObjectMetadataResolver {
|
||||
|
||||
return fromFlatObjectMetadataToObjectMetadataDto(flatobjectMetadata);
|
||||
} catch (error) {
|
||||
objectMetadataGraphqlApiExceptionHandler(
|
||||
error,
|
||||
this.i18nService.getI18nInstance(context.req.locale),
|
||||
);
|
||||
objectMetadataGraphqlApiExceptionHandler(error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -218,10 +206,7 @@ export class ObjectMetadataResolver {
|
||||
|
||||
return fieldMetadataItems;
|
||||
} catch (error) {
|
||||
objectMetadataGraphqlApiExceptionHandler(
|
||||
error,
|
||||
this.i18nService.getI18nInstance(context.req.locale),
|
||||
);
|
||||
objectMetadataGraphqlApiExceptionHandler(error);
|
||||
|
||||
return [];
|
||||
}
|
||||
@@ -231,7 +216,7 @@ export class ObjectMetadataResolver {
|
||||
async indexMetadataList(
|
||||
@AuthWorkspace() workspace: WorkspaceEntity,
|
||||
@Parent() objectMetadata: ObjectMetadataDTO,
|
||||
@Context() context: { loaders: IDataloaders } & I18nContext,
|
||||
@Context() context: { loaders: IDataloaders },
|
||||
): Promise<IndexMetadataDTO[]> {
|
||||
try {
|
||||
const indexMetadataItems = await context.loaders.indexMetadataLoader.load(
|
||||
@@ -243,10 +228,7 @@ export class ObjectMetadataResolver {
|
||||
|
||||
return indexMetadataItems;
|
||||
} catch (error) {
|
||||
objectMetadataGraphqlApiExceptionHandler(
|
||||
error,
|
||||
this.i18nService.getI18nInstance(context.req.locale),
|
||||
);
|
||||
objectMetadataGraphqlApiExceptionHandler(error);
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
+3
-7
@@ -1,4 +1,3 @@
|
||||
import { type I18n } from '@lingui/core';
|
||||
import { assertUnreachable } from 'twenty-shared/utils';
|
||||
|
||||
import {
|
||||
@@ -14,14 +13,11 @@ import {
|
||||
} from 'src/engine/metadata-modules/object-metadata/object-metadata.exception';
|
||||
import { InvalidMetadataException } from 'src/engine/metadata-modules/utils/exceptions/invalid-metadata.exception';
|
||||
import { WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager/workspace-migration/exceptions/workspace-migration-builder-exception';
|
||||
import { workspaceMigrationBuilderExceptionFormatter } from 'src/engine/workspace-manager/workspace-migration/interceptors/workspace-migration-builder-exception-formatter';
|
||||
import { workspaceMigrationBuilderGraphqlApiExceptionHandler } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/workspace-migration-builder-graphql-api-exception-handler.util';
|
||||
|
||||
export const objectMetadataGraphqlApiExceptionHandler = (
|
||||
error: Error,
|
||||
i18n: I18n,
|
||||
) => {
|
||||
export const objectMetadataGraphqlApiExceptionHandler = (error: Error) => {
|
||||
if (error instanceof WorkspaceMigrationBuilderException) {
|
||||
workspaceMigrationBuilderExceptionFormatter(error, i18n);
|
||||
workspaceMigrationBuilderGraphqlApiExceptionHandler(error);
|
||||
}
|
||||
|
||||
if (error instanceof InvalidMetadataException) {
|
||||
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
import { Test, type TestingModule } from '@nestjs/testing';
|
||||
import { getRepositoryToken } from '@nestjs/typeorm';
|
||||
|
||||
import { msg } from '@lingui/core/macro';
|
||||
import { type ObjectsPermissionsByRoleId } from 'twenty-shared/types';
|
||||
import { type Repository } from 'typeorm';
|
||||
|
||||
@@ -755,7 +756,7 @@ describe('FieldPermissionService', () => {
|
||||
{
|
||||
code: PermissionsExceptionCode.ROLE_NOT_EDITABLE,
|
||||
message: 'Role is not editable',
|
||||
userFriendlyMessage: 'This role cannot be modified.',
|
||||
userFriendlyMessage: msg`This role cannot be modified.`,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
+3
-7
@@ -1,4 +1,3 @@
|
||||
import { type I18n } from '@lingui/core';
|
||||
import { assertUnreachable } from 'twenty-shared/utils';
|
||||
|
||||
import {
|
||||
@@ -18,14 +17,11 @@ import {
|
||||
PageLayoutExceptionCode,
|
||||
} from 'src/engine/metadata-modules/page-layout/exceptions/page-layout.exception';
|
||||
import { WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager/workspace-migration/exceptions/workspace-migration-builder-exception';
|
||||
import { workspaceMigrationBuilderExceptionFormatter } from 'src/engine/workspace-manager/workspace-migration/interceptors/workspace-migration-builder-exception-formatter';
|
||||
import { workspaceMigrationBuilderGraphqlApiExceptionHandler } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/workspace-migration-builder-graphql-api-exception-handler.util';
|
||||
|
||||
export const pageLayoutGraphqlApiExceptionHandler = (
|
||||
error: Error,
|
||||
i18n: I18n,
|
||||
) => {
|
||||
export const pageLayoutGraphqlApiExceptionHandler = (error: Error) => {
|
||||
if (error instanceof WorkspaceMigrationBuilderException) {
|
||||
return workspaceMigrationBuilderExceptionFormatter(error, i18n);
|
||||
return workspaceMigrationBuilderGraphqlApiExceptionHandler(error);
|
||||
}
|
||||
|
||||
if (error instanceof PageLayoutException) {
|
||||
|
||||
+2
-13
@@ -4,11 +4,7 @@ import {
|
||||
type ExecutionContext,
|
||||
Injectable,
|
||||
} from '@nestjs/common';
|
||||
import { GqlExecutionContext } from '@nestjs/graphql';
|
||||
|
||||
import { SOURCE_LOCALE } from 'twenty-shared/translations';
|
||||
|
||||
import { I18nService } from 'src/engine/core-modules/i18n/i18n.service';
|
||||
import { PageLayoutTabException } from 'src/engine/metadata-modules/page-layout-tab/exceptions/page-layout-tab.exception';
|
||||
import { PageLayoutWidgetException } from 'src/engine/metadata-modules/page-layout-widget/exceptions/page-layout-widget.exception';
|
||||
import { PageLayoutException } from 'src/engine/metadata-modules/page-layout/exceptions/page-layout.exception';
|
||||
@@ -23,21 +19,14 @@ import { WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager
|
||||
)
|
||||
@Injectable()
|
||||
export class PageLayoutGraphqlApiExceptionFilter implements ExceptionFilter {
|
||||
constructor(private readonly i18nService: I18nService) {}
|
||||
|
||||
catch(
|
||||
exception:
|
||||
| PageLayoutException
|
||||
| PageLayoutTabException
|
||||
| PageLayoutWidgetException
|
||||
| WorkspaceMigrationBuilderException,
|
||||
host: ExecutionContext,
|
||||
_host: ExecutionContext,
|
||||
) {
|
||||
const gqlContext = GqlExecutionContext.create(host);
|
||||
const ctx = gqlContext.getContext();
|
||||
const userLocale = ctx.req?.locale ?? SOURCE_LOCALE;
|
||||
const i18n = this.i18nService.getI18nInstance(userLocale);
|
||||
|
||||
return pageLayoutGraphqlApiExceptionHandler(exception, i18n);
|
||||
return pageLayoutGraphqlApiExceptionHandler(exception);
|
||||
}
|
||||
}
|
||||
|
||||
+5
-14
@@ -16,7 +16,7 @@ import {
|
||||
ViewFieldExceptionCode,
|
||||
} from 'src/engine/metadata-modules/view-field/exceptions/view-field.exception';
|
||||
import { WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager/workspace-migration/exceptions/workspace-migration-builder-exception';
|
||||
import { fromWorkspaceMigrationBuilderExceptionToMetadataValidationResponseError } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/from-workspace-migration-builder-exception-to-metadata-validation-response-error.util';
|
||||
import { workspaceMigrationBuilderRestApiExceptionHandler } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/workspace-migration-builder-rest-api-exception-handler.util';
|
||||
import {
|
||||
type CustomException,
|
||||
UnknownException,
|
||||
@@ -38,19 +38,10 @@ export class ViewFieldRestApiExceptionFilter implements ExceptionFilter {
|
||||
const response = ctx.getResponse<Response>();
|
||||
|
||||
if (exception instanceof WorkspaceMigrationBuilderException) {
|
||||
const i18n = this.i18nService.getI18nInstance(SOURCE_LOCALE);
|
||||
const { errors, summary } =
|
||||
fromWorkspaceMigrationBuilderExceptionToMetadataValidationResponseError(
|
||||
exception,
|
||||
i18n,
|
||||
);
|
||||
|
||||
return response.status(400).json({
|
||||
statusCode: 400,
|
||||
error: 'METADATA_VALIDATION_ERROR',
|
||||
message: exception.message || 'Validation failed',
|
||||
errors,
|
||||
summary,
|
||||
return workspaceMigrationBuilderRestApiExceptionHandler({
|
||||
exception,
|
||||
response,
|
||||
i18n: this.i18nService.getI18nInstance(SOURCE_LOCALE),
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
+5
-14
@@ -16,7 +16,7 @@ import {
|
||||
ViewFilterGroupExceptionCode,
|
||||
} from 'src/engine/metadata-modules/view-filter-group/exceptions/view-filter-group.exception';
|
||||
import { WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager/workspace-migration/exceptions/workspace-migration-builder-exception';
|
||||
import { fromWorkspaceMigrationBuilderExceptionToMetadataValidationResponseError } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/from-workspace-migration-builder-exception-to-metadata-validation-response-error.util';
|
||||
import { workspaceMigrationBuilderRestApiExceptionHandler } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/workspace-migration-builder-rest-api-exception-handler.util';
|
||||
import {
|
||||
type CustomException,
|
||||
UnknownException,
|
||||
@@ -38,19 +38,10 @@ export class ViewFilterGroupRestApiExceptionFilter implements ExceptionFilter {
|
||||
const response = ctx.getResponse<Response>();
|
||||
|
||||
if (exception instanceof WorkspaceMigrationBuilderException) {
|
||||
const i18n = this.i18nService.getI18nInstance(SOURCE_LOCALE);
|
||||
const { errors, summary } =
|
||||
fromWorkspaceMigrationBuilderExceptionToMetadataValidationResponseError(
|
||||
exception,
|
||||
i18n,
|
||||
);
|
||||
|
||||
return response.status(400).json({
|
||||
statusCode: 400,
|
||||
error: 'METADATA_VALIDATION_ERROR',
|
||||
message: exception.message || 'Validation failed',
|
||||
errors,
|
||||
summary,
|
||||
return workspaceMigrationBuilderRestApiExceptionHandler({
|
||||
exception,
|
||||
response,
|
||||
i18n: this.i18nService.getI18nInstance(SOURCE_LOCALE),
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
+5
-14
@@ -16,7 +16,7 @@ import {
|
||||
ViewFilterExceptionCode,
|
||||
} from 'src/engine/metadata-modules/view-filter/exceptions/view-filter.exception';
|
||||
import { WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager/workspace-migration/exceptions/workspace-migration-builder-exception';
|
||||
import { fromWorkspaceMigrationBuilderExceptionToMetadataValidationResponseError } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/from-workspace-migration-builder-exception-to-metadata-validation-response-error.util';
|
||||
import { workspaceMigrationBuilderRestApiExceptionHandler } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/workspace-migration-builder-rest-api-exception-handler.util';
|
||||
import {
|
||||
type CustomException,
|
||||
UnknownException,
|
||||
@@ -38,19 +38,10 @@ export class ViewFilterRestApiExceptionFilter implements ExceptionFilter {
|
||||
const response = ctx.getResponse<Response>();
|
||||
|
||||
if (exception instanceof WorkspaceMigrationBuilderException) {
|
||||
const i18n = this.i18nService.getI18nInstance(SOURCE_LOCALE);
|
||||
const { errors, summary } =
|
||||
fromWorkspaceMigrationBuilderExceptionToMetadataValidationResponseError(
|
||||
exception,
|
||||
i18n,
|
||||
);
|
||||
|
||||
return response.status(400).json({
|
||||
statusCode: 400,
|
||||
error: 'METADATA_VALIDATION_ERROR',
|
||||
message: exception.message || 'Validation failed',
|
||||
errors,
|
||||
summary,
|
||||
return workspaceMigrationBuilderRestApiExceptionHandler({
|
||||
exception,
|
||||
response,
|
||||
i18n: this.i18nService.getI18nInstance(SOURCE_LOCALE),
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
+5
-14
@@ -16,7 +16,7 @@ import {
|
||||
ViewGroupExceptionCode,
|
||||
} from 'src/engine/metadata-modules/view-group/exceptions/view-group.exception';
|
||||
import { WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager/workspace-migration/exceptions/workspace-migration-builder-exception';
|
||||
import { fromWorkspaceMigrationBuilderExceptionToMetadataValidationResponseError } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/from-workspace-migration-builder-exception-to-metadata-validation-response-error.util';
|
||||
import { workspaceMigrationBuilderRestApiExceptionHandler } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/workspace-migration-builder-rest-api-exception-handler.util';
|
||||
import {
|
||||
type CustomException,
|
||||
UnknownException,
|
||||
@@ -38,19 +38,10 @@ export class ViewGroupRestApiExceptionFilter implements ExceptionFilter {
|
||||
const response = ctx.getResponse<Response>();
|
||||
|
||||
if (exception instanceof WorkspaceMigrationBuilderException) {
|
||||
const i18n = this.i18nService.getI18nInstance(SOURCE_LOCALE);
|
||||
const { errors, summary } =
|
||||
fromWorkspaceMigrationBuilderExceptionToMetadataValidationResponseError(
|
||||
exception,
|
||||
i18n,
|
||||
);
|
||||
|
||||
return response.status(400).json({
|
||||
statusCode: 400,
|
||||
error: 'METADATA_VALIDATION_ERROR',
|
||||
message: exception.message || 'Validation failed',
|
||||
errors,
|
||||
summary,
|
||||
return workspaceMigrationBuilderRestApiExceptionHandler({
|
||||
exception,
|
||||
response,
|
||||
i18n: this.i18nService.getI18nInstance(SOURCE_LOCALE),
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
+2
-7
@@ -1,5 +1,3 @@
|
||||
import { type I18n } from '@lingui/core';
|
||||
|
||||
import { UserInputError } from 'src/engine/core-modules/graphql/utils/graphql-errors.util';
|
||||
import {
|
||||
ViewGroupException,
|
||||
@@ -7,10 +5,7 @@ import {
|
||||
} from 'src/engine/metadata-modules/view-group/exceptions/view-group.exception';
|
||||
import { viewGraphqlApiExceptionHandler } from 'src/engine/metadata-modules/view/utils/view-graphql-api-exception-handler.util';
|
||||
|
||||
export const viewGroupGraphqlApiExceptionHandler = (
|
||||
error: Error,
|
||||
i18n: I18n,
|
||||
) => {
|
||||
export const viewGroupGraphqlApiExceptionHandler = (error: Error) => {
|
||||
if (error instanceof ViewGroupException) {
|
||||
if (
|
||||
error.code ===
|
||||
@@ -22,5 +17,5 @@ export const viewGroupGraphqlApiExceptionHandler = (
|
||||
}
|
||||
}
|
||||
|
||||
return viewGraphqlApiExceptionHandler(error, i18n);
|
||||
return viewGraphqlApiExceptionHandler(error);
|
||||
};
|
||||
|
||||
+2
-13
@@ -4,11 +4,7 @@ import {
|
||||
type ExecutionContext,
|
||||
Injectable,
|
||||
} from '@nestjs/common';
|
||||
import { GqlExecutionContext } from '@nestjs/graphql';
|
||||
|
||||
import { SOURCE_LOCALE } from 'twenty-shared/translations';
|
||||
|
||||
import { I18nService } from 'src/engine/core-modules/i18n/i18n.service';
|
||||
import { ViewGroupException } from 'src/engine/metadata-modules/view-group/exceptions/view-group.exception';
|
||||
import { viewGroupGraphqlApiExceptionHandler } from 'src/engine/metadata-modules/view-group/utils/view-group-graphql-api-exception-handler.util';
|
||||
import { WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager/workspace-migration/exceptions/workspace-migration-builder-exception';
|
||||
@@ -16,17 +12,10 @@ import { WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager
|
||||
@Catch(ViewGroupException, WorkspaceMigrationBuilderException)
|
||||
@Injectable()
|
||||
export class ViewGroupGraphqlApiExceptionFilter implements ExceptionFilter {
|
||||
constructor(private readonly i18nService: I18nService) {}
|
||||
|
||||
catch(
|
||||
exception: ViewGroupException | WorkspaceMigrationBuilderException,
|
||||
host: ExecutionContext,
|
||||
_host: ExecutionContext,
|
||||
) {
|
||||
const gqlContext = GqlExecutionContext.create(host);
|
||||
const ctx = gqlContext.getContext();
|
||||
const userLocale = ctx.req?.locale ?? SOURCE_LOCALE;
|
||||
const i18n = this.i18nService.getI18nInstance(userLocale);
|
||||
|
||||
return viewGroupGraphqlApiExceptionHandler(exception, i18n);
|
||||
return viewGroupGraphqlApiExceptionHandler(exception);
|
||||
}
|
||||
}
|
||||
|
||||
+5
-14
@@ -16,7 +16,7 @@ import {
|
||||
ViewSortExceptionCode,
|
||||
} from 'src/engine/metadata-modules/view-sort/exceptions/view-sort.exception';
|
||||
import { WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager/workspace-migration/exceptions/workspace-migration-builder-exception';
|
||||
import { fromWorkspaceMigrationBuilderExceptionToMetadataValidationResponseError } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/from-workspace-migration-builder-exception-to-metadata-validation-response-error.util';
|
||||
import { workspaceMigrationBuilderRestApiExceptionHandler } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/workspace-migration-builder-rest-api-exception-handler.util';
|
||||
import {
|
||||
type CustomException,
|
||||
UnknownException,
|
||||
@@ -38,19 +38,10 @@ export class ViewSortRestApiExceptionFilter implements ExceptionFilter {
|
||||
const response = ctx.getResponse<Response>();
|
||||
|
||||
if (exception instanceof WorkspaceMigrationBuilderException) {
|
||||
const i18n = this.i18nService.getI18nInstance(SOURCE_LOCALE);
|
||||
const { errors, summary } =
|
||||
fromWorkspaceMigrationBuilderExceptionToMetadataValidationResponseError(
|
||||
exception,
|
||||
i18n,
|
||||
);
|
||||
|
||||
return response.status(400).json({
|
||||
statusCode: 400,
|
||||
error: 'METADATA_VALIDATION_ERROR',
|
||||
message: exception.message || 'Validation failed',
|
||||
errors,
|
||||
summary,
|
||||
return workspaceMigrationBuilderRestApiExceptionHandler({
|
||||
exception,
|
||||
response,
|
||||
i18n: this.i18nService.getI18nInstance(SOURCE_LOCALE),
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
+5
-14
@@ -16,7 +16,7 @@ import {
|
||||
ViewExceptionCode,
|
||||
} from 'src/engine/metadata-modules/view/exceptions/view.exception';
|
||||
import { WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager/workspace-migration/exceptions/workspace-migration-builder-exception';
|
||||
import { fromWorkspaceMigrationBuilderExceptionToMetadataValidationResponseError } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/from-workspace-migration-builder-exception-to-metadata-validation-response-error.util';
|
||||
import { workspaceMigrationBuilderRestApiExceptionHandler } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/workspace-migration-builder-rest-api-exception-handler.util';
|
||||
import {
|
||||
type CustomException,
|
||||
UnknownException,
|
||||
@@ -38,19 +38,10 @@ export class ViewRestApiExceptionFilter implements ExceptionFilter {
|
||||
const response = ctx.getResponse<Response>();
|
||||
|
||||
if (exception instanceof WorkspaceMigrationBuilderException) {
|
||||
const i18n = this.i18nService.getI18nInstance(SOURCE_LOCALE);
|
||||
const { errors, summary } =
|
||||
fromWorkspaceMigrationBuilderExceptionToMetadataValidationResponseError(
|
||||
exception,
|
||||
i18n,
|
||||
);
|
||||
|
||||
return response.status(400).json({
|
||||
statusCode: 400,
|
||||
error: 'METADATA_VALIDATION_ERROR',
|
||||
message: exception.message || 'Validation failed',
|
||||
errors,
|
||||
summary,
|
||||
return workspaceMigrationBuilderRestApiExceptionHandler({
|
||||
exception,
|
||||
response,
|
||||
i18n: this.i18nService.getI18nInstance(SOURCE_LOCALE),
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
+3
-4
@@ -1,4 +1,3 @@
|
||||
import { type I18n } from '@lingui/core';
|
||||
import { assertUnreachable } from 'twenty-shared/utils';
|
||||
|
||||
import {
|
||||
@@ -36,11 +35,11 @@ import {
|
||||
ViewExceptionCode,
|
||||
} from 'src/engine/metadata-modules/view/exceptions/view.exception';
|
||||
import { WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager/workspace-migration/exceptions/workspace-migration-builder-exception';
|
||||
import { workspaceMigrationBuilderExceptionFormatter } from 'src/engine/workspace-manager/workspace-migration/interceptors/workspace-migration-builder-exception-formatter';
|
||||
import { workspaceMigrationBuilderGraphqlApiExceptionHandler } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/workspace-migration-builder-graphql-api-exception-handler.util';
|
||||
|
||||
export const viewGraphqlApiExceptionHandler = (error: Error, i18n: I18n) => {
|
||||
export const viewGraphqlApiExceptionHandler = (error: Error) => {
|
||||
if (error instanceof WorkspaceMigrationBuilderException) {
|
||||
return workspaceMigrationBuilderExceptionFormatter(error, i18n);
|
||||
return workspaceMigrationBuilderGraphqlApiExceptionHandler(error);
|
||||
}
|
||||
|
||||
if (error instanceof ViewException) {
|
||||
|
||||
+2
-13
@@ -4,11 +4,7 @@ import {
|
||||
type ExecutionContext,
|
||||
Injectable,
|
||||
} from '@nestjs/common';
|
||||
import { GqlExecutionContext } from '@nestjs/graphql';
|
||||
|
||||
import { SOURCE_LOCALE } from 'twenty-shared/translations';
|
||||
|
||||
import { I18nService } from 'src/engine/core-modules/i18n/i18n.service';
|
||||
import { ViewFieldGroupException } from 'src/engine/metadata-modules/view-field-group/exceptions/view-field-group.exception';
|
||||
import { ViewFieldException } from 'src/engine/metadata-modules/view-field/exceptions/view-field.exception';
|
||||
import { ViewFilterGroupException } from 'src/engine/metadata-modules/view-filter-group/exceptions/view-filter-group.exception';
|
||||
@@ -30,8 +26,6 @@ import { WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager
|
||||
)
|
||||
@Injectable()
|
||||
export class ViewGraphqlApiExceptionFilter implements ExceptionFilter {
|
||||
constructor(private readonly i18nService: I18nService) {}
|
||||
|
||||
catch(
|
||||
exception:
|
||||
| ViewException
|
||||
@@ -42,13 +36,8 @@ export class ViewGraphqlApiExceptionFilter implements ExceptionFilter {
|
||||
| ViewGroupException
|
||||
| ViewSortException
|
||||
| WorkspaceMigrationBuilderException,
|
||||
host: ExecutionContext,
|
||||
_host: ExecutionContext,
|
||||
) {
|
||||
const gqlContext = GqlExecutionContext.create(host);
|
||||
const ctx = gqlContext.getContext();
|
||||
const userLocale = ctx.req?.locale ?? SOURCE_LOCALE;
|
||||
const i18n = this.i18nService.getI18nInstance(userLocale);
|
||||
|
||||
return viewGraphqlApiExceptionHandler(exception, i18n);
|
||||
return viewGraphqlApiExceptionHandler(exception);
|
||||
}
|
||||
}
|
||||
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
import { type AllMetadataName } from 'twenty-shared/metadata';
|
||||
|
||||
import { type WorkspaceMigrationActionType } from 'src/engine/metadata-modules/flat-entity/types/metadata-workspace-migration-action.type';
|
||||
import { type FailedFlatEntityValidation } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/types/failed-flat-entity-validation.type';
|
||||
|
||||
export type MetadataValidationErrorResponseDescriptor = {
|
||||
summary: {
|
||||
totalErrors: number;
|
||||
} & Partial<Record<AllMetadataName, number>>;
|
||||
errors: Partial<{
|
||||
[P in AllMetadataName]: FailedFlatEntityValidation<
|
||||
P,
|
||||
WorkspaceMigrationActionType
|
||||
>[];
|
||||
}>;
|
||||
};
|
||||
+143
@@ -0,0 +1,143 @@
|
||||
import { type MessageDescriptor } from '@lingui/core';
|
||||
import { msg } from '@lingui/core/macro';
|
||||
|
||||
import { EMPTY_ORCHESTRATOR_FAILURE_REPORT } from 'src/engine/workspace-manager/workspace-migration/constant/empty-orchestrator-failure-report.constant';
|
||||
import { WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager/workspace-migration/exceptions/workspace-migration-builder-exception';
|
||||
import { buildMetadataValidationErrorPayload } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/build-metadata-validation-error-payload.util';
|
||||
import { type OrchestratorFailureReport } from 'src/engine/workspace-manager/workspace-migration/types/workspace-migration-orchestrator.type';
|
||||
|
||||
const buildFailedValidation = (
|
||||
errors: Array<{
|
||||
code: string;
|
||||
message: string;
|
||||
userFriendlyMessage?: MessageDescriptor;
|
||||
}>,
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
): any => ({
|
||||
type: 'create',
|
||||
errors,
|
||||
flatEntityMinimalInformation: {},
|
||||
});
|
||||
|
||||
const buildException = (
|
||||
partialReport: Partial<OrchestratorFailureReport>,
|
||||
): WorkspaceMigrationBuilderException =>
|
||||
new WorkspaceMigrationBuilderException({
|
||||
status: 'fail',
|
||||
report: { ...EMPTY_ORCHESTRATOR_FAILURE_REPORT(), ...partialReport },
|
||||
});
|
||||
|
||||
describe('buildMetadataValidationErrorPayload', () => {
|
||||
it('returns an empty errors record and a totalErrors-of-0 summary when no metadata has failures', () => {
|
||||
const payload = buildMetadataValidationErrorPayload(buildException({}));
|
||||
|
||||
expect(payload.errors).toEqual({});
|
||||
expect(payload.summary).toEqual({ totalErrors: 0 });
|
||||
expect(payload.userFriendlyMessage).toEqual(
|
||||
msg`Metadata validation failed`,
|
||||
);
|
||||
});
|
||||
|
||||
it('aggregates per-metadata failure counts into the summary and only exposes metadata buckets that have failures', () => {
|
||||
const payload = buildMetadataValidationErrorPayload(
|
||||
buildException({
|
||||
view: [
|
||||
buildFailedValidation([{ code: 'A', message: 'a' }]),
|
||||
buildFailedValidation([{ code: 'B', message: 'b' }]),
|
||||
],
|
||||
viewGroup: [buildFailedValidation([{ code: 'C', message: 'c' }])],
|
||||
}),
|
||||
);
|
||||
|
||||
expect(payload.summary).toEqual({
|
||||
totalErrors: 3,
|
||||
view: 2,
|
||||
viewGroup: 1,
|
||||
});
|
||||
expect(Object.keys(payload.errors).sort()).toEqual(['view', 'viewGroup']);
|
||||
});
|
||||
|
||||
it('returns the generic "Many validation errors" descriptor when more than one failed validation is reported', () => {
|
||||
const payload = buildMetadataValidationErrorPayload(
|
||||
buildException({
|
||||
role: [
|
||||
buildFailedValidation([
|
||||
{
|
||||
code: 'ERR',
|
||||
message: 'x',
|
||||
userFriendlyMessage: msg`Only error`,
|
||||
},
|
||||
]),
|
||||
buildFailedValidation([
|
||||
{
|
||||
code: 'ERR2',
|
||||
message: 'y',
|
||||
userFriendlyMessage: msg`Other error`,
|
||||
},
|
||||
]),
|
||||
],
|
||||
}),
|
||||
);
|
||||
|
||||
expect(payload.userFriendlyMessage).toEqual(msg`Many validation errors`);
|
||||
});
|
||||
|
||||
it("returns the only failure's userFriendlyMessage when exactly one failed validation is reported", () => {
|
||||
const userFriendlyMessage = msg`Role name is invalid`;
|
||||
|
||||
const payload = buildMetadataValidationErrorPayload(
|
||||
buildException({
|
||||
role: [
|
||||
buildFailedValidation([
|
||||
{
|
||||
code: 'ROLE_ERROR',
|
||||
message: 'invalid',
|
||||
userFriendlyMessage,
|
||||
},
|
||||
]),
|
||||
],
|
||||
}),
|
||||
);
|
||||
|
||||
expect(payload.userFriendlyMessage).toBe(userFriendlyMessage);
|
||||
});
|
||||
|
||||
it('returns the fallback descriptor when the only reported failure has no userFriendlyMessage on any of its errors', () => {
|
||||
const payload = buildMetadataValidationErrorPayload(
|
||||
buildException({
|
||||
view: [
|
||||
buildFailedValidation([
|
||||
{ code: 'X', message: 'y' },
|
||||
{ code: 'Z', message: 'z' },
|
||||
]),
|
||||
],
|
||||
}),
|
||||
);
|
||||
|
||||
expect(payload.userFriendlyMessage).toEqual(
|
||||
msg`Metadata validation failed`,
|
||||
);
|
||||
});
|
||||
|
||||
it("returns the first error's userFriendlyMessage and skips earlier errors that do not provide one", () => {
|
||||
const userFriendlyMessage = msg`First friendly message`;
|
||||
|
||||
const payload = buildMetadataValidationErrorPayload(
|
||||
buildException({
|
||||
fieldMetadata: [
|
||||
buildFailedValidation([
|
||||
{ code: 'A', message: 'first' },
|
||||
{ code: 'B', message: 'second', userFriendlyMessage },
|
||||
{
|
||||
code: 'C',
|
||||
message: 'third',
|
||||
userFriendlyMessage: msg`Would not reach this`,
|
||||
},
|
||||
]),
|
||||
],
|
||||
}),
|
||||
);
|
||||
|
||||
expect(payload.userFriendlyMessage).toBe(userFriendlyMessage);
|
||||
});
|
||||
});
|
||||
+79
@@ -0,0 +1,79 @@
|
||||
import { type MessageDescriptor } from '@lingui/core';
|
||||
import { msg } from '@lingui/core/macro';
|
||||
import { ALL_METADATA_NAME } from 'twenty-shared/metadata';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
|
||||
import { type WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager/workspace-migration/exceptions/workspace-migration-builder-exception';
|
||||
import { type MetadataValidationErrorResponseDescriptor } from 'src/engine/workspace-manager/workspace-migration/interceptors/types/metadata-validation-error-response-descriptor.type';
|
||||
|
||||
export type MetadataValidationErrorPayloadDescriptor =
|
||||
MetadataValidationErrorResponseDescriptor & {
|
||||
userFriendlyMessage: MessageDescriptor;
|
||||
};
|
||||
|
||||
const MANY_VALIDATION_ERRORS_MESSAGE = msg`Many validation errors`;
|
||||
const METADATA_VALIDATION_FAILED_MESSAGE = msg`Metadata validation failed`;
|
||||
|
||||
const getMetadataValidationUserFriendlyMessage = (
|
||||
metadataValidation: MetadataValidationErrorResponseDescriptor,
|
||||
): MessageDescriptor => {
|
||||
if (metadataValidation.summary.totalErrors > 1) {
|
||||
return MANY_VALIDATION_ERRORS_MESSAGE;
|
||||
}
|
||||
|
||||
for (const metadataName of Object.values(ALL_METADATA_NAME)) {
|
||||
const failedValidations = metadataValidation.errors[metadataName];
|
||||
|
||||
if (!isDefined(failedValidations) || failedValidations.length === 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
for (const failedValidation of failedValidations) {
|
||||
for (const validationError of failedValidation.errors) {
|
||||
if (isDefined(validationError.userFriendlyMessage)) {
|
||||
return validationError.userFriendlyMessage;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return METADATA_VALIDATION_FAILED_MESSAGE;
|
||||
};
|
||||
|
||||
export const buildMetadataValidationErrorPayload = (
|
||||
exception: WorkspaceMigrationBuilderException,
|
||||
): MetadataValidationErrorPayloadDescriptor => {
|
||||
const { report } = exception.failedWorkspaceMigrationBuildResult;
|
||||
|
||||
const { errors, summary } = (
|
||||
Object.keys(report) as (keyof typeof report)[]
|
||||
).reduce<MetadataValidationErrorResponseDescriptor>(
|
||||
(acc, metadataName) => {
|
||||
const failedMetadataValidation = report[metadataName];
|
||||
|
||||
if (failedMetadataValidation.length === 0) {
|
||||
return acc;
|
||||
}
|
||||
|
||||
return {
|
||||
errors: { ...acc.errors, [metadataName]: failedMetadataValidation },
|
||||
summary: {
|
||||
...acc.summary,
|
||||
totalErrors:
|
||||
acc.summary.totalErrors + failedMetadataValidation.length,
|
||||
[metadataName]: failedMetadataValidation.length,
|
||||
},
|
||||
};
|
||||
},
|
||||
{ errors: {}, summary: { totalErrors: 0 } },
|
||||
);
|
||||
|
||||
return {
|
||||
errors,
|
||||
summary,
|
||||
userFriendlyMessage: getMetadataValidationUserFriendlyMessage({
|
||||
errors,
|
||||
summary,
|
||||
}),
|
||||
};
|
||||
};
|
||||
-47
@@ -1,47 +0,0 @@
|
||||
import { type I18n } from '@lingui/core';
|
||||
import { type MetadataValidationErrorResponse } from 'twenty-shared/metadata';
|
||||
|
||||
import { type WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager/workspace-migration/exceptions/workspace-migration-builder-exception';
|
||||
import { translateOrchestratorFailureReportErrors } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/translate-orchestrator-failure-report-errors.util';
|
||||
|
||||
export const fromWorkspaceMigrationBuilderExceptionToMetadataValidationResponseError =
|
||||
(
|
||||
workspaceMigrationBuilderException: WorkspaceMigrationBuilderException,
|
||||
i18n: I18n,
|
||||
): MetadataValidationErrorResponse => {
|
||||
const translatedReport = translateOrchestratorFailureReportErrors(
|
||||
workspaceMigrationBuilderException.failedWorkspaceMigrationBuildResult
|
||||
.report,
|
||||
i18n,
|
||||
);
|
||||
|
||||
const initialAccumulator: MetadataValidationErrorResponse = {
|
||||
errors: {},
|
||||
summary: {
|
||||
totalErrors: 0,
|
||||
},
|
||||
};
|
||||
|
||||
return (
|
||||
Object.keys(translatedReport) as (keyof typeof translatedReport)[]
|
||||
).reduce((acc, metadataName) => {
|
||||
const failedMetadataValidation = translatedReport[metadataName];
|
||||
|
||||
if (failedMetadataValidation.length === 0) {
|
||||
return acc;
|
||||
}
|
||||
|
||||
return {
|
||||
errors: {
|
||||
...acc.errors,
|
||||
[metadataName]: failedMetadataValidation,
|
||||
},
|
||||
summary: {
|
||||
...acc.summary,
|
||||
totalErrors:
|
||||
acc.summary.totalErrors + failedMetadataValidation.length,
|
||||
[metadataName]: failedMetadataValidation.length,
|
||||
},
|
||||
} satisfies MetadataValidationErrorResponse;
|
||||
}, initialAccumulator);
|
||||
};
|
||||
-57
@@ -1,57 +0,0 @@
|
||||
import { type I18n, type MessageDescriptor } from '@lingui/core';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
|
||||
import { type OrchestratorFailureReport } from 'src/engine/workspace-manager/workspace-migration/types/workspace-migration-orchestrator.type';
|
||||
import { type FlatEntityValidationError } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-builder/builders/types/failed-flat-entity-validation.type';
|
||||
|
||||
const isMessageDescriptor = (obj: unknown): obj is MessageDescriptor =>
|
||||
isDefined(obj) &&
|
||||
typeof obj === 'object' &&
|
||||
Object.prototype.hasOwnProperty.call(obj, 'id') &&
|
||||
Object.prototype.hasOwnProperty.call(obj, 'message') &&
|
||||
typeof (obj as MessageDescriptor).id === 'string';
|
||||
|
||||
const translateUserFriendlyMessageInFlatEntityValidationError = <T>(
|
||||
obj: T,
|
||||
i18n: I18n,
|
||||
parentKey?: string,
|
||||
): T => {
|
||||
if (!obj || typeof obj !== 'object') {
|
||||
return obj;
|
||||
}
|
||||
|
||||
if (
|
||||
isMessageDescriptor(obj) &&
|
||||
isDefined(parentKey) &&
|
||||
parentKey ===
|
||||
('userFriendlyMessage' as const satisfies keyof FlatEntityValidationError)
|
||||
) {
|
||||
return i18n._(obj) as T;
|
||||
}
|
||||
|
||||
if (Array.isArray(obj)) {
|
||||
return obj.map((item) =>
|
||||
translateUserFriendlyMessageInFlatEntityValidationError(
|
||||
item,
|
||||
i18n,
|
||||
parentKey,
|
||||
),
|
||||
) as T;
|
||||
}
|
||||
|
||||
const result = {} as T;
|
||||
|
||||
for (const [key, value] of Object.entries(obj)) {
|
||||
(result as Record<string, unknown>)[key] =
|
||||
translateUserFriendlyMessageInFlatEntityValidationError(value, i18n, key);
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
export const translateOrchestratorFailureReportErrors = (
|
||||
report: OrchestratorFailureReport,
|
||||
i18n: I18n,
|
||||
) => {
|
||||
return translateUserFriendlyMessageInFlatEntityValidationError(report, i18n);
|
||||
};
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
import { ALL_METADATA_NAME } from 'twenty-shared/metadata';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
|
||||
import {
|
||||
BaseGraphQLError,
|
||||
ErrorCode,
|
||||
} from 'src/engine/core-modules/graphql/utils/graphql-errors.util';
|
||||
import { type WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager/workspace-migration/exceptions/workspace-migration-builder-exception';
|
||||
import { buildMetadataValidationErrorPayload } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/build-metadata-validation-error-payload.util';
|
||||
|
||||
export const workspaceMigrationBuilderGraphqlApiExceptionHandler = (
|
||||
exception: WorkspaceMigrationBuilderException,
|
||||
) => {
|
||||
const payload = buildMetadataValidationErrorPayload(exception);
|
||||
|
||||
const validationSummaryMessage = `Validation failed for ${Object.values(
|
||||
ALL_METADATA_NAME,
|
||||
)
|
||||
.flatMap((metadataName) => {
|
||||
const count = payload.summary[metadataName];
|
||||
|
||||
if (!isDefined(count) || count === 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return [`${count} ${metadataName}${count > 1 ? 's' : ''}`];
|
||||
})
|
||||
.join(', ')}`;
|
||||
|
||||
throw new BaseGraphQLError(
|
||||
exception.message,
|
||||
ErrorCode.METADATA_VALIDATION_FAILED,
|
||||
{
|
||||
code: 'METADATA_VALIDATION_ERROR',
|
||||
...payload,
|
||||
message: validationSummaryMessage,
|
||||
},
|
||||
);
|
||||
};
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
import { type I18n } from '@lingui/core';
|
||||
import { type Response } from 'express';
|
||||
|
||||
import { type WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager/workspace-migration/exceptions/workspace-migration-builder-exception';
|
||||
import { buildMetadataValidationErrorPayload } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/build-metadata-validation-error-payload.util';
|
||||
import { translateUserFriendlyMessageDescriptors } from 'src/engine/core-modules/i18n/utils/translate-user-friendly-message-descriptors.util';
|
||||
|
||||
export const workspaceMigrationBuilderRestApiExceptionHandler = ({
|
||||
exception,
|
||||
response,
|
||||
i18n,
|
||||
}: {
|
||||
exception: WorkspaceMigrationBuilderException;
|
||||
response: Response;
|
||||
i18n: I18n;
|
||||
}): Response => {
|
||||
const payload = translateUserFriendlyMessageDescriptors(
|
||||
buildMetadataValidationErrorPayload(exception),
|
||||
i18n,
|
||||
);
|
||||
|
||||
return response.status(400).json({
|
||||
statusCode: 400,
|
||||
error: 'METADATA_VALIDATION_ERROR',
|
||||
message: exception.message || 'Validation failed',
|
||||
...payload,
|
||||
});
|
||||
};
|
||||
-46
@@ -1,46 +0,0 @@
|
||||
import { type I18n } from '@lingui/core';
|
||||
import { msg } from '@lingui/core/macro';
|
||||
import { ALL_METADATA_NAME } from 'twenty-shared/metadata';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
|
||||
import {
|
||||
BaseGraphQLError,
|
||||
ErrorCode,
|
||||
} from 'src/engine/core-modules/graphql/utils/graphql-errors.util';
|
||||
import { type WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager/workspace-migration/exceptions/workspace-migration-builder-exception';
|
||||
import { fromWorkspaceMigrationBuilderExceptionToMetadataValidationResponseError } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/from-workspace-migration-builder-exception-to-metadata-validation-response-error.util';
|
||||
|
||||
export const workspaceMigrationBuilderExceptionFormatter = (
|
||||
error: WorkspaceMigrationBuilderException,
|
||||
i18n: I18n,
|
||||
) => {
|
||||
const { errors, summary } =
|
||||
fromWorkspaceMigrationBuilderExceptionToMetadataValidationResponseError(
|
||||
error,
|
||||
i18n,
|
||||
);
|
||||
|
||||
const message = `Validation failed for ${Object.values(ALL_METADATA_NAME)
|
||||
.flatMap((metadataName) => {
|
||||
const count = summary[metadataName];
|
||||
|
||||
if (!isDefined(count) || count === 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return [`${count} ${metadataName}${count > 1 ? 's' : ''}`];
|
||||
})
|
||||
.join(', ')}`;
|
||||
|
||||
throw new BaseGraphQLError(
|
||||
error.message,
|
||||
ErrorCode.METADATA_VALIDATION_FAILED,
|
||||
{
|
||||
code: 'METADATA_VALIDATION_ERROR',
|
||||
errors,
|
||||
summary,
|
||||
message,
|
||||
userFriendlyMessage: msg`Metadata validation failed`,
|
||||
},
|
||||
);
|
||||
};
|
||||
+2
-12
@@ -4,19 +4,16 @@ import {
|
||||
Injectable,
|
||||
type NestInterceptor,
|
||||
} from '@nestjs/common';
|
||||
import { GqlExecutionContext } from '@nestjs/graphql';
|
||||
|
||||
import { type Observable, catchError } from 'rxjs';
|
||||
import { SOURCE_LOCALE } from 'twenty-shared/translations';
|
||||
|
||||
import { I18nService } from 'src/engine/core-modules/i18n/i18n.service';
|
||||
import { NotFoundError } from 'src/engine/core-modules/graphql/utils/graphql-errors.util';
|
||||
import {
|
||||
FlatEntityMapsException,
|
||||
FlatEntityMapsExceptionCode,
|
||||
} from 'src/engine/metadata-modules/flat-entity/exceptions/flat-entity-maps.exception';
|
||||
import { WorkspaceMigrationBuilderException } from 'src/engine/workspace-manager/workspace-migration/exceptions/workspace-migration-builder-exception';
|
||||
import { workspaceMigrationBuilderExceptionFormatter } from 'src/engine/workspace-manager/workspace-migration/interceptors/workspace-migration-builder-exception-formatter';
|
||||
import { workspaceMigrationBuilderGraphqlApiExceptionHandler } from 'src/engine/workspace-manager/workspace-migration/interceptors/utils/workspace-migration-builder-graphql-api-exception-handler.util';
|
||||
import { workspaceMigrationRunnerExceptionFormatter } from 'src/engine/workspace-manager/workspace-migration/interceptors/workspace-migration-runner-exception-formatter';
|
||||
import { WorkspaceMigrationRunnerException } from 'src/engine/workspace-manager/workspace-migration/workspace-migration-runner/exceptions/workspace-migration-runner.exception';
|
||||
|
||||
@@ -24,14 +21,7 @@ import { WorkspaceMigrationRunnerException } from 'src/engine/workspace-manager/
|
||||
export class WorkspaceMigrationGraphqlApiExceptionInterceptor
|
||||
implements NestInterceptor
|
||||
{
|
||||
constructor(private readonly i18nService: I18nService) {}
|
||||
|
||||
intercept(context: ExecutionContext, next: CallHandler): Observable<unknown> {
|
||||
const gqlContext = GqlExecutionContext.create(context);
|
||||
const ctx = gqlContext.getContext();
|
||||
const locale = ctx.req?.locale ?? SOURCE_LOCALE;
|
||||
const i18n = this.i18nService.getI18nInstance(locale);
|
||||
|
||||
return next.handle().pipe(
|
||||
catchError((error) => {
|
||||
if (error instanceof FlatEntityMapsException) {
|
||||
@@ -46,7 +36,7 @@ export class WorkspaceMigrationGraphqlApiExceptionInterceptor
|
||||
}
|
||||
|
||||
if (error instanceof WorkspaceMigrationBuilderException) {
|
||||
workspaceMigrationBuilderExceptionFormatter(error, i18n);
|
||||
workspaceMigrationBuilderGraphqlApiExceptionHandler(error);
|
||||
}
|
||||
|
||||
if (error instanceof WorkspaceMigrationRunnerException) {
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ exports[`View Field Resolver - Failing Create Operation Should fail to create a
|
||||
"totalErrors": 1,
|
||||
"viewField": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "View field already exists",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating view fields",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+5
-5
@@ -30,7 +30,7 @@ exports[`View Field Resolver - Successful object metadata identifier update side
|
||||
"totalErrors": 1,
|
||||
"viewField": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "View field position cannot be lower than label identifier view field position",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating view fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -67,7 +67,7 @@ exports[`View Field Resolver - Successful object metadata identifier update side
|
||||
"totalErrors": 1,
|
||||
"viewField": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Label identifier view field cannot be deleted",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while deleting view field",
|
||||
"name": "GraphQLError",
|
||||
@@ -103,7 +103,7 @@ exports[`View Field Resolver - Successful object metadata identifier update side
|
||||
"totalErrors": 1,
|
||||
"viewField": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Label identifier view field cannot be deleted",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while deleting view field",
|
||||
"name": "GraphQLError",
|
||||
@@ -140,7 +140,7 @@ exports[`View Field Resolver - Successful object metadata identifier update side
|
||||
"totalErrors": 1,
|
||||
"viewField": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Label identifier view field has to be visible",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating view field",
|
||||
"name": "GraphQLError",
|
||||
@@ -177,7 +177,7 @@ exports[`View Field Resolver - Successful object metadata identifier update side
|
||||
"totalErrors": 1,
|
||||
"viewField": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Label identifier view field has to be in the lowest position",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating view field",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+7
-7
@@ -29,7 +29,7 @@ exports[`Agent creation should fail when computed name already exists 1`] = `
|
||||
"agent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "An agent with this name already exists",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating agent",
|
||||
"name": "GraphQLError",
|
||||
@@ -65,7 +65,7 @@ exports[`Agent creation should fail when label is empty string 1`] = `
|
||||
"agent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Label cannot be empty",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating agent",
|
||||
"name": "GraphQLError",
|
||||
@@ -115,7 +115,7 @@ exports[`Agent creation should fail when modelId is empty string 1`] = `
|
||||
"agent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Model ID cannot be empty",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating agent",
|
||||
"name": "GraphQLError",
|
||||
@@ -165,7 +165,7 @@ exports[`Agent creation should fail when prompt is empty string 1`] = `
|
||||
"agent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Prompt cannot be empty",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating agent",
|
||||
"name": "GraphQLError",
|
||||
@@ -215,7 +215,7 @@ exports[`Agent creation should fail when responseFormat has invalid type 1`] = `
|
||||
"agent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Invalid response format type",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating agent",
|
||||
"name": "GraphQLError",
|
||||
@@ -251,7 +251,7 @@ exports[`Agent creation should fail when responseFormat type is json but schema
|
||||
"agent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "JSON response format requires a schema",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating agent",
|
||||
"name": "GraphQLError",
|
||||
@@ -287,7 +287,7 @@ exports[`Agent creation should fail when responseFormat type is text but schema
|
||||
"agent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Text response format should not have a schema",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating agent",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@ exports[`Agent deletion should fail should fail when attempting to delete a stan
|
||||
"agent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Cannot delete standard agent",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while deleting agent",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+9
-9
@@ -28,7 +28,7 @@ exports[`Agent update should fail should fail when attempting to update a standa
|
||||
"agent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Cannot update standard agent",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating agent",
|
||||
"name": "GraphQLError",
|
||||
@@ -85,7 +85,7 @@ exports[`Agent update should fail when settings null required properties 1`] = `
|
||||
"agent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Label cannot be empty",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating agent",
|
||||
"name": "GraphQLError",
|
||||
@@ -120,7 +120,7 @@ exports[`Agent update should fail when updating label to one that already exists
|
||||
"agent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "An agent with this name already exists",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating agent",
|
||||
"name": "GraphQLError",
|
||||
@@ -155,7 +155,7 @@ exports[`Agent update should fail when updating responseFormat type to json with
|
||||
"agent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "JSON response format requires a schema",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating agent",
|
||||
"name": "GraphQLError",
|
||||
@@ -190,7 +190,7 @@ exports[`Agent update should fail when updating responseFormat type to text with
|
||||
"agent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Text response format should not have a schema",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating agent",
|
||||
"name": "GraphQLError",
|
||||
@@ -225,7 +225,7 @@ exports[`Agent update should fail when updating responseFormat with invalid type
|
||||
"agent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Invalid response format type",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating agent",
|
||||
"name": "GraphQLError",
|
||||
@@ -260,7 +260,7 @@ exports[`Agent update should fail when updating with empty label 1`] = `
|
||||
"agent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Label cannot be empty",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating agent",
|
||||
"name": "GraphQLError",
|
||||
@@ -295,7 +295,7 @@ exports[`Agent update should fail when updating with empty modelId 1`] = `
|
||||
"agent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Model ID cannot be empty",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating agent",
|
||||
"name": "GraphQLError",
|
||||
@@ -330,7 +330,7 @@ exports[`Agent update should fail when updating with empty prompt 1`] = `
|
||||
"agent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Prompt cannot be empty",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating agent",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+3
-3
@@ -63,7 +63,7 @@ exports[`Sync application should fail when creating permissions on a standard ro
|
||||
"role": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Validation errors occurred while syncing application manifest metadata",
|
||||
"name": "GraphQLError",
|
||||
@@ -121,7 +121,7 @@ exports[`Sync application should fail when creating permissions on a standard ro
|
||||
"role": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Validation errors occurred while syncing application manifest metadata",
|
||||
"name": "GraphQLError",
|
||||
@@ -185,7 +185,7 @@ exports[`Sync application should fail when creating permissions on a standard ro
|
||||
"role": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Validation errors occurred while syncing application manifest metadata",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+3
-3
@@ -56,7 +56,7 @@ exports[`Sync application should fail when retargeting existing permissions to a
|
||||
"role": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Validation errors occurred while syncing application manifest metadata",
|
||||
"name": "GraphQLError",
|
||||
@@ -119,7 +119,7 @@ exports[`Sync application should fail when retargeting existing permissions to a
|
||||
"role": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Validation errors occurred while syncing application manifest metadata",
|
||||
"name": "GraphQLError",
|
||||
@@ -182,7 +182,7 @@ exports[`Sync application should fail when retargeting existing permissions to a
|
||||
"role": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Validation errors occurred while syncing application manifest metadata",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+9
-9
@@ -30,7 +30,7 @@ exports[`Sync application should fail due to object system fields integrity shou
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "System fields cannot be deleted",
|
||||
},
|
||||
"message": "Validation errors occurred while syncing application manifest metadata",
|
||||
"name": "GraphQLError",
|
||||
@@ -67,7 +67,7 @@ exports[`Sync application should fail due to object system fields integrity shou
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "System fields cannot be updated",
|
||||
},
|
||||
"message": "Validation errors occurred while syncing application manifest metadata",
|
||||
"name": "GraphQLError",
|
||||
@@ -129,7 +129,7 @@ exports[`Sync application should fail due to object system fields integrity when
|
||||
"objectMetadata": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Validation errors occurred while syncing application manifest metadata",
|
||||
"name": "GraphQLError",
|
||||
@@ -193,7 +193,7 @@ exports[`Sync application should fail due to object system fields integrity when
|
||||
"objectMetadata": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Validation errors occurred while syncing application manifest metadata",
|
||||
"name": "GraphQLError",
|
||||
@@ -272,7 +272,7 @@ exports[`Sync application should fail due to object system fields integrity when
|
||||
"objectMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "System field id has invalid type",
|
||||
},
|
||||
"message": "Validation errors occurred while syncing application manifest metadata",
|
||||
"name": "GraphQLError",
|
||||
@@ -351,7 +351,7 @@ exports[`Sync application should fail due to object system fields integrity when
|
||||
"objectMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "System field id is missing",
|
||||
},
|
||||
"message": "Validation errors occurred while syncing application manifest metadata",
|
||||
"name": "GraphQLError",
|
||||
@@ -388,7 +388,7 @@ exports[`Sync application should fail due to object system fields integrity when
|
||||
"objectMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "System field searchVector has invalid type",
|
||||
},
|
||||
"message": "Validation errors occurred while syncing application manifest metadata",
|
||||
"name": "GraphQLError",
|
||||
@@ -467,7 +467,7 @@ exports[`Sync application should fail due to object system fields integrity when
|
||||
"objectMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "System field id is missing",
|
||||
},
|
||||
"message": "Validation errors occurred while syncing application manifest metadata",
|
||||
"name": "GraphQLError",
|
||||
@@ -546,7 +546,7 @@ exports[`Sync application should fail due to object system fields integrity when
|
||||
"objectMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "System field id is missing",
|
||||
},
|
||||
"message": "Validation errors occurred while syncing application manifest metadata",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+4
-4
@@ -28,7 +28,7 @@ exports[`CommandMenuItem creation should fail when creating with empty label 1`]
|
||||
"commandMenuItem": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Label is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating command menu item",
|
||||
"name": "GraphQLError",
|
||||
@@ -121,7 +121,7 @@ exports[`CommandMenuItem creation should fail when creating TRIGGER_WORKFLOW_VER
|
||||
"commandMenuItem": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Workflow version is required for workflow trigger items",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating command menu item",
|
||||
"name": "GraphQLError",
|
||||
@@ -168,7 +168,7 @@ exports[`CommandMenuItem creation should fail when creating FRONT_COMPONENT_REND
|
||||
"commandMenuItem": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Front component is required for front component renderer items",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating command menu item",
|
||||
"name": "GraphQLError",
|
||||
@@ -215,7 +215,7 @@ exports[`CommandMenuItem creation should fail when creating standard key with wo
|
||||
"commandMenuItem": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Workflow version must not be set for this item type",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating command menu item",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+2
-2
@@ -55,7 +55,7 @@ exports[`CommandMenuItem update should fail when updating with empty label 1`] =
|
||||
"commandMenuItem": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Label is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating command menu item",
|
||||
"name": "GraphQLError",
|
||||
@@ -119,7 +119,7 @@ exports[`CommandMenuItem update should fail when changing engineComponentKey to
|
||||
"commandMenuItem": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Workflow version must not be set for this item type",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating command menu item",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ exports[`createOne FieldMetadataService name/label sync should return an error w
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Field name is not synced with field label",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+2
-2
@@ -32,7 +32,7 @@ exports[`Failing create field metadata tests suite should fail to create NUMERIC
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Field type NUMERIC is not supported. Use Number instead.",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -78,7 +78,7 @@ exports[`Failing create field metadata tests suite should fail to create POSITIO
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Field type POSITION must be named "position"",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+1
-1
@@ -94,7 +94,7 @@ exports[`Standard field with standard unique index update should fail on isUniqu
|
||||
},
|
||||
"userFriendlyMessage": "Validation failed for 0 object(s) and 0 field(s)",
|
||||
},
|
||||
"message": "Validation errors occurred while updating field",
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
}
|
||||
`;
|
||||
|
||||
+2
-2
@@ -31,7 +31,7 @@ exports[`updateOne failing update should not update a field name if it is not sy
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Updated field name is not synced with label",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -76,7 +76,7 @@ exports[`updateOne failing update should throw if the field name is not availabl
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Name "otherTestName" is not available as it is already used by another field",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+4
-4
@@ -49,7 +49,7 @@ exports[`createOne FILES field metadata - failing should fail to create files fi
|
||||
"index": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -86,7 +86,7 @@ exports[`createOne FILES field metadata - failing should fail to create files fi
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "maxNumberOfValues must be defined in settings and be a number greater than 0 and less than or equal to 10",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -123,7 +123,7 @@ exports[`createOne FILES field metadata - failing should fail to create files fi
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "maxNumberOfValues must be defined in settings and be a number greater than 0 and less than or equal to 10",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -160,7 +160,7 @@ exports[`createOne FILES field metadata - failing should fail to create files fi
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "maxNumberOfValues must be defined in settings and be a number greater than 0 and less than or equal to 10",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+3
-3
@@ -30,7 +30,7 @@ exports[`updateOne FILES field metadata - failing should fail to update files fi
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "maxNumberOfValues must be defined in settings and be a number greater than 0 and less than or equal to 10",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -67,7 +67,7 @@ exports[`updateOne FILES field metadata - failing should fail to update files fi
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "maxNumberOfValues must be defined in settings and be a number greater than 0 and less than or equal to 10",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -104,7 +104,7 @@ exports[`updateOne FILES field metadata - failing should fail to update files fi
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Files field is not supported for unique fields",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+100
-100
@@ -32,7 +32,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Multi-select field default value must be an array",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -72,7 +72,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Multi-select field default value must be an array",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -112,7 +112,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Label must not contain a comma",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -167,7 +167,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Duplicated option id",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -222,7 +222,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Duplicated option position",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -277,7 +277,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Duplicated option value",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -332,7 +332,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Duplicated option value",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -372,7 +372,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "If defined default value must contain at least one value",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -412,7 +412,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Options are required for enum fields",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -437,8 +437,8 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "" must be one of the option values",
|
||||
"message": "Default value \"\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"\" must be one of the option values",
|
||||
"value": "",
|
||||
},
|
||||
],
|
||||
@@ -458,7 +458,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value should be as quoted string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -498,7 +498,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -538,7 +538,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -578,7 +578,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -603,8 +603,8 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "invalid" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "invalid" must be one of the option values",
|
||||
"message": "Default value \"invalid\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"invalid\" must be one of the option values",
|
||||
"value": "invalid",
|
||||
},
|
||||
{
|
||||
@@ -615,8 +615,8 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "format" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "format" must be one of the option values",
|
||||
"message": "Default value \"format\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"format\" must be one of the option values",
|
||||
"value": "format",
|
||||
},
|
||||
],
|
||||
@@ -636,7 +636,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value should be as quoted string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -676,7 +676,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -695,8 +695,8 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"errors": [
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Value must be in UPPER_CASE and follow snake_case "Option 1 and some other things, /"",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case "Option 1 and some other things, /"",
|
||||
"message": "Value must be in UPPER_CASE and follow snake_case \"Option 1 and some other things, /\"",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case \"Option 1 and some other things, /\"",
|
||||
"value": "Option 1 and some other things, /",
|
||||
},
|
||||
],
|
||||
@@ -716,7 +716,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case \"Option 1 and some other things, /\"",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -756,7 +756,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Multi-select field default value must be an array",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -796,7 +796,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value must be a string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -836,7 +836,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -876,7 +876,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -916,7 +916,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -961,7 +961,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1000,7 +1000,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1040,7 +1040,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Options are required for enum fields",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1079,7 +1079,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1104,8 +1104,8 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "" must be one of the option values",
|
||||
"message": "Default value \"\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"\" must be one of the option values",
|
||||
"value": "",
|
||||
},
|
||||
],
|
||||
@@ -1125,7 +1125,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value should be as quoted string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1165,7 +1165,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1205,7 +1205,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1245,7 +1245,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1270,8 +1270,8 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" must be one of the option values",
|
||||
"message": "Default value \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\" must be one of the option values",
|
||||
"value": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||
},
|
||||
],
|
||||
@@ -1291,7 +1291,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value should be as quoted string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1331,7 +1331,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1371,7 +1371,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label exceeds 63 characters",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1396,8 +1396,8 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Value must be in UPPER_CASE and follow snake_case "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"",
|
||||
"message": "Value must be in UPPER_CASE and follow snake_case \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"",
|
||||
"value": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||
},
|
||||
],
|
||||
@@ -1417,7 +1417,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value exceeds 63 characters",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1456,7 +1456,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1495,7 +1495,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1535,7 +1535,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Options are required for enum fields",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1554,8 +1554,8 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"errors": [
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "'UNKNOWN_OPTION'" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "'UNKNOWN_OPTION'" must be one of the option values",
|
||||
"message": "Default value \"'UNKNOWN_OPTION'\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"'UNKNOWN_OPTION'\" must be one of the option values",
|
||||
"value": "'UNKNOWN_OPTION'",
|
||||
},
|
||||
],
|
||||
@@ -1575,7 +1575,7 @@ exports[`Failing create field metadata MULTI_SELECT tests suite v2 Create should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value \"'UNKNOWN_OPTION'\" must be one of the option values",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1600,8 +1600,8 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "invalid" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "invalid" must be one of the option values",
|
||||
"message": "Default value \"invalid\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"invalid\" must be one of the option values",
|
||||
"value": "invalid",
|
||||
},
|
||||
],
|
||||
@@ -1621,7 +1621,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value should be as quoted string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1640,8 +1640,8 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"errors": [
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "'OPTION_424242'" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "'OPTION_424242'" must be one of the option values",
|
||||
"message": "Default value \"'OPTION_424242'\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"'OPTION_424242'\" must be one of the option values",
|
||||
"value": "'OPTION_424242'",
|
||||
},
|
||||
],
|
||||
@@ -1661,7 +1661,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value \"'OPTION_424242'\" must be one of the option values",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1701,7 +1701,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Label must not contain a comma",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1756,7 +1756,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Duplicated option id",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1811,7 +1811,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Duplicated option position",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1866,7 +1866,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Duplicated option value",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1921,7 +1921,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Duplicated option value",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1961,7 +1961,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Options are required for enum fields",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1986,8 +1986,8 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "" must be one of the option values",
|
||||
"message": "Default value \"\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"\" must be one of the option values",
|
||||
"value": "",
|
||||
},
|
||||
],
|
||||
@@ -2007,7 +2007,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value should be as quoted string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2047,7 +2047,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2087,7 +2087,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2127,7 +2127,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2167,7 +2167,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2186,8 +2186,8 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"errors": [
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Value must be in UPPER_CASE and follow snake_case "Option 1 and some other things, /"",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case "Option 1 and some other things, /"",
|
||||
"message": "Value must be in UPPER_CASE and follow snake_case \"Option 1 and some other things, /\"",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case \"Option 1 and some other things, /\"",
|
||||
"value": "Option 1 and some other things, /",
|
||||
},
|
||||
],
|
||||
@@ -2207,7 +2207,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case \"Option 1 and some other things, /\"",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2247,7 +2247,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value must be a string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2287,7 +2287,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2327,7 +2327,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2367,7 +2367,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2412,7 +2412,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2451,7 +2451,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2491,7 +2491,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Options are required for enum fields",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2530,7 +2530,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2555,8 +2555,8 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "" must be one of the option values",
|
||||
"message": "Default value \"\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"\" must be one of the option values",
|
||||
"value": "",
|
||||
},
|
||||
],
|
||||
@@ -2576,7 +2576,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value should be as quoted string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2616,7 +2616,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2656,7 +2656,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2696,7 +2696,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2721,8 +2721,8 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" must be one of the option values",
|
||||
"message": "Default value \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\" must be one of the option values",
|
||||
"value": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||
},
|
||||
],
|
||||
@@ -2742,7 +2742,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value should be as quoted string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2782,7 +2782,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2822,7 +2822,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label exceeds 63 characters",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2847,8 +2847,8 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Value must be in UPPER_CASE and follow snake_case "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"",
|
||||
"message": "Value must be in UPPER_CASE and follow snake_case \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"",
|
||||
"value": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||
},
|
||||
],
|
||||
@@ -2868,7 +2868,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value exceeds 63 characters",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2907,7 +2907,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2946,7 +2946,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -2986,7 +2986,7 @@ exports[`Failing create field metadata SELECT tests suite v2 Create should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Options are required for enum fields",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+102
-102
@@ -32,7 +32,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Multi-select field default value must be an array",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -72,7 +72,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Multi-select field default value must be an array",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -112,7 +112,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Label must not contain a comma",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -167,7 +167,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Duplicated option id",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -222,7 +222,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Duplicated option position",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -277,7 +277,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Duplicated option value",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -332,7 +332,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Duplicated option value",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -372,7 +372,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "If defined default value must contain at least one value",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -412,7 +412,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Options are required for enum fields",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -437,8 +437,8 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "" must be one of the option values",
|
||||
"message": "Default value \"\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"\" must be one of the option values",
|
||||
"value": "",
|
||||
},
|
||||
],
|
||||
@@ -458,7 +458,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value should be as quoted string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -498,7 +498,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -538,7 +538,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -578,7 +578,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -603,8 +603,8 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "invalid" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "invalid" must be one of the option values",
|
||||
"message": "Default value \"invalid\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"invalid\" must be one of the option values",
|
||||
"value": "invalid",
|
||||
},
|
||||
{
|
||||
@@ -615,8 +615,8 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "format" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "format" must be one of the option values",
|
||||
"message": "Default value \"format\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"format\" must be one of the option values",
|
||||
"value": "format",
|
||||
},
|
||||
],
|
||||
@@ -636,7 +636,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value should be as quoted string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -676,7 +676,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -695,8 +695,8 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"errors": [
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Value must be in UPPER_CASE and follow snake_case "Option 1 and some other things, /"",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case "Option 1 and some other things, /"",
|
||||
"message": "Value must be in UPPER_CASE and follow snake_case \"Option 1 and some other things, /\"",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case \"Option 1 and some other things, /\"",
|
||||
"value": "Option 1 and some other things, /",
|
||||
},
|
||||
],
|
||||
@@ -716,7 +716,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case \"Option 1 and some other things, /\"",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -756,7 +756,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Multi-select field default value must be an array",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -796,7 +796,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value must be a string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -836,7 +836,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -876,7 +876,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -916,7 +916,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -961,7 +961,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1000,7 +1000,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1039,7 +1039,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1064,8 +1064,8 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "" must be one of the option values",
|
||||
"message": "Default value \"\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"\" must be one of the option values",
|
||||
"value": "",
|
||||
},
|
||||
],
|
||||
@@ -1085,7 +1085,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value should be as quoted string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1125,7 +1125,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1165,7 +1165,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1205,7 +1205,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1230,8 +1230,8 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" must be one of the option values",
|
||||
"message": "Default value \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\" must be one of the option values",
|
||||
"value": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||
},
|
||||
],
|
||||
@@ -1251,7 +1251,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value should be as quoted string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1291,7 +1291,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1331,7 +1331,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label exceeds 63 characters",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1356,8 +1356,8 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Value must be in UPPER_CASE and follow snake_case "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"",
|
||||
"message": "Value must be in UPPER_CASE and follow snake_case \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"",
|
||||
"value": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||
},
|
||||
],
|
||||
@@ -1377,7 +1377,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value exceeds 63 characters",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1416,7 +1416,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1455,7 +1455,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1474,8 +1474,8 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"errors": [
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "'OPTION_42'" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "'OPTION_42'" must be one of the option values",
|
||||
"message": "Default value \"'OPTION_42'\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"'OPTION_42'\" must be one of the option values",
|
||||
"value": "'OPTION_42'",
|
||||
},
|
||||
],
|
||||
@@ -1495,7 +1495,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value \"'OPTION_42'\" must be one of the option values",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1514,8 +1514,8 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"errors": [
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "'UNKNOWN_OPTION'" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "'UNKNOWN_OPTION'" must be one of the option values",
|
||||
"message": "Default value \"'UNKNOWN_OPTION'\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"'UNKNOWN_OPTION'\" must be one of the option values",
|
||||
"value": "'UNKNOWN_OPTION'",
|
||||
},
|
||||
],
|
||||
@@ -1535,7 +1535,7 @@ exports[`Failing update field metadata MULTI_SELECT tests suite v2 Update should
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value \"'UNKNOWN_OPTION'\" must be one of the option values",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1560,8 +1560,8 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "invalid" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "invalid" must be one of the option values",
|
||||
"message": "Default value \"invalid\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"invalid\" must be one of the option values",
|
||||
"value": "invalid",
|
||||
},
|
||||
],
|
||||
@@ -1581,7 +1581,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value should be as quoted string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1600,8 +1600,8 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"errors": [
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "'OPTION_424242'" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "'OPTION_424242'" must be one of the option values",
|
||||
"message": "Default value \"'OPTION_424242'\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"'OPTION_424242'\" must be one of the option values",
|
||||
"value": "'OPTION_424242'",
|
||||
},
|
||||
],
|
||||
@@ -1621,7 +1621,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value \"'OPTION_424242'\" must be one of the option values",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1661,7 +1661,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Label must not contain a comma",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1716,7 +1716,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Duplicated option id",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1771,7 +1771,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Duplicated option position",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1826,7 +1826,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Duplicated option value",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1881,7 +1881,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Duplicated option value",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1921,7 +1921,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Options are required for enum fields",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1946,8 +1946,8 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "" must be one of the option values",
|
||||
"message": "Default value \"\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"\" must be one of the option values",
|
||||
"value": "",
|
||||
},
|
||||
],
|
||||
@@ -1967,7 +1967,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value should be as quoted string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2007,7 +2007,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2047,7 +2047,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2087,7 +2087,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2127,7 +2127,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2146,8 +2146,8 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"errors": [
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Value must be in UPPER_CASE and follow snake_case "Option 1 and some other things, /"",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case "Option 1 and some other things, /"",
|
||||
"message": "Value must be in UPPER_CASE and follow snake_case \"Option 1 and some other things, /\"",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case \"Option 1 and some other things, /\"",
|
||||
"value": "Option 1 and some other things, /",
|
||||
},
|
||||
],
|
||||
@@ -2167,7 +2167,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case \"Option 1 and some other things, /\"",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2207,7 +2207,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value must be a string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2247,7 +2247,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2287,7 +2287,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2327,7 +2327,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2372,7 +2372,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2411,7 +2411,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2450,7 +2450,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2475,8 +2475,8 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "" must be one of the option values",
|
||||
"message": "Default value \"\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"\" must be one of the option values",
|
||||
"value": "",
|
||||
},
|
||||
],
|
||||
@@ -2496,7 +2496,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value should be as quoted string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2536,7 +2536,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2576,7 +2576,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2616,7 +2616,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value format not supported",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2641,8 +2641,8 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" must be one of the option values",
|
||||
"message": "Default value \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\" must be one of the option values",
|
||||
"value": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||
},
|
||||
],
|
||||
@@ -2662,7 +2662,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value should be as quoted string",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2702,7 +2702,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option id is invalid",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2742,7 +2742,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label exceeds 63 characters",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2767,8 +2767,8 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
},
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Value must be in UPPER_CASE and follow snake_case "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"",
|
||||
"message": "Value must be in UPPER_CASE and follow snake_case \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"",
|
||||
"userFriendlyMessage": "Value must be in UPPER_CASE and follow snake_case \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"",
|
||||
"value": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||
},
|
||||
],
|
||||
@@ -2788,7 +2788,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value exceeds 63 characters",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2827,7 +2827,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option label is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2866,7 +2866,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Option value is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -2885,8 +2885,8 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"errors": [
|
||||
{
|
||||
"code": "INVALID_FIELD_INPUT",
|
||||
"message": "Default value "'OPTION_42'" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value "'OPTION_42'" must be one of the option values",
|
||||
"message": "Default value \"'OPTION_42'\" must be one of the option values",
|
||||
"userFriendlyMessage": "Default value \"'OPTION_42'\" must be one of the option values",
|
||||
"value": "'OPTION_42'",
|
||||
},
|
||||
],
|
||||
@@ -2906,7 +2906,7 @@ exports[`Failing update field metadata SELECT tests suite v2 Update should fail
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Default value \"'OPTION_42'\" must be one of the option values",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+2
-2
@@ -78,7 +78,7 @@ exports[`updateOne FieldMetadataService morph relation fields v2 - Add one targe
|
||||
"index": 1,
|
||||
"totalErrors": 3,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -151,7 +151,7 @@ exports[`updateOne FieldMetadataService morph relation fields v2 - Add one targe
|
||||
"index": 1,
|
||||
"totalErrors": 3,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+17
-17
@@ -84,7 +84,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 Morh re
|
||||
"index": 2,
|
||||
"totalErrors": 4,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -122,7 +122,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 Morh re
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Name "fieldNamePersonForMorphRelationSecondId" is not available as it is already used by join column name",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -195,7 +195,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou
|
||||
"index": 1,
|
||||
"totalErrors": 3,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -229,7 +229,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "An error occurred.",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -292,7 +292,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou
|
||||
"index": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -349,7 +349,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou
|
||||
"index": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -406,7 +406,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou
|
||||
"index": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -469,7 +469,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou
|
||||
"index": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -511,7 +511,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Invalid morph relation input",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -553,7 +553,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Invalid morph relation input",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -594,7 +594,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Invalid morph relation input",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -628,7 +628,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "At least one relation is require",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -662,7 +662,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "An error occurred.",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -696,7 +696,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "An error occurred.",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -733,7 +733,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Invalid morph relation input",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -768,7 +768,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Relation creation payload is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -802,7 +802,7 @@ exports[`failing createOne FieldMetadataService morph relation fields v2 it shou
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Relation creation payload is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+32
-32
@@ -31,7 +31,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Name "fieldNameBisId" is not available as it is already used by another field",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -69,7 +69,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Name "fieldName" is not available as it is already used by another field",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -113,7 +113,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Name is too short",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -151,7 +151,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Name is too long",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -195,7 +195,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Name is too short",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -235,7 +235,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Invalid relation creation payload",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -275,7 +275,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Object targeted by field to create not found",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -315,7 +315,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Invalid relation creation payload",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -354,7 +354,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE (rela
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Invalid relation creation payload",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -428,7 +428,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when
|
||||
"index": 1,
|
||||
"totalErrors": 3,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -468,7 +468,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Invalid relation creation payload",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -508,7 +508,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Invalid relation creation payload",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -582,7 +582,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when
|
||||
"index": 1,
|
||||
"totalErrors": 3,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -622,7 +622,7 @@ exports[`Field metadata relation creation should fail relation MANY_TO_ONE when
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Invalid relation creation payload",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -680,7 +680,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela
|
||||
"index": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -739,7 +739,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela
|
||||
"index": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -804,7 +804,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela
|
||||
"index": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -863,7 +863,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela
|
||||
"index": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -928,7 +928,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela
|
||||
"index": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -970,7 +970,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Invalid relation creation payload",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1012,7 +1012,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Object targeted by field to create not found",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1054,7 +1054,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Invalid relation creation payload",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1095,7 +1095,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY (rela
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Invalid relation creation payload",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1171,7 +1171,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when
|
||||
"index": 1,
|
||||
"totalErrors": 3,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1213,7 +1213,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Invalid relation creation payload",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1255,7 +1255,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Invalid relation creation payload",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1331,7 +1331,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when
|
||||
"index": 1,
|
||||
"totalErrors": 3,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1373,7 +1373,7 @@ exports[`Field metadata relation creation should fail relation ONE_TO_MANY when
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Invalid relation creation payload",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -1412,7 +1412,7 @@ exports[`Field metadata relation creation should fail should fail when creating
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Name "manager" is not available as it is already used by another field",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1469,7 +1469,7 @@ exports[`Field metadata relation creation should fail should fail when creating
|
||||
"index": 1,
|
||||
"totalErrors": 2,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1543,7 +1543,7 @@ exports[`Field metadata relation creation should fail should fail when creating
|
||||
"index": 1,
|
||||
"totalErrors": 3,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -1617,7 +1617,7 @@ exports[`Field metadata relation creation should fail should fail when creating
|
||||
"index": 1,
|
||||
"totalErrors": 3,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+2
-2
@@ -32,7 +32,7 @@ exports[`Field metadata relation update should fail relation when name is not in
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Name is not valid: it must start with lowercase letter and contain only alphanumeric letters",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
@@ -71,7 +71,7 @@ exports[`Field metadata relation update should fail relation when updating ONE_T
|
||||
"fieldMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "On delete action is only supported for many to one relations",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating field",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+2
-2
@@ -29,7 +29,7 @@ exports[`failing createOne unique field metadata should fail for composite type
|
||||
"index": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "FULL_NAME fields cannot be unique.",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
@@ -65,7 +65,7 @@ exports[`failing createOne unique field metadata should fail when field has cust
|
||||
"index": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "TEXT fields cannot have a default value.",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating fields",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+1
-1
@@ -96,7 +96,7 @@ exports[`Field permission upsert should fail when role is not editable (system r
|
||||
"fieldPermission": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Cannot target a role owned by another application.",
|
||||
},
|
||||
"message": "Validation errors occurred while upserting field permissions",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+2
-2
@@ -29,7 +29,7 @@ exports[`Front component creation should fail when name is empty 1`] = `
|
||||
"frontComponent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Front component name is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating front component",
|
||||
"name": "GraphQLError",
|
||||
@@ -65,7 +65,7 @@ exports[`Front component creation should fail when name is whitespace-only 1`] =
|
||||
"frontComponent": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Front component name is required",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating front component",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+1
-1
@@ -118,7 +118,7 @@ exports[`NavigationMenuItem creation should fail when creating with missing targ
|
||||
"navigationMenuItem": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "targetRecordId and targetObjectMetadataId are required for RECORD type",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating navigation menu items",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+2
-2
@@ -28,7 +28,7 @@ exports[`Navigation Menu Item update should fail with circular dependency when f
|
||||
"navigationMenuItem": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Navigation menu item cannot be its own parent",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating navigation menu items",
|
||||
"name": "GraphQLError",
|
||||
@@ -63,7 +63,7 @@ exports[`Navigation Menu Item update should fail with circular dependency when u
|
||||
"navigationMenuItem": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Circular dependency detected in navigation menu item hierarchy",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating navigation menu items",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+15
-15
@@ -478,7 +478,7 @@ exports[`Object metadata creation should fail v2 when labelPlural contains only
|
||||
"view": 1,
|
||||
"viewField": 5,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating object",
|
||||
"name": "GraphQLError",
|
||||
@@ -963,7 +963,7 @@ exports[`Object metadata creation should fail v2 when labelPlural exceeds maximu
|
||||
"view": 1,
|
||||
"viewField": 5,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating object",
|
||||
"name": "GraphQLError",
|
||||
@@ -1459,7 +1459,7 @@ exports[`Object metadata creation should fail v2 when labelSingular contains onl
|
||||
"view": 1,
|
||||
"viewField": 5,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating object",
|
||||
"name": "GraphQLError",
|
||||
@@ -1944,7 +1944,7 @@ exports[`Object metadata creation should fail v2 when labelSingular exceeds maxi
|
||||
"view": 1,
|
||||
"viewField": 5,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating object",
|
||||
"name": "GraphQLError",
|
||||
@@ -2464,7 +2464,7 @@ exports[`Object metadata creation should fail v2 when name exceeds maximum lengt
|
||||
"view": 1,
|
||||
"viewField": 5,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating object",
|
||||
"name": "GraphQLError",
|
||||
@@ -2949,7 +2949,7 @@ exports[`Object metadata creation should fail v2 when namePlural has invalid cha
|
||||
"view": 1,
|
||||
"viewField": 5,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating object",
|
||||
"name": "GraphQLError",
|
||||
@@ -3434,7 +3434,7 @@ exports[`Object metadata creation should fail v2 when namePlural is a reserved k
|
||||
"view": 1,
|
||||
"viewField": 5,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating object",
|
||||
"name": "GraphQLError",
|
||||
@@ -3930,7 +3930,7 @@ exports[`Object metadata creation should fail v2 when namePlural is not camelCas
|
||||
"view": 1,
|
||||
"viewField": 5,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating object",
|
||||
"name": "GraphQLError",
|
||||
@@ -4439,7 +4439,7 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only
|
||||
"view": 1,
|
||||
"viewField": 5,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating object",
|
||||
"name": "GraphQLError",
|
||||
@@ -4930,7 +4930,7 @@ exports[`Object metadata creation should fail v2 when nameSingular contains only
|
||||
"view": 1,
|
||||
"viewField": 5,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating object",
|
||||
"name": "GraphQLError",
|
||||
@@ -5439,7 +5439,7 @@ exports[`Object metadata creation should fail v2 when nameSingular has invalid c
|
||||
"view": 1,
|
||||
"viewField": 5,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating object",
|
||||
"name": "GraphQLError",
|
||||
@@ -5924,7 +5924,7 @@ exports[`Object metadata creation should fail v2 when nameSingular is a reserved
|
||||
"view": 1,
|
||||
"viewField": 5,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating object",
|
||||
"name": "GraphQLError",
|
||||
@@ -6444,7 +6444,7 @@ exports[`Object metadata creation should fail v2 when nameSingular is not camelC
|
||||
"view": 1,
|
||||
"viewField": 5,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating object",
|
||||
"name": "GraphQLError",
|
||||
@@ -6929,7 +6929,7 @@ exports[`Object metadata creation should fail v2 when names are identical 1`] =
|
||||
"view": 1,
|
||||
"viewField": 5,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating object",
|
||||
"name": "GraphQLError",
|
||||
@@ -7414,7 +7414,7 @@ exports[`Object metadata creation should fail v2 when names with whitespaces res
|
||||
"view": 1,
|
||||
"viewField": 5,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Many validation errors",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating object",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ exports[`Object metadata update should fail when labelIdentifier is not a TEXT o
|
||||
"objectMetadata": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Field cannot be used as label identifier due to its type: should be of type UUID, text or full name",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating object",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+1
-1
@@ -71,7 +71,7 @@ exports[`Object permission upsert should fail when role is not editable (system
|
||||
"objectPermission": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Cannot target a role owned by another application.",
|
||||
},
|
||||
"message": "Validation errors occurred while upserting object permissions",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+1
-1
@@ -48,7 +48,7 @@ exports[`Permission flag upsert should fail when role is not editable (system ro
|
||||
"permissionFlag": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Cannot target a role owned by another application.",
|
||||
},
|
||||
"message": "Validation errors occurred while upserting permission flags",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+5
-5
@@ -29,7 +29,7 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but can
|
||||
"role": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "You cannot grant edit permissions without also granting read permissions. Please enable read access first.",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating role",
|
||||
"name": "GraphQLError",
|
||||
@@ -65,7 +65,7 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but can
|
||||
"role": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "You cannot grant edit permissions without also granting read permissions. Please enable read access first.",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating role",
|
||||
"name": "GraphQLError",
|
||||
@@ -101,7 +101,7 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but can
|
||||
"role": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "You cannot grant edit permissions without also granting read permissions. Please enable read access first.",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating role",
|
||||
"name": "GraphQLError",
|
||||
@@ -137,7 +137,7 @@ exports[`Role creation should fail when canReadAllObjectRecords is false but mul
|
||||
"role": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "You cannot grant edit permissions without also granting read permissions. Please enable read access first.",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating role",
|
||||
"name": "GraphQLError",
|
||||
@@ -173,7 +173,7 @@ exports[`Role creation should fail when label already exists 1`] = `
|
||||
"role": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "A role with this label already exists.",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating role",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+7
-7
@@ -40,7 +40,7 @@ exports[`Role update should fail updating role with existing write permissions s
|
||||
"role": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "You cannot grant edit permissions without also granting read permissions. Please enable read access first.",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating role",
|
||||
"name": "GraphQLError",
|
||||
@@ -75,7 +75,7 @@ exports[`Role update should fail when updating a non-editable system role 1`] =
|
||||
"role": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "This role cannot be modified because it is a system role. Only custom roles can be edited.",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating role",
|
||||
"name": "GraphQLError",
|
||||
@@ -110,7 +110,7 @@ exports[`Role update should fail when updating canReadAllObjectRecords to false
|
||||
"role": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "You cannot grant edit permissions without also granting read permissions. Please enable read access first.",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating role",
|
||||
"name": "GraphQLError",
|
||||
@@ -145,7 +145,7 @@ exports[`Role update should fail when updating canReadAllObjectRecords to false
|
||||
"role": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "You cannot grant edit permissions without also granting read permissions. Please enable read access first.",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating role",
|
||||
"name": "GraphQLError",
|
||||
@@ -180,7 +180,7 @@ exports[`Role update should fail when updating canReadAllObjectRecords to false
|
||||
"role": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "You cannot grant edit permissions without also granting read permissions. Please enable read access first.",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating role",
|
||||
"name": "GraphQLError",
|
||||
@@ -215,7 +215,7 @@ exports[`Role update should fail when updating label to one that already exists
|
||||
"role": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "A role with this label already exists.",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating role",
|
||||
"name": "GraphQLError",
|
||||
@@ -250,7 +250,7 @@ exports[`Role update should fail when updating to enable write permissions witho
|
||||
"role": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "You cannot grant edit permissions without also granting read permissions. Please enable read access first.",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating role",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+3
-3
@@ -29,7 +29,7 @@ exports[`Skill creation should fail when content is empty string 1`] = `
|
||||
"skill": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Content cannot be empty",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating skill",
|
||||
"name": "GraphQLError",
|
||||
@@ -79,7 +79,7 @@ exports[`Skill creation should fail when label is empty string 1`] = `
|
||||
"skill": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Label cannot be empty",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating skill",
|
||||
"name": "GraphQLError",
|
||||
@@ -129,7 +129,7 @@ exports[`Skill creation should fail when name already exists 1`] = `
|
||||
"skill": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "A skill with this name already exists",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating skill",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+2
-2
@@ -52,7 +52,7 @@ exports[`Skill update should fail when updating with empty content 1`] = `
|
||||
"skill": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Content cannot be empty",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating skill",
|
||||
"name": "GraphQLError",
|
||||
@@ -87,7 +87,7 @@ exports[`Skill update should fail when updating with empty label 1`] = `
|
||||
"skill": 1,
|
||||
"totalErrors": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Label cannot be empty",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating skill",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+1
-1
@@ -40,7 +40,7 @@ exports[`View Filter Group creation should fail with circular dependency when ma
|
||||
"totalErrors": 1,
|
||||
"viewFilterGroup": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "View filter group hierarchy exceeds maximum depth of 2",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while creating view filter group",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+2
-2
@@ -28,7 +28,7 @@ exports[`View Filter Group update should fail with circular dependency when pare
|
||||
"totalErrors": 1,
|
||||
"viewFilterGroup": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "View filter group cannot be its own parent",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating view filter group",
|
||||
"name": "GraphQLError",
|
||||
@@ -63,7 +63,7 @@ exports[`View Filter Group update should fail with circular dependency when upda
|
||||
"totalErrors": 1,
|
||||
"viewFilterGroup": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Metadata validation failed",
|
||||
"userFriendlyMessage": "Circular dependency detected in view filter group hierarchy",
|
||||
},
|
||||
"message": "Multiple validation errors occurred while updating view filter group",
|
||||
"name": "GraphQLError",
|
||||
|
||||
+1
@@ -29,5 +29,6 @@ exports[`View Group REST API POST /metadata/viewGroups should fail to create vie
|
||||
"totalErrors": 1,
|
||||
"viewGroup": 1,
|
||||
},
|
||||
"userFriendlyMessage": "Field value is required",
|
||||
}
|
||||
`;
|
||||
|
||||
Reference in New Issue
Block a user