Api keys and webhook migration to core (#13011)

TODO: check Zapier trigger records work as expected

---------

Co-authored-by: Weiko <corentin@twenty.com>
This commit is contained in:
nitin
2025-07-09 20:33:54 +05:30
committed by GitHub
parent 18792f9f74
commit 484c267aa6
113 changed files with 4563 additions and 1060 deletions

View File

@ -87,6 +87,18 @@ export type ApiConfig = {
mutationMaximumAffectedRecords: Scalars['Float'];
};
export type ApiKey = {
__typename?: 'ApiKey';
createdAt: Scalars['DateTime'];
expiresAt: Scalars['DateTime'];
id: Scalars['UUID'];
name: Scalars['String'];
revokedAt?: Maybe<Scalars['DateTime']>;
updatedAt: Scalars['DateTime'];
workspace: Workspace;
workspaceId: Scalars['String'];
};
export type ApiKeyToken = {
__typename?: 'ApiKeyToken';
token: Scalars['String'];
@ -435,6 +447,12 @@ export type ConnectionParametersOutput = {
username: Scalars['String'];
};
export type CreateApiKeyDto = {
expiresAt: Scalars['String'];
name: Scalars['String'];
revokedAt?: InputMaybe<Scalars['String']>;
};
export type CreateApprovedAccessDomainInput = {
domain: Scalars['String'];
email: Scalars['String'];
@ -491,6 +509,13 @@ export type CreateServerlessFunctionInput = {
timeoutSeconds?: InputMaybe<Scalars['Float']>;
};
export type CreateWebhookDto = {
description?: InputMaybe<Scalars['String']>;
operations: Array<Scalars['String']>;
secret?: InputMaybe<Scalars['String']>;
targetUrl: Scalars['String'];
};
export type CreateWorkflowVersionStepInput = {
/** Next step ID */
nextStepId?: InputMaybe<Scalars['String']>;
@ -572,6 +597,10 @@ export type DeleteSsoOutput = {
identityProviderId: Scalars['String'];
};
export type DeleteWebhookDto = {
id: Scalars['String'];
};
export type DeleteWorkflowVersionStepInput = {
/** Step to delete ID */
stepId: Scalars['String'];
@ -647,9 +676,11 @@ export enum FeatureFlagKey {
IS_JSON_FILTER_ENABLED = 'IS_JSON_FILTER_ENABLED',
IS_MORPH_RELATION_ENABLED = 'IS_MORPH_RELATION_ENABLED',
IS_POSTGRESQL_INTEGRATION_ENABLED = 'IS_POSTGRESQL_INTEGRATION_ENABLED',
IS_RELATION_CONNECT_ENABLED = 'IS_RELATION_CONNECT_ENABLED',
IS_STRIPE_INTEGRATION_ENABLED = 'IS_STRIPE_INTEGRATION_ENABLED',
IS_UNIQUE_INDEXES_ENABLED = 'IS_UNIQUE_INDEXES_ENABLED',
IS_WORKFLOW_FILTERING_ENABLED = 'IS_WORKFLOW_FILTERING_ENABLED'
IS_WORKFLOW_FILTERING_ENABLED = 'IS_WORKFLOW_FILTERING_ENABLED',
IS_WORKSPACE_API_KEY_WEBHOOK_GRAPHQL_ENABLED = 'IS_WORKSPACE_API_KEY_WEBHOOK_GRAPHQL_ENABLED'
}
export type Field = {
@ -776,6 +807,10 @@ export type FullName = {
lastName: Scalars['String'];
};
export type GetApiKeyDto = {
id: Scalars['String'];
};
export type GetAuthorizationUrlForSsoInput = {
identityProviderId: Scalars['String'];
workspaceInviteHash?: InputMaybe<Scalars['String']>;
@ -801,6 +836,10 @@ export type GetServerlessFunctionSourceCodeInput = {
version?: Scalars['String'];
};
export type GetWebhookDto = {
id: Scalars['String'];
};
export enum HealthIndicatorId {
app = 'app',
connectedAccount = 'connectedAccount',
@ -972,6 +1011,7 @@ export type Mutation = {
checkCustomDomainValidRecords?: Maybe<CustomDomainValidRecords>;
checkoutSession: BillingSessionOutput;
computeStepOutputSchema: Scalars['JSON'];
createApiKey: ApiKey;
createApprovedAccessDomain: ApprovedAccessDomain;
createDatabaseConfigVariable: Scalars['Boolean'];
createDraftFromWorkflowVersion: WorkflowVersion;
@ -983,6 +1023,7 @@ export type Mutation = {
createOneRole: Role;
createOneServerlessFunction: ServerlessFunction;
createSAMLIdentityProvider: SetupSsoOutput;
createWebhook: Webhook;
createWorkflowVersionStep: WorkflowAction;
deactivateWorkflowVersion: Scalars['Boolean'];
deleteApprovedAccessDomain: Scalars['Boolean'];
@ -994,6 +1035,7 @@ export type Mutation = {
deleteOneServerlessFunction: ServerlessFunction;
deleteSSOIdentityProvider: DeleteSsoOutput;
deleteUser: User;
deleteWebhook: Scalars['Boolean'];
deleteWorkflowVersionStep: WorkflowAction;
deleteWorkspaceInvitation: Scalars['String'];
disablePostgresProxy: PostgresCredentials;
@ -1014,6 +1056,7 @@ export type Mutation = {
renewToken: AuthTokens;
resendEmailVerificationToken: ResendEmailVerificationTokenOutput;
resendWorkspaceInvitation: SendInvitationsOutput;
revokeApiKey?: Maybe<ApiKey>;
runWorkflowVersion: WorkflowRun;
saveImapSmtpCaldav: ImapSmtpCaldavConnectionSuccess;
sendInvitations: SendInvitationsOutput;
@ -1027,6 +1070,7 @@ export type Mutation = {
switchToEnterprisePlan: BillingUpdateOutput;
switchToYearlyInterval: BillingUpdateOutput;
trackAnalytics: Analytics;
updateApiKey?: Maybe<ApiKey>;
updateDatabaseConfigVariable: Scalars['Boolean'];
updateLabPublicFeatureFlag: FeatureFlagDto;
updateOneAgent: Agent;
@ -1035,6 +1079,7 @@ export type Mutation = {
updateOneRole: Role;
updateOneServerlessFunction: ServerlessFunction;
updatePasswordViaResetToken: InvalidatePassword;
updateWebhook?: Maybe<Webhook>;
updateWorkflowRunStep: WorkflowAction;
updateWorkflowVersionStep: WorkflowAction;
updateWorkspace: Workspace;
@ -1088,6 +1133,11 @@ export type MutationComputeStepOutputSchemaArgs = {
};
export type MutationCreateApiKeyArgs = {
input: CreateApiKeyDto;
};
export type MutationCreateApprovedAccessDomainArgs = {
input: CreateApprovedAccessDomainInput;
};
@ -1137,6 +1187,11 @@ export type MutationCreateSamlIdentityProviderArgs = {
};
export type MutationCreateWebhookArgs = {
input: CreateWebhookDto;
};
export type MutationCreateWorkflowVersionStepArgs = {
input: CreateWorkflowVersionStepInput;
};
@ -1182,6 +1237,11 @@ export type MutationDeleteSsoIdentityProviderArgs = {
};
export type MutationDeleteWebhookArgs = {
input: DeleteWebhookDto;
};
export type MutationDeleteWorkflowVersionStepArgs = {
input: DeleteWorkflowVersionStepInput;
};
@ -1273,6 +1333,11 @@ export type MutationResendWorkspaceInvitationArgs = {
};
export type MutationRevokeApiKeyArgs = {
input: RevokeApiKeyDto;
};
export type MutationRunWorkflowVersionArgs = {
input: RunWorkflowVersionInput;
};
@ -1331,6 +1396,11 @@ export type MutationTrackAnalyticsArgs = {
};
export type MutationUpdateApiKeyArgs = {
input: UpdateApiKeyDto;
};
export type MutationUpdateDatabaseConfigVariableArgs = {
key: Scalars['String'];
value: Scalars['JSON'];
@ -1373,6 +1443,11 @@ export type MutationUpdatePasswordViaResetTokenArgs = {
};
export type MutationUpdateWebhookArgs = {
input: UpdateWebhookDto;
};
export type MutationUpdateWorkflowRunStepArgs = {
input: UpdateWorkflowRunStepInput;
};
@ -1655,6 +1730,8 @@ export type PublishServerlessFunctionInput = {
export type Query = {
__typename?: 'Query';
apiKey?: Maybe<ApiKey>;
apiKeys: Array<ApiKey>;
billingPortalSession: BillingSessionOutput;
checkUserExists: CheckUserExistOutput;
checkWorkspaceInviteHashIsValid: WorkspaceInviteHashValid;
@ -1693,6 +1770,13 @@ export type Query = {
search: SearchResultConnection;
validatePasswordResetToken: ValidatePasswordResetToken;
versionInfo: VersionInfo;
webhook?: Maybe<Webhook>;
webhooks: Array<Webhook>;
};
export type QueryApiKeyArgs = {
input: GetApiKeyDto;
};
@ -1805,6 +1889,11 @@ export type QueryValidatePasswordResetTokenArgs = {
passwordResetToken: Scalars['String'];
};
export type QueryWebhookArgs = {
input: GetWebhookDto;
};
export type QueueMetricsData = {
__typename?: 'QueueMetricsData';
data: Array<QueueMetricsSeries>;
@ -1882,6 +1971,10 @@ export type ResendEmailVerificationTokenOutput = {
success: Scalars['Boolean'];
};
export type RevokeApiKeyDto = {
id: Scalars['String'];
};
export type Role = {
__typename?: 'Role';
canDestroyAllObjectRecords: Scalars['Boolean'];
@ -2244,6 +2337,13 @@ export type UpdateAgentInput = {
responseFormat?: InputMaybe<Scalars['JSON']>;
};
export type UpdateApiKeyDto = {
expiresAt?: InputMaybe<Scalars['String']>;
id: Scalars['String'];
name?: InputMaybe<Scalars['String']>;
revokedAt?: InputMaybe<Scalars['String']>;
};
export type UpdateFieldInput = {
defaultValue?: InputMaybe<Scalars['JSON']>;
description?: InputMaybe<Scalars['String']>;
@ -2317,6 +2417,14 @@ export type UpdateServerlessFunctionInput = {
timeoutSeconds?: InputMaybe<Scalars['Float']>;
};
export type UpdateWebhookDto = {
description?: InputMaybe<Scalars['String']>;
id: Scalars['String'];
operations?: InputMaybe<Array<Scalars['String']>>;
secret?: InputMaybe<Scalars['String']>;
targetUrl?: InputMaybe<Scalars['String']>;
};
export type UpdateWorkflowRunStepInput = {
/** Step to update in JSON format */
step: Scalars['JSON'];
@ -2449,6 +2557,20 @@ export type VersionInfo = {
latestVersion: Scalars['String'];
};
export type Webhook = {
__typename?: 'Webhook';
createdAt: Scalars['DateTime'];
deletedAt?: Maybe<Scalars['DateTime']>;
description?: Maybe<Scalars['String']>;
id: Scalars['UUID'];
operations: Array<Scalars['String']>;
secret: Scalars['String'];
targetUrl: Scalars['String'];
updatedAt: Scalars['DateTime'];
workspace: Workspace;
workspaceId: Scalars['String'];
};
export type WorkerQueueMetrics = {
__typename?: 'WorkerQueueMetrics';
active: Scalars['Float'];