Add custom routes to migration v2 (#14846)
## Context Add routes to migration V2 - Resolvers - Service v2 - Builder - Validator - Action runner Next PR: Add to twenty-cli to sync routes with serverless
This commit is contained in:
+20
-7
@@ -1,19 +1,32 @@
|
||||
import { Field, InputType } from '@nestjs/graphql';
|
||||
|
||||
import { IsNotEmpty, IsObject, IsUUID } from 'class-validator';
|
||||
import { Type } from 'class-transformer';
|
||||
import { IsNotEmpty, IsObject, IsUUID, ValidateNested } from 'class-validator';
|
||||
import GraphQLJSON from 'graphql-type-json';
|
||||
|
||||
import { DatabaseEventTriggerSettings } from 'src/engine/metadata-modules/database-event-trigger/entities/database-event-trigger.entity';
|
||||
|
||||
@InputType()
|
||||
export class UpdateDatabaseEventTriggerInput {
|
||||
@IsUUID()
|
||||
@IsNotEmpty()
|
||||
@Field()
|
||||
id: string;
|
||||
|
||||
class UpdateDatabaseEventTriggerInputUpdates {
|
||||
@IsObject()
|
||||
@IsNotEmpty()
|
||||
@Field(() => GraphQLJSON)
|
||||
settings: DatabaseEventTriggerSettings;
|
||||
}
|
||||
|
||||
@InputType()
|
||||
export class UpdateDatabaseEventTriggerInput {
|
||||
@IsUUID()
|
||||
@IsNotEmpty()
|
||||
@Field({
|
||||
description: 'The id of the database event trigger to update',
|
||||
})
|
||||
id: string;
|
||||
|
||||
@Type(() => UpdateDatabaseEventTriggerInputUpdates)
|
||||
@ValidateNested()
|
||||
@Field(() => UpdateDatabaseEventTriggerInputUpdates, {
|
||||
description: 'The database event trigger updates',
|
||||
})
|
||||
update: UpdateDatabaseEventTriggerInputUpdates;
|
||||
}
|
||||
|
||||
+2
-2
@@ -43,8 +43,8 @@ export class DatabaseEventTrigger
|
||||
@JoinColumn({ name: 'serverlessFunctionId' })
|
||||
serverlessFunction: Relation<ServerlessFunctionEntity>;
|
||||
|
||||
@Column({ nullable: true, type: 'uuid' })
|
||||
serverlessFunctionId: string | null;
|
||||
@Column({ nullable: false, type: 'uuid' })
|
||||
serverlessFunctionId: string;
|
||||
|
||||
@Column({ nullable: false, type: 'uuid' })
|
||||
workspaceId: string;
|
||||
|
||||
+2
@@ -9,4 +9,6 @@ export class DatabaseEventTriggerException extends CustomException {
|
||||
export enum DatabaseEventTriggerExceptionCode {
|
||||
DATABASE_EVENT_TRIGGER_NOT_FOUND = 'DATABASE_EVENT_TRIGGER_NOT_FOUND',
|
||||
DATABASE_EVENT_TRIGGER_ALREADY_EXIST = 'DATABASE_EVENT_TRIGGER_ALREADY_EXIST',
|
||||
DATABASE_EVENT_TRIGGER_INVALID = 'DATABASE_EVENT_TRIGGER_INVALID',
|
||||
SERVERLESS_FUNCTION_NOT_FOUND = 'SERVERLESS_FUNCTION_NOT_FOUND',
|
||||
}
|
||||
|
||||
+24
-3
@@ -36,7 +36,10 @@ export class DatabaseEventTriggerV2Service {
|
||||
await this.flatEntityMapsCacheService.getOrRecomputeManyOrAllFlatEntityMaps(
|
||||
{
|
||||
workspaceId,
|
||||
flatEntities: ['flatDatabaseEventTriggerMaps'],
|
||||
flatEntities: [
|
||||
'flatDatabaseEventTriggerMaps',
|
||||
'flatServerlessFunctionMaps',
|
||||
],
|
||||
},
|
||||
);
|
||||
|
||||
@@ -66,6 +69,10 @@ export class DatabaseEventTriggerV2Service {
|
||||
to: toFlatDatabaseEventTriggerMaps,
|
||||
},
|
||||
},
|
||||
dependencyAllFlatEntityMaps: {
|
||||
flatServerlessFunctionMaps:
|
||||
flatEntityMaps.flatServerlessFunctionMaps,
|
||||
},
|
||||
buildOptions: {
|
||||
isSystemBuild: false,
|
||||
inferDeletionFromMissingEntities: false,
|
||||
@@ -105,7 +112,10 @@ export class DatabaseEventTriggerV2Service {
|
||||
await this.flatEntityMapsCacheService.getOrRecomputeManyOrAllFlatEntityMaps(
|
||||
{
|
||||
workspaceId,
|
||||
flatEntities: ['flatDatabaseEventTriggerMaps'],
|
||||
flatEntities: [
|
||||
'flatDatabaseEventTriggerMaps',
|
||||
'flatServerlessFunctionMaps',
|
||||
],
|
||||
},
|
||||
);
|
||||
|
||||
@@ -140,6 +150,10 @@ export class DatabaseEventTriggerV2Service {
|
||||
to: toFlatDatabaseEventTriggerMaps,
|
||||
},
|
||||
},
|
||||
dependencyAllFlatEntityMaps: {
|
||||
flatServerlessFunctionMaps:
|
||||
flatEntityMaps.flatServerlessFunctionMaps,
|
||||
},
|
||||
buildOptions: {
|
||||
isSystemBuild: false,
|
||||
inferDeletionFromMissingEntities: false,
|
||||
@@ -180,11 +194,15 @@ export class DatabaseEventTriggerV2Service {
|
||||
}): Promise<FlatDatabaseEventTrigger> {
|
||||
const {
|
||||
flatDatabaseEventTriggerMaps: existingFlatDatabaseEventTriggerMaps,
|
||||
flatServerlessFunctionMaps: existingFlatServerlessFunctionMaps,
|
||||
} =
|
||||
await this.flatEntityMapsCacheService.getOrRecomputeManyOrAllFlatEntityMaps(
|
||||
{
|
||||
workspaceId,
|
||||
flatEntities: ['flatDatabaseEventTriggerMaps'],
|
||||
flatEntities: [
|
||||
'flatDatabaseEventTriggerMaps',
|
||||
'flatServerlessFunctionMaps',
|
||||
],
|
||||
},
|
||||
);
|
||||
|
||||
@@ -219,6 +237,9 @@ export class DatabaseEventTriggerV2Service {
|
||||
to: toFlatDatabaseEventTriggerMaps,
|
||||
},
|
||||
},
|
||||
dependencyAllFlatEntityMaps: {
|
||||
flatServerlessFunctionMaps: existingFlatServerlessFunctionMaps,
|
||||
},
|
||||
buildOptions: {
|
||||
isSystemBuild: false,
|
||||
inferDeletionFromMissingEntities: true,
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ export const fromUpdateDatabaseEventTriggerInputToFlatDatabaseEventTriggerToUpda
|
||||
|
||||
return {
|
||||
...existingFlatDatabaseEventTrigger,
|
||||
settings: updateDatabaseEventTriggerInput.settings,
|
||||
settings: updateDatabaseEventTriggerInput.update.settings,
|
||||
updatedAt: new Date(),
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user