This PR fixes #4588 --------- Co-authored-by: Félix Malfait <felix@twenty.com> Co-authored-by: Charles Bochet <charles@twenty.com>
64 lines
1.7 KiB
TypeScript
64 lines
1.7 KiB
TypeScript
import { Injectable } from '@nestjs/common';
|
|
|
|
import { Request } from 'express';
|
|
|
|
import { MetadataQueryBuilderFactory } from 'src/engine/api/rest/metadata/query-builder/metadata-query-builder.factory';
|
|
import {
|
|
GraphqlApiType,
|
|
RestApiService,
|
|
} from 'src/engine/api/rest/rest-api.service';
|
|
import { AccessTokenService } from 'src/engine/core-modules/auth/token/services/access-token.service';
|
|
|
|
@Injectable()
|
|
export class RestApiMetadataService {
|
|
constructor(
|
|
private readonly accessTokenService: AccessTokenService,
|
|
private readonly metadataQueryBuilderFactory: MetadataQueryBuilderFactory,
|
|
private readonly restApiService: RestApiService,
|
|
) {}
|
|
|
|
async get(request: Request) {
|
|
await this.accessTokenService.validateToken(request);
|
|
const data = await this.metadataQueryBuilderFactory.get(request);
|
|
|
|
return await this.restApiService.call(
|
|
GraphqlApiType.METADATA,
|
|
request,
|
|
data,
|
|
);
|
|
}
|
|
|
|
async create(request: Request) {
|
|
await this.accessTokenService.validateToken(request);
|
|
const data = await this.metadataQueryBuilderFactory.create(request);
|
|
|
|
return await this.restApiService.call(
|
|
GraphqlApiType.METADATA,
|
|
request,
|
|
data,
|
|
);
|
|
}
|
|
|
|
async update(request: Request) {
|
|
await this.accessTokenService.validateToken(request);
|
|
const data = await this.metadataQueryBuilderFactory.update(request);
|
|
|
|
return await this.restApiService.call(
|
|
GraphqlApiType.METADATA,
|
|
request,
|
|
data,
|
|
);
|
|
}
|
|
|
|
async delete(request: Request) {
|
|
await this.accessTokenService.validateToken(request);
|
|
const data = await this.metadataQueryBuilderFactory.delete(request);
|
|
|
|
return await this.restApiService.call(
|
|
GraphqlApiType.METADATA,
|
|
request,
|
|
data,
|
|
);
|
|
}
|
|
}
|