700 fix rest api issues (#11326)
fixes issues listed here https://github.com/twentyhq/core-team-issues/issues/700
This commit is contained in:
@ -7,7 +7,7 @@ const formatMessage = (error: BaseGraphQLError) => {
|
||||
? error.extensions.response?.error ||
|
||||
error.extensions.response ||
|
||||
error.message
|
||||
: error.error;
|
||||
: error.error || error.message;
|
||||
|
||||
formattedMessage = formattedMessage
|
||||
.replace(/"/g, "'")
|
||||
|
||||
@ -6,10 +6,14 @@ import { capitalize } from 'twenty-shared/utils';
|
||||
export class DeleteMetadataQueryFactory {
|
||||
create(objectNameSingular: string): string {
|
||||
const objectNameCapitalized = capitalize(objectNameSingular);
|
||||
const formattedObjectName =
|
||||
objectNameCapitalized === 'RelationMetadata'
|
||||
? 'Relation'
|
||||
: objectNameCapitalized;
|
||||
|
||||
return `
|
||||
mutation Delete${objectNameCapitalized}($input: DeleteOne${objectNameCapitalized}Input!) {
|
||||
deleteOne${objectNameCapitalized}(input: $input) {
|
||||
mutation Delete${objectNameCapitalized}($input: DeleteOne${formattedObjectName}Input!) {
|
||||
deleteOne${formattedObjectName}(input: $input) {
|
||||
id
|
||||
}
|
||||
}
|
||||
|
||||
@ -77,7 +77,7 @@ export const fetchMetadataFields = (objectNamePlural: string) => {
|
||||
`;
|
||||
case 'fields':
|
||||
return fields;
|
||||
case 'relations':
|
||||
case 'relationMetadata':
|
||||
return `
|
||||
id
|
||||
relationType
|
||||
|
||||
@ -26,19 +26,19 @@ export const parseMetadataPath = (
|
||||
case 'fields':
|
||||
return {
|
||||
objectNameSingular: 'field',
|
||||
objectNamePlural: objectName,
|
||||
objectNamePlural: 'fields',
|
||||
id: queryAction[1],
|
||||
};
|
||||
case 'objects':
|
||||
return {
|
||||
objectNameSingular: 'object',
|
||||
objectNamePlural: objectName,
|
||||
objectNamePlural: 'objects',
|
||||
id: queryAction[1],
|
||||
};
|
||||
case 'relations':
|
||||
return {
|
||||
objectNameSingular: 'relation',
|
||||
objectNamePlural: objectName,
|
||||
objectNameSingular: 'relationMetadata',
|
||||
objectNamePlural: 'relationMetadata',
|
||||
id: queryAction[1],
|
||||
};
|
||||
default:
|
||||
@ -47,11 +47,14 @@ export const parseMetadataPath = (
|
||||
} else {
|
||||
switch (objectName) {
|
||||
case 'fields':
|
||||
return { objectNameSingular: 'field', objectNamePlural: objectName };
|
||||
return { objectNameSingular: 'field', objectNamePlural: 'fields' };
|
||||
case 'objects':
|
||||
return { objectNameSingular: 'object', objectNamePlural: objectName };
|
||||
return { objectNameSingular: 'object', objectNamePlural: 'objects' };
|
||||
case 'relations':
|
||||
return { objectNameSingular: 'relation', objectNamePlural: objectName };
|
||||
return {
|
||||
objectNameSingular: 'relationMetadata',
|
||||
objectNamePlural: 'relationMetadata',
|
||||
};
|
||||
default:
|
||||
return { objectNameSingular: '', objectNamePlural: '' };
|
||||
}
|
||||
|
||||
@ -7,14 +7,18 @@ import {
|
||||
Res,
|
||||
Patch,
|
||||
Put,
|
||||
UseGuards,
|
||||
} from '@nestjs/common';
|
||||
|
||||
import { Request, Response } from 'express';
|
||||
|
||||
import { RestApiMetadataService } from 'src/engine/api/rest/metadata/rest-api-metadata.service';
|
||||
import { cleanGraphQLResponse } from 'src/engine/api/rest/utils/clean-graphql-response.utils';
|
||||
import { JwtAuthGuard } from 'src/engine/guards/jwt-auth.guard';
|
||||
import { WorkspaceAuthGuard } from 'src/engine/guards/workspace-auth.guard';
|
||||
|
||||
@Controller('rest/metadata/*')
|
||||
@UseGuards(JwtAuthGuard, WorkspaceAuthGuard)
|
||||
export class RestApiMetadataController {
|
||||
constructor(
|
||||
private readonly restApiMetadataService: RestApiMetadataService,
|
||||
|
||||
Reference in New Issue
Block a user