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:
Weiko
2025-10-03 00:20:21 +02:00
committed by GitHub
parent dcfae3821c
commit 0b60aa4249
80 changed files with 2242 additions and 151 deletions
@@ -836,6 +836,13 @@ export type CreateRoleInput = {
label: Scalars['String'];
};
export type CreateRouteTriggerInput = {
httpMethod?: HttpMethod;
isAuthRequired?: Scalars['Boolean'];
path: Scalars['String'];
serverlessFunctionId: Scalars['String'];
};
export type CreateServerlessFunctionInput = {
code?: InputMaybe<Scalars['JSON']>;
description?: InputMaybe<Scalars['String']>;
@@ -1406,6 +1413,14 @@ export type GridPositionInput = {
rowSpan: Scalars['Float'];
};
export enum HttpMethod {
DELETE = 'DELETE',
GET = 'GET',
PATCH = 'PATCH',
POST = 'POST',
PUT = 'PUT'
}
export enum HealthIndicatorId {
app = 'app',
connectedAccount = 'connectedAccount',
@@ -1644,6 +1659,7 @@ export type Mutation = {
createOneObject: Object;
createOneRemoteServer: RemoteServer;
createOneRole: Role;
createOneRouteTrigger: RouteTrigger;
createOneServerlessFunction: ServerlessFunction;
createOneServerlessFunctionLayer: ServerlessFunctionLayer;
createPageLayout: PageLayout;
@@ -1673,6 +1689,7 @@ export type Mutation = {
deleteOneObject: Object;
deleteOneRemoteServer: RemoteServer;
deleteOneRole: Scalars['String'];
deleteOneRouteTrigger: RouteTrigger;
deleteOneServerlessFunction: ServerlessFunction;
deletePageLayout: PageLayout;
deletePageLayoutTab: Scalars['Boolean'];
@@ -1756,6 +1773,7 @@ export type Mutation = {
updateOneObject: Object;
updateOneRemoteServer: RemoteServer;
updateOneRole: Role;
updateOneRouteTrigger: RouteTrigger;
updateOneServerlessFunction: ServerlessFunction;
updatePageLayout: PageLayout;
updatePageLayoutTab: PageLayoutTab;
@@ -1955,6 +1973,11 @@ export type MutationCreateOneRoleArgs = {
};
export type MutationCreateOneRouteTriggerArgs = {
input: CreateRouteTriggerInput;
};
export type MutationCreateOneServerlessFunctionArgs = {
input: CreateServerlessFunctionInput;
};
@@ -2096,6 +2119,11 @@ export type MutationDeleteOneRoleArgs = {
};
export type MutationDeleteOneRouteTriggerArgs = {
input: RouteTriggerIdInput;
};
export type MutationDeleteOneServerlessFunctionArgs = {
input: ServerlessFunctionIdInput;
};
@@ -2504,6 +2532,11 @@ export type MutationUpdateOneRoleArgs = {
};
export type MutationUpdateOneRouteTriggerArgs = {
input: UpdateRouteTriggerInput;
};
export type MutationUpdateOneServerlessFunctionArgs = {
input: UpdateServerlessFunctionInput;
};
@@ -2969,11 +3002,13 @@ export type Query = {
findManyDatabaseEventTriggers: Array<DatabaseEventTrigger>;
findManyPublicDomains: Array<PublicDomain>;
findManyRemoteServersByType: Array<RemoteServer>;
findManyRouteTriggers: Array<RouteTrigger>;
findManyServerlessFunctions: Array<ServerlessFunction>;
findOneAgent: Agent;
findOneCronTrigger: CronTrigger;
findOneDatabaseEventTrigger: DatabaseEventTrigger;
findOneRemoteServerById: RemoteServer;
findOneRouteTrigger: RouteTrigger;
findOneServerlessFunction: ServerlessFunction;
findWorkspaceFromInviteHash: Workspace;
findWorkspaceInvitations: Array<WorkspaceInvitation>;
@@ -3118,6 +3153,11 @@ export type QueryFindOneRemoteServerByIdArgs = {
};
export type QueryFindOneRouteTriggerArgs = {
input: RouteTriggerIdInput;
};
export type QueryFindOneServerlessFunctionArgs = {
input: ServerlessFunctionIdInput;
};
@@ -3476,6 +3516,22 @@ export type Role = {
workspaceMembers: Array<WorkspaceMember>;
};
export type RouteTrigger = {
__typename?: 'RouteTrigger';
createdAt: Scalars['DateTime'];
httpMethod: HttpMethod;
id: Scalars['ID'];
isAuthRequired: Scalars['Boolean'];
path: Scalars['String'];
serverlessFunctionId: Scalars['String'];
updatedAt: Scalars['DateTime'];
workspaceId: Scalars['String'];
};
export type RouteTriggerIdInput = {
id: Scalars['String'];
};
export type RunWorkflowVersionInput = {
/** Execution result in JSON format */
payload?: InputMaybe<Scalars['JSON']>;
@@ -3828,12 +3884,24 @@ export type UpdateApiKeyDto = {
};
export type UpdateCronTriggerInput = {
/** The id of the cron trigger to update */
id: Scalars['String'];
/** The cron trigger updates */
update: UpdateCronTriggerInputUpdates;
};
export type UpdateCronTriggerInputUpdates = {
settings: Scalars['JSON'];
};
export type UpdateDatabaseEventTriggerInput = {
/** The id of the database event trigger to update */
id: Scalars['String'];
/** The database event trigger updates */
update: UpdateDatabaseEventTriggerInputUpdates;
};
export type UpdateDatabaseEventTriggerInputUpdates = {
settings: Scalars['JSON'];
};
@@ -3957,11 +4025,29 @@ export type UpdateRolePayload = {
label?: InputMaybe<Scalars['String']>;
};
export type UpdateRouteTriggerInput = {
/** The id of the route to update */
id: Scalars['String'];
/** The route updates */
update: UpdateRouteTriggerInputUpdates;
};
export type UpdateRouteTriggerInputUpdates = {
httpMethod: HttpMethod;
isAuthRequired: Scalars['Boolean'];
path: Scalars['String'];
};
export type UpdateServerlessFunctionInput = {
/** Id of the serverless function to update */
id: Scalars['UUID'];
/** The serverless function updates */
update: UpdateServerlessFunctionInputUpdates;
};
export type UpdateServerlessFunctionInputUpdates = {
code: Scalars['JSON'];
description?: InputMaybe<Scalars['String']>;
/** Id of the serverless function to execute */
id: Scalars['UUID'];
name: Scalars['String'];
timeoutSeconds?: InputMaybe<Scalars['Float']>;
};