Files
twenty/packages/twenty-front/src/generated/graphql.ts
Marie 1cb60f943e [field-level permissions] Upsert fieldPermission + use fieldPermission to compute permissions (#13050)
In this PR

- introduction of fieldPermission entity
- addition of upsertFieldPermission in role resolver
- computing of permissions taking fieldPermission into account. In order
to limit what is stored in Redis we only store fields restrictions. For
instance for objectMetadata with id XXX with a restriction on field with
id YYY we store:
`"XXX":{"canRead":true,"canUpdate":false,"canSoftDelete":false,"canDestroy":false,"restrictedFields":{"YYY":{"canRead":false,"canUpdate":null}}}`

---------

Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com>
2025-07-09 08:47:59 +00:00

2717 lines
73 KiB
TypeScript

import { gql } from '@apollo/client';
import * as Apollo from '@apollo/client';
export type Maybe<T> = T | null;
export type InputMaybe<T> = Maybe<T>;
export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
export type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };
export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };
const defaultOptions = {} as const;
/** All built-in and custom scalars, mapped to their actual values */
export type Scalars = {
ID: string;
String: string;
Boolean: boolean;
Int: number;
Float: number;
ConnectionCursor: any;
Date: any;
DateTime: string;
JSON: any;
JSONObject: any;
UUID: any;
Upload: any;
};
export type AccountType = {
type: Scalars['String'];
};
export type ActivateWorkspaceInput = {
displayName?: InputMaybe<Scalars['String']>;
};
export type AdminPanelHealthServiceData = {
__typename?: 'AdminPanelHealthServiceData';
description: Scalars['String'];
details?: Maybe<Scalars['String']>;
errorMessage?: Maybe<Scalars['String']>;
id: Scalars['String'];
label: Scalars['String'];
queues?: Maybe<Array<AdminPanelWorkerQueueHealth>>;
status: AdminPanelHealthServiceStatus;
};
export enum AdminPanelHealthServiceStatus {
OPERATIONAL = 'OPERATIONAL',
OUTAGE = 'OUTAGE'
}
export type AdminPanelWorkerQueueHealth = {
__typename?: 'AdminPanelWorkerQueueHealth';
id: Scalars['String'];
queueName: Scalars['String'];
status: AdminPanelHealthServiceStatus;
};
export type Agent = {
__typename?: 'Agent';
createdAt: Scalars['DateTime'];
description?: Maybe<Scalars['String']>;
id: Scalars['UUID'];
modelId: Scalars['String'];
name: Scalars['String'];
prompt: Scalars['String'];
responseFormat?: Maybe<Scalars['JSON']>;
roleId?: Maybe<Scalars['UUID']>;
updatedAt: Scalars['DateTime'];
};
export type AgentIdInput = {
/** The id of the agent. */
id: Scalars['UUID'];
};
export type Analytics = {
__typename?: 'Analytics';
/** Boolean that confirms query was dispatched */
success: Scalars['Boolean'];
};
export enum AnalyticsType {
PAGEVIEW = 'PAGEVIEW',
TRACK = 'TRACK'
}
export type ApiConfig = {
__typename?: 'ApiConfig';
mutationMaximumAffectedRecords: Scalars['Float'];
};
export type ApiKeyToken = {
__typename?: 'ApiKeyToken';
token: Scalars['String'];
};
export type AppToken = {
__typename?: 'AppToken';
createdAt: Scalars['DateTime'];
expiresAt: Scalars['DateTime'];
id: Scalars['UUID'];
type: Scalars['String'];
updatedAt: Scalars['DateTime'];
};
export type AppTokenEdge = {
__typename?: 'AppTokenEdge';
/** Cursor for this node. */
cursor: Scalars['ConnectionCursor'];
/** The node containing the AppToken */
node: AppToken;
};
export type ApprovedAccessDomain = {
__typename?: 'ApprovedAccessDomain';
createdAt: Scalars['DateTime'];
domain: Scalars['String'];
id: Scalars['UUID'];
isValidated: Scalars['Boolean'];
};
export type AuthProviders = {
__typename?: 'AuthProviders';
google: Scalars['Boolean'];
magicLink: Scalars['Boolean'];
microsoft: Scalars['Boolean'];
password: Scalars['Boolean'];
sso: Array<SsoIdentityProvider>;
};
export type AuthToken = {
__typename?: 'AuthToken';
expiresAt: Scalars['DateTime'];
token: Scalars['String'];
};
export type AuthTokenPair = {
__typename?: 'AuthTokenPair';
accessToken: AuthToken;
refreshToken: AuthToken;
};
export type AuthTokens = {
__typename?: 'AuthTokens';
tokens: AuthTokenPair;
};
export type AuthorizeApp = {
__typename?: 'AuthorizeApp';
redirectUrl: Scalars['String'];
};
export type AvailableWorkspace = {
__typename?: 'AvailableWorkspace';
displayName?: Maybe<Scalars['String']>;
id: Scalars['String'];
inviteHash?: Maybe<Scalars['String']>;
loginToken?: Maybe<Scalars['String']>;
logo?: Maybe<Scalars['String']>;
personalInviteToken?: Maybe<Scalars['String']>;
sso: Array<SsoConnection>;
workspaceUrls: WorkspaceUrls;
};
export type AvailableWorkspaces = {
__typename?: 'AvailableWorkspaces';
availableWorkspacesForSignIn: Array<AvailableWorkspace>;
availableWorkspacesForSignUp: Array<AvailableWorkspace>;
};
export type AvailableWorkspacesAndAccessTokensOutput = {
__typename?: 'AvailableWorkspacesAndAccessTokensOutput';
availableWorkspaces: AvailableWorkspaces;
tokens: AuthTokenPair;
};
export type Billing = {
__typename?: 'Billing';
billingUrl?: Maybe<Scalars['String']>;
isBillingEnabled: Scalars['Boolean'];
trialPeriods: Array<BillingTrialPeriodDto>;
};
export type BillingEndTrialPeriodOutput = {
__typename?: 'BillingEndTrialPeriodOutput';
/** Boolean that confirms if a payment method was found */
hasPaymentMethod: Scalars['Boolean'];
/** Updated subscription status */
status?: Maybe<SubscriptionStatus>;
};
export type BillingMeteredProductUsageOutput = {
__typename?: 'BillingMeteredProductUsageOutput';
freeTierQuantity: Scalars['Float'];
freeTrialQuantity: Scalars['Float'];
periodEnd: Scalars['DateTime'];
periodStart: Scalars['DateTime'];
productKey: BillingProductKey;
totalCostCents: Scalars['Float'];
unitPriceCents: Scalars['Float'];
usageQuantity: Scalars['Float'];
};
/** The different billing plans available */
export enum BillingPlanKey {
ENTERPRISE = 'ENTERPRISE',
PRO = 'PRO'
}
export type BillingPlanOutput = {
__typename?: 'BillingPlanOutput';
baseProduct: BillingProduct;
meteredProducts: Array<BillingProduct>;
otherLicensedProducts: Array<BillingProduct>;
planKey: BillingPlanKey;
};
export type BillingPriceLicensedDto = {
__typename?: 'BillingPriceLicensedDTO';
priceUsageType: BillingUsageType;
recurringInterval: SubscriptionInterval;
stripePriceId: Scalars['String'];
unitAmount: Scalars['Float'];
};
export type BillingPriceMeteredDto = {
__typename?: 'BillingPriceMeteredDTO';
priceUsageType: BillingUsageType;
recurringInterval: SubscriptionInterval;
stripePriceId: Scalars['String'];
tiers?: Maybe<Array<BillingPriceTierDto>>;
tiersMode?: Maybe<BillingPriceTiersMode>;
};
export type BillingPriceTierDto = {
__typename?: 'BillingPriceTierDTO';
flatAmount?: Maybe<Scalars['Float']>;
unitAmount?: Maybe<Scalars['Float']>;
upTo?: Maybe<Scalars['Float']>;
};
/** The different billing price tiers modes */
export enum BillingPriceTiersMode {
GRADUATED = 'GRADUATED',
VOLUME = 'VOLUME'
}
export type BillingPriceUnionDto = BillingPriceLicensedDto | BillingPriceMeteredDto;
export type BillingProduct = {
__typename?: 'BillingProduct';
description: Scalars['String'];
images?: Maybe<Array<Scalars['String']>>;
metadata: BillingProductMetadata;
name: Scalars['String'];
prices?: Maybe<Array<BillingPriceUnionDto>>;
};
/** The different billing products available */
export enum BillingProductKey {
BASE_PRODUCT = 'BASE_PRODUCT',
WORKFLOW_NODE_EXECUTION = 'WORKFLOW_NODE_EXECUTION'
}
export type BillingProductMetadata = {
__typename?: 'BillingProductMetadata';
planKey: BillingPlanKey;
priceUsageBased: BillingUsageType;
productKey: BillingProductKey;
};
export type BillingSessionOutput = {
__typename?: 'BillingSessionOutput';
url?: Maybe<Scalars['String']>;
};
export type BillingSubscription = {
__typename?: 'BillingSubscription';
billingSubscriptionItems?: Maybe<Array<BillingSubscriptionItem>>;
id: Scalars['UUID'];
interval?: Maybe<SubscriptionInterval>;
metadata: Scalars['JSON'];
status: SubscriptionStatus;
};
export type BillingSubscriptionItem = {
__typename?: 'BillingSubscriptionItem';
billingProduct?: Maybe<BillingProduct>;
hasReachedCurrentPeriodCap: Scalars['Boolean'];
id: Scalars['UUID'];
quantity?: Maybe<Scalars['Float']>;
};
export type BillingTrialPeriodDto = {
__typename?: 'BillingTrialPeriodDTO';
duration: Scalars['Float'];
isCreditCardRequired: Scalars['Boolean'];
};
export type BillingUpdateOutput = {
__typename?: 'BillingUpdateOutput';
/** Boolean that confirms query was successful */
success: Scalars['Boolean'];
};
export enum BillingUsageType {
LICENSED = 'LICENSED',
METERED = 'METERED'
}
export type BooleanFieldComparison = {
is?: InputMaybe<Scalars['Boolean']>;
isNot?: InputMaybe<Scalars['Boolean']>;
};
export enum CalendarChannelVisibility {
METADATA = 'METADATA',
SHARE_EVERYTHING = 'SHARE_EVERYTHING'
}
export type Captcha = {
__typename?: 'Captcha';
provider?: Maybe<CaptchaDriverType>;
siteKey?: Maybe<Scalars['String']>;
};
export enum CaptchaDriverType {
GOOGLE_RECAPTCHA = 'GOOGLE_RECAPTCHA',
TURNSTILE = 'TURNSTILE'
}
export type CheckUserExistOutput = {
__typename?: 'CheckUserExistOutput';
availableWorkspacesCount: Scalars['Float'];
exists: Scalars['Boolean'];
isEmailVerified: Scalars['Boolean'];
};
export type ClientAiModelConfig = {
__typename?: 'ClientAIModelConfig';
inputCostPer1kTokensInCredits: Scalars['Float'];
label: Scalars['String'];
modelId: Scalars['String'];
outputCostPer1kTokensInCredits: Scalars['Float'];
provider: ModelProvider;
};
export type ComputeStepOutputSchemaInput = {
/** Step JSON format */
step: Scalars['JSON'];
};
export enum ConfigSource {
DATABASE = 'DATABASE',
DEFAULT = 'DEFAULT',
ENVIRONMENT = 'ENVIRONMENT'
}
export type ConfigVariable = {
__typename?: 'ConfigVariable';
description: Scalars['String'];
isEnvOnly: Scalars['Boolean'];
isSensitive: Scalars['Boolean'];
name: Scalars['String'];
options?: Maybe<Scalars['JSON']>;
source: ConfigSource;
type: ConfigVariableType;
value?: Maybe<Scalars['JSON']>;
};
export enum ConfigVariableType {
ARRAY = 'ARRAY',
BOOLEAN = 'BOOLEAN',
ENUM = 'ENUM',
NUMBER = 'NUMBER',
STRING = 'STRING'
}
export enum ConfigVariablesGroup {
AnalyticsConfig = 'AnalyticsConfig',
BillingConfig = 'BillingConfig',
CaptchaConfig = 'CaptchaConfig',
CloudflareConfig = 'CloudflareConfig',
EmailSettings = 'EmailSettings',
ExceptionHandler = 'ExceptionHandler',
GoogleAuth = 'GoogleAuth',
LLM = 'LLM',
Logging = 'Logging',
Metering = 'Metering',
MicrosoftAuth = 'MicrosoftAuth',
Other = 'Other',
RateLimiting = 'RateLimiting',
SSL = 'SSL',
ServerConfig = 'ServerConfig',
ServerlessConfig = 'ServerlessConfig',
StorageConfig = 'StorageConfig',
SupportChatConfig = 'SupportChatConfig',
TokensDuration = 'TokensDuration'
}
export type ConfigVariablesGroupData = {
__typename?: 'ConfigVariablesGroupData';
description: Scalars['String'];
isHiddenOnLoad: Scalars['Boolean'];
name: ConfigVariablesGroup;
variables: Array<ConfigVariable>;
};
export type ConfigVariablesOutput = {
__typename?: 'ConfigVariablesOutput';
groups: Array<ConfigVariablesGroupData>;
};
export type ConnectedImapSmtpCaldavAccount = {
__typename?: 'ConnectedImapSmtpCaldavAccount';
accountOwnerId: Scalars['String'];
connectionParameters?: Maybe<ImapSmtpCaldavConnectionParameters>;
handle: Scalars['String'];
id: Scalars['String'];
provider: Scalars['String'];
};
export type ConnectionParameters = {
host: Scalars['String'];
password: Scalars['String'];
port: Scalars['Float'];
secure?: InputMaybe<Scalars['Boolean']>;
username: Scalars['String'];
};
export type ConnectionParametersOutput = {
__typename?: 'ConnectionParametersOutput';
host: Scalars['String'];
password: Scalars['String'];
port: Scalars['Float'];
secure?: Maybe<Scalars['Boolean']>;
username: Scalars['String'];
};
export type CreateApprovedAccessDomainInput = {
domain: Scalars['String'];
email: Scalars['String'];
};
export type CreateDraftFromWorkflowVersionInput = {
/** Workflow ID */
workflowId: Scalars['String'];
/** Workflow version ID */
workflowVersionIdToCopy: Scalars['String'];
};
export type CreateFieldInput = {
defaultValue?: InputMaybe<Scalars['JSON']>;
description?: InputMaybe<Scalars['String']>;
icon?: InputMaybe<Scalars['String']>;
isActive?: InputMaybe<Scalars['Boolean']>;
isCustom?: InputMaybe<Scalars['Boolean']>;
isLabelSyncedWithName?: InputMaybe<Scalars['Boolean']>;
isNullable?: InputMaybe<Scalars['Boolean']>;
isRemoteCreation?: InputMaybe<Scalars['Boolean']>;
isSystem?: InputMaybe<Scalars['Boolean']>;
isUnique?: InputMaybe<Scalars['Boolean']>;
label: Scalars['String'];
morphRelationsCreationPayload?: InputMaybe<Array<Scalars['JSON']>>;
name: Scalars['String'];
objectMetadataId: Scalars['String'];
options?: InputMaybe<Scalars['JSON']>;
relationCreationPayload?: InputMaybe<Scalars['JSON']>;
settings?: InputMaybe<Scalars['JSON']>;
type: FieldMetadataType;
};
export type CreateOneFieldMetadataInput = {
/** The record to create */
field: CreateFieldInput;
};
export type CreateRoleInput = {
canDestroyAllObjectRecords?: InputMaybe<Scalars['Boolean']>;
canReadAllObjectRecords?: InputMaybe<Scalars['Boolean']>;
canSoftDeleteAllObjectRecords?: InputMaybe<Scalars['Boolean']>;
canUpdateAllObjectRecords?: InputMaybe<Scalars['Boolean']>;
canUpdateAllSettings?: InputMaybe<Scalars['Boolean']>;
description?: InputMaybe<Scalars['String']>;
icon?: InputMaybe<Scalars['String']>;
id?: InputMaybe<Scalars['String']>;
label: Scalars['String'];
};
export type CreateServerlessFunctionInput = {
description?: InputMaybe<Scalars['String']>;
name: Scalars['String'];
timeoutSeconds?: InputMaybe<Scalars['Float']>;
};
export type CreateWorkflowVersionStepInput = {
/** Next step ID */
nextStepId?: InputMaybe<Scalars['String']>;
/** Parent step ID */
parentStepId?: InputMaybe<Scalars['String']>;
/** New step type */
stepType: Scalars['String'];
/** Workflow version ID */
workflowVersionId: Scalars['String'];
};
export type CursorPaging = {
/** Paginate after opaque cursor */
after?: InputMaybe<Scalars['ConnectionCursor']>;
/** Paginate before opaque cursor */
before?: InputMaybe<Scalars['ConnectionCursor']>;
/** Paginate first */
first?: InputMaybe<Scalars['Int']>;
/** Paginate last */
last?: InputMaybe<Scalars['Int']>;
};
export type CustomDomainRecord = {
__typename?: 'CustomDomainRecord';
key: Scalars['String'];
status: Scalars['String'];
type: Scalars['String'];
validationType: Scalars['String'];
value: Scalars['String'];
};
export type CustomDomainValidRecords = {
__typename?: 'CustomDomainValidRecords';
customDomain: Scalars['String'];
id: Scalars['String'];
records: Array<CustomDomainRecord>;
};
/** Database Event Action */
export enum DatabaseEventAction {
CREATED = 'CREATED',
DELETED = 'DELETED',
DESTROYED = 'DESTROYED',
RESTORED = 'RESTORED',
UPDATED = 'UPDATED'
}
export type DateFilter = {
eq?: InputMaybe<Scalars['Date']>;
gt?: InputMaybe<Scalars['Date']>;
gte?: InputMaybe<Scalars['Date']>;
in?: InputMaybe<Array<Scalars['Date']>>;
is?: InputMaybe<FilterIs>;
lt?: InputMaybe<Scalars['Date']>;
lte?: InputMaybe<Scalars['Date']>;
neq?: InputMaybe<Scalars['Date']>;
};
export type DeleteApprovedAccessDomainInput = {
id: Scalars['String'];
};
export type DeleteOneFieldInput = {
/** The id of the field to delete. */
id: Scalars['UUID'];
};
export type DeleteOneObjectInput = {
/** The id of the record to delete. */
id: Scalars['UUID'];
};
export type DeleteSsoInput = {
identityProviderId: Scalars['String'];
};
export type DeleteSsoOutput = {
__typename?: 'DeleteSsoOutput';
identityProviderId: Scalars['String'];
};
export type DeleteWorkflowVersionStepInput = {
/** Step to delete ID */
stepId: Scalars['String'];
/** Workflow version ID */
workflowVersionId: Scalars['String'];
};
export type DeletedWorkspaceMember = {
__typename?: 'DeletedWorkspaceMember';
avatarUrl?: Maybe<Scalars['String']>;
id: Scalars['UUID'];
name: FullName;
userEmail: Scalars['String'];
userWorkspaceId?: Maybe<Scalars['String']>;
};
/** Schema update on a table */
export enum DistantTableUpdate {
COLUMNS_ADDED = 'COLUMNS_ADDED',
COLUMNS_DELETED = 'COLUMNS_DELETED',
COLUMNS_TYPE_CHANGED = 'COLUMNS_TYPE_CHANGED',
TABLE_DELETED = 'TABLE_DELETED'
}
export type EditSsoInput = {
id: Scalars['String'];
status: SsoIdentityProviderStatus;
};
export type EditSsoOutput = {
__typename?: 'EditSsoOutput';
id: Scalars['String'];
issuer: Scalars['String'];
name: Scalars['String'];
status: SsoIdentityProviderStatus;
type: IdentityProviderType;
};
export type EmailPasswordResetLink = {
__typename?: 'EmailPasswordResetLink';
/** Boolean that confirms query was dispatched */
success: Scalars['Boolean'];
};
export type ExecuteServerlessFunctionInput = {
/** Id of the serverless function to execute */
id: Scalars['UUID'];
/** Payload in JSON format */
payload: Scalars['JSON'];
/** Version of the serverless function to execute */
version?: Scalars['String'];
};
export type FeatureFlag = {
__typename?: 'FeatureFlag';
id: Scalars['UUID'];
key: FeatureFlagKey;
value: Scalars['Boolean'];
workspaceId: Scalars['String'];
};
export type FeatureFlagDto = {
__typename?: 'FeatureFlagDTO';
key: FeatureFlagKey;
value: Scalars['Boolean'];
};
export enum FeatureFlagKey {
IS_AIRTABLE_INTEGRATION_ENABLED = 'IS_AIRTABLE_INTEGRATION_ENABLED',
IS_AI_ENABLED = 'IS_AI_ENABLED',
IS_FIELDS_PERMISSIONS_ENABLED = 'IS_FIELDS_PERMISSIONS_ENABLED',
IS_IMAP_ENABLED = 'IS_IMAP_ENABLED',
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'
}
export type Field = {
__typename?: 'Field';
createdAt: Scalars['DateTime'];
defaultValue?: Maybe<Scalars['JSON']>;
description?: Maybe<Scalars['String']>;
icon?: Maybe<Scalars['String']>;
id: Scalars['UUID'];
isActive?: Maybe<Scalars['Boolean']>;
isCustom?: Maybe<Scalars['Boolean']>;
isLabelSyncedWithName?: Maybe<Scalars['Boolean']>;
isNullable?: Maybe<Scalars['Boolean']>;
isSystem?: Maybe<Scalars['Boolean']>;
isUnique?: Maybe<Scalars['Boolean']>;
label: Scalars['String'];
name: Scalars['String'];
object?: Maybe<Object>;
options?: Maybe<Scalars['JSON']>;
relation?: Maybe<Relation>;
settings?: Maybe<Scalars['JSON']>;
standardOverrides?: Maybe<StandardOverrides>;
type: FieldMetadataType;
updatedAt: Scalars['DateTime'];
};
export type FieldConnection = {
__typename?: 'FieldConnection';
/** Array of edges. */
edges: Array<FieldEdge>;
/** Paging information */
pageInfo: PageInfo;
};
export type FieldEdge = {
__typename?: 'FieldEdge';
/** Cursor for this node. */
cursor: Scalars['ConnectionCursor'];
/** The node containing the Field */
node: Field;
};
export type FieldFilter = {
and?: InputMaybe<Array<FieldFilter>>;
id?: InputMaybe<UuidFilterComparison>;
isActive?: InputMaybe<BooleanFieldComparison>;
isCustom?: InputMaybe<BooleanFieldComparison>;
isSystem?: InputMaybe<BooleanFieldComparison>;
or?: InputMaybe<Array<FieldFilter>>;
};
/** Type of the field */
export enum FieldMetadataType {
ACTOR = 'ACTOR',
ADDRESS = 'ADDRESS',
ARRAY = 'ARRAY',
BOOLEAN = 'BOOLEAN',
CURRENCY = 'CURRENCY',
DATE = 'DATE',
DATE_TIME = 'DATE_TIME',
EMAILS = 'EMAILS',
FULL_NAME = 'FULL_NAME',
LINKS = 'LINKS',
MORPH_RELATION = 'MORPH_RELATION',
MULTI_SELECT = 'MULTI_SELECT',
NUMBER = 'NUMBER',
NUMERIC = 'NUMERIC',
PHONES = 'PHONES',
POSITION = 'POSITION',
RATING = 'RATING',
RAW_JSON = 'RAW_JSON',
RELATION = 'RELATION',
RICH_TEXT = 'RICH_TEXT',
RICH_TEXT_V2 = 'RICH_TEXT_V2',
SELECT = 'SELECT',
TEXT = 'TEXT',
TS_VECTOR = 'TS_VECTOR',
UUID = 'UUID'
}
export type FieldPermission = {
__typename?: 'FieldPermission';
canReadFieldValue?: Maybe<Scalars['Boolean']>;
canUpdateFieldValue?: Maybe<Scalars['Boolean']>;
fieldMetadataId: Scalars['String'];
id: Scalars['String'];
objectMetadataId: Scalars['String'];
roleId: Scalars['String'];
};
export type FieldPermissionInput = {
canReadFieldValue?: InputMaybe<Scalars['Boolean']>;
canUpdateFieldValue?: InputMaybe<Scalars['Boolean']>;
fieldMetadataId: Scalars['String'];
objectMetadataId: Scalars['String'];
};
export enum FileFolder {
Attachment = 'Attachment',
PersonPicture = 'PersonPicture',
ProfilePicture = 'ProfilePicture',
ServerlessFunction = 'ServerlessFunction',
WorkspaceLogo = 'WorkspaceLogo'
}
export enum FilterIs {
NotNull = 'NotNull',
Null = 'Null'
}
export type FindAvailableSsoidpOutput = {
__typename?: 'FindAvailableSSOIDPOutput';
id: Scalars['String'];
issuer: Scalars['String'];
name: Scalars['String'];
status: SsoIdentityProviderStatus;
type: IdentityProviderType;
workspace: WorkspaceNameAndId;
};
export type FullName = {
__typename?: 'FullName';
firstName: Scalars['String'];
lastName: Scalars['String'];
};
export type GetAuthorizationUrlForSsoInput = {
identityProviderId: Scalars['String'];
workspaceInviteHash?: InputMaybe<Scalars['String']>;
};
export type GetAuthorizationUrlForSsoOutput = {
__typename?: 'GetAuthorizationUrlForSSOOutput';
authorizationURL: Scalars['String'];
id: Scalars['String'];
type: Scalars['String'];
};
export type GetLoginTokenFromEmailVerificationTokenOutput = {
__typename?: 'GetLoginTokenFromEmailVerificationTokenOutput';
loginToken: AuthToken;
workspaceUrls: WorkspaceUrls;
};
export type GetServerlessFunctionSourceCodeInput = {
/** The id of the function. */
id: Scalars['ID'];
/** The version of the function */
version?: Scalars['String'];
};
export enum HealthIndicatorId {
app = 'app',
connectedAccount = 'connectedAccount',
database = 'database',
redis = 'redis',
worker = 'worker'
}
export enum IdentityProviderType {
OIDC = 'OIDC',
SAML = 'SAML'
}
export type ImapSmtpCaldavConnectionParameters = {
__typename?: 'ImapSmtpCaldavConnectionParameters';
CALDAV?: Maybe<ConnectionParametersOutput>;
IMAP?: Maybe<ConnectionParametersOutput>;
SMTP?: Maybe<ConnectionParametersOutput>;
};
export type ImapSmtpCaldavConnectionSuccess = {
__typename?: 'ImapSmtpCaldavConnectionSuccess';
success: Scalars['Boolean'];
};
export type ImpersonateOutput = {
__typename?: 'ImpersonateOutput';
loginToken: AuthToken;
workspace: WorkspaceUrlsAndId;
};
export type Index = {
__typename?: 'Index';
createdAt: Scalars['DateTime'];
id: Scalars['UUID'];
indexFieldMetadataList: Array<IndexField>;
indexFieldMetadatas: IndexIndexFieldMetadatasConnection;
indexType: IndexType;
indexWhereClause?: Maybe<Scalars['String']>;
isCustom?: Maybe<Scalars['Boolean']>;
isUnique: Scalars['Boolean'];
name: Scalars['String'];
objectMetadata: IndexObjectMetadataConnection;
updatedAt: Scalars['DateTime'];
};
export type IndexIndexFieldMetadatasArgs = {
filter?: IndexFieldFilter;
paging?: CursorPaging;
};
export type IndexObjectMetadataArgs = {
filter?: ObjectFilter;
paging?: CursorPaging;
};
export type IndexConnection = {
__typename?: 'IndexConnection';
/** Array of edges. */
edges: Array<IndexEdge>;
/** Paging information */
pageInfo: PageInfo;
};
export type IndexEdge = {
__typename?: 'IndexEdge';
/** Cursor for this node. */
cursor: Scalars['ConnectionCursor'];
/** The node containing the Index */
node: Index;
};
export type IndexField = {
__typename?: 'IndexField';
createdAt: Scalars['DateTime'];
fieldMetadataId: Scalars['UUID'];
id: Scalars['UUID'];
order: Scalars['Float'];
updatedAt: Scalars['DateTime'];
};
export type IndexFieldEdge = {
__typename?: 'IndexFieldEdge';
/** Cursor for this node. */
cursor: Scalars['ConnectionCursor'];
/** The node containing the IndexField */
node: IndexField;
};
export type IndexFieldFilter = {
and?: InputMaybe<Array<IndexFieldFilter>>;
fieldMetadataId?: InputMaybe<UuidFilterComparison>;
id?: InputMaybe<UuidFilterComparison>;
or?: InputMaybe<Array<IndexFieldFilter>>;
};
export type IndexFilter = {
and?: InputMaybe<Array<IndexFilter>>;
id?: InputMaybe<UuidFilterComparison>;
isCustom?: InputMaybe<BooleanFieldComparison>;
or?: InputMaybe<Array<IndexFilter>>;
};
export type IndexIndexFieldMetadatasConnection = {
__typename?: 'IndexIndexFieldMetadatasConnection';
/** Array of edges. */
edges: Array<IndexFieldEdge>;
/** Paging information */
pageInfo: PageInfo;
};
export type IndexObjectMetadataConnection = {
__typename?: 'IndexObjectMetadataConnection';
/** Array of edges. */
edges: Array<ObjectEdge>;
/** Paging information */
pageInfo: PageInfo;
};
/** Type of the index */
export enum IndexType {
BTREE = 'BTREE',
GIN = 'GIN'
}
export type InvalidatePassword = {
__typename?: 'InvalidatePassword';
/** Boolean that confirms query was dispatched */
success: Scalars['Boolean'];
};
export type LinkMetadata = {
__typename?: 'LinkMetadata';
label: Scalars['String'];
url: Scalars['String'];
};
export type LinksMetadata = {
__typename?: 'LinksMetadata';
primaryLinkLabel: Scalars['String'];
primaryLinkUrl: Scalars['String'];
secondaryLinks?: Maybe<Array<LinkMetadata>>;
};
export type LoginToken = {
__typename?: 'LoginToken';
loginToken: AuthToken;
};
export enum MessageChannelVisibility {
METADATA = 'METADATA',
SHARE_EVERYTHING = 'SHARE_EVERYTHING',
SUBJECT = 'SUBJECT'
}
export enum ModelProvider {
ANTHROPIC = 'ANTHROPIC',
OPENAI = 'OPENAI'
}
export type Mutation = {
__typename?: 'Mutation';
activateWorkflowVersion: Scalars['Boolean'];
activateWorkspace: Workspace;
assignRoleToAgent: Scalars['Boolean'];
authorizeApp: AuthorizeApp;
checkCustomDomainValidRecords?: Maybe<CustomDomainValidRecords>;
checkoutSession: BillingSessionOutput;
computeStepOutputSchema: Scalars['JSON'];
createApprovedAccessDomain: ApprovedAccessDomain;
createDatabaseConfigVariable: Scalars['Boolean'];
createDraftFromWorkflowVersion: WorkflowVersion;
createOIDCIdentityProvider: SetupSsoOutput;
createObjectEvent: Analytics;
createOneAppToken: AppToken;
createOneField: Field;
createOneObject: Object;
createOneRole: Role;
createOneServerlessFunction: ServerlessFunction;
createSAMLIdentityProvider: SetupSsoOutput;
createWorkflowVersionStep: WorkflowAction;
deactivateWorkflowVersion: Scalars['Boolean'];
deleteApprovedAccessDomain: Scalars['Boolean'];
deleteCurrentWorkspace: Workspace;
deleteDatabaseConfigVariable: Scalars['Boolean'];
deleteOneField: Field;
deleteOneObject: Object;
deleteOneRole: Scalars['String'];
deleteOneServerlessFunction: ServerlessFunction;
deleteSSOIdentityProvider: DeleteSsoOutput;
deleteUser: User;
deleteWorkflowVersionStep: WorkflowAction;
deleteWorkspaceInvitation: Scalars['String'];
disablePostgresProxy: PostgresCredentials;
editSSOIdentityProvider: EditSsoOutput;
emailPasswordResetLink: EmailPasswordResetLink;
enablePostgresProxy: PostgresCredentials;
endSubscriptionTrialPeriod: BillingEndTrialPeriodOutput;
executeOneServerlessFunction: ServerlessFunctionExecutionResult;
generateApiKeyToken: ApiKeyToken;
generateTransientToken: TransientToken;
getAuthTokensFromLoginToken: AuthTokens;
getAuthorizationUrlForSSO: GetAuthorizationUrlForSsoOutput;
getLoginTokenFromCredentials: LoginToken;
getLoginTokenFromEmailVerificationToken: GetLoginTokenFromEmailVerificationTokenOutput;
impersonate: ImpersonateOutput;
publishServerlessFunction: ServerlessFunction;
removeRoleFromAgent: Scalars['Boolean'];
renewToken: AuthTokens;
resendEmailVerificationToken: ResendEmailVerificationTokenOutput;
resendWorkspaceInvitation: SendInvitationsOutput;
runWorkflowVersion: WorkflowRun;
saveImapSmtpCaldav: ImapSmtpCaldavConnectionSuccess;
sendInvitations: SendInvitationsOutput;
signIn: AvailableWorkspacesAndAccessTokensOutput;
signUp: AvailableWorkspacesAndAccessTokensOutput;
signUpInNewWorkspace: SignUpOutput;
signUpInWorkspace: SignUpOutput;
skipBookOnboardingStep: OnboardingStepSuccess;
skipSyncEmailOnboardingStep: OnboardingStepSuccess;
submitFormStep: Scalars['Boolean'];
switchToEnterprisePlan: BillingUpdateOutput;
switchToYearlyInterval: BillingUpdateOutput;
trackAnalytics: Analytics;
updateDatabaseConfigVariable: Scalars['Boolean'];
updateLabPublicFeatureFlag: FeatureFlagDto;
updateOneAgent: Agent;
updateOneField: Field;
updateOneObject: Object;
updateOneRole: Role;
updateOneServerlessFunction: ServerlessFunction;
updatePasswordViaResetToken: InvalidatePassword;
updateWorkflowRunStep: WorkflowAction;
updateWorkflowVersionStep: WorkflowAction;
updateWorkspace: Workspace;
updateWorkspaceFeatureFlag: Scalars['Boolean'];
updateWorkspaceMemberRole: WorkspaceMember;
uploadFile: SignedFileDto;
uploadImage: SignedFileDto;
uploadProfilePicture: SignedFileDto;
uploadWorkspaceLogo: SignedFileDto;
upsertFieldPermissions: Array<FieldPermission>;
upsertObjectPermissions: Array<ObjectPermission>;
upsertSettingPermissions: Array<SettingPermission>;
userLookupAdminPanel: UserLookup;
validateApprovedAccessDomain: ApprovedAccessDomain;
};
export type MutationActivateWorkflowVersionArgs = {
workflowVersionId: Scalars['String'];
};
export type MutationActivateWorkspaceArgs = {
data: ActivateWorkspaceInput;
};
export type MutationAssignRoleToAgentArgs = {
agentId: Scalars['UUID'];
roleId: Scalars['UUID'];
};
export type MutationAuthorizeAppArgs = {
clientId: Scalars['String'];
codeChallenge?: InputMaybe<Scalars['String']>;
redirectUrl: Scalars['String'];
};
export type MutationCheckoutSessionArgs = {
plan?: BillingPlanKey;
recurringInterval: SubscriptionInterval;
requirePaymentMethod?: Scalars['Boolean'];
successUrlPath?: InputMaybe<Scalars['String']>;
};
export type MutationComputeStepOutputSchemaArgs = {
input: ComputeStepOutputSchemaInput;
};
export type MutationCreateApprovedAccessDomainArgs = {
input: CreateApprovedAccessDomainInput;
};
export type MutationCreateDatabaseConfigVariableArgs = {
key: Scalars['String'];
value: Scalars['JSON'];
};
export type MutationCreateDraftFromWorkflowVersionArgs = {
input: CreateDraftFromWorkflowVersionInput;
};
export type MutationCreateOidcIdentityProviderArgs = {
input: SetupOidcSsoInput;
};
export type MutationCreateObjectEventArgs = {
event: Scalars['String'];
objectMetadataId: Scalars['String'];
properties?: InputMaybe<Scalars['JSON']>;
recordId: Scalars['String'];
};
export type MutationCreateOneFieldArgs = {
input: CreateOneFieldMetadataInput;
};
export type MutationCreateOneRoleArgs = {
createRoleInput: CreateRoleInput;
};
export type MutationCreateOneServerlessFunctionArgs = {
input: CreateServerlessFunctionInput;
};
export type MutationCreateSamlIdentityProviderArgs = {
input: SetupSamlSsoInput;
};
export type MutationCreateWorkflowVersionStepArgs = {
input: CreateWorkflowVersionStepInput;
};
export type MutationDeactivateWorkflowVersionArgs = {
workflowVersionId: Scalars['String'];
};
export type MutationDeleteApprovedAccessDomainArgs = {
input: DeleteApprovedAccessDomainInput;
};
export type MutationDeleteDatabaseConfigVariableArgs = {
key: Scalars['String'];
};
export type MutationDeleteOneFieldArgs = {
input: DeleteOneFieldInput;
};
export type MutationDeleteOneObjectArgs = {
input: DeleteOneObjectInput;
};
export type MutationDeleteOneRoleArgs = {
roleId: Scalars['String'];
};
export type MutationDeleteOneServerlessFunctionArgs = {
input: ServerlessFunctionIdInput;
};
export type MutationDeleteSsoIdentityProviderArgs = {
input: DeleteSsoInput;
};
export type MutationDeleteWorkflowVersionStepArgs = {
input: DeleteWorkflowVersionStepInput;
};
export type MutationDeleteWorkspaceInvitationArgs = {
appTokenId: Scalars['String'];
};
export type MutationEditSsoIdentityProviderArgs = {
input: EditSsoInput;
};
export type MutationEmailPasswordResetLinkArgs = {
email: Scalars['String'];
workspaceId: Scalars['String'];
};
export type MutationExecuteOneServerlessFunctionArgs = {
input: ExecuteServerlessFunctionInput;
};
export type MutationGenerateApiKeyTokenArgs = {
apiKeyId: Scalars['String'];
expiresAt: Scalars['String'];
};
export type MutationGetAuthTokensFromLoginTokenArgs = {
loginToken: Scalars['String'];
origin: Scalars['String'];
};
export type MutationGetAuthorizationUrlForSsoArgs = {
input: GetAuthorizationUrlForSsoInput;
};
export type MutationGetLoginTokenFromCredentialsArgs = {
captchaToken?: InputMaybe<Scalars['String']>;
email: Scalars['String'];
origin: Scalars['String'];
password: Scalars['String'];
};
export type MutationGetLoginTokenFromEmailVerificationTokenArgs = {
captchaToken?: InputMaybe<Scalars['String']>;
email: Scalars['String'];
emailVerificationToken: Scalars['String'];
origin: Scalars['String'];
};
export type MutationImpersonateArgs = {
userId: Scalars['String'];
workspaceId: Scalars['String'];
};
export type MutationPublishServerlessFunctionArgs = {
input: PublishServerlessFunctionInput;
};
export type MutationRemoveRoleFromAgentArgs = {
agentId: Scalars['UUID'];
};
export type MutationRenewTokenArgs = {
appToken: Scalars['String'];
};
export type MutationResendEmailVerificationTokenArgs = {
email: Scalars['String'];
origin: Scalars['String'];
};
export type MutationResendWorkspaceInvitationArgs = {
appTokenId: Scalars['String'];
};
export type MutationRunWorkflowVersionArgs = {
input: RunWorkflowVersionInput;
};
export type MutationSaveImapSmtpCaldavArgs = {
accountOwnerId: Scalars['String'];
accountType: AccountType;
connectionParameters: ConnectionParameters;
handle: Scalars['String'];
id?: InputMaybe<Scalars['String']>;
};
export type MutationSendInvitationsArgs = {
emails: Array<Scalars['String']>;
};
export type MutationSignInArgs = {
captchaToken?: InputMaybe<Scalars['String']>;
email: Scalars['String'];
password: Scalars['String'];
};
export type MutationSignUpArgs = {
captchaToken?: InputMaybe<Scalars['String']>;
email: Scalars['String'];
password: Scalars['String'];
};
export type MutationSignUpInWorkspaceArgs = {
captchaToken?: InputMaybe<Scalars['String']>;
email: Scalars['String'];
locale?: InputMaybe<Scalars['String']>;
password: Scalars['String'];
verifyEmailNextPath?: InputMaybe<Scalars['String']>;
workspaceId?: InputMaybe<Scalars['String']>;
workspaceInviteHash?: InputMaybe<Scalars['String']>;
workspacePersonalInviteToken?: InputMaybe<Scalars['String']>;
};
export type MutationSubmitFormStepArgs = {
input: SubmitFormStepInput;
};
export type MutationTrackAnalyticsArgs = {
event?: InputMaybe<Scalars['String']>;
name?: InputMaybe<Scalars['String']>;
properties?: InputMaybe<Scalars['JSON']>;
type: AnalyticsType;
};
export type MutationUpdateDatabaseConfigVariableArgs = {
key: Scalars['String'];
value: Scalars['JSON'];
};
export type MutationUpdateLabPublicFeatureFlagArgs = {
input: UpdateLabPublicFeatureFlagInput;
};
export type MutationUpdateOneAgentArgs = {
input: UpdateAgentInput;
};
export type MutationUpdateOneFieldArgs = {
input: UpdateOneFieldMetadataInput;
};
export type MutationUpdateOneObjectArgs = {
input: UpdateOneObjectInput;
};
export type MutationUpdateOneRoleArgs = {
updateRoleInput: UpdateRoleInput;
};
export type MutationUpdateOneServerlessFunctionArgs = {
input: UpdateServerlessFunctionInput;
};
export type MutationUpdatePasswordViaResetTokenArgs = {
newPassword: Scalars['String'];
passwordResetToken: Scalars['String'];
};
export type MutationUpdateWorkflowRunStepArgs = {
input: UpdateWorkflowRunStepInput;
};
export type MutationUpdateWorkflowVersionStepArgs = {
input: UpdateWorkflowVersionStepInput;
};
export type MutationUpdateWorkspaceArgs = {
data: UpdateWorkspaceInput;
};
export type MutationUpdateWorkspaceFeatureFlagArgs = {
featureFlag: Scalars['String'];
value: Scalars['Boolean'];
workspaceId: Scalars['String'];
};
export type MutationUpdateWorkspaceMemberRoleArgs = {
roleId: Scalars['String'];
workspaceMemberId: Scalars['String'];
};
export type MutationUploadFileArgs = {
file: Scalars['Upload'];
fileFolder?: InputMaybe<FileFolder>;
};
export type MutationUploadImageArgs = {
file: Scalars['Upload'];
fileFolder?: InputMaybe<FileFolder>;
};
export type MutationUploadProfilePictureArgs = {
file: Scalars['Upload'];
};
export type MutationUploadWorkspaceLogoArgs = {
file: Scalars['Upload'];
};
export type MutationUpsertFieldPermissionsArgs = {
upsertFieldPermissionsInput: UpsertFieldPermissionsInput;
};
export type MutationUpsertObjectPermissionsArgs = {
upsertObjectPermissionsInput: UpsertObjectPermissionsInput;
};
export type MutationUpsertSettingPermissionsArgs = {
upsertSettingPermissionsInput: UpsertSettingPermissionsInput;
};
export type MutationUserLookupAdminPanelArgs = {
userIdentifier: Scalars['String'];
};
export type MutationValidateApprovedAccessDomainArgs = {
input: ValidateApprovedAccessDomainInput;
};
export type Object = {
__typename?: 'Object';
createdAt: Scalars['DateTime'];
dataSourceId: Scalars['String'];
description?: Maybe<Scalars['String']>;
duplicateCriteria?: Maybe<Array<Array<Scalars['String']>>>;
fields: ObjectFieldsConnection;
fieldsList: Array<Field>;
icon?: Maybe<Scalars['String']>;
id: Scalars['UUID'];
imageIdentifierFieldMetadataId?: Maybe<Scalars['String']>;
indexMetadataList: Array<Index>;
indexMetadatas: ObjectIndexMetadatasConnection;
isActive: Scalars['Boolean'];
isCustom: Scalars['Boolean'];
isLabelSyncedWithName: Scalars['Boolean'];
isRemote: Scalars['Boolean'];
isSearchable: Scalars['Boolean'];
isSystem: Scalars['Boolean'];
labelIdentifierFieldMetadataId?: Maybe<Scalars['String']>;
labelPlural: Scalars['String'];
labelSingular: Scalars['String'];
namePlural: Scalars['String'];
nameSingular: Scalars['String'];
shortcut?: Maybe<Scalars['String']>;
standardOverrides?: Maybe<ObjectStandardOverrides>;
updatedAt: Scalars['DateTime'];
};
export type ObjectFieldsArgs = {
filter?: FieldFilter;
paging?: CursorPaging;
};
export type ObjectIndexMetadatasArgs = {
filter?: IndexFilter;
paging?: CursorPaging;
};
export type ObjectConnection = {
__typename?: 'ObjectConnection';
/** Array of edges. */
edges: Array<ObjectEdge>;
/** Paging information */
pageInfo: PageInfo;
};
export type ObjectEdge = {
__typename?: 'ObjectEdge';
/** Cursor for this node. */
cursor: Scalars['ConnectionCursor'];
/** The node containing the Object */
node: Object;
};
export type ObjectFieldsConnection = {
__typename?: 'ObjectFieldsConnection';
/** Array of edges. */
edges: Array<FieldEdge>;
/** Paging information */
pageInfo: PageInfo;
};
export type ObjectFilter = {
and?: InputMaybe<Array<ObjectFilter>>;
id?: InputMaybe<UuidFilterComparison>;
isActive?: InputMaybe<BooleanFieldComparison>;
isCustom?: InputMaybe<BooleanFieldComparison>;
isRemote?: InputMaybe<BooleanFieldComparison>;
isSearchable?: InputMaybe<BooleanFieldComparison>;
isSystem?: InputMaybe<BooleanFieldComparison>;
or?: InputMaybe<Array<ObjectFilter>>;
};
export type ObjectIndexMetadatasConnection = {
__typename?: 'ObjectIndexMetadatasConnection';
/** Array of edges. */
edges: Array<IndexEdge>;
/** Paging information */
pageInfo: PageInfo;
};
export type ObjectPermission = {
__typename?: 'ObjectPermission';
canDestroyObjectRecords?: Maybe<Scalars['Boolean']>;
canReadObjectRecords?: Maybe<Scalars['Boolean']>;
canSoftDeleteObjectRecords?: Maybe<Scalars['Boolean']>;
canUpdateObjectRecords?: Maybe<Scalars['Boolean']>;
objectMetadataId: Scalars['String'];
};
export type ObjectPermissionInput = {
canDestroyObjectRecords?: InputMaybe<Scalars['Boolean']>;
canReadObjectRecords?: InputMaybe<Scalars['Boolean']>;
canSoftDeleteObjectRecords?: InputMaybe<Scalars['Boolean']>;
canUpdateObjectRecords?: InputMaybe<Scalars['Boolean']>;
objectMetadataId: Scalars['String'];
};
export type ObjectRecordFilterInput = {
and?: InputMaybe<Array<ObjectRecordFilterInput>>;
createdAt?: InputMaybe<DateFilter>;
deletedAt?: InputMaybe<DateFilter>;
id?: InputMaybe<UuidFilter>;
not?: InputMaybe<ObjectRecordFilterInput>;
or?: InputMaybe<Array<ObjectRecordFilterInput>>;
updatedAt?: InputMaybe<DateFilter>;
};
export type ObjectStandardOverrides = {
__typename?: 'ObjectStandardOverrides';
description?: Maybe<Scalars['String']>;
icon?: Maybe<Scalars['String']>;
labelPlural?: Maybe<Scalars['String']>;
labelSingular?: Maybe<Scalars['String']>;
translations?: Maybe<Scalars['JSON']>;
};
export type OnDbEventDto = {
__typename?: 'OnDbEventDTO';
action: DatabaseEventAction;
eventDate: Scalars['DateTime'];
objectNameSingular: Scalars['String'];
record: Scalars['JSON'];
updatedFields?: Maybe<Array<Scalars['String']>>;
};
export type OnDbEventInput = {
action?: InputMaybe<DatabaseEventAction>;
objectNameSingular?: InputMaybe<Scalars['String']>;
recordId?: InputMaybe<Scalars['String']>;
};
/** Onboarding status */
export enum OnboardingStatus {
BOOK_ONBOARDING = 'BOOK_ONBOARDING',
COMPLETED = 'COMPLETED',
INVITE_TEAM = 'INVITE_TEAM',
PLAN_REQUIRED = 'PLAN_REQUIRED',
PROFILE_CREATION = 'PROFILE_CREATION',
SYNC_EMAIL = 'SYNC_EMAIL',
WORKSPACE_ACTIVATION = 'WORKSPACE_ACTIVATION'
}
export type OnboardingStepSuccess = {
__typename?: 'OnboardingStepSuccess';
/** Boolean that confirms query was dispatched */
success: Scalars['Boolean'];
};
export type PageInfo = {
__typename?: 'PageInfo';
/** The cursor of the last returned record. */
endCursor?: Maybe<Scalars['ConnectionCursor']>;
/** true if paging forward and there are more records. */
hasNextPage?: Maybe<Scalars['Boolean']>;
/** true if paging backwards and there are more records. */
hasPreviousPage?: Maybe<Scalars['Boolean']>;
/** The cursor of the first returned record. */
startCursor?: Maybe<Scalars['ConnectionCursor']>;
};
export enum PermissionsOnAllObjectRecords {
DESTROY_ALL_OBJECT_RECORDS = 'DESTROY_ALL_OBJECT_RECORDS',
READ_ALL_OBJECT_RECORDS = 'READ_ALL_OBJECT_RECORDS',
SOFT_DELETE_ALL_OBJECT_RECORDS = 'SOFT_DELETE_ALL_OBJECT_RECORDS',
UPDATE_ALL_OBJECT_RECORDS = 'UPDATE_ALL_OBJECT_RECORDS'
}
export type PostgresCredentials = {
__typename?: 'PostgresCredentials';
id: Scalars['UUID'];
password: Scalars['String'];
user: Scalars['String'];
workspaceId: Scalars['String'];
};
export type PublicFeatureFlag = {
__typename?: 'PublicFeatureFlag';
key: FeatureFlagKey;
metadata: PublicFeatureFlagMetadata;
};
export type PublicFeatureFlagMetadata = {
__typename?: 'PublicFeatureFlagMetadata';
description: Scalars['String'];
imagePath: Scalars['String'];
label: Scalars['String'];
};
export type PublicWorkspaceDataOutput = {
__typename?: 'PublicWorkspaceDataOutput';
authProviders: AuthProviders;
displayName?: Maybe<Scalars['String']>;
id: Scalars['String'];
logo?: Maybe<Scalars['String']>;
workspaceUrls: WorkspaceUrls;
};
export type PublishServerlessFunctionInput = {
/** The id of the function. */
id: Scalars['ID'];
};
export type Query = {
__typename?: 'Query';
billingPortalSession: BillingSessionOutput;
checkUserExists: CheckUserExistOutput;
checkWorkspaceInviteHashIsValid: WorkspaceInviteHashValid;
currentUser: User;
currentWorkspace: Workspace;
field: Field;
fields: FieldConnection;
findManyServerlessFunctions: Array<ServerlessFunction>;
findOneAgent: Agent;
findOneServerlessFunction: ServerlessFunction;
findWorkspaceFromInviteHash: Workspace;
findWorkspaceInvitations: Array<WorkspaceInvitation>;
getApprovedAccessDomains: Array<ApprovedAccessDomain>;
getAvailablePackages: Scalars['JSON'];
getConfigVariablesGrouped: ConfigVariablesOutput;
getConnectedImapSmtpCaldavAccount: ConnectedImapSmtpCaldavAccount;
getDatabaseConfigVariable: ConfigVariable;
getIndicatorHealthStatus: AdminPanelHealthServiceData;
getMeteredProductsUsage: Array<BillingMeteredProductUsageOutput>;
getPostgresCredentials?: Maybe<PostgresCredentials>;
getPublicWorkspaceDataByDomain: PublicWorkspaceDataOutput;
getQueueMetrics: QueueMetricsData;
getRoles: Array<Role>;
getSSOIdentityProviders: Array<FindAvailableSsoidpOutput>;
getServerlessFunctionSourceCode?: Maybe<Scalars['JSON']>;
getSystemHealthStatus: SystemHealth;
getTimelineCalendarEventsFromCompanyId: TimelineCalendarEventsWithTotal;
getTimelineCalendarEventsFromPersonId: TimelineCalendarEventsWithTotal;
getTimelineThreadsFromCompanyId: TimelineThreadsWithTotal;
getTimelineThreadsFromPersonId: TimelineThreadsWithTotal;
index: Index;
indexMetadatas: IndexConnection;
object: Object;
objects: ObjectConnection;
plans: Array<BillingPlanOutput>;
search: SearchResultConnection;
validatePasswordResetToken: ValidatePasswordResetToken;
versionInfo: VersionInfo;
};
export type QueryBillingPortalSessionArgs = {
returnUrlPath?: InputMaybe<Scalars['String']>;
};
export type QueryCheckUserExistsArgs = {
captchaToken?: InputMaybe<Scalars['String']>;
email: Scalars['String'];
};
export type QueryCheckWorkspaceInviteHashIsValidArgs = {
inviteHash: Scalars['String'];
};
export type QueryFindOneAgentArgs = {
input: AgentIdInput;
};
export type QueryFindOneServerlessFunctionArgs = {
input: ServerlessFunctionIdInput;
};
export type QueryFindWorkspaceFromInviteHashArgs = {
inviteHash: Scalars['String'];
};
export type QueryGetAvailablePackagesArgs = {
input: ServerlessFunctionIdInput;
};
export type QueryGetConnectedImapSmtpCaldavAccountArgs = {
id: Scalars['String'];
};
export type QueryGetDatabaseConfigVariableArgs = {
key: Scalars['String'];
};
export type QueryGetIndicatorHealthStatusArgs = {
indicatorId: HealthIndicatorId;
};
export type QueryGetPublicWorkspaceDataByDomainArgs = {
origin?: InputMaybe<Scalars['String']>;
};
export type QueryGetQueueMetricsArgs = {
queueName: Scalars['String'];
timeRange?: InputMaybe<QueueMetricsTimeRange>;
};
export type QueryGetServerlessFunctionSourceCodeArgs = {
input: GetServerlessFunctionSourceCodeInput;
};
export type QueryGetTimelineCalendarEventsFromCompanyIdArgs = {
companyId: Scalars['UUID'];
page: Scalars['Int'];
pageSize: Scalars['Int'];
};
export type QueryGetTimelineCalendarEventsFromPersonIdArgs = {
page: Scalars['Int'];
pageSize: Scalars['Int'];
personId: Scalars['UUID'];
};
export type QueryGetTimelineThreadsFromCompanyIdArgs = {
companyId: Scalars['UUID'];
page: Scalars['Int'];
pageSize: Scalars['Int'];
};
export type QueryGetTimelineThreadsFromPersonIdArgs = {
page: Scalars['Int'];
pageSize: Scalars['Int'];
personId: Scalars['UUID'];
};
export type QuerySearchArgs = {
after?: InputMaybe<Scalars['String']>;
excludedObjectNameSingulars?: InputMaybe<Array<Scalars['String']>>;
filter?: InputMaybe<ObjectRecordFilterInput>;
includedObjectNameSingulars?: InputMaybe<Array<Scalars['String']>>;
limit: Scalars['Int'];
searchInput: Scalars['String'];
};
export type QueryValidatePasswordResetTokenArgs = {
passwordResetToken: Scalars['String'];
};
export type QueueMetricsData = {
__typename?: 'QueueMetricsData';
data: Array<QueueMetricsSeries>;
details?: Maybe<WorkerQueueMetrics>;
queueName: Scalars['String'];
timeRange: QueueMetricsTimeRange;
workers: Scalars['Float'];
};
export type QueueMetricsDataPoint = {
__typename?: 'QueueMetricsDataPoint';
x: Scalars['Float'];
y: Scalars['Float'];
};
export type QueueMetricsSeries = {
__typename?: 'QueueMetricsSeries';
data: Array<QueueMetricsDataPoint>;
id: Scalars['String'];
};
export enum QueueMetricsTimeRange {
FourHours = 'FourHours',
OneDay = 'OneDay',
OneHour = 'OneHour',
SevenDays = 'SevenDays',
TwelveHours = 'TwelveHours'
}
export type Relation = {
__typename?: 'Relation';
sourceFieldMetadata: Field;
sourceObjectMetadata: Object;
targetFieldMetadata: Field;
targetObjectMetadata: Object;
type: RelationType;
};
/** Relation type */
export enum RelationType {
MANY_TO_ONE = 'MANY_TO_ONE',
ONE_TO_MANY = 'ONE_TO_MANY'
}
export type RemoteServer = {
__typename?: 'RemoteServer';
createdAt: Scalars['DateTime'];
foreignDataWrapperId: Scalars['ID'];
foreignDataWrapperOptions?: Maybe<Scalars['JSON']>;
foreignDataWrapperType: Scalars['String'];
id: Scalars['ID'];
label: Scalars['String'];
schema?: Maybe<Scalars['String']>;
updatedAt: Scalars['DateTime'];
userMappingOptions?: Maybe<UserMappingOptionsUser>;
};
export type RemoteTable = {
__typename?: 'RemoteTable';
id?: Maybe<Scalars['UUID']>;
name: Scalars['String'];
schema?: Maybe<Scalars['String']>;
schemaPendingUpdates?: Maybe<Array<DistantTableUpdate>>;
status: RemoteTableStatus;
};
/** Status of the table */
export enum RemoteTableStatus {
NOT_SYNCED = 'NOT_SYNCED',
SYNCED = 'SYNCED'
}
export type ResendEmailVerificationTokenOutput = {
__typename?: 'ResendEmailVerificationTokenOutput';
success: Scalars['Boolean'];
};
export type Role = {
__typename?: 'Role';
canDestroyAllObjectRecords: Scalars['Boolean'];
canReadAllObjectRecords: Scalars['Boolean'];
canSoftDeleteAllObjectRecords: Scalars['Boolean'];
canUpdateAllObjectRecords: Scalars['Boolean'];
canUpdateAllSettings: Scalars['Boolean'];
description?: Maybe<Scalars['String']>;
icon?: Maybe<Scalars['String']>;
id: Scalars['String'];
isEditable: Scalars['Boolean'];
label: Scalars['String'];
objectPermissions?: Maybe<Array<ObjectPermission>>;
settingPermissions?: Maybe<Array<SettingPermission>>;
workspaceMembers: Array<WorkspaceMember>;
};
export type RunWorkflowVersionInput = {
/** Execution result in JSON format */
payload?: InputMaybe<Scalars['JSON']>;
/** Workflow run ID */
workflowRunId?: InputMaybe<Scalars['String']>;
/** Workflow version ID */
workflowVersionId: Scalars['String'];
};
export type SsoConnection = {
__typename?: 'SSOConnection';
id: Scalars['String'];
issuer: Scalars['String'];
name: Scalars['String'];
status: SsoIdentityProviderStatus;
type: IdentityProviderType;
};
export type SsoIdentityProvider = {
__typename?: 'SSOIdentityProvider';
id: Scalars['String'];
issuer: Scalars['String'];
name: Scalars['String'];
status: SsoIdentityProviderStatus;
type: IdentityProviderType;
};
export enum SsoIdentityProviderStatus {
Active = 'Active',
Error = 'Error',
Inactive = 'Inactive'
}
export type SearchRecord = {
__typename?: 'SearchRecord';
imageUrl?: Maybe<Scalars['String']>;
label: Scalars['String'];
objectNameSingular: Scalars['String'];
recordId: Scalars['String'];
tsRank: Scalars['Float'];
tsRankCD: Scalars['Float'];
};
export type SearchResultConnection = {
__typename?: 'SearchResultConnection';
edges: Array<SearchResultEdge>;
pageInfo: SearchResultPageInfo;
};
export type SearchResultEdge = {
__typename?: 'SearchResultEdge';
cursor: Scalars['String'];
node: SearchRecord;
};
export type SearchResultPageInfo = {
__typename?: 'SearchResultPageInfo';
endCursor?: Maybe<Scalars['String']>;
hasNextPage: Scalars['Boolean'];
};
export type SendInvitationsOutput = {
__typename?: 'SendInvitationsOutput';
errors: Array<Scalars['String']>;
result: Array<WorkspaceInvitation>;
/** Boolean that confirms query was dispatched */
success: Scalars['Boolean'];
};
export type Sentry = {
__typename?: 'Sentry';
dsn?: Maybe<Scalars['String']>;
environment?: Maybe<Scalars['String']>;
release?: Maybe<Scalars['String']>;
};
export type ServerlessFunction = {
__typename?: 'ServerlessFunction';
createdAt: Scalars['DateTime'];
description?: Maybe<Scalars['String']>;
id: Scalars['UUID'];
latestVersion?: Maybe<Scalars['String']>;
latestVersionInputSchema?: Maybe<Scalars['JSON']>;
name: Scalars['String'];
publishedVersions: Array<Scalars['String']>;
runtime: Scalars['String'];
timeoutSeconds: Scalars['Float'];
updatedAt: Scalars['DateTime'];
};
export type ServerlessFunctionExecutionResult = {
__typename?: 'ServerlessFunctionExecutionResult';
/** Execution result in JSON format */
data?: Maybe<Scalars['JSON']>;
/** Execution duration in milliseconds */
duration: Scalars['Float'];
/** Execution error in JSON format */
error?: Maybe<Scalars['JSON']>;
/** Execution Logs */
logs: Scalars['String'];
/** Execution status */
status: ServerlessFunctionExecutionStatus;
};
/** Status of the serverless function execution */
export enum ServerlessFunctionExecutionStatus {
ERROR = 'ERROR',
IDLE = 'IDLE',
SUCCESS = 'SUCCESS'
}
export type ServerlessFunctionIdInput = {
/** The id of the function. */
id: Scalars['ID'];
};
export type SettingPermission = {
__typename?: 'SettingPermission';
id: Scalars['String'];
roleId: Scalars['String'];
setting: SettingPermissionType;
};
export enum SettingPermissionType {
ADMIN_PANEL = 'ADMIN_PANEL',
API_KEYS_AND_WEBHOOKS = 'API_KEYS_AND_WEBHOOKS',
DATA_MODEL = 'DATA_MODEL',
ROLES = 'ROLES',
SECURITY = 'SECURITY',
WORKFLOWS = 'WORKFLOWS',
WORKSPACE = 'WORKSPACE',
WORKSPACE_MEMBERS = 'WORKSPACE_MEMBERS'
}
export type SetupOidcSsoInput = {
clientID: Scalars['String'];
clientSecret: Scalars['String'];
issuer: Scalars['String'];
name: Scalars['String'];
};
export type SetupSamlSsoInput = {
certificate: Scalars['String'];
fingerprint?: InputMaybe<Scalars['String']>;
id: Scalars['String'];
issuer: Scalars['String'];
name: Scalars['String'];
ssoURL: Scalars['String'];
};
export type SetupSsoOutput = {
__typename?: 'SetupSsoOutput';
id: Scalars['String'];
issuer: Scalars['String'];
name: Scalars['String'];
status: SsoIdentityProviderStatus;
type: IdentityProviderType;
};
export type SignUpOutput = {
__typename?: 'SignUpOutput';
loginToken: AuthToken;
workspace: WorkspaceUrlsAndId;
};
export type SignedFileDto = {
__typename?: 'SignedFileDTO';
path: Scalars['String'];
token: Scalars['String'];
};
export type StandardOverrides = {
__typename?: 'StandardOverrides';
description?: Maybe<Scalars['String']>;
icon?: Maybe<Scalars['String']>;
label?: Maybe<Scalars['String']>;
translations?: Maybe<Scalars['JSON']>;
};
export type SubmitFormStepInput = {
/** Form response in JSON format */
response: Scalars['JSON'];
/** Workflow version ID */
stepId: Scalars['String'];
/** Workflow run ID */
workflowRunId: Scalars['String'];
};
export type Subscription = {
__typename?: 'Subscription';
onDbEvent: OnDbEventDto;
};
export type SubscriptionOnDbEventArgs = {
input: OnDbEventInput;
};
export enum SubscriptionInterval {
Day = 'Day',
Month = 'Month',
Week = 'Week',
Year = 'Year'
}
export enum SubscriptionStatus {
Active = 'Active',
Canceled = 'Canceled',
Incomplete = 'Incomplete',
IncompleteExpired = 'IncompleteExpired',
PastDue = 'PastDue',
Paused = 'Paused',
Trialing = 'Trialing',
Unpaid = 'Unpaid'
}
export type Support = {
__typename?: 'Support';
supportDriver: SupportDriver;
supportFrontChatId?: Maybe<Scalars['String']>;
};
export enum SupportDriver {
FRONT = 'FRONT',
NONE = 'NONE'
}
export type SystemHealth = {
__typename?: 'SystemHealth';
services: Array<SystemHealthService>;
};
export type SystemHealthService = {
__typename?: 'SystemHealthService';
id: HealthIndicatorId;
label: Scalars['String'];
status: AdminPanelHealthServiceStatus;
};
export type TimelineCalendarEvent = {
__typename?: 'TimelineCalendarEvent';
conferenceLink: LinksMetadata;
conferenceSolution: Scalars['String'];
description: Scalars['String'];
endsAt: Scalars['DateTime'];
id: Scalars['UUID'];
isCanceled: Scalars['Boolean'];
isFullDay: Scalars['Boolean'];
location: Scalars['String'];
participants: Array<TimelineCalendarEventParticipant>;
startsAt: Scalars['DateTime'];
title: Scalars['String'];
visibility: CalendarChannelVisibility;
};
export type TimelineCalendarEventParticipant = {
__typename?: 'TimelineCalendarEventParticipant';
avatarUrl: Scalars['String'];
displayName: Scalars['String'];
firstName: Scalars['String'];
handle: Scalars['String'];
lastName: Scalars['String'];
personId?: Maybe<Scalars['UUID']>;
workspaceMemberId?: Maybe<Scalars['UUID']>;
};
export type TimelineCalendarEventsWithTotal = {
__typename?: 'TimelineCalendarEventsWithTotal';
timelineCalendarEvents: Array<TimelineCalendarEvent>;
totalNumberOfCalendarEvents: Scalars['Int'];
};
export type TimelineThread = {
__typename?: 'TimelineThread';
firstParticipant: TimelineThreadParticipant;
id: Scalars['UUID'];
lastMessageBody: Scalars['String'];
lastMessageReceivedAt: Scalars['DateTime'];
lastTwoParticipants: Array<TimelineThreadParticipant>;
numberOfMessagesInThread: Scalars['Float'];
participantCount: Scalars['Float'];
read: Scalars['Boolean'];
subject: Scalars['String'];
visibility: MessageChannelVisibility;
};
export type TimelineThreadParticipant = {
__typename?: 'TimelineThreadParticipant';
avatarUrl: Scalars['String'];
displayName: Scalars['String'];
firstName: Scalars['String'];
handle: Scalars['String'];
lastName: Scalars['String'];
personId?: Maybe<Scalars['UUID']>;
workspaceMemberId?: Maybe<Scalars['UUID']>;
};
export type TimelineThreadsWithTotal = {
__typename?: 'TimelineThreadsWithTotal';
timelineThreads: Array<TimelineThread>;
totalNumberOfThreads: Scalars['Int'];
};
export type TransientToken = {
__typename?: 'TransientToken';
transientToken: AuthToken;
};
export type UuidFilter = {
eq?: InputMaybe<Scalars['UUID']>;
gt?: InputMaybe<Scalars['UUID']>;
gte?: InputMaybe<Scalars['UUID']>;
in?: InputMaybe<Array<Scalars['UUID']>>;
is?: InputMaybe<FilterIs>;
lt?: InputMaybe<Scalars['UUID']>;
lte?: InputMaybe<Scalars['UUID']>;
neq?: InputMaybe<Scalars['UUID']>;
};
export type UuidFilterComparison = {
eq?: InputMaybe<Scalars['UUID']>;
gt?: InputMaybe<Scalars['UUID']>;
gte?: InputMaybe<Scalars['UUID']>;
iLike?: InputMaybe<Scalars['UUID']>;
in?: InputMaybe<Array<Scalars['UUID']>>;
is?: InputMaybe<Scalars['Boolean']>;
isNot?: InputMaybe<Scalars['Boolean']>;
like?: InputMaybe<Scalars['UUID']>;
lt?: InputMaybe<Scalars['UUID']>;
lte?: InputMaybe<Scalars['UUID']>;
neq?: InputMaybe<Scalars['UUID']>;
notILike?: InputMaybe<Scalars['UUID']>;
notIn?: InputMaybe<Array<Scalars['UUID']>>;
notLike?: InputMaybe<Scalars['UUID']>;
};
export type UpdateAgentInput = {
description?: InputMaybe<Scalars['String']>;
id: Scalars['UUID'];
modelId: Scalars['String'];
name: Scalars['String'];
prompt: Scalars['String'];
responseFormat?: InputMaybe<Scalars['JSON']>;
};
export type UpdateFieldInput = {
defaultValue?: InputMaybe<Scalars['JSON']>;
description?: InputMaybe<Scalars['String']>;
icon?: InputMaybe<Scalars['String']>;
isActive?: InputMaybe<Scalars['Boolean']>;
isLabelSyncedWithName?: InputMaybe<Scalars['Boolean']>;
isNullable?: InputMaybe<Scalars['Boolean']>;
isSystem?: InputMaybe<Scalars['Boolean']>;
isUnique?: InputMaybe<Scalars['Boolean']>;
label?: InputMaybe<Scalars['String']>;
name?: InputMaybe<Scalars['String']>;
options?: InputMaybe<Scalars['JSON']>;
settings?: InputMaybe<Scalars['JSON']>;
};
export type UpdateLabPublicFeatureFlagInput = {
publicFeatureFlag: Scalars['String'];
value: Scalars['Boolean'];
};
export type UpdateObjectPayload = {
description?: InputMaybe<Scalars['String']>;
icon?: InputMaybe<Scalars['String']>;
imageIdentifierFieldMetadataId?: InputMaybe<Scalars['String']>;
isActive?: InputMaybe<Scalars['Boolean']>;
isLabelSyncedWithName?: InputMaybe<Scalars['Boolean']>;
labelIdentifierFieldMetadataId?: InputMaybe<Scalars['String']>;
labelPlural?: InputMaybe<Scalars['String']>;
labelSingular?: InputMaybe<Scalars['String']>;
namePlural?: InputMaybe<Scalars['String']>;
nameSingular?: InputMaybe<Scalars['String']>;
shortcut?: InputMaybe<Scalars['String']>;
};
export type UpdateOneFieldMetadataInput = {
/** The id of the record to update */
id: Scalars['UUID'];
/** The record to update */
update: UpdateFieldInput;
};
export type UpdateOneObjectInput = {
/** The id of the object to update */
id: Scalars['UUID'];
update: UpdateObjectPayload;
};
export type UpdateRoleInput = {
/** The id of the role to update */
id: Scalars['UUID'];
update: UpdateRolePayload;
};
export type UpdateRolePayload = {
canDestroyAllObjectRecords?: InputMaybe<Scalars['Boolean']>;
canReadAllObjectRecords?: InputMaybe<Scalars['Boolean']>;
canSoftDeleteAllObjectRecords?: InputMaybe<Scalars['Boolean']>;
canUpdateAllObjectRecords?: InputMaybe<Scalars['Boolean']>;
canUpdateAllSettings?: InputMaybe<Scalars['Boolean']>;
description?: InputMaybe<Scalars['String']>;
icon?: InputMaybe<Scalars['String']>;
label?: InputMaybe<Scalars['String']>;
};
export type UpdateServerlessFunctionInput = {
code: Scalars['JSON'];
description?: InputMaybe<Scalars['String']>;
/** Id of the serverless function to execute */
id: Scalars['UUID'];
name: Scalars['String'];
timeoutSeconds?: InputMaybe<Scalars['Float']>;
};
export type UpdateWorkflowRunStepInput = {
/** Step to update in JSON format */
step: Scalars['JSON'];
/** Workflow run ID */
workflowRunId: Scalars['String'];
};
export type UpdateWorkflowVersionStepInput = {
/** Step to update in JSON format */
step: Scalars['JSON'];
/** Workflow version ID */
workflowVersionId: Scalars['String'];
};
export type UpdateWorkspaceInput = {
allowImpersonation?: InputMaybe<Scalars['Boolean']>;
customDomain?: InputMaybe<Scalars['String']>;
defaultRoleId?: InputMaybe<Scalars['String']>;
displayName?: InputMaybe<Scalars['String']>;
inviteHash?: InputMaybe<Scalars['String']>;
isGoogleAuthEnabled?: InputMaybe<Scalars['Boolean']>;
isMicrosoftAuthEnabled?: InputMaybe<Scalars['Boolean']>;
isPasswordAuthEnabled?: InputMaybe<Scalars['Boolean']>;
isPublicInviteLinkEnabled?: InputMaybe<Scalars['Boolean']>;
logo?: InputMaybe<Scalars['String']>;
subdomain?: InputMaybe<Scalars['String']>;
};
export type UpsertFieldPermissionsInput = {
fieldPermissions: Array<FieldPermissionInput>;
roleId: Scalars['String'];
};
export type UpsertObjectPermissionsInput = {
objectPermissions: Array<ObjectPermissionInput>;
roleId: Scalars['String'];
};
export type UpsertSettingPermissionsInput = {
roleId: Scalars['String'];
settingPermissionKeys: Array<SettingPermissionType>;
};
export type User = {
__typename?: 'User';
availableWorkspaces: AvailableWorkspaces;
canAccessFullAdminPanel: Scalars['Boolean'];
canImpersonate: Scalars['Boolean'];
createdAt: Scalars['DateTime'];
currentUserWorkspace?: Maybe<UserWorkspace>;
currentWorkspace?: Maybe<Workspace>;
defaultAvatarUrl?: Maybe<Scalars['String']>;
deletedAt?: Maybe<Scalars['DateTime']>;
deletedWorkspaceMembers?: Maybe<Array<DeletedWorkspaceMember>>;
disabled?: Maybe<Scalars['Boolean']>;
email: Scalars['String'];
firstName: Scalars['String'];
id: Scalars['UUID'];
isEmailVerified: Scalars['Boolean'];
lastName: Scalars['String'];
locale: Scalars['String'];
onboardingStatus?: Maybe<OnboardingStatus>;
passwordHash?: Maybe<Scalars['String']>;
supportUserHash?: Maybe<Scalars['String']>;
updatedAt: Scalars['DateTime'];
userVars?: Maybe<Scalars['JSONObject']>;
workspaceMember?: Maybe<WorkspaceMember>;
workspaceMembers?: Maybe<Array<WorkspaceMember>>;
workspaces: Array<UserWorkspace>;
};
export type UserEdge = {
__typename?: 'UserEdge';
/** Cursor for this node. */
cursor: Scalars['ConnectionCursor'];
/** The node containing the User */
node: User;
};
export type UserInfo = {
__typename?: 'UserInfo';
email: Scalars['String'];
firstName?: Maybe<Scalars['String']>;
id: Scalars['String'];
lastName?: Maybe<Scalars['String']>;
};
export type UserLookup = {
__typename?: 'UserLookup';
user: UserInfo;
workspaces: Array<WorkspaceInfo>;
};
export type UserMappingOptionsUser = {
__typename?: 'UserMappingOptionsUser';
user?: Maybe<Scalars['String']>;
};
export type UserWorkspace = {
__typename?: 'UserWorkspace';
createdAt: Scalars['DateTime'];
deletedAt?: Maybe<Scalars['DateTime']>;
id: Scalars['UUID'];
locale: Scalars['String'];
objectPermissions?: Maybe<Array<ObjectPermission>>;
/** @deprecated Use objectPermissions instead */
objectRecordsPermissions?: Maybe<Array<PermissionsOnAllObjectRecords>>;
settingsPermissions?: Maybe<Array<SettingPermissionType>>;
updatedAt: Scalars['DateTime'];
user: User;
userId: Scalars['String'];
workspace?: Maybe<Workspace>;
workspaceId: Scalars['String'];
};
export type ValidateApprovedAccessDomainInput = {
approvedAccessDomainId: Scalars['String'];
validationToken: Scalars['String'];
};
export type ValidatePasswordResetToken = {
__typename?: 'ValidatePasswordResetToken';
email: Scalars['String'];
id: Scalars['String'];
};
export type VersionInfo = {
__typename?: 'VersionInfo';
currentVersion?: Maybe<Scalars['String']>;
latestVersion: Scalars['String'];
};
export type WorkerQueueMetrics = {
__typename?: 'WorkerQueueMetrics';
active: Scalars['Float'];
completed: Scalars['Float'];
completedData?: Maybe<Array<Scalars['Float']>>;
delayed: Scalars['Float'];
failed: Scalars['Float'];
failedData?: Maybe<Array<Scalars['Float']>>;
failureRate: Scalars['Float'];
waiting: Scalars['Float'];
};
export type WorkflowAction = {
__typename?: 'WorkflowAction';
id: Scalars['UUID'];
name: Scalars['String'];
nextStepIds?: Maybe<Array<Scalars['UUID']>>;
settings: Scalars['JSON'];
type: Scalars['String'];
valid: Scalars['Boolean'];
};
export type WorkflowRun = {
__typename?: 'WorkflowRun';
workflowRunId: Scalars['UUID'];
};
export type WorkflowVersion = {
__typename?: 'WorkflowVersion';
id: Scalars['UUID'];
};
export type Workspace = {
__typename?: 'Workspace';
activationStatus: WorkspaceActivationStatus;
allowImpersonation: Scalars['Boolean'];
billingSubscriptions: Array<BillingSubscription>;
createdAt: Scalars['DateTime'];
currentBillingSubscription?: Maybe<BillingSubscription>;
customDomain?: Maybe<Scalars['String']>;
databaseSchema: Scalars['String'];
databaseUrl: Scalars['String'];
defaultRole?: Maybe<Role>;
deletedAt?: Maybe<Scalars['DateTime']>;
displayName?: Maybe<Scalars['String']>;
featureFlags?: Maybe<Array<FeatureFlagDto>>;
hasValidEnterpriseKey: Scalars['Boolean'];
id: Scalars['UUID'];
inviteHash?: Maybe<Scalars['String']>;
isCustomDomainEnabled: Scalars['Boolean'];
isGoogleAuthEnabled: Scalars['Boolean'];
isMicrosoftAuthEnabled: Scalars['Boolean'];
isPasswordAuthEnabled: Scalars['Boolean'];
isPublicInviteLinkEnabled: Scalars['Boolean'];
logo?: Maybe<Scalars['String']>;
metadataVersion: Scalars['Float'];
subdomain: Scalars['String'];
updatedAt: Scalars['DateTime'];
version?: Maybe<Scalars['String']>;
workspaceMembersCount?: Maybe<Scalars['Float']>;
workspaceUrls: WorkspaceUrls;
};
export enum WorkspaceActivationStatus {
ACTIVE = 'ACTIVE',
INACTIVE = 'INACTIVE',
ONGOING_CREATION = 'ONGOING_CREATION',
PENDING_CREATION = 'PENDING_CREATION',
SUSPENDED = 'SUSPENDED'
}
export type WorkspaceEdge = {
__typename?: 'WorkspaceEdge';
/** Cursor for this node. */
cursor: Scalars['ConnectionCursor'];
/** The node containing the Workspace */
node: Workspace;
};
export type WorkspaceInfo = {
__typename?: 'WorkspaceInfo';
allowImpersonation: Scalars['Boolean'];
featureFlags: Array<FeatureFlag>;
id: Scalars['String'];
logo?: Maybe<Scalars['String']>;
name: Scalars['String'];
totalUsers: Scalars['Float'];
users: Array<UserInfo>;
};
export type WorkspaceInvitation = {
__typename?: 'WorkspaceInvitation';
email: Scalars['String'];
expiresAt: Scalars['DateTime'];
id: Scalars['UUID'];
};
export type WorkspaceInviteHashValid = {
__typename?: 'WorkspaceInviteHashValid';
isValid: Scalars['Boolean'];
};
export type WorkspaceMember = {
__typename?: 'WorkspaceMember';
avatarUrl?: Maybe<Scalars['String']>;
colorScheme: Scalars['String'];
dateFormat?: Maybe<WorkspaceMemberDateFormatEnum>;
id: Scalars['UUID'];
locale?: Maybe<Scalars['String']>;
name: FullName;
roles?: Maybe<Array<Role>>;
timeFormat?: Maybe<WorkspaceMemberTimeFormatEnum>;
timeZone?: Maybe<Scalars['String']>;
userEmail: Scalars['String'];
userWorkspaceId?: Maybe<Scalars['String']>;
};
/** Date format as Month first, Day first, Year first or system as default */
export enum WorkspaceMemberDateFormatEnum {
DAY_FIRST = 'DAY_FIRST',
MONTH_FIRST = 'MONTH_FIRST',
SYSTEM = 'SYSTEM',
YEAR_FIRST = 'YEAR_FIRST'
}
/** Time time as Military, Standard or system as default */
export enum WorkspaceMemberTimeFormatEnum {
HOUR_12 = 'HOUR_12',
HOUR_24 = 'HOUR_24',
SYSTEM = 'SYSTEM'
}
export type WorkspaceNameAndId = {
__typename?: 'WorkspaceNameAndId';
displayName?: Maybe<Scalars['String']>;
id: Scalars['String'];
};
export type WorkspaceUrls = {
__typename?: 'WorkspaceUrls';
customUrl?: Maybe<Scalars['String']>;
subdomainUrl: Scalars['String'];
};
export type WorkspaceUrlsAndId = {
__typename?: 'WorkspaceUrlsAndId';
id: Scalars['String'];
workspaceUrls: WorkspaceUrls;
};
export type SearchQueryVariables = Exact<{
searchInput: Scalars['String'];
limit: Scalars['Int'];
after?: InputMaybe<Scalars['String']>;
excludedObjectNameSingulars?: InputMaybe<Array<Scalars['String']> | Scalars['String']>;
includedObjectNameSingulars?: InputMaybe<Array<Scalars['String']> | Scalars['String']>;
filter?: InputMaybe<ObjectRecordFilterInput>;
}>;
export type SearchQuery = { __typename?: 'Query', search: { __typename?: 'SearchResultConnection', edges: Array<{ __typename?: 'SearchResultEdge', cursor: string, node: { __typename?: 'SearchRecord', recordId: string, objectNameSingular: string, label: string, imageUrl?: string | null, tsRankCD: number, tsRank: number } }>, pageInfo: { __typename?: 'SearchResultPageInfo', hasNextPage: boolean, endCursor?: string | null } } };
export type OnDbEventSubscriptionVariables = Exact<{
input: OnDbEventInput;
}>;
export type OnDbEventSubscription = { __typename?: 'Subscription', onDbEvent: { __typename?: 'OnDbEventDTO', eventDate: string, action: DatabaseEventAction, objectNameSingular: string, updatedFields?: Array<string> | null, record: any } };
export const SearchDocument = gql`
query Search($searchInput: String!, $limit: Int!, $after: String, $excludedObjectNameSingulars: [String!], $includedObjectNameSingulars: [String!], $filter: ObjectRecordFilterInput) {
search(
searchInput: $searchInput
limit: $limit
after: $after
excludedObjectNameSingulars: $excludedObjectNameSingulars
includedObjectNameSingulars: $includedObjectNameSingulars
filter: $filter
) {
edges {
node {
recordId
objectNameSingular
label
imageUrl
tsRankCD
tsRank
}
cursor
}
pageInfo {
hasNextPage
endCursor
}
}
}
`;
/**
* __useSearchQuery__
*
* To run a query within a React component, call `useSearchQuery` and pass it any options that fit your needs.
* When your component renders, `useSearchQuery` returns an object from Apollo Client that contains loading, error, and data properties
* you can use to render your UI.
*
* @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
*
* @example
* const { data, loading, error } = useSearchQuery({
* variables: {
* searchInput: // value for 'searchInput'
* limit: // value for 'limit'
* after: // value for 'after'
* excludedObjectNameSingulars: // value for 'excludedObjectNameSingulars'
* includedObjectNameSingulars: // value for 'includedObjectNameSingulars'
* filter: // value for 'filter'
* },
* });
*/
export function useSearchQuery(baseOptions: Apollo.QueryHookOptions<SearchQuery, SearchQueryVariables>) {
const options = {...defaultOptions, ...baseOptions}
return Apollo.useQuery<SearchQuery, SearchQueryVariables>(SearchDocument, options);
}
export function useSearchLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions<SearchQuery, SearchQueryVariables>) {
const options = {...defaultOptions, ...baseOptions}
return Apollo.useLazyQuery<SearchQuery, SearchQueryVariables>(SearchDocument, options);
}
export type SearchQueryHookResult = ReturnType<typeof useSearchQuery>;
export type SearchLazyQueryHookResult = ReturnType<typeof useSearchLazyQuery>;
export type SearchQueryResult = Apollo.QueryResult<SearchQuery, SearchQueryVariables>;
export const OnDbEventDocument = gql`
subscription OnDbEvent($input: OnDbEventInput!) {
onDbEvent(input: $input) {
eventDate
action
objectNameSingular
updatedFields
record
}
}
`;
/**
* __useOnDbEventSubscription__
*
* To run a query within a React component, call `useOnDbEventSubscription` and pass it any options that fit your needs.
* When your component renders, `useOnDbEventSubscription` returns an object from Apollo Client that contains loading, error, and data properties
* you can use to render your UI.
*
* @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;
*
* @example
* const { data, loading, error } = useOnDbEventSubscription({
* variables: {
* input: // value for 'input'
* },
* });
*/
export function useOnDbEventSubscription(baseOptions: Apollo.SubscriptionHookOptions<OnDbEventSubscription, OnDbEventSubscriptionVariables>) {
const options = {...defaultOptions, ...baseOptions}
return Apollo.useSubscription<OnDbEventSubscription, OnDbEventSubscriptionVariables>(OnDbEventDocument, options);
}
export type OnDbEventSubscriptionHookResult = ReturnType<typeof useOnDbEventSubscription>;
export type OnDbEventSubscriptionResult = Apollo.SubscriptionResult<OnDbEventSubscription>;