chore: update codegen config for enum naming convention (#9751)

Co-authored-by: etiennejouan <jouan.etienne@gmail.com>
This commit is contained in:
Etienne
2025-01-21 11:34:33 +01:00
committed by GitHub
parent d4b038f24a
commit e1731bb31e
222 changed files with 1245 additions and 1235 deletions

View File

@ -16,6 +16,9 @@ module.exports = {
presetConfig: { presetConfig: {
fragmentMasking: false, fragmentMasking: false,
}, },
config: {
namingConvention: { enumValues: 'keep' },
}
}, },
}, },
}; };

View File

@ -29,6 +29,7 @@ module.exports = {
scalars: { scalars: {
DateTime: 'string', DateTime: 'string',
}, },
namingConvention: { enumValues: 'keep' },
}, },
}, },
}, },

File diff suppressed because one or more lines are too long

View File

@ -117,8 +117,8 @@ export type Billing = {
/** The different billing plans available */ /** The different billing plans available */
export enum BillingPlanKey { export enum BillingPlanKey {
Enterprise = 'ENTERPRISE', ENTERPRISE = 'ENTERPRISE',
Pro = 'PRO' PRO = 'PRO'
} }
export type BillingSubscription = { export type BillingSubscription = {
@ -141,7 +141,7 @@ export type BillingSubscriptionSort = {
}; };
export enum BillingSubscriptionSortFields { export enum BillingSubscriptionSortFields {
Id = 'id' id = 'id'
} }
export type BooleanFieldComparison = { export type BooleanFieldComparison = {
@ -150,8 +150,8 @@ export type BooleanFieldComparison = {
}; };
export enum CalendarChannelVisibility { export enum CalendarChannelVisibility {
Metadata = 'METADATA', METADATA = 'METADATA',
ShareEverything = 'SHARE_EVERYTHING' SHARE_EVERYTHING = 'SHARE_EVERYTHING'
} }
export type Captcha = { export type Captcha = {
@ -272,10 +272,10 @@ export type DeleteWorkflowVersionStepInput = {
/** Schema update on a table */ /** Schema update on a table */
export enum DistantTableUpdate { export enum DistantTableUpdate {
ColumnsAdded = 'COLUMNS_ADDED', COLUMNS_ADDED = 'COLUMNS_ADDED',
ColumnsDeleted = 'COLUMNS_DELETED', COLUMNS_DELETED = 'COLUMNS_DELETED',
ColumnsTypeChanged = 'COLUMNS_TYPE_CHANGED', COLUMNS_TYPE_CHANGED = 'COLUMNS_TYPE_CHANGED',
TableDeleted = 'TABLE_DELETED' TABLE_DELETED = 'TABLE_DELETED'
} }
export type EditSsoInput = { export type EditSsoInput = {
@ -328,7 +328,7 @@ export enum FeatureFlagKey {
IsJsonFilterEnabled = 'IsJsonFilterEnabled', IsJsonFilterEnabled = 'IsJsonFilterEnabled',
IsLocalizationEnabled = 'IsLocalizationEnabled', IsLocalizationEnabled = 'IsLocalizationEnabled',
IsMicrosoftSyncEnabled = 'IsMicrosoftSyncEnabled', IsMicrosoftSyncEnabled = 'IsMicrosoftSyncEnabled',
IsPostgreSqlIntegrationEnabled = 'IsPostgreSQLIntegrationEnabled', IsPostgreSQLIntegrationEnabled = 'IsPostgreSQLIntegrationEnabled',
IsStripeIntegrationEnabled = 'IsStripeIntegrationEnabled', IsStripeIntegrationEnabled = 'IsStripeIntegrationEnabled',
IsUniqueIndexesEnabled = 'IsUniqueIndexesEnabled', IsUniqueIndexesEnabled = 'IsUniqueIndexesEnabled',
IsWorkflowEnabled = 'IsWorkflowEnabled' IsWorkflowEnabled = 'IsWorkflowEnabled'
@ -344,29 +344,29 @@ export type FieldConnection = {
/** Type of the field */ /** Type of the field */
export enum FieldMetadataType { export enum FieldMetadataType {
Actor = 'ACTOR', ACTOR = 'ACTOR',
Address = 'ADDRESS', ADDRESS = 'ADDRESS',
Array = 'ARRAY', ARRAY = 'ARRAY',
Boolean = 'BOOLEAN', BOOLEAN = 'BOOLEAN',
Currency = 'CURRENCY', CURRENCY = 'CURRENCY',
Date = 'DATE', DATE = 'DATE',
DateTime = 'DATE_TIME', DATE_TIME = 'DATE_TIME',
Emails = 'EMAILS', EMAILS = 'EMAILS',
FullName = 'FULL_NAME', FULL_NAME = 'FULL_NAME',
Links = 'LINKS', LINKS = 'LINKS',
MultiSelect = 'MULTI_SELECT', MULTI_SELECT = 'MULTI_SELECT',
Number = 'NUMBER', NUMBER = 'NUMBER',
Numeric = 'NUMERIC', NUMERIC = 'NUMERIC',
Phones = 'PHONES', PHONES = 'PHONES',
Position = 'POSITION', POSITION = 'POSITION',
Rating = 'RATING', RATING = 'RATING',
RawJson = 'RAW_JSON', RAW_JSON = 'RAW_JSON',
Relation = 'RELATION', RELATION = 'RELATION',
RichText = 'RICH_TEXT', RICH_TEXT = 'RICH_TEXT',
Select = 'SELECT', SELECT = 'SELECT',
Text = 'TEXT', TEXT = 'TEXT',
TsVector = 'TS_VECTOR', TS_VECTOR = 'TS_VECTOR',
Uuid = 'UUID' UUID = 'UUID'
} }
export enum FileFolder { export enum FileFolder {
@ -412,8 +412,8 @@ export type GetServerlessFunctionSourceCodeInput = {
}; };
export enum IdentityProviderType { export enum IdentityProviderType {
Oidc = 'OIDC', OIDC = 'OIDC',
Saml = 'SAML' SAML = 'SAML'
} }
export type ImpersonateOutput = { export type ImpersonateOutput = {
@ -448,8 +448,8 @@ export type IndexObjectMetadataConnection = {
/** Type of the index */ /** Type of the index */
export enum IndexType { export enum IndexType {
Btree = 'BTREE', BTREE = 'BTREE',
Gin = 'GIN' GIN = 'GIN'
} }
export type InvalidatePassword = { export type InvalidatePassword = {
@ -477,9 +477,9 @@ export type LoginToken = {
}; };
export enum MessageChannelVisibility { export enum MessageChannelVisibility {
Metadata = 'METADATA', METADATA = 'METADATA',
ShareEverything = 'SHARE_EVERYTHING', SHARE_EVERYTHING = 'SHARE_EVERYTHING',
Subject = 'SUBJECT' SUBJECT = 'SUBJECT'
} }
export type Mutation = { export type Mutation = {
@ -842,12 +842,12 @@ export type ObjectIndexMetadatasConnection = {
/** Onboarding status */ /** Onboarding status */
export enum OnboardingStatus { export enum OnboardingStatus {
Completed = 'COMPLETED', COMPLETED = 'COMPLETED',
InviteTeam = 'INVITE_TEAM', INVITE_TEAM = 'INVITE_TEAM',
PlanRequired = 'PLAN_REQUIRED', PLAN_REQUIRED = 'PLAN_REQUIRED',
ProfileCreation = 'PROFILE_CREATION', PROFILE_CREATION = 'PROFILE_CREATION',
SyncEmail = 'SYNC_EMAIL', SYNC_EMAIL = 'SYNC_EMAIL',
WorkspaceActivation = 'WORKSPACE_ACTIVATION' WORKSPACE_ACTIVATION = 'WORKSPACE_ACTIVATION'
} }
export type OnboardingStepSuccess = { export type OnboardingStepSuccess = {
@ -1035,18 +1035,18 @@ export type RelationDefinition = {
/** Relation definition type */ /** Relation definition type */
export enum RelationDefinitionType { export enum RelationDefinitionType {
ManyToMany = 'MANY_TO_MANY', MANY_TO_MANY = 'MANY_TO_MANY',
ManyToOne = 'MANY_TO_ONE', MANY_TO_ONE = 'MANY_TO_ONE',
OneToMany = 'ONE_TO_MANY', ONE_TO_MANY = 'ONE_TO_MANY',
OneToOne = 'ONE_TO_ONE' ONE_TO_ONE = 'ONE_TO_ONE'
} }
/** Type of the relation */ /** Type of the relation */
export enum RelationMetadataType { export enum RelationMetadataType {
ManyToMany = 'MANY_TO_MANY', MANY_TO_MANY = 'MANY_TO_MANY',
ManyToOne = 'MANY_TO_ONE', MANY_TO_ONE = 'MANY_TO_ONE',
OneToMany = 'ONE_TO_MANY', ONE_TO_MANY = 'ONE_TO_MANY',
OneToOne = 'ONE_TO_ONE' ONE_TO_ONE = 'ONE_TO_ONE'
} }
export type RemoteServer = { export type RemoteServer = {
@ -1073,8 +1073,8 @@ export type RemoteTable = {
/** Status of the table */ /** Status of the table */
export enum RemoteTableStatus { export enum RemoteTableStatus {
NotSynced = 'NOT_SYNCED', NOT_SYNCED = 'NOT_SYNCED',
Synced = 'SYNCED' SYNCED = 'SYNCED'
} }
export type ResendEmailVerificationTokenOutput = { export type ResendEmailVerificationTokenOutput = {
@ -1157,8 +1157,8 @@ export type ServerlessFunctionExecutionResult = {
/** Status of the serverless function execution */ /** Status of the serverless function execution */
export enum ServerlessFunctionExecutionStatus { export enum ServerlessFunctionExecutionStatus {
Error = 'ERROR', ERROR = 'ERROR',
Success = 'SUCCESS' SUCCESS = 'SUCCESS'
} }
export type ServerlessFunctionIdInput = { export type ServerlessFunctionIdInput = {
@ -1168,8 +1168,8 @@ export type ServerlessFunctionIdInput = {
/** SyncStatus of the serverlessFunction */ /** SyncStatus of the serverlessFunction */
export enum ServerlessFunctionSyncStatus { export enum ServerlessFunctionSyncStatus {
NotReady = 'NOT_READY', NOT_READY = 'NOT_READY',
Ready = 'READY' READY = 'READY'
} }
export type SessionEntity = { export type SessionEntity = {
@ -1210,14 +1210,14 @@ export type SignUpOutput = {
/** Sort Directions */ /** Sort Directions */
export enum SortDirection { export enum SortDirection {
Asc = 'ASC', ASC = 'ASC',
Desc = 'DESC' DESC = 'DESC'
} }
/** Sort Nulls Options */ /** Sort Nulls Options */
export enum SortNulls { export enum SortNulls {
NullsFirst = 'NULLS_FIRST', NULLS_FIRST = 'NULLS_FIRST',
NullsLast = 'NULLS_LAST' NULLS_LAST = 'NULLS_LAST'
} }
export enum SubscriptionInterval { export enum SubscriptionInterval {
@ -1611,17 +1611,17 @@ export type WorkspaceMember = {
/** Date format as Month first, Day first, Year first or system as default */ /** Date format as Month first, Day first, Year first or system as default */
export enum WorkspaceMemberDateFormatEnum { export enum WorkspaceMemberDateFormatEnum {
DayFirst = 'DAY_FIRST', DAY_FIRST = 'DAY_FIRST',
MonthFirst = 'MONTH_FIRST', MONTH_FIRST = 'MONTH_FIRST',
System = 'SYSTEM', SYSTEM = 'SYSTEM',
YearFirst = 'YEAR_FIRST' YEAR_FIRST = 'YEAR_FIRST'
} }
/** Time time as Military, Standard or system as default */ /** Time time as Military, Standard or system as default */
export enum WorkspaceMemberTimeFormatEnum { export enum WorkspaceMemberTimeFormatEnum {
Hour_12 = 'HOUR_12', HOUR_12 = 'HOUR_12',
Hour_24 = 'HOUR_24', HOUR_24 = 'HOUR_24',
System = 'SYSTEM' SYSTEM = 'SYSTEM'
} }
export type WorkspaceNameAndId = { export type WorkspaceNameAndId = {
@ -1654,7 +1654,7 @@ export type BillingCustomerSort = {
}; };
export enum BillingCustomerSortFields { export enum BillingCustomerSortFields {
Id = 'id' id = 'id'
} }
export type BillingEntitlement = { export type BillingEntitlement = {
@ -1678,7 +1678,7 @@ export type BillingEntitlementSort = {
}; };
export enum BillingEntitlementSortFields { export enum BillingEntitlementSortFields {
Id = 'id' id = 'id'
} }
export type Field = { export type Field = {

View File

@ -49,194 +49,194 @@ jest.mocked(useDefaultHomePagePath).mockReturnValue({
// prettier-ignore // prettier-ignore
const testCases = [ const testCases = [
{ loc: AppPath.Verify, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: AppPath.PlanRequired }, { loc: AppPath.Verify, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.Verify, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: '/settings/billing' }, { loc: AppPath.Verify, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: '/settings/billing' },
{ loc: AppPath.Verify, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: undefined }, { loc: AppPath.Verify, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: undefined },
{ loc: AppPath.Verify, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: AppPath.CreateWorkspace }, { loc: AppPath.Verify, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: AppPath.CreateWorkspace },
{ loc: AppPath.Verify, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: AppPath.CreateProfile }, { loc: AppPath.Verify, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: AppPath.CreateProfile },
{ loc: AppPath.Verify, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: AppPath.SyncEmails }, { loc: AppPath.Verify, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: AppPath.SyncEmails },
{ loc: AppPath.Verify, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: AppPath.InviteTeam }, { loc: AppPath.Verify, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: AppPath.InviteTeam },
{ loc: AppPath.Verify, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: defaultHomePagePath }, { loc: AppPath.Verify, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: defaultHomePagePath },
{ loc: AppPath.SignInUp, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: AppPath.PlanRequired }, { loc: AppPath.SignInUp, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.SignInUp, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: '/settings/billing' }, { loc: AppPath.SignInUp, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: '/settings/billing' },
{ loc: AppPath.SignInUp, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: undefined }, { loc: AppPath.SignInUp, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: undefined },
{ loc: AppPath.SignInUp, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: AppPath.CreateWorkspace }, { loc: AppPath.SignInUp, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: AppPath.CreateWorkspace },
{ loc: AppPath.SignInUp, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: AppPath.CreateProfile }, { loc: AppPath.SignInUp, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: AppPath.CreateProfile },
{ loc: AppPath.SignInUp, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: AppPath.SyncEmails }, { loc: AppPath.SignInUp, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: AppPath.SyncEmails },
{ loc: AppPath.SignInUp, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: AppPath.InviteTeam }, { loc: AppPath.SignInUp, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: AppPath.InviteTeam },
{ loc: AppPath.SignInUp, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: defaultHomePagePath }, { loc: AppPath.SignInUp, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: defaultHomePagePath },
{ loc: AppPath.Invite, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: undefined }, { loc: AppPath.Invite, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: undefined },
{ loc: AppPath.Invite, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: undefined }, { loc: AppPath.Invite, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
{ loc: AppPath.Invite, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: undefined }, { loc: AppPath.Invite, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: undefined },
{ loc: AppPath.Invite, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: undefined }, { loc: AppPath.Invite, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: undefined },
{ loc: AppPath.Invite, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: undefined }, { loc: AppPath.Invite, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: undefined },
{ loc: AppPath.Invite, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: undefined }, { loc: AppPath.Invite, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: undefined },
{ loc: AppPath.Invite, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: undefined }, { loc: AppPath.Invite, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: undefined },
{ loc: AppPath.Invite, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: undefined }, { loc: AppPath.Invite, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
{ loc: AppPath.ResetPassword, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: undefined }, { loc: AppPath.ResetPassword, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: undefined },
{ loc: AppPath.ResetPassword, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: undefined }, { loc: AppPath.ResetPassword, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
{ loc: AppPath.ResetPassword, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: undefined }, { loc: AppPath.ResetPassword, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: undefined },
{ loc: AppPath.ResetPassword, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: undefined }, { loc: AppPath.ResetPassword, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: undefined },
{ loc: AppPath.ResetPassword, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: undefined }, { loc: AppPath.ResetPassword, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: undefined },
{ loc: AppPath.ResetPassword, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: undefined }, { loc: AppPath.ResetPassword, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: undefined },
{ loc: AppPath.ResetPassword, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: undefined }, { loc: AppPath.ResetPassword, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: undefined },
{ loc: AppPath.ResetPassword, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: undefined }, { loc: AppPath.ResetPassword, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
{ loc: AppPath.VerifyEmail, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: undefined }, { loc: AppPath.VerifyEmail, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: undefined },
{ loc: AppPath.VerifyEmail, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: undefined }, { loc: AppPath.VerifyEmail, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
{ loc: AppPath.VerifyEmail, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: undefined }, { loc: AppPath.VerifyEmail, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: undefined },
{ loc: AppPath.VerifyEmail, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: undefined }, { loc: AppPath.VerifyEmail, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: undefined },
{ loc: AppPath.VerifyEmail, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: undefined }, { loc: AppPath.VerifyEmail, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: undefined },
{ loc: AppPath.VerifyEmail, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: undefined }, { loc: AppPath.VerifyEmail, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: undefined },
{ loc: AppPath.VerifyEmail, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: undefined }, { loc: AppPath.VerifyEmail, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: undefined },
{ loc: AppPath.VerifyEmail, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: undefined }, { loc: AppPath.VerifyEmail, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
{ loc: AppPath.CreateWorkspace, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: AppPath.PlanRequired }, { loc: AppPath.CreateWorkspace, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.CreateWorkspace, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: '/settings/billing' }, { loc: AppPath.CreateWorkspace, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: '/settings/billing' },
{ loc: AppPath.CreateWorkspace, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp }, { loc: AppPath.CreateWorkspace, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp },
{ loc: AppPath.CreateWorkspace, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: undefined }, { loc: AppPath.CreateWorkspace, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: undefined },
{ loc: AppPath.CreateWorkspace, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: AppPath.CreateProfile }, { loc: AppPath.CreateWorkspace, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: AppPath.CreateProfile },
{ loc: AppPath.CreateWorkspace, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: AppPath.SyncEmails }, { loc: AppPath.CreateWorkspace, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: AppPath.SyncEmails },
{ loc: AppPath.CreateWorkspace, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: AppPath.InviteTeam }, { loc: AppPath.CreateWorkspace, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: AppPath.InviteTeam },
{ loc: AppPath.CreateWorkspace, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: defaultHomePagePath }, { loc: AppPath.CreateWorkspace, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: defaultHomePagePath },
{ loc: AppPath.CreateProfile, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: AppPath.PlanRequired }, { loc: AppPath.CreateProfile, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.CreateProfile, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: '/settings/billing' }, { loc: AppPath.CreateProfile, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: '/settings/billing' },
{ loc: AppPath.CreateProfile, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp }, { loc: AppPath.CreateProfile, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp },
{ loc: AppPath.CreateProfile, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: AppPath.CreateWorkspace }, { loc: AppPath.CreateProfile, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: AppPath.CreateWorkspace },
{ loc: AppPath.CreateProfile, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: undefined }, { loc: AppPath.CreateProfile, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: undefined },
{ loc: AppPath.CreateProfile, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: AppPath.SyncEmails }, { loc: AppPath.CreateProfile, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: AppPath.SyncEmails },
{ loc: AppPath.CreateProfile, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: AppPath.InviteTeam }, { loc: AppPath.CreateProfile, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: AppPath.InviteTeam },
{ loc: AppPath.CreateProfile, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: defaultHomePagePath }, { loc: AppPath.CreateProfile, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: defaultHomePagePath },
{ loc: AppPath.SyncEmails, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: AppPath.PlanRequired }, { loc: AppPath.SyncEmails, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.SyncEmails, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: '/settings/billing' }, { loc: AppPath.SyncEmails, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: '/settings/billing' },
{ loc: AppPath.SyncEmails, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp }, { loc: AppPath.SyncEmails, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp },
{ loc: AppPath.SyncEmails, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: AppPath.CreateWorkspace }, { loc: AppPath.SyncEmails, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: AppPath.CreateWorkspace },
{ loc: AppPath.SyncEmails, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: AppPath.CreateProfile }, { loc: AppPath.SyncEmails, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: AppPath.CreateProfile },
{ loc: AppPath.SyncEmails, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: undefined }, { loc: AppPath.SyncEmails, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: undefined },
{ loc: AppPath.SyncEmails, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: AppPath.InviteTeam }, { loc: AppPath.SyncEmails, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: AppPath.InviteTeam },
{ loc: AppPath.SyncEmails, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: defaultHomePagePath }, { loc: AppPath.SyncEmails, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: defaultHomePagePath },
{ loc: AppPath.InviteTeam, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: AppPath.PlanRequired }, { loc: AppPath.InviteTeam, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.InviteTeam, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: '/settings/billing' }, { loc: AppPath.InviteTeam, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: '/settings/billing' },
{ loc: AppPath.InviteTeam, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp }, { loc: AppPath.InviteTeam, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp },
{ loc: AppPath.InviteTeam, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: AppPath.CreateWorkspace }, { loc: AppPath.InviteTeam, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: AppPath.CreateWorkspace },
{ loc: AppPath.InviteTeam, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: AppPath.CreateProfile }, { loc: AppPath.InviteTeam, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: AppPath.CreateProfile },
{ loc: AppPath.InviteTeam, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: AppPath.SyncEmails }, { loc: AppPath.InviteTeam, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: AppPath.SyncEmails },
{ loc: AppPath.InviteTeam, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: undefined }, { loc: AppPath.InviteTeam, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: undefined },
{ loc: AppPath.InviteTeam, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: defaultHomePagePath }, { loc: AppPath.InviteTeam, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: defaultHomePagePath },
{ loc: AppPath.PlanRequired, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: undefined }, { loc: AppPath.PlanRequired, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: undefined },
{ loc: AppPath.PlanRequired, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: '/settings/billing' }, { loc: AppPath.PlanRequired, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: '/settings/billing' },
{ loc: AppPath.PlanRequired, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp }, { loc: AppPath.PlanRequired, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp },
{ loc: AppPath.PlanRequired, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: AppPath.CreateWorkspace }, { loc: AppPath.PlanRequired, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: AppPath.CreateWorkspace },
{ loc: AppPath.PlanRequired, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: AppPath.CreateProfile }, { loc: AppPath.PlanRequired, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: AppPath.CreateProfile },
{ loc: AppPath.PlanRequired, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: AppPath.SyncEmails }, { loc: AppPath.PlanRequired, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: AppPath.SyncEmails },
{ loc: AppPath.PlanRequired, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: AppPath.InviteTeam }, { loc: AppPath.PlanRequired, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: AppPath.InviteTeam },
{ loc: AppPath.PlanRequired, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: defaultHomePagePath }, { loc: AppPath.PlanRequired, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: defaultHomePagePath },
{ loc: AppPath.PlanRequiredSuccess, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: undefined }, { loc: AppPath.PlanRequiredSuccess, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: undefined },
{ loc: AppPath.PlanRequiredSuccess, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: '/settings/billing' }, { loc: AppPath.PlanRequiredSuccess, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: '/settings/billing' },
{ loc: AppPath.PlanRequiredSuccess, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp }, { loc: AppPath.PlanRequiredSuccess, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp },
{ loc: AppPath.PlanRequiredSuccess, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: undefined }, { loc: AppPath.PlanRequiredSuccess, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: undefined },
{ loc: AppPath.PlanRequiredSuccess, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: AppPath.CreateProfile }, { loc: AppPath.PlanRequiredSuccess, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: AppPath.CreateProfile },
{ loc: AppPath.PlanRequiredSuccess, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: AppPath.SyncEmails }, { loc: AppPath.PlanRequiredSuccess, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: AppPath.SyncEmails },
{ loc: AppPath.PlanRequiredSuccess, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: AppPath.InviteTeam }, { loc: AppPath.PlanRequiredSuccess, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: AppPath.InviteTeam },
{ loc: AppPath.PlanRequiredSuccess, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: defaultHomePagePath }, { loc: AppPath.PlanRequiredSuccess, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: defaultHomePagePath },
{ loc: AppPath.Index, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: AppPath.PlanRequired }, { loc: AppPath.Index, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.Index, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: '/settings/billing' }, { loc: AppPath.Index, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: '/settings/billing' },
{ loc: AppPath.Index, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp }, { loc: AppPath.Index, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp },
{ loc: AppPath.Index, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: AppPath.CreateWorkspace }, { loc: AppPath.Index, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: AppPath.CreateWorkspace },
{ loc: AppPath.Index, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: AppPath.CreateProfile }, { loc: AppPath.Index, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: AppPath.CreateProfile },
{ loc: AppPath.Index, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: AppPath.SyncEmails }, { loc: AppPath.Index, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: AppPath.SyncEmails },
{ loc: AppPath.Index, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: AppPath.InviteTeam }, { loc: AppPath.Index, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: AppPath.InviteTeam },
{ loc: AppPath.Index, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: defaultHomePagePath }, { loc: AppPath.Index, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: defaultHomePagePath },
{ loc: AppPath.TasksPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: AppPath.PlanRequired }, { loc: AppPath.TasksPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.TasksPage, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: '/settings/billing' }, { loc: AppPath.TasksPage, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: '/settings/billing' },
{ loc: AppPath.TasksPage, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp }, { loc: AppPath.TasksPage, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp },
{ loc: AppPath.TasksPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: AppPath.CreateWorkspace }, { loc: AppPath.TasksPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: AppPath.CreateWorkspace },
{ loc: AppPath.TasksPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: AppPath.CreateProfile }, { loc: AppPath.TasksPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: AppPath.CreateProfile },
{ loc: AppPath.TasksPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: AppPath.SyncEmails }, { loc: AppPath.TasksPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: AppPath.SyncEmails },
{ loc: AppPath.TasksPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: AppPath.InviteTeam }, { loc: AppPath.TasksPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: AppPath.InviteTeam },
{ loc: AppPath.TasksPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: undefined }, { loc: AppPath.TasksPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
{ loc: AppPath.OpportunitiesPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: AppPath.PlanRequired }, { loc: AppPath.OpportunitiesPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.OpportunitiesPage, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: '/settings/billing' }, { loc: AppPath.OpportunitiesPage, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: '/settings/billing' },
{ loc: AppPath.OpportunitiesPage, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp }, { loc: AppPath.OpportunitiesPage, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp },
{ loc: AppPath.OpportunitiesPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: AppPath.CreateWorkspace }, { loc: AppPath.OpportunitiesPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: AppPath.CreateWorkspace },
{ loc: AppPath.OpportunitiesPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: AppPath.CreateProfile }, { loc: AppPath.OpportunitiesPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: AppPath.CreateProfile },
{ loc: AppPath.OpportunitiesPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: AppPath.SyncEmails }, { loc: AppPath.OpportunitiesPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: AppPath.SyncEmails },
{ loc: AppPath.OpportunitiesPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: AppPath.InviteTeam }, { loc: AppPath.OpportunitiesPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: AppPath.InviteTeam },
{ loc: AppPath.OpportunitiesPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: undefined }, { loc: AppPath.OpportunitiesPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
{ loc: AppPath.RecordIndexPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: AppPath.PlanRequired }, { loc: AppPath.RecordIndexPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.RecordIndexPage, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: '/settings/billing' }, { loc: AppPath.RecordIndexPage, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: '/settings/billing' },
{ loc: AppPath.RecordIndexPage, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp }, { loc: AppPath.RecordIndexPage, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp },
{ loc: AppPath.RecordIndexPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: AppPath.CreateWorkspace }, { loc: AppPath.RecordIndexPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: AppPath.CreateWorkspace },
{ loc: AppPath.RecordIndexPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: AppPath.CreateProfile }, { loc: AppPath.RecordIndexPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: AppPath.CreateProfile },
{ loc: AppPath.RecordIndexPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: AppPath.SyncEmails }, { loc: AppPath.RecordIndexPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: AppPath.SyncEmails },
{ loc: AppPath.RecordIndexPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: AppPath.InviteTeam }, { loc: AppPath.RecordIndexPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: AppPath.InviteTeam },
{ loc: AppPath.RecordIndexPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: undefined }, { loc: AppPath.RecordIndexPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
{ loc: AppPath.RecordShowPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: AppPath.PlanRequired }, { loc: AppPath.RecordShowPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.RecordShowPage, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: '/settings/billing' }, { loc: AppPath.RecordShowPage, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: '/settings/billing' },
{ loc: AppPath.RecordShowPage, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp }, { loc: AppPath.RecordShowPage, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp },
{ loc: AppPath.RecordShowPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: AppPath.CreateWorkspace }, { loc: AppPath.RecordShowPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: AppPath.CreateWorkspace },
{ loc: AppPath.RecordShowPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: AppPath.CreateProfile }, { loc: AppPath.RecordShowPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: AppPath.CreateProfile },
{ loc: AppPath.RecordShowPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: AppPath.SyncEmails }, { loc: AppPath.RecordShowPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: AppPath.SyncEmails },
{ loc: AppPath.RecordShowPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: AppPath.InviteTeam }, { loc: AppPath.RecordShowPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: AppPath.InviteTeam },
{ loc: AppPath.RecordShowPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: undefined }, { loc: AppPath.RecordShowPage, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
{ loc: AppPath.SettingsCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: AppPath.PlanRequired }, { loc: AppPath.SettingsCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.SettingsCatchAll, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: undefined }, { loc: AppPath.SettingsCatchAll, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
{ loc: AppPath.SettingsCatchAll, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp }, { loc: AppPath.SettingsCatchAll, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp },
{ loc: AppPath.SettingsCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: AppPath.CreateWorkspace }, { loc: AppPath.SettingsCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: AppPath.CreateWorkspace },
{ loc: AppPath.SettingsCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: AppPath.CreateProfile }, { loc: AppPath.SettingsCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: AppPath.CreateProfile },
{ loc: AppPath.SettingsCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: AppPath.SyncEmails }, { loc: AppPath.SettingsCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: AppPath.SyncEmails },
{ loc: AppPath.SettingsCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: AppPath.InviteTeam }, { loc: AppPath.SettingsCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: AppPath.InviteTeam },
{ loc: AppPath.SettingsCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: undefined }, { loc: AppPath.SettingsCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
{ loc: AppPath.DevelopersCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: AppPath.PlanRequired }, { loc: AppPath.DevelopersCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.DevelopersCatchAll, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: '/settings/billing' }, { loc: AppPath.DevelopersCatchAll, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: '/settings/billing' },
{ loc: AppPath.DevelopersCatchAll, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp }, { loc: AppPath.DevelopersCatchAll, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp },
{ loc: AppPath.DevelopersCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: AppPath.CreateWorkspace }, { loc: AppPath.DevelopersCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: AppPath.CreateWorkspace },
{ loc: AppPath.DevelopersCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: AppPath.CreateProfile }, { loc: AppPath.DevelopersCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: AppPath.CreateProfile },
{ loc: AppPath.DevelopersCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: AppPath.SyncEmails }, { loc: AppPath.DevelopersCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: AppPath.SyncEmails },
{ loc: AppPath.DevelopersCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: AppPath.InviteTeam }, { loc: AppPath.DevelopersCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: AppPath.InviteTeam },
{ loc: AppPath.DevelopersCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: undefined }, { loc: AppPath.DevelopersCatchAll, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
{ loc: AppPath.Authorize, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: AppPath.PlanRequired }, { loc: AppPath.Authorize, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.Authorize, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: '/settings/billing' }, { loc: AppPath.Authorize, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: '/settings/billing' },
{ loc: AppPath.Authorize, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp }, { loc: AppPath.Authorize, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp },
{ loc: AppPath.Authorize, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: AppPath.CreateWorkspace }, { loc: AppPath.Authorize, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: AppPath.CreateWorkspace },
{ loc: AppPath.Authorize, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: AppPath.CreateProfile }, { loc: AppPath.Authorize, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: AppPath.CreateProfile },
{ loc: AppPath.Authorize, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: AppPath.SyncEmails }, { loc: AppPath.Authorize, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: AppPath.SyncEmails },
{ loc: AppPath.Authorize, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: AppPath.InviteTeam }, { loc: AppPath.Authorize, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: AppPath.InviteTeam },
{ loc: AppPath.Authorize, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: undefined }, { loc: AppPath.Authorize, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
{ loc: AppPath.NotFoundWildcard, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: AppPath.PlanRequired }, { loc: AppPath.NotFoundWildcard, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.NotFoundWildcard, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: '/settings/billing' }, { loc: AppPath.NotFoundWildcard, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: '/settings/billing' },
{ loc: AppPath.NotFoundWildcard, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp }, { loc: AppPath.NotFoundWildcard, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp },
{ loc: AppPath.NotFoundWildcard, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: AppPath.CreateWorkspace }, { loc: AppPath.NotFoundWildcard, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: AppPath.CreateWorkspace },
{ loc: AppPath.NotFoundWildcard, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: AppPath.CreateProfile }, { loc: AppPath.NotFoundWildcard, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: AppPath.CreateProfile },
{ loc: AppPath.NotFoundWildcard, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: AppPath.SyncEmails }, { loc: AppPath.NotFoundWildcard, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: AppPath.SyncEmails },
{ loc: AppPath.NotFoundWildcard, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: AppPath.InviteTeam }, { loc: AppPath.NotFoundWildcard, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: AppPath.InviteTeam },
{ loc: AppPath.NotFoundWildcard, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: undefined }, { loc: AppPath.NotFoundWildcard, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
{ loc: AppPath.NotFound, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PlanRequired, res: AppPath.PlanRequired }, { loc: AppPath.NotFound, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PLAN_REQUIRED, res: AppPath.PlanRequired },
{ loc: AppPath.NotFound, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.Completed, res: '/settings/billing' }, { loc: AppPath.NotFound, isLoggedIn: true, isWorkspaceSuspended: true, onboardingStatus: OnboardingStatus.COMPLETED, res: '/settings/billing' },
{ loc: AppPath.NotFound, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp }, { loc: AppPath.NotFound, isLoggedIn: false, isWorkspaceSuspended: false, onboardingStatus: undefined, res: AppPath.SignInUp },
{ loc: AppPath.NotFound, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WorkspaceActivation, res: AppPath.CreateWorkspace }, { loc: AppPath.NotFound, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.WORKSPACE_ACTIVATION, res: AppPath.CreateWorkspace },
{ loc: AppPath.NotFound, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.ProfileCreation, res: AppPath.CreateProfile }, { loc: AppPath.NotFound, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.PROFILE_CREATION, res: AppPath.CreateProfile },
{ loc: AppPath.NotFound, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SyncEmail, res: AppPath.SyncEmails }, { loc: AppPath.NotFound, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.SYNC_EMAIL, res: AppPath.SyncEmails },
{ loc: AppPath.NotFound, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.InviteTeam, res: AppPath.InviteTeam }, { loc: AppPath.NotFound, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.INVITE_TEAM, res: AppPath.InviteTeam },
{ loc: AppPath.NotFound, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.Completed, res: undefined }, { loc: AppPath.NotFound, isLoggedIn: true, isWorkspaceSuspended: false, onboardingStatus: OnboardingStatus.COMPLETED, res: undefined },
]; ];
describe('usePageChangeEffectNavigateLocation', () => { describe('usePageChangeEffectNavigateLocation', () => {

View File

@ -42,7 +42,7 @@ export const usePageChangeEffectNavigateLocation = () => {
} }
if ( if (
onboardingStatus === OnboardingStatus.PlanRequired && onboardingStatus === OnboardingStatus.PLAN_REQUIRED &&
!isMatchingLocation(AppPath.PlanRequired) && !isMatchingLocation(AppPath.PlanRequired) &&
!isMatchingLocation(AppPath.PlanRequiredSuccess) !isMatchingLocation(AppPath.PlanRequiredSuccess)
) { ) {
@ -56,7 +56,7 @@ export const usePageChangeEffectNavigateLocation = () => {
} }
if ( if (
onboardingStatus === OnboardingStatus.WorkspaceActivation && onboardingStatus === OnboardingStatus.WORKSPACE_ACTIVATION &&
!isMatchingLocation(AppPath.CreateWorkspace) && !isMatchingLocation(AppPath.CreateWorkspace) &&
!isMatchingLocation(AppPath.PlanRequiredSuccess) !isMatchingLocation(AppPath.PlanRequiredSuccess)
) { ) {
@ -64,28 +64,28 @@ export const usePageChangeEffectNavigateLocation = () => {
} }
if ( if (
onboardingStatus === OnboardingStatus.ProfileCreation && onboardingStatus === OnboardingStatus.PROFILE_CREATION &&
!isMatchingLocation(AppPath.CreateProfile) !isMatchingLocation(AppPath.CreateProfile)
) { ) {
return AppPath.CreateProfile; return AppPath.CreateProfile;
} }
if ( if (
onboardingStatus === OnboardingStatus.SyncEmail && onboardingStatus === OnboardingStatus.SYNC_EMAIL &&
!isMatchingLocation(AppPath.SyncEmails) !isMatchingLocation(AppPath.SyncEmails)
) { ) {
return AppPath.SyncEmails; return AppPath.SyncEmails;
} }
if ( if (
onboardingStatus === OnboardingStatus.InviteTeam && onboardingStatus === OnboardingStatus.INVITE_TEAM &&
!isMatchingLocation(AppPath.InviteTeam) !isMatchingLocation(AppPath.InviteTeam)
) { ) {
return AppPath.InviteTeam; return AppPath.InviteTeam;
} }
if ( if (
onboardingStatus === OnboardingStatus.Completed && onboardingStatus === OnboardingStatus.COMPLETED &&
isMatchingOnboardingRoute && isMatchingOnboardingRoute &&
isLoggedIn isLoggedIn
) { ) {

View File

@ -6,11 +6,11 @@ import { useRecoilValue } from 'recoil';
import { import {
Avatar, Avatar,
AvatarGroup, AvatarGroup,
Card,
CardContent,
IconArrowRight, IconArrowRight,
IconLock, IconLock,
isDefined, isDefined,
Card,
CardContent,
} from 'twenty-ui'; } from 'twenty-ui';
import { CalendarCurrentEventCursor } from '@/activities/calendar/components/CalendarCurrentEventCursor'; import { CalendarCurrentEventCursor } from '@/activities/calendar/components/CalendarCurrentEventCursor';
@ -126,7 +126,7 @@ export const CalendarEventRow = ({
({ workspaceMemberId }) => workspaceMemberId === currentWorkspaceMember?.id, ({ workspaceMemberId }) => workspaceMemberId === currentWorkspaceMember?.id,
); );
const showTitle = const showTitle =
calendarEvent.visibility === CalendarChannelVisibility.ShareEverything; calendarEvent.visibility === CalendarChannelVisibility.SHARE_EVERYTHING;
return ( return (
<StyledContainer <StyledContainer

View File

@ -11,7 +11,7 @@ const calendarEvents: TimelineCalendarEvent[] = [
id: '1234', id: '1234',
isFullDay: false, isFullDay: false,
startsAt: '2024-02-17T21:45:27.822Z', startsAt: '2024-02-17T21:45:27.822Z',
visibility: CalendarChannelVisibility.Metadata, visibility: CalendarChannelVisibility.METADATA,
conferenceLink: { conferenceLink: {
primaryLinkUrl: 'https://meet.google.com/abc-def-ghi', primaryLinkUrl: 'https://meet.google.com/abc-def-ghi',
primaryLinkLabel: 'Google Meet', primaryLinkLabel: 'Google Meet',
@ -30,7 +30,7 @@ const calendarEvents: TimelineCalendarEvent[] = [
id: '5678', id: '5678',
isFullDay: false, isFullDay: false,
startsAt: '2024-02-18T21:43:27.754Z', startsAt: '2024-02-18T21:43:27.754Z',
visibility: CalendarChannelVisibility.ShareEverything, visibility: CalendarChannelVisibility.SHARE_EVERYTHING,
conferenceLink: { conferenceLink: {
primaryLinkUrl: 'https://meet.google.com/abc-def-ghi', primaryLinkUrl: 'https://meet.google.com/abc-def-ghi',
primaryLinkLabel: 'Google Meet', primaryLinkLabel: 'Google Meet',
@ -49,7 +49,7 @@ const calendarEvents: TimelineCalendarEvent[] = [
id: '91011', id: '91011',
isFullDay: true, isFullDay: true,
startsAt: '2024-02-19T22:05:27.653Z', startsAt: '2024-02-19T22:05:27.653Z',
visibility: CalendarChannelVisibility.Metadata, visibility: CalendarChannelVisibility.METADATA,
conferenceLink: { conferenceLink: {
primaryLinkUrl: 'https://meet.google.com/abc-def-ghi', primaryLinkUrl: 'https://meet.google.com/abc-def-ghi',
primaryLinkLabel: 'Google Meet', primaryLinkLabel: 'Google Meet',
@ -68,7 +68,7 @@ const calendarEvents: TimelineCalendarEvent[] = [
id: '121314', id: '121314',
isFullDay: true, isFullDay: true,
startsAt: '2024-02-20T23:15:23.150Z', startsAt: '2024-02-20T23:15:23.150Z',
visibility: CalendarChannelVisibility.ShareEverything, visibility: CalendarChannelVisibility.SHARE_EVERYTHING,
conferenceLink: { conferenceLink: {
primaryLinkUrl: 'https://meet.google.com/abc-def-ghi', primaryLinkUrl: 'https://meet.google.com/abc-def-ghi',
primaryLinkLabel: 'Google Meet', primaryLinkLabel: 'Google Meet',

View File

@ -106,7 +106,7 @@ export const EmailThreadPreview = ({ thread }: EmailThreadPreviewProps) => {
.getValue(); .getValue();
const canOpen = const canOpen =
thread.visibility === MessageChannelVisibility.ShareEverything && thread.visibility === MessageChannelVisibility.SHARE_EVERYTHING &&
(!clickJustTriggeredEmailDrawerClose || (!clickJustTriggeredEmailDrawerClose ||
emailThreadIdWhenEmailThreadWasClosed !== thread.id); emailThreadIdWhenEmailThreadWasClosed !== thread.id);
@ -122,7 +122,7 @@ export const EmailThreadPreview = ({ thread }: EmailThreadPreviewProps) => {
], ],
); );
const isDisabled = visibility !== MessageChannelVisibility.ShareEverything; const isDisabled = visibility !== MessageChannelVisibility.SHARE_EVERYTHING;
return ( return (
<ActivityRow <ActivityRow
@ -167,13 +167,13 @@ export const EmailThreadPreview = ({ thread }: EmailThreadPreviewProps) => {
</StyledHeading> </StyledHeading>
<StyledSubjectAndBody> <StyledSubjectAndBody>
{visibility !== MessageChannelVisibility.Metadata && ( {visibility !== MessageChannelVisibility.METADATA && (
<StyledSubject>{thread.subject}</StyledSubject> <StyledSubject>{thread.subject}</StyledSubject>
)} )}
{visibility === MessageChannelVisibility.ShareEverything && ( {visibility === MessageChannelVisibility.SHARE_EVERYTHING && (
<StyledBody>{thread.lastMessageBody}</StyledBody> <StyledBody>{thread.lastMessageBody}</StyledBody>
)} )}
{visibility !== MessageChannelVisibility.ShareEverything && ( {visibility !== MessageChannelVisibility.SHARE_EVERYTHING && (
<EmailThreadNotShared /> <EmailThreadNotShared />
)} )}
</StyledSubjectAndBody> </StyledSubjectAndBody>

View File

@ -30,7 +30,7 @@ export const triggerUpdateRelationsOptimisticEffect = ({
return sourceObjectMetadataItem.fields.forEach( return sourceObjectMetadataItem.fields.forEach(
(fieldMetadataItemOnSourceRecord) => { (fieldMetadataItemOnSourceRecord) => {
const notARelationField = const notARelationField =
fieldMetadataItemOnSourceRecord.type !== FieldMetadataType.Relation; fieldMetadataItemOnSourceRecord.type !== FieldMetadataType.RELATION;
if (notARelationField) { if (notARelationField) {
return; return;

View File

@ -16,7 +16,7 @@ jest.mock('@/auth/hooks/useAuth', () => ({
describe('useSignInWithGoogle', () => { describe('useSignInWithGoogle', () => {
const mockBillingCheckoutSession = { const mockBillingCheckoutSession = {
plan: BillingPlanKey.Pro, plan: BillingPlanKey.PRO,
interval: SubscriptionInterval.Month, interval: SubscriptionInterval.Month,
requirePaymentMethod: true, requirePaymentMethod: true,
}; };

View File

@ -5,7 +5,7 @@ import {
} from '~/generated-metadata/graphql'; } from '~/generated-metadata/graphql';
export const BILLING_CHECKOUT_SESSION_DEFAULT_VALUE: BillingCheckoutSession = { export const BILLING_CHECKOUT_SESSION_DEFAULT_VALUE: BillingCheckoutSession = {
plan: BillingPlanKey.Pro, plan: BillingPlanKey.PRO,
interval: SubscriptionInterval.Month, interval: SubscriptionInterval.Month,
requirePaymentMethod: true, requirePaymentMethod: true,
}; };

View File

@ -26,7 +26,7 @@ export const useFavorites = () => {
() => () =>
favoriteObjectMetadataItem.fields.filter( favoriteObjectMetadataItem.fields.filter(
(fieldMetadataItem) => (fieldMetadataItem) =>
fieldMetadataItem.type === FieldMetadataType.Relation && fieldMetadataItem.type === FieldMetadataType.RELATION &&
fieldMetadataItem.name !== 'workspaceMember' && fieldMetadataItem.name !== 'workspaceMember' &&
fieldMetadataItem.name !== 'favoriteFolder', fieldMetadataItem.name !== 'favoriteFolder',
), ),

View File

@ -21,7 +21,7 @@ export const useFavoritesMetadata = () => {
const favoriteRelationFields = favoriteObjectMetadataItem.fields.filter( const favoriteRelationFields = favoriteObjectMetadataItem.fields.filter(
(fieldMetadataItem) => (fieldMetadataItem) =>
fieldMetadataItem.type === FieldMetadataType.Relation && fieldMetadataItem.type === FieldMetadataType.RELATION &&
fieldMetadataItem.name !== 'workspaceMember' && fieldMetadataItem.name !== 'workspaceMember' &&
fieldMetadataItem.name !== 'favoriteFolder', fieldMetadataItem.name !== 'favoriteFolder',
); );

View File

@ -26,7 +26,7 @@ export const useWorkspaceFavorites = () => {
() => () =>
favoriteObjectMetadataItem.fields.filter( favoriteObjectMetadataItem.fields.filter(
(fieldMetadataItem) => (fieldMetadataItem) =>
fieldMetadataItem.type === FieldMetadataType.Relation && fieldMetadataItem.type === FieldMetadataType.RELATION &&
fieldMetadataItem.name !== 'workspaceMember' && fieldMetadataItem.name !== 'workspaceMember' &&
fieldMetadataItem.name !== 'favoriteFolder', fieldMetadataItem.name !== 'favoriteFolder',
), ),

View File

@ -6,13 +6,13 @@ export const getDateFormatFromWorkspaceDateFormat = (
workspaceDateFormat: WorkspaceMemberDateFormatEnum, workspaceDateFormat: WorkspaceMemberDateFormatEnum,
) => { ) => {
switch (workspaceDateFormat) { switch (workspaceDateFormat) {
case WorkspaceMemberDateFormatEnum.System: case WorkspaceMemberDateFormatEnum.SYSTEM:
return DateFormat[detectDateFormat()]; return DateFormat[detectDateFormat()];
case WorkspaceMemberDateFormatEnum.MonthFirst: case WorkspaceMemberDateFormatEnum.MONTH_FIRST:
return DateFormat.MONTH_FIRST; return DateFormat.MONTH_FIRST;
case WorkspaceMemberDateFormatEnum.DayFirst: case WorkspaceMemberDateFormatEnum.DAY_FIRST:
return DateFormat.DAY_FIRST; return DateFormat.DAY_FIRST;
case WorkspaceMemberDateFormatEnum.YearFirst: case WorkspaceMemberDateFormatEnum.YEAR_FIRST:
return DateFormat.YEAR_FIRST; return DateFormat.YEAR_FIRST;
default: default:
return DateFormat.MONTH_FIRST; return DateFormat.MONTH_FIRST;

View File

@ -6,11 +6,11 @@ export const getTimeFormatFromWorkspaceTimeFormat = (
workspaceTimeFormat: WorkspaceMemberTimeFormatEnum, workspaceTimeFormat: WorkspaceMemberTimeFormatEnum,
) => { ) => {
switch (workspaceTimeFormat) { switch (workspaceTimeFormat) {
case WorkspaceMemberTimeFormatEnum.System: case WorkspaceMemberTimeFormatEnum.SYSTEM:
return TimeFormat[detectTimeFormat()]; return TimeFormat[detectTimeFormat()];
case WorkspaceMemberTimeFormatEnum.Hour_24: case WorkspaceMemberTimeFormatEnum.HOUR_24:
return TimeFormat.HOUR_24; return TimeFormat.HOUR_24;
case WorkspaceMemberTimeFormatEnum.Hour_12: case WorkspaceMemberTimeFormatEnum.HOUR_12:
return TimeFormat.HOUR_12; return TimeFormat.HOUR_12;
default: default:
return TimeFormat.HOUR_24; return TimeFormat.HOUR_24;

View File

@ -6,14 +6,14 @@ export const getWorkspaceDateFormatFromDateFormat = (
) => { ) => {
switch (dateFormat) { switch (dateFormat) {
case DateFormat.SYSTEM: case DateFormat.SYSTEM:
return WorkspaceMemberDateFormatEnum.System; return WorkspaceMemberDateFormatEnum.SYSTEM;
case DateFormat.MONTH_FIRST: case DateFormat.MONTH_FIRST:
return WorkspaceMemberDateFormatEnum.MonthFirst; return WorkspaceMemberDateFormatEnum.MONTH_FIRST;
case DateFormat.DAY_FIRST: case DateFormat.DAY_FIRST:
return WorkspaceMemberDateFormatEnum.DayFirst; return WorkspaceMemberDateFormatEnum.DAY_FIRST;
case DateFormat.YEAR_FIRST: case DateFormat.YEAR_FIRST:
return WorkspaceMemberDateFormatEnum.YearFirst; return WorkspaceMemberDateFormatEnum.YEAR_FIRST;
default: default:
return WorkspaceMemberDateFormatEnum.MonthFirst; return WorkspaceMemberDateFormatEnum.MONTH_FIRST;
} }
}; };

View File

@ -6,12 +6,12 @@ export const getWorkspaceTimeFormatFromTimeFormat = (
) => { ) => {
switch (timeFormat) { switch (timeFormat) {
case TimeFormat.SYSTEM: case TimeFormat.SYSTEM:
return WorkspaceMemberTimeFormatEnum.System; return WorkspaceMemberTimeFormatEnum.SYSTEM;
case TimeFormat.HOUR_24: case TimeFormat.HOUR_24:
return WorkspaceMemberTimeFormatEnum.Hour_24; return WorkspaceMemberTimeFormatEnum.HOUR_24;
case TimeFormat.HOUR_12: case TimeFormat.HOUR_12:
return WorkspaceMemberTimeFormatEnum.Hour_12; return WorkspaceMemberTimeFormatEnum.HOUR_12;
default: default:
return WorkspaceMemberTimeFormatEnum.Hour_24; return WorkspaceMemberTimeFormatEnum.HOUR_24;
} }
}; };

View File

@ -1,6 +1,6 @@
import { FieldMetadataType } from '~/generated-metadata/graphql'; import { FieldMetadataType } from '~/generated-metadata/graphql';
export const LABEL_IDENTIFIER_FIELD_METADATA_TYPES = [ export const LABEL_IDENTIFIER_FIELD_METADATA_TYPES = [
FieldMetadataType.Number, FieldMetadataType.NUMBER,
FieldMetadataType.Text, FieldMetadataType.TEXT,
]; ];

View File

@ -1,17 +1,17 @@
import { FieldMetadataType } from '~/generated-metadata/graphql'; import { FieldMetadataType } from '~/generated-metadata/graphql';
export const SORTABLE_FIELD_METADATA_TYPES = [ export const SORTABLE_FIELD_METADATA_TYPES = [
FieldMetadataType.DateTime, FieldMetadataType.DATE_TIME,
FieldMetadataType.Date, FieldMetadataType.DATE,
FieldMetadataType.Number, FieldMetadataType.NUMBER,
FieldMetadataType.Text, FieldMetadataType.TEXT,
FieldMetadataType.Boolean, FieldMetadataType.BOOLEAN,
FieldMetadataType.Select, FieldMetadataType.SELECT,
FieldMetadataType.Emails, FieldMetadataType.EMAILS,
FieldMetadataType.FullName, FieldMetadataType.FULL_NAME,
FieldMetadataType.Rating, FieldMetadataType.RATING,
FieldMetadataType.Currency, FieldMetadataType.CURRENCY,
FieldMetadataType.Actor, FieldMetadataType.ACTOR,
FieldMetadataType.Links, FieldMetadataType.LINKS,
FieldMetadataType.Phones, FieldMetadataType.PHONES,
]; ];

View File

@ -239,7 +239,7 @@ const defaultResponseData = {
const fieldRelationResponseData = { const fieldRelationResponseData = {
...defaultResponseData, ...defaultResponseData,
id: FIELD_RELATION_METADATA_ID, id: FIELD_RELATION_METADATA_ID,
type: FieldMetadataType.Relation, type: FieldMetadataType.RELATION,
}; };
export const responseData = { export const responseData = {

View File

@ -56,7 +56,7 @@ describe('useCreateOneRelationMetadataItem', () => {
await act(async () => { await act(async () => {
const res = await result.current.createOneRelationMetadataItem({ const res = await result.current.createOneRelationMetadataItem({
relationType: RelationDefinitionType.OneToOne, relationType: RelationDefinitionType.ONE_TO_ONE,
field: { field: {
label: 'label', label: 'label',
name: 'name', name: 'name',

View File

@ -26,7 +26,7 @@ const fieldMetadataItem: FieldMetadataItem = {
createdAt: '', createdAt: '',
label: 'label', label: 'label',
name: 'name', name: 'name',
type: FieldMetadataType.Text, type: FieldMetadataType.TEXT,
updatedAt: '', updatedAt: '',
isLabelSyncedWithName: true, isLabelSyncedWithName: true,
}; };
@ -36,12 +36,12 @@ const fieldRelationMetadataItem: FieldMetadataItem = {
createdAt: '', createdAt: '',
label: 'label', label: 'label',
name: 'name', name: 'name',
type: FieldMetadataType.Relation, type: FieldMetadataType.RELATION,
updatedAt: '', updatedAt: '',
isLabelSyncedWithName: true, isLabelSyncedWithName: true,
relationDefinition: { relationDefinition: {
relationId: RELATION_METADATA_ID, relationId: RELATION_METADATA_ID,
direction: RelationDefinitionType.OneToMany, direction: RelationDefinitionType.ONE_TO_MANY,
sourceFieldMetadata: { sourceFieldMetadata: {
id: 'e5903d91-9b10-4f3e-b761-35c36e93b7c1', id: 'e5903d91-9b10-4f3e-b761-35c36e93b7c1',
name: 'sourceField', name: 'sourceField',
@ -204,7 +204,7 @@ describe('useFieldMetadataItem', () => {
const res = await result.current.createMetadataField({ const res = await result.current.createMetadataField({
label: 'fieldLabel', label: 'fieldLabel',
objectMetadataId, objectMetadataId,
type: FieldMetadataType.Text, type: FieldMetadataType.TEXT,
name: 'fieldName', name: 'fieldName',
isLabelSyncedWithName: true, isLabelSyncedWithName: true,
}); });

View File

@ -63,7 +63,7 @@ export const useFieldMetadataItem = () => {
}); });
const deleteMetadataField = (metadataField: FieldMetadataItem) => { const deleteMetadataField = (metadataField: FieldMetadataItem) => {
return metadataField.type === FieldMetadataType.Relation return metadataField.type === FieldMetadataType.RELATION
? deleteOneRelationMetadataItem( ? deleteOneRelationMetadataItem(
metadataField.relationDefinition?.relationId, metadataField.relationDefinition?.relationId,
) )

View File

@ -16,7 +16,7 @@ export const useGetRelationMetadata = () =>
'type' | 'relationDefinition' 'type' | 'relationDefinition'
>; >;
}) => { }) => {
if (fieldMetadataItem.type !== FieldMetadataType.Relation) return null; if (fieldMetadataItem.type !== FieldMetadataType.RELATION) return null;
const relationDefinition = fieldMetadataItem.relationDefinition; const relationDefinition = fieldMetadataItem.relationDefinition;

View File

@ -26,7 +26,7 @@ describe('formatFieldMetadataItemInput', () => {
label: 'Example Label', label: 'Example Label',
name: 'exampleLabel', name: 'exampleLabel',
icon: 'example-icon', icon: 'example-icon',
type: FieldMetadataType.Select, type: FieldMetadataType.SELECT,
description: 'Example description', description: 'Example description',
options, options,
isLabelSyncedWithName: true, isLabelSyncedWithName: true,
@ -52,7 +52,7 @@ describe('formatFieldMetadataItemInput', () => {
label: 'Example Label', label: 'Example Label',
name: 'exampleLabel', name: 'exampleLabel',
icon: 'example-icon', icon: 'example-icon',
type: FieldMetadataType.Select, type: FieldMetadataType.SELECT,
description: 'Example description', description: 'Example description',
isLabelSyncedWithName: true, isLabelSyncedWithName: true,
}; };
@ -94,7 +94,7 @@ describe('formatFieldMetadataItemInput', () => {
label: 'Example Label', label: 'Example Label',
name: 'exampleLabel', name: 'exampleLabel',
icon: 'example-icon', icon: 'example-icon',
type: FieldMetadataType.MultiSelect, type: FieldMetadataType.MULTI_SELECT,
description: 'Example description', description: 'Example description',
options, options,
isLabelSyncedWithName: true, isLabelSyncedWithName: true,
@ -120,7 +120,7 @@ describe('formatFieldMetadataItemInput', () => {
label: 'Example Label', label: 'Example Label',
name: 'exampleLabel', name: 'exampleLabel',
icon: 'example-icon', icon: 'example-icon',
type: FieldMetadataType.MultiSelect, type: FieldMetadataType.MULTI_SELECT,
description: 'Example description', description: 'Example description',
isLabelSyncedWithName: true, isLabelSyncedWithName: true,
}; };

View File

@ -5,14 +5,14 @@ describe('shouldFieldBeQueried', () => {
describe('if recordGqlFields is absent, we query all except relations', () => { describe('if recordGqlFields is absent, we query all except relations', () => {
it('should be queried if the field is not a relation', () => { it('should be queried if the field is not a relation', () => {
const res = shouldFieldBeQueried({ const res = shouldFieldBeQueried({
field: { name: 'fieldName', type: FieldMetadataType.Boolean }, field: { name: 'fieldName', type: FieldMetadataType.BOOLEAN },
}); });
expect(res).toBe(true); expect(res).toBe(true);
}); });
it('should not be queried if the field is a relation', () => { it('should not be queried if the field is a relation', () => {
const res = shouldFieldBeQueried({ const res = shouldFieldBeQueried({
field: { name: 'fieldName', type: FieldMetadataType.Relation }, field: { name: 'fieldName', type: FieldMetadataType.RELATION },
}); });
expect(res).toBe(false); expect(res).toBe(false);
}); });
@ -22,7 +22,7 @@ describe('shouldFieldBeQueried', () => {
it('should be queried if true', () => { it('should be queried if true', () => {
const res = shouldFieldBeQueried({ const res = shouldFieldBeQueried({
recordGqlFields: { fieldName: true }, recordGqlFields: { fieldName: true },
field: { name: 'fieldName', type: FieldMetadataType.Relation }, field: { name: 'fieldName', type: FieldMetadataType.RELATION },
}); });
expect(res).toBe(true); expect(res).toBe(true);
}); });
@ -30,7 +30,7 @@ describe('shouldFieldBeQueried', () => {
it('should be queried if object', () => { it('should be queried if object', () => {
const res = shouldFieldBeQueried({ const res = shouldFieldBeQueried({
recordGqlFields: { fieldName: { subFieldName: false } }, recordGqlFields: { fieldName: { subFieldName: false } },
field: { name: 'fieldName', type: FieldMetadataType.Relation }, field: { name: 'fieldName', type: FieldMetadataType.RELATION },
}); });
expect(res).toBe(true); expect(res).toBe(true);
}); });
@ -38,7 +38,7 @@ describe('shouldFieldBeQueried', () => {
it('should not be queried if false', () => { it('should not be queried if false', () => {
const res = shouldFieldBeQueried({ const res = shouldFieldBeQueried({
recordGqlFields: { fieldName: false }, recordGqlFields: { fieldName: false },
field: { name: 'fieldName', type: FieldMetadataType.Relation }, field: { name: 'fieldName', type: FieldMetadataType.RELATION },
}); });
expect(res).toBe(false); expect(res).toBe(false);
}); });
@ -46,7 +46,7 @@ describe('shouldFieldBeQueried', () => {
it('should not be queried if absent', () => { it('should not be queried if absent', () => {
const res = shouldFieldBeQueried({ const res = shouldFieldBeQueried({
recordGqlFields: { otherFieldName: false }, recordGqlFields: { otherFieldName: false },
field: { name: 'fieldName', type: FieldMetadataType.Relation }, field: { name: 'fieldName', type: FieldMetadataType.RELATION },
}); });
expect(res).toBe(false); expect(res).toBe(false);
}); });

View File

@ -15,34 +15,34 @@ export const formatFieldMetadataItemsAsFilterDefinitions = ({
}): RecordFilterDefinition[] => { }): RecordFilterDefinition[] => {
return fields.reduce((acc, field) => { return fields.reduce((acc, field) => {
if ( if (
field.type === FieldMetadataType.Relation && field.type === FieldMetadataType.RELATION &&
field.relationDefinition?.direction !== field.relationDefinition?.direction !==
RelationDefinitionType.ManyToOne && RelationDefinitionType.MANY_TO_ONE &&
field.relationDefinition?.direction !== RelationDefinitionType.OneToOne field.relationDefinition?.direction !== RelationDefinitionType.ONE_TO_ONE
) { ) {
return acc; return acc;
} }
if ( if (
![ ![
FieldMetadataType.Boolean, FieldMetadataType.BOOLEAN,
FieldMetadataType.DateTime, FieldMetadataType.DATE_TIME,
FieldMetadataType.Date, FieldMetadataType.DATE,
FieldMetadataType.Text, FieldMetadataType.TEXT,
FieldMetadataType.Emails, FieldMetadataType.EMAILS,
FieldMetadataType.Number, FieldMetadataType.NUMBER,
FieldMetadataType.Links, FieldMetadataType.LINKS,
FieldMetadataType.FullName, FieldMetadataType.FULL_NAME,
FieldMetadataType.Address, FieldMetadataType.ADDRESS,
FieldMetadataType.Relation, FieldMetadataType.RELATION,
FieldMetadataType.Select, FieldMetadataType.SELECT,
FieldMetadataType.MultiSelect, FieldMetadataType.MULTI_SELECT,
FieldMetadataType.Currency, FieldMetadataType.CURRENCY,
FieldMetadataType.Rating, FieldMetadataType.RATING,
FieldMetadataType.Actor, FieldMetadataType.ACTOR,
FieldMetadataType.Phones, FieldMetadataType.PHONES,
FieldMetadataType.Array, FieldMetadataType.ARRAY,
...(isJsonFilterEnabled ? [FieldMetadataType.RawJson] : []), ...(isJsonFilterEnabled ? [FieldMetadataType.RAW_JSON] : []),
].includes(field.type) ].includes(field.type)
) { ) {
return acc; return acc;
@ -69,39 +69,39 @@ export const formatFieldMetadataItemAsFilterDefinition = ({
export const getFilterTypeFromFieldType = (fieldType: FieldMetadataType) => { export const getFilterTypeFromFieldType = (fieldType: FieldMetadataType) => {
switch (fieldType) { switch (fieldType) {
case FieldMetadataType.DateTime: case FieldMetadataType.DATE_TIME:
return 'DATE_TIME'; return 'DATE_TIME';
case FieldMetadataType.Date: case FieldMetadataType.DATE:
return 'DATE'; return 'DATE';
case FieldMetadataType.Links: case FieldMetadataType.LINKS:
return 'LINKS'; return 'LINKS';
case FieldMetadataType.FullName: case FieldMetadataType.FULL_NAME:
return 'FULL_NAME'; return 'FULL_NAME';
case FieldMetadataType.Number: case FieldMetadataType.NUMBER:
return 'NUMBER'; return 'NUMBER';
case FieldMetadataType.Currency: case FieldMetadataType.CURRENCY:
return 'CURRENCY'; return 'CURRENCY';
case FieldMetadataType.Emails: case FieldMetadataType.EMAILS:
return 'EMAILS'; return 'EMAILS';
case FieldMetadataType.Phones: case FieldMetadataType.PHONES:
return 'PHONES'; return 'PHONES';
case FieldMetadataType.Relation: case FieldMetadataType.RELATION:
return 'RELATION'; return 'RELATION';
case FieldMetadataType.Select: case FieldMetadataType.SELECT:
return 'SELECT'; return 'SELECT';
case FieldMetadataType.MultiSelect: case FieldMetadataType.MULTI_SELECT:
return 'MULTI_SELECT'; return 'MULTI_SELECT';
case FieldMetadataType.Address: case FieldMetadataType.ADDRESS:
return 'ADDRESS'; return 'ADDRESS';
case FieldMetadataType.Rating: case FieldMetadataType.RATING:
return 'RATING'; return 'RATING';
case FieldMetadataType.Actor: case FieldMetadataType.ACTOR:
return 'ACTOR'; return 'ACTOR';
case FieldMetadataType.Array: case FieldMetadataType.ARRAY:
return 'ARRAY'; return 'ARRAY';
case FieldMetadataType.RawJson: case FieldMetadataType.RAW_JSON:
return 'RAW_JSON'; return 'RAW_JSON';
case FieldMetadataType.Boolean: case FieldMetadataType.BOOLEAN:
return 'BOOLEAN'; return 'BOOLEAN';
default: default:
return 'TEXT'; return 'TEXT';

View File

@ -25,7 +25,7 @@ export const formatRelationMetadataInput = (
// => Transform into ONE_TO_MANY and invert "from" and "to" data. // => Transform into ONE_TO_MANY and invert "from" and "to" data.
const isManyToOne = input.relationType === 'MANY_TO_ONE'; const isManyToOne = input.relationType === 'MANY_TO_ONE';
const relationType = isManyToOne const relationType = isManyToOne
? RelationDefinitionType.OneToMany ? RelationDefinitionType.ONE_TO_MANY
: (input.relationType as RelationDefinitionType); : (input.relationType as RelationDefinitionType);
const { field: fromField, objectMetadataId: fromObjectMetadataId } = const { field: fromField, objectMetadataId: fromObjectMetadataId } =
isManyToOne ? input.connect : input; isManyToOne ? input.connect : input;

View File

@ -11,7 +11,7 @@ export const getLabelIdentifierFieldValue = (
): string => { ): string => {
if ( if (
objectNameSingular === CoreObjectNameSingular.WorkspaceMember || objectNameSingular === CoreObjectNameSingular.WorkspaceMember ||
labelIdentifierFieldMetadataItem?.type === FieldMetadataType.FullName labelIdentifierFieldMetadataItem?.type === FieldMetadataType.FULL_NAME
) { ) {
return `${record.name?.firstName ?? ''} ${record.name?.lastName ?? ''}`; return `${record.name?.firstName ?? ''} ${record.name?.lastName ?? ''}`;
} }

View File

@ -14,7 +14,7 @@ export const getOrderByForFieldMetadataType = (
direction: OrderBy | null | undefined, direction: OrderBy | null | undefined,
): RecordGqlOperationOrderBy => { ): RecordGqlOperationOrderBy => {
switch (field.type) { switch (field.type) {
case FieldMetadataType.FullName: case FieldMetadataType.FULL_NAME:
return [ return [
{ {
[field.name]: { [field.name]: {
@ -23,7 +23,7 @@ export const getOrderByForFieldMetadataType = (
}, },
}, },
]; ];
case FieldMetadataType.Currency: case FieldMetadataType.CURRENCY:
return [ return [
{ {
[field.name]: { [field.name]: {
@ -31,7 +31,7 @@ export const getOrderByForFieldMetadataType = (
}, },
}, },
]; ];
case FieldMetadataType.Actor: case FieldMetadataType.ACTOR:
return [ return [
{ {
[field.name]: { [field.name]: {
@ -39,7 +39,7 @@ export const getOrderByForFieldMetadataType = (
}, },
}, },
]; ];
case FieldMetadataType.Links: case FieldMetadataType.LINKS:
return [ return [
{ {
[field.name]: { [field.name]: {
@ -47,7 +47,7 @@ export const getOrderByForFieldMetadataType = (
} satisfies { [key in keyof FieldLinksValue]?: OrderBy }, } satisfies { [key in keyof FieldLinksValue]?: OrderBy },
}, },
]; ];
case FieldMetadataType.Emails: case FieldMetadataType.EMAILS:
return [ return [
{ {
[field.name]: { [field.name]: {
@ -55,7 +55,7 @@ export const getOrderByForFieldMetadataType = (
} satisfies { [key in keyof FieldEmailsValue]?: OrderBy }, } satisfies { [key in keyof FieldEmailsValue]?: OrderBy },
}, },
]; ];
case FieldMetadataType.Phones: case FieldMetadataType.PHONES:
return [ return [
{ {
[field.name]: { [field.name]: {

View File

@ -24,19 +24,19 @@ export const mapFieldMetadataToGraphQLQuery = ({
const fieldType = field.type; const fieldType = field.type;
const fieldIsSimpleValue = [ const fieldIsSimpleValue = [
FieldMetadataType.Uuid, FieldMetadataType.UUID,
FieldMetadataType.Text, FieldMetadataType.TEXT,
FieldMetadataType.DateTime, FieldMetadataType.DATE_TIME,
FieldMetadataType.Date, FieldMetadataType.DATE,
FieldMetadataType.Number, FieldMetadataType.NUMBER,
FieldMetadataType.Boolean, FieldMetadataType.BOOLEAN,
FieldMetadataType.Rating, FieldMetadataType.RATING,
FieldMetadataType.Select, FieldMetadataType.SELECT,
FieldMetadataType.MultiSelect, FieldMetadataType.MULTI_SELECT,
FieldMetadataType.Position, FieldMetadataType.POSITION,
FieldMetadataType.RawJson, FieldMetadataType.RAW_JSON,
FieldMetadataType.RichText, FieldMetadataType.RICH_TEXT,
FieldMetadataType.Array, FieldMetadataType.ARRAY,
].includes(fieldType); ].includes(fieldType);
if (fieldIsSimpleValue) { if (fieldIsSimpleValue) {
@ -44,8 +44,8 @@ export const mapFieldMetadataToGraphQLQuery = ({
} }
if ( if (
fieldType === FieldMetadataType.Relation && fieldType === FieldMetadataType.RELATION &&
field.relationDefinition?.direction === RelationDefinitionType.ManyToOne field.relationDefinition?.direction === RelationDefinitionType.MANY_TO_ONE
) { ) {
const relationMetadataItem = objectMetadataItems.find( const relationMetadataItem = objectMetadataItems.find(
(objectMetadataItem) => (objectMetadataItem) =>
@ -68,8 +68,8 @@ ${mapObjectMetadataToGraphQLQuery({
} }
if ( if (
fieldType === FieldMetadataType.Relation && fieldType === FieldMetadataType.RELATION &&
field.relationDefinition?.direction === RelationDefinitionType.OneToMany field.relationDefinition?.direction === RelationDefinitionType.ONE_TO_MANY
) { ) {
const relationMetadataItem = objectMetadataItems.find( const relationMetadataItem = objectMetadataItems.find(
(objectMetadataItem) => (objectMetadataItem) =>
@ -95,7 +95,7 @@ ${mapObjectMetadataToGraphQLQuery({
}`; }`;
} }
if (fieldType === FieldMetadataType.Links) { if (fieldType === FieldMetadataType.LINKS) {
return `${field.name} return `${field.name}
{ {
primaryLinkUrl primaryLinkUrl
@ -104,7 +104,7 @@ ${mapObjectMetadataToGraphQLQuery({
}`; }`;
} }
if (fieldType === FieldMetadataType.Currency) { if (fieldType === FieldMetadataType.CURRENCY) {
return `${field.name} return `${field.name}
{ {
amountMicros amountMicros
@ -113,7 +113,7 @@ ${mapObjectMetadataToGraphQLQuery({
`; `;
} }
if (fieldType === FieldMetadataType.FullName) { if (fieldType === FieldMetadataType.FULL_NAME) {
return `${field.name} return `${field.name}
{ {
firstName firstName
@ -121,7 +121,7 @@ ${mapObjectMetadataToGraphQLQuery({
}`; }`;
} }
if (fieldType === FieldMetadataType.Address) { if (fieldType === FieldMetadataType.ADDRESS) {
return `${field.name} return `${field.name}
{ {
addressStreet1 addressStreet1
@ -135,7 +135,7 @@ ${mapObjectMetadataToGraphQLQuery({
}`; }`;
} }
if (fieldType === FieldMetadataType.Actor) { if (fieldType === FieldMetadataType.ACTOR) {
return `${field.name} return `${field.name}
{ {
source source
@ -144,7 +144,7 @@ ${mapObjectMetadataToGraphQLQuery({
}`; }`;
} }
if (fieldType === FieldMetadataType.Emails) { if (fieldType === FieldMetadataType.EMAILS) {
return `${field.name} return `${field.name}
{ {
primaryEmail primaryEmail
@ -152,7 +152,7 @@ ${mapObjectMetadataToGraphQLQuery({
}`; }`;
} }
if (fieldType === FieldMetadataType.Phones) { if (fieldType === FieldMetadataType.PHONES) {
return `${field.name} return `${field.name}
{ {
primaryPhoneNumber primaryPhoneNumber

View File

@ -16,7 +16,7 @@ export const shouldFieldBeQueried = ({
}): any => { }): any => {
if ( if (
isUndefinedOrNull(recordGqlFields) && isUndefinedOrNull(recordGqlFields) &&
field.type !== FieldMetadataType.Relation field.type !== FieldMetadataType.RELATION
) { ) {
return true; return true;
} }

View File

@ -60,9 +60,9 @@ export const getRecordNodeFromRecord = <T extends ObjectRecord>({
} }
if ( if (
field.type === FieldMetadataType.Relation && field.type === FieldMetadataType.RELATION &&
field.relationDefinition?.direction === field.relationDefinition?.direction ===
RelationDefinitionType.OneToMany RelationDefinitionType.ONE_TO_MANY
) { ) {
const oneToManyObjectMetadataItem = objectMetadataItems.find( const oneToManyObjectMetadataItem = objectMetadataItems.find(
(item) => (item) =>
@ -93,7 +93,7 @@ export const getRecordNodeFromRecord = <T extends ObjectRecord>({
} }
switch (field.type) { switch (field.type) {
case FieldMetadataType.Relation: { case FieldMetadataType.RELATION: {
if ( if (
isUndefined( isUndefined(
field.relationDefinition?.targetObjectMetadata.nameSingular, field.relationDefinition?.targetObjectMetadata.nameSingular,
@ -131,10 +131,10 @@ export const getRecordNodeFromRecord = <T extends ObjectRecord>({
}, },
]; ];
} }
case FieldMetadataType.Links: case FieldMetadataType.LINKS:
case FieldMetadataType.Address: case FieldMetadataType.ADDRESS:
case FieldMetadataType.FullName: case FieldMetadataType.FULL_NAME:
case FieldMetadataType.Currency: { case FieldMetadataType.CURRENCY: {
return [ return [
fieldName, fieldName,
{ {

View File

@ -1,7 +1,7 @@
import { FieldMetadataType } from '~/generated-metadata/graphql'; import { FieldMetadataType } from '~/generated-metadata/graphql';
export const FIELD_NOT_OVERWRITTEN_AT_DRAFT = [ export const FIELD_NOT_OVERWRITTEN_AT_DRAFT = [
FieldMetadataType.Address, FieldMetadataType.ADDRESS,
FieldMetadataType.Phones, FieldMetadataType.PHONES,
FieldMetadataType.Links, FieldMetadataType.LINKS,
]; ];

View File

@ -25,7 +25,7 @@ const mockObjectMetadataItem: ObjectMetadataItem = {
id: 'field-1', id: 'field-1',
name: 'amount', name: 'amount',
label: 'Amount', label: 'Amount',
type: FieldMetadataType.Number, type: FieldMetadataType.NUMBER,
isCustom: false, isCustom: false,
isActive: true, isActive: true,
createdAt: new Date().toISOString(), createdAt: new Date().toISOString(),
@ -35,7 +35,7 @@ const mockObjectMetadataItem: ObjectMetadataItem = {
id: 'field-2', id: 'field-2',
name: 'name', name: 'name',
label: 'Name', label: 'Name',
type: FieldMetadataType.Text, type: FieldMetadataType.TEXT,
isCustom: false, isCustom: false,
isActive: true, isActive: true,
createdAt: new Date().toISOString(), createdAt: new Date().toISOString(),

View File

@ -41,7 +41,7 @@ export const ObjectFilterDropdownDateInput = () => {
); );
const isDateTimeInput = const isDateTimeInput =
filterDefinitionUsedInDropdown?.type === FieldMetadataType.DateTime; filterDefinitionUsedInDropdown?.type === FieldMetadataType.DATE_TIME;
const handleAbsoluteDateChange = (newDate: Date | null) => { const handleAbsoluteDateChange = (newDate: Date | null) => {
setInternalDate(newDate); setInternalDate(newDate);

View File

@ -48,7 +48,7 @@ const meta: Meta<typeof MultipleFiltersDropdownButton> = {
fieldMetadataId: '1', fieldMetadataId: '1',
iconName: 'IconUser', iconName: 'IconUser',
label: 'Text', label: 'Text',
type: FieldMetadataType.Text, type: FieldMetadataType.TEXT,
isVisible: true, isVisible: true,
metadata: { metadata: {
fieldName: 'text', fieldName: 'text',
@ -58,7 +58,7 @@ const meta: Meta<typeof MultipleFiltersDropdownButton> = {
fieldMetadataId: '3', fieldMetadataId: '3',
iconName: 'IconNumber', iconName: 'IconNumber',
label: 'Number', label: 'Number',
type: FieldMetadataType.Number, type: FieldMetadataType.NUMBER,
isVisible: true, isVisible: true,
metadata: { metadata: {
fieldName: 'number', fieldName: 'number',
@ -68,7 +68,7 @@ const meta: Meta<typeof MultipleFiltersDropdownButton> = {
fieldMetadataId: '4', fieldMetadataId: '4',
iconName: 'IconCalendar', iconName: 'IconCalendar',
label: 'Date', label: 'Date',
type: FieldMetadataType.DateTime, type: FieldMetadataType.DATE_TIME,
isVisible: true, isVisible: true,
metadata: { metadata: {
fieldName: 'date', fieldName: 'date',
@ -81,19 +81,19 @@ const meta: Meta<typeof MultipleFiltersDropdownButton> = {
fieldMetadataId: '1', fieldMetadataId: '1',
iconName: 'IconUser', iconName: 'IconUser',
label: 'Text', label: 'Text',
type: FieldMetadataType.Text, type: FieldMetadataType.TEXT,
}, },
{ {
fieldMetadataId: '3', fieldMetadataId: '3',
iconName: 'IconNumber', iconName: 'IconNumber',
label: 'Number', label: 'Number',
type: FieldMetadataType.Number, type: FieldMetadataType.NUMBER,
}, },
{ {
fieldMetadataId: '3', fieldMetadataId: '3',
iconName: 'IconCalendar', iconName: 'IconCalendar',
label: 'Date', label: 'Date',
type: FieldMetadataType.DateTime, type: FieldMetadataType.DATE_TIME,
}, },
]); ]);
return ( return (

View File

@ -74,7 +74,7 @@ export const ObjectOptionsDropdownRecordGroupFieldsContent = () => {
objectNamePlural, objectNamePlural,
}, },
{ {
fieldType: FieldMetadataType.Select, fieldType: FieldMetadataType.SELECT,
}, },
); );

View File

@ -7,8 +7,8 @@ jest.mock('@/object-metadata/hooks/useObjectMetadataItem', () => ({
useObjectMetadataItem: jest.fn(() => ({ useObjectMetadataItem: jest.fn(() => ({
objectMetadataItem: { objectMetadataItem: {
fields: [ fields: [
{ type: FieldMetadataType.Currency, name: 'price' }, { type: FieldMetadataType.CURRENCY, name: 'price' },
{ type: FieldMetadataType.Text, name: 'name' }, { type: FieldMetadataType.TEXT, name: 'name' },
], ],
}, },
})), })),

View File

@ -26,9 +26,9 @@ describe('useSearchRecordGroupField', () => {
const mockContextValue = { const mockContextValue = {
objectMetadataItem: { objectMetadataItem: {
fields: [ fields: [
{ type: FieldMetadataType.Select, label: 'First' }, { type: FieldMetadataType.SELECT, label: 'First' },
{ type: FieldMetadataType.Select, label: 'Second' }, { type: FieldMetadataType.SELECT, label: 'Second' },
{ type: FieldMetadataType.Text, label: 'Third' }, { type: FieldMetadataType.TEXT, label: 'Third' },
], ],
}, },
}; };
@ -40,7 +40,7 @@ describe('useSearchRecordGroupField', () => {
}); });
expect(result.current.filteredRecordGroupFieldMetadataItems).toEqual([ expect(result.current.filteredRecordGroupFieldMetadataItems).toEqual([
{ type: FieldMetadataType.Select, label: 'First' }, { type: FieldMetadataType.SELECT, label: 'First' },
]); ]);
}); });
@ -48,9 +48,9 @@ describe('useSearchRecordGroupField', () => {
const mockContextValue = { const mockContextValue = {
objectMetadataItem: { objectMetadataItem: {
fields: [ fields: [
{ type: FieldMetadataType.Select, label: 'First' }, { type: FieldMetadataType.SELECT, label: 'First' },
{ type: FieldMetadataType.Select, label: 'Second' }, { type: FieldMetadataType.SELECT, label: 'Second' },
{ type: FieldMetadataType.Text, label: 'Third' }, { type: FieldMetadataType.TEXT, label: 'Third' },
], ],
}, },
}; };
@ -58,8 +58,8 @@ describe('useSearchRecordGroupField', () => {
const { result } = renderWithContext(mockContextValue); const { result } = renderWithContext(mockContextValue);
expect(result.current.filteredRecordGroupFieldMetadataItems).toEqual([ expect(result.current.filteredRecordGroupFieldMetadataItems).toEqual([
{ type: FieldMetadataType.Select, label: 'First' }, { type: FieldMetadataType.SELECT, label: 'First' },
{ type: FieldMetadataType.Select, label: 'Second' }, { type: FieldMetadataType.SELECT, label: 'Second' },
]); ]);
}); });
}); });

View File

@ -19,7 +19,7 @@ export const useExportProcessRecordsForCSV = (objectNameSingular: string) => {
} }
switch (field.type) { switch (field.type) {
case FieldMetadataType.Currency: case FieldMetadataType.CURRENCY:
return { return {
...processedRecord, ...processedRecord,
[field.name]: { [field.name]: {
@ -29,7 +29,7 @@ export const useExportProcessRecordsForCSV = (objectNameSingular: string) => {
currencyCode: record[field.name].currencyCode, currencyCode: record[field.name].currencyCode,
} satisfies FieldCurrencyValue, } satisfies FieldCurrencyValue,
}; };
case FieldMetadataType.RawJson: case FieldMetadataType.RAW_JSON:
return { return {
...processedRecord, ...processedRecord,
[field.name]: JSON.stringify(record[field.name]), [field.name]: JSON.stringify(record[field.name]),

View File

@ -16,7 +16,7 @@ export const useSearchRecordGroupField = () => {
return objectMetadataItem.fields.filter( return objectMetadataItem.fields.filter(
(field) => (field) =>
field.type === FieldMetadataType.Select && field.type === FieldMetadataType.SELECT &&
field.label.toLocaleLowerCase().includes(searchInputLowerCase), field.label.toLocaleLowerCase().includes(searchInputLowerCase),
); );
}, [objectMetadataItem.fields, recordGroupFieldSearchInput]); }, [objectMetadataItem.fields, recordGroupFieldSearchInput]);

View File

@ -93,7 +93,7 @@ export const useAddNewCard = () => {
throw new Error('Label identifier field not found'); throw new Error('Label identifier field not found');
} }
if (labelIdentifierField.type === FieldMetadataType.FullName) { if (labelIdentifierField.type === FieldMetadataType.FULL_NAME) {
computedLabelIdentifierValue = { computedLabelIdentifierValue = {
firstName: labelValue, firstName: labelValue,
lastName: '', lastName: '',

View File

@ -26,17 +26,17 @@ describe('buildRecordGqlFieldsAggregateForView', () => {
{ {
id: MOCK_FIELD_ID, id: MOCK_FIELD_ID,
name: 'amount', name: 'amount',
type: FieldMetadataType.Number, type: FieldMetadataType.NUMBER,
} as FieldMetadataItem, } as FieldMetadataItem,
{ {
id: '06b33746-5293-4d07-9f7f-ebf5ad396064', id: '06b33746-5293-4d07-9f7f-ebf5ad396064',
name: 'name', name: 'name',
type: FieldMetadataType.Text, type: FieldMetadataType.TEXT,
} as FieldMetadataItem, } as FieldMetadataItem,
{ {
id: 'e46b9ba4-144b-4d10-a092-03a7521c8aa0', id: 'e46b9ba4-144b-4d10-a092-03a7521c8aa0',
name: 'createdAt', name: 'createdAt',
type: FieldMetadataType.DateTime, type: FieldMetadataType.DATE_TIME,
} as FieldMetadataItem, } as FieldMetadataItem,
], ],
indexMetadatas: [], indexMetadatas: [],

View File

@ -19,7 +19,7 @@ describe('computeAggregateValueAndLabel', () => {
id: MOCK_FIELD_ID, id: MOCK_FIELD_ID,
name: 'amount', name: 'amount',
label: 'amount', label: 'amount',
type: FieldMetadataType.Currency, type: FieldMetadataType.CURRENCY,
} as FieldMetadataItem, } as FieldMetadataItem,
], ],
} as ObjectMetadataItem; } as ObjectMetadataItem;
@ -74,7 +74,7 @@ describe('computeAggregateValueAndLabel', () => {
id: MOCK_FIELD_ID, id: MOCK_FIELD_ID,
name: 'percentage', name: 'percentage',
label: 'percentage', label: 'percentage',
type: FieldMetadataType.Number, type: FieldMetadataType.NUMBER,
settings: { settings: {
type: 'percentage', type: 'percentage',
}, },
@ -112,7 +112,7 @@ describe('computeAggregateValueAndLabel', () => {
id: MOCK_FIELD_ID, id: MOCK_FIELD_ID,
name: 'decimals', name: 'decimals',
label: 'decimals', label: 'decimals',
type: FieldMetadataType.Number, type: FieldMetadataType.NUMBER,
settings: { settings: {
decimals: 2, decimals: 2,
}, },
@ -150,7 +150,7 @@ describe('computeAggregateValueAndLabel', () => {
id: MOCK_FIELD_ID, id: MOCK_FIELD_ID,
name: 'createdAt', name: 'createdAt',
label: 'Created At', label: 'Created At',
type: FieldMetadataType.DateTime, type: FieldMetadataType.DATE_TIME,
} as FieldMetadataItem, } as FieldMetadataItem,
], ],
} as ObjectMetadataItem; } as ObjectMetadataItem;
@ -185,7 +185,7 @@ describe('computeAggregateValueAndLabel', () => {
id: MOCK_FIELD_ID, id: MOCK_FIELD_ID,
name: 'updatedAt', name: 'updatedAt',
label: 'Updated At', label: 'Updated At',
type: FieldMetadataType.DateTime, type: FieldMetadataType.DATE_TIME,
} as FieldMetadataItem, } as FieldMetadataItem,
], ],
} as ObjectMetadataItem; } as ObjectMetadataItem;

View File

@ -79,13 +79,13 @@ export const computeAggregateValueAndLabel = ({
value = `${formatNumber(Number(aggregateValue) * 100)}%`; value = `${formatNumber(Number(aggregateValue) * 100)}%`;
} else { } else {
switch (field.type) { switch (field.type) {
case FieldMetadataType.Currency: { case FieldMetadataType.CURRENCY: {
value = Number(aggregateValue); value = Number(aggregateValue);
value = formatAmount(value / 1_000_000); value = formatAmount(value / 1_000_000);
break; break;
} }
case FieldMetadataType.Number: { case FieldMetadataType.NUMBER: {
value = Number(aggregateValue); value = Number(aggregateValue);
const { decimals, type } = field.settings ?? {}; const { decimals, type } = field.settings ?? {};
value = value =
@ -95,7 +95,7 @@ export const computeAggregateValueAndLabel = ({
break; break;
} }
case FieldMetadataType.DateTime: { case FieldMetadataType.DATE_TIME: {
value = aggregateValue as string; value = aggregateValue as string;
value = formatDateTimeString({ value = formatDateTimeString({
value, value,
@ -107,7 +107,7 @@ export const computeAggregateValueAndLabel = ({
break; break;
} }
case FieldMetadataType.Date: { case FieldMetadataType.DATE: {
value = aggregateValue as string; value = aggregateValue as string;
value = formatDateString({ value = formatDateString({
value, value,

View File

@ -1,11 +1,11 @@
import { formatFieldMetadataItemAsFieldDefinition } from '@/object-metadata/utils/formatFieldMetadataItemAsFieldDefinition'; import { formatFieldMetadataItemAsFieldDefinition } from '@/object-metadata/utils/formatFieldMetadataItemAsFieldDefinition';
import { FieldDefinition } from '@/object-record/record-field/types/FieldDefinition'; import { FieldDefinition } from '@/object-record/record-field/types/FieldDefinition';
import { import {
FieldActorMetadata, FieldActorMetadata,
FieldFullNameMetadata, FieldFullNameMetadata,
FieldRatingMetadata, FieldRatingMetadata,
FieldSelectMetadata, FieldSelectMetadata,
FieldTextMetadata, FieldTextMetadata,
} from '@/object-record/record-field/types/FieldMetadata'; } from '@/object-record/record-field/types/FieldMetadata';
import { FieldMetadataType } from '~/generated-metadata/graphql'; import { FieldMetadataType } from '~/generated-metadata/graphql';
import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems'; import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems';
@ -17,7 +17,7 @@ export const textfieldDefinition: FieldDefinition<FieldTextMetadata> = {
label: 'User Name', label: 'User Name',
iconName: 'User', iconName: 'User',
defaultValue: '', defaultValue: '',
type: FieldMetadataType.Text, type: FieldMetadataType.TEXT,
metadata: { placeHolder: 'John Doe', fieldName: 'userName' }, metadata: { placeHolder: 'John Doe', fieldName: 'userName' },
}; };
@ -44,7 +44,7 @@ export const selectFieldDefinition: FieldDefinition<FieldSelectMetadata> = {
fieldMetadataId, fieldMetadataId,
label: 'Account Owner', label: 'Account Owner',
iconName: 'iconName', iconName: 'iconName',
type: FieldMetadataType.Select, type: FieldMetadataType.SELECT,
defaultValue: null, defaultValue: null,
metadata: { metadata: {
fieldName: 'accountOwner', fieldName: 'accountOwner',
@ -57,7 +57,7 @@ export const fullNameFieldDefinition: FieldDefinition<FieldFullNameMetadata> = {
fieldMetadataId, fieldMetadataId,
label: 'Display Name', label: 'Display Name',
iconName: 'profile', iconName: 'profile',
type: FieldMetadataType.FullName, type: FieldMetadataType.FULL_NAME,
defaultValue: { firstName: '', lastName: '' }, defaultValue: { firstName: '', lastName: '' },
metadata: { metadata: {
fieldName: 'displayName', fieldName: 'displayName',
@ -77,7 +77,7 @@ export const ratingFieldDefinition: FieldDefinition<FieldRatingMetadata> = {
fieldMetadataId, fieldMetadataId,
label: 'Rating', label: 'Rating',
iconName: 'iconName', iconName: 'iconName',
type: FieldMetadataType.Rating, type: FieldMetadataType.RATING,
defaultValue: null, defaultValue: null,
metadata: { metadata: {
fieldName: 'rating', fieldName: 'rating',
@ -104,7 +104,7 @@ export const actorFieldDefinition: FieldDefinition<FieldActorMetadata> = {
fieldMetadataId, fieldMetadataId,
label: 'Created By', label: 'Created By',
iconName: 'restart', iconName: 'restart',
type: FieldMetadataType.Actor, type: FieldMetadataType.ACTOR,
defaultValue: { source: 'MANUAL', name: '' }, defaultValue: { source: 'MANUAL', name: '' },
metadata: { metadata: {
fieldName: 'actor', fieldName: 'actor',

View File

@ -211,7 +211,7 @@ export const relationFromManyFieldDisplayMock = {
objectMetadataNameSingular: 'person', objectMetadataNameSingular: 'person',
options: null, options: null,
}, },
type: FieldMetadataType.Relation, type: FieldMetadataType.RELATION,
iconName: 'IconUsers', iconName: 'IconUsers',
defaultValue: null, defaultValue: null,
editButtonIcon: { editButtonIcon: {

View File

@ -16,7 +16,7 @@ export const useAddressField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata( assertFieldMetadata(
FieldMetadataType.Address, FieldMetadataType.ADDRESS,
isFieldAddress, isFieldAddress,
fieldDefinition, fieldDefinition,
); );

View File

@ -12,7 +12,7 @@ import { FieldMetadataType } from '~/generated-metadata/graphql';
export const useArrayField = () => { export const useArrayField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Array, isFieldArray, fieldDefinition); assertFieldMetadata(FieldMetadataType.ARRAY, isFieldArray, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName; const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -12,7 +12,7 @@ export const useBooleanField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata( assertFieldMetadata(
FieldMetadataType.Boolean, FieldMetadataType.BOOLEAN,
isFieldBoolean, isFieldBoolean,
fieldDefinition, fieldDefinition,
); );

View File

@ -17,7 +17,7 @@ export const useCurrencyField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata( assertFieldMetadata(
FieldMetadataType.Currency, FieldMetadataType.CURRENCY,
isFieldCurrency, isFieldCurrency,
fieldDefinition, fieldDefinition,
); );

View File

@ -14,7 +14,7 @@ export const useDateField = () => {
const { recordId, fieldDefinition, hotkeyScope, clearable } = const { recordId, fieldDefinition, hotkeyScope, clearable } =
useContext(FieldContext); useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Date, isFieldDate, fieldDefinition); assertFieldMetadata(FieldMetadataType.DATE, isFieldDate, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName; const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -15,7 +15,7 @@ export const useDateTimeField = () => {
useContext(FieldContext); useContext(FieldContext);
assertFieldMetadata( assertFieldMetadata(
FieldMetadataType.DateTime, FieldMetadataType.DATE_TIME,
isFieldDateTime, isFieldDateTime,
fieldDefinition, fieldDefinition,
); );

View File

@ -15,7 +15,7 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata';
export const useEmailsField = () => { export const useEmailsField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Emails, isFieldEmails, fieldDefinition); assertFieldMetadata(FieldMetadataType.EMAILS, isFieldEmails, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName; const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -16,7 +16,7 @@ export const useFullNameField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata( assertFieldMetadata(
FieldMetadataType.FullName, FieldMetadataType.FULL_NAME,
isFieldFullName, isFieldFullName,
fieldDefinition, fieldDefinition,
); );

View File

@ -16,7 +16,7 @@ export const useJsonField = () => {
useContext(FieldContext); useContext(FieldContext);
assertFieldMetadata( assertFieldMetadata(
FieldMetadataType.RawJson, FieldMetadataType.RAW_JSON,
isFieldRawJson, isFieldRawJson,
fieldDefinition, fieldDefinition,
); );

View File

@ -15,7 +15,7 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata';
export const useLinksField = () => { export const useLinksField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Links, isFieldLinks, fieldDefinition); assertFieldMetadata(FieldMetadataType.LINKS, isFieldLinks, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName; const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -15,7 +15,7 @@ export const useMultiSelectField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata( assertFieldMetadata(
FieldMetadataType.MultiSelect, FieldMetadataType.MULTI_SELECT,
isFieldMultiSelect, isFieldMultiSelect,
fieldDefinition, fieldDefinition,
); );

View File

@ -20,7 +20,7 @@ import { isFieldNumber } from '../../types/guards/isFieldNumber';
export const useNumberField = () => { export const useNumberField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Number, isFieldNumber, fieldDefinition); assertFieldMetadata(FieldMetadataType.NUMBER, isFieldNumber, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName; const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -10,7 +10,7 @@ import { isFieldNumber } from '../../types/guards/isFieldNumber';
export const useNumberFieldDisplay = () => { export const useNumberFieldDisplay = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Number, isFieldNumber, fieldDefinition); assertFieldMetadata(FieldMetadataType.NUMBER, isFieldNumber, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName; const fieldName = fieldDefinition.metadata.fieldName;
const fieldValue = useRecordFieldValue<number | null>(recordId, fieldName); const fieldValue = useRecordFieldValue<number | null>(recordId, fieldName);

View File

@ -15,7 +15,7 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata';
export const usePhonesField = () => { export const usePhonesField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Phones, isFieldPhones, fieldDefinition); assertFieldMetadata(FieldMetadataType.PHONES, isFieldPhones, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName; const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -12,7 +12,7 @@ import { isFieldRating } from '../../types/guards/isFieldRating';
export const useRatingField = () => { export const useRatingField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Rating, isFieldRating, fieldDefinition); assertFieldMetadata(FieldMetadataType.RATING, isFieldRating, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName; const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -19,7 +19,7 @@ export const useRelationField = <
const button = useGetButtonIcon(); const button = useGetButtonIcon();
assertFieldMetadata( assertFieldMetadata(
FieldMetadataType.Relation, FieldMetadataType.RELATION,
isFieldRelation, isFieldRelation,
fieldDefinition, fieldDefinition,
); );

View File

@ -25,7 +25,7 @@ export const useRelationFromManyFieldDisplay = () => {
} }
assertFieldMetadata( assertFieldMetadata(
FieldMetadataType.Relation, FieldMetadataType.RELATION,
isFieldRelation, isFieldRelation,
fieldDefinition, fieldDefinition,
); );

View File

@ -25,7 +25,7 @@ export const useRelationToOneFieldDisplay = () => {
} }
assertFieldMetadata( assertFieldMetadata(
FieldMetadataType.Relation, FieldMetadataType.RELATION,
isFieldRelation, isFieldRelation,
fieldDefinition, fieldDefinition,
); );

View File

@ -19,7 +19,7 @@ export const useRichTextField = () => {
useContext(FieldContext); useContext(FieldContext);
assertFieldMetadata( assertFieldMetadata(
FieldMetadataType.RichText, FieldMetadataType.RICH_TEXT,
isFieldRichText, isFieldRichText,
fieldDefinition, fieldDefinition,
); );

View File

@ -14,7 +14,7 @@ export const useRichTextFieldDisplay = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata( assertFieldMetadata(
FieldMetadataType.RichText, FieldMetadataType.RICH_TEXT,
isFieldRichText, isFieldRichText,
fieldDefinition, fieldDefinition,
); );

View File

@ -15,7 +15,7 @@ import { isFieldSelectValue } from '../../types/guards/isFieldSelectValue';
export const useSelectField = () => { export const useSelectField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Select, isFieldSelect, fieldDefinition); assertFieldMetadata(FieldMetadataType.SELECT, isFieldSelect, fieldDefinition);
const { fieldName } = fieldDefinition.metadata; const { fieldName } = fieldDefinition.metadata;

View File

@ -15,7 +15,7 @@ export const useTextField = () => {
const { recordId, fieldDefinition, hotkeyScope, maxWidth } = const { recordId, fieldDefinition, hotkeyScope, maxWidth } =
useContext(FieldContext); useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Text, isFieldText, fieldDefinition); assertFieldMetadata(FieldMetadataType.TEXT, isFieldText, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName; const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -13,7 +13,7 @@ import { isFieldTextValue } from '../../types/guards/isFieldTextValue';
export const useUuidField = () => { export const useUuidField = () => {
const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
assertFieldMetadata(FieldMetadataType.Uuid, isFieldUuid, fieldDefinition); assertFieldMetadata(FieldMetadataType.UUID, isFieldUuid, fieldDefinition);
const fieldName = fieldDefinition.metadata.fieldName; const fieldName = fieldDefinition.metadata.fieldName;

View File

@ -29,7 +29,7 @@ export const ArrayFieldInput = ({
onCancel={onCancel} onCancel={onCancel}
onClickOutside={onClickOutside} onClickOutside={onClickOutside}
placeholder="Enter value" placeholder="Enter value"
fieldMetadataType={FieldMetadataType.Array} fieldMetadataType={FieldMetadataType.ARRAY}
renderItem={({ value, index, handleEdit, handleDelete }) => ( renderItem={({ value, index, handleEdit, handleDelete }) => (
<ArrayFieldMenuItem <ArrayFieldMenuItem
key={index} key={index}

View File

@ -51,7 +51,7 @@ export const EmailsFieldInput = ({
onCancel={onCancel} onCancel={onCancel}
onClickOutside={onClickOutside} onClickOutside={onClickOutside}
placeholder="Email" placeholder="Email"
fieldMetadataType={FieldMetadataType.Emails} fieldMetadataType={FieldMetadataType.EMAILS}
validateInput={validateInput} validateInput={validateInput}
renderItem={({ renderItem={({
value: email, value: email,

View File

@ -55,7 +55,7 @@ export const LinksFieldInput = ({
onCancel={onCancel} onCancel={onCancel}
onClickOutside={onClickOutside} onClickOutside={onClickOutside}
placeholder="URL" placeholder="URL"
fieldMetadataType={FieldMetadataType.Links} fieldMetadataType={FieldMetadataType.LINKS}
validateInput={(input) => ({ validateInput={(input) => ({
isValid: absoluteUrlSchema.safeParse(input).success, isValid: absoluteUrlSchema.safeParse(input).success,
errorMessage: '', errorMessage: '',

View File

@ -95,19 +95,19 @@ export const MultiItemFieldInput = <T,>({
const handleEditButtonClick = (index: number) => { const handleEditButtonClick = (index: number) => {
let item; let item;
switch (fieldMetadataType) { switch (fieldMetadataType) {
case FieldMetadataType.Links: case FieldMetadataType.LINKS:
item = items[index] as { label: string; url: string }; item = items[index] as { label: string; url: string };
setInputValue(item.url || ''); setInputValue(item.url || '');
break; break;
case FieldMetadataType.Phones: case FieldMetadataType.PHONES:
item = items[index] as PhoneRecord; item = items[index] as PhoneRecord;
setInputValue(item.callingCode + item.number); setInputValue(item.callingCode + item.number);
break; break;
case FieldMetadataType.Emails: case FieldMetadataType.EMAILS:
item = items[index] as string; item = items[index] as string;
setInputValue(item); setInputValue(item);
break; break;
case FieldMetadataType.Array: case FieldMetadataType.ARRAY:
item = items[index] as string; item = items[index] as string;
setInputValue(item); setInputValue(item);
break; break;

View File

@ -102,7 +102,7 @@ export const PhonesFieldInput = ({
onClickOutside={onClickOutside} onClickOutside={onClickOutside}
onCancel={onCancel} onCancel={onCancel}
placeholder="Phone" placeholder="Phone"
fieldMetadataType={FieldMetadataType.Phones} fieldMetadataType={FieldMetadataType.PHONES}
formatInput={(input) => { formatInput={(input) => {
const phone = parsePhoneNumber(input); const phone = parsePhoneNumber(input);
if (phone !== undefined) { if (phone !== undefined) {

View File

@ -53,7 +53,7 @@ const AddressInputWithContext = ({
fieldDefinition={{ fieldDefinition={{
fieldMetadataId: 'text', fieldMetadataId: 'text',
label: 'Address', label: 'Address',
type: FieldMetadataType.Address, type: FieldMetadataType.ADDRESS,
iconName: 'IconTag', iconName: 'IconTag',
metadata: { metadata: {
fieldName: 'Address', fieldName: 'Address',

View File

@ -45,7 +45,7 @@ const BooleanFieldInputWithContext = ({
fieldMetadataId: 'boolean', fieldMetadataId: 'boolean',
label: 'Boolean', label: 'Boolean',
iconName: 'Icon123', iconName: 'Icon123',
type: FieldMetadataType.Boolean, type: FieldMetadataType.BOOLEAN,
metadata: { metadata: {
fieldName: 'Boolean', fieldName: 'Boolean',
objectMetadataNameSingular: 'person', objectMetadataNameSingular: 'person',

View File

@ -72,7 +72,7 @@ const DateFieldInputWithContext = ({
fieldMetadataId: 'date', fieldMetadataId: 'date',
defaultValue: null, defaultValue: null,
label: 'Date', label: 'Date',
type: FieldMetadataType.DateTime, type: FieldMetadataType.DATE_TIME,
iconName: 'IconCalendarEvent', iconName: 'IconCalendarEvent',
metadata: { metadata: {
fieldName: 'Date', fieldName: 'Date',

View File

@ -48,7 +48,7 @@ const NumberFieldInputWithContext = ({
fieldMetadataId: 'number', fieldMetadataId: 'number',
label: 'Number', label: 'Number',
iconName: 'Icon123', iconName: 'Icon123',
type: FieldMetadataType.Number, type: FieldMetadataType.NUMBER,
metadata: { metadata: {
fieldName: 'number', fieldName: 'number',
placeHolder: 'Enter number', placeHolder: 'Enter number',

View File

@ -46,7 +46,7 @@ const RatingFieldInputWithContext = ({
fieldDefinition={{ fieldDefinition={{
fieldMetadataId: 'rating', fieldMetadataId: 'rating',
label: 'Rating', label: 'Rating',
type: FieldMetadataType.Rating, type: FieldMetadataType.RATING,
iconName: 'Icon123', iconName: 'Icon123',
metadata: { metadata: {
fieldName: 'Rating', fieldName: 'Rating',

View File

@ -46,7 +46,7 @@ const RelationManyFieldInputWithContext = () => {
fieldDefinition={{ fieldDefinition={{
fieldMetadataId: 'relation', fieldMetadataId: 'relation',
label: 'People', label: 'People',
type: FieldMetadataType.Relation, type: FieldMetadataType.RELATION,
iconName: 'IconLink', iconName: 'IconLink',
metadata: { metadata: {
fieldName: 'people', fieldName: 'people',

View File

@ -61,7 +61,7 @@ const RelationToOneFieldInputWithContext = ({
fieldDefinition={{ fieldDefinition={{
fieldMetadataId: 'relation', fieldMetadataId: 'relation',
label: 'Relation', label: 'Relation',
type: FieldMetadataType.Relation, type: FieldMetadataType.RELATION,
iconName: 'IconLink', iconName: 'IconLink',
metadata: { metadata: {
fieldName: 'Relation', fieldName: 'Relation',

View File

@ -47,7 +47,7 @@ const TextFieldInputWithContext = ({
fieldDefinition={{ fieldDefinition={{
fieldMetadataId: 'text', fieldMetadataId: 'text',
label: 'Text', label: 'Text',
type: FieldMetadataType.Text, type: FieldMetadataType.TEXT,
iconName: 'IconTag', iconName: 'IconTag',
metadata: { metadata: {
fieldName: 'Text', fieldName: 'Text',

View File

@ -17,7 +17,7 @@ export const useUpdateRelationFromManyFieldInput = ({
const { recordId, fieldDefinition } = useContext(FieldContext); const { recordId, fieldDefinition } = useContext(FieldContext);
assertFieldMetadata( assertFieldMetadata(
FieldMetadataType.Relation, FieldMetadataType.RELATION,
isFieldRelation, isFieldRelation,
fieldDefinition, fieldDefinition,
); );

View File

@ -6,4 +6,4 @@ import { FieldActorMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldActor = ( export const isFieldActor = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>, field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldActorMetadata> => ): field is FieldDefinition<FieldActorMetadata> =>
field.type === FieldMetadataType.Actor; field.type === FieldMetadataType.ACTOR;

View File

@ -6,4 +6,4 @@ import { FieldAddressMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldAddress = ( export const isFieldAddress = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>, field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldAddressMetadata> => ): field is FieldDefinition<FieldAddressMetadata> =>
field.type === FieldMetadataType.Address; field.type === FieldMetadataType.ADDRESS;

View File

@ -6,4 +6,4 @@ import { FieldArrayMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldArray = ( export const isFieldArray = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>, field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldArrayMetadata> => ): field is FieldDefinition<FieldArrayMetadata> =>
field.type === FieldMetadataType.Array; field.type === FieldMetadataType.ARRAY;

View File

@ -6,4 +6,4 @@ import { FieldBooleanMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldBoolean = ( export const isFieldBoolean = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>, field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldBooleanMetadata> => ): field is FieldDefinition<FieldBooleanMetadata> =>
field.type === FieldMetadataType.Boolean; field.type === FieldMetadataType.BOOLEAN;

View File

@ -6,4 +6,4 @@ import { FieldCurrencyMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldCurrency = ( export const isFieldCurrency = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>, field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldCurrencyMetadata> => ): field is FieldDefinition<FieldCurrencyMetadata> =>
field.type === FieldMetadataType.Currency; field.type === FieldMetadataType.CURRENCY;

View File

@ -6,4 +6,4 @@ import { FieldDateTimeMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldDateTime = ( export const isFieldDateTime = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>, field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldDateTimeMetadata> => ): field is FieldDefinition<FieldDateTimeMetadata> =>
field.type === FieldMetadataType.DateTime; field.type === FieldMetadataType.DATE_TIME;

View File

@ -10,5 +10,5 @@ export const isFieldDisplayedAsPhone = (
field: Pick<FieldDefinition<FieldMetadata>, 'type' | 'metadata'>, field: Pick<FieldDefinition<FieldMetadata>, 'type' | 'metadata'>,
): field is FieldDefinition<FieldTextMetadata> => ): field is FieldDefinition<FieldTextMetadata> =>
field.metadata.objectMetadataNameSingular === CoreObjectNameSingular.Person && field.metadata.objectMetadataNameSingular === CoreObjectNameSingular.Person &&
field.type === FieldMetadataType.Text && field.type === FieldMetadataType.TEXT &&
field.metadata.fieldName === 'phone'; field.metadata.fieldName === 'phone';

View File

@ -6,4 +6,4 @@ import { FieldEmailsMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldEmails = ( export const isFieldEmails = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>, field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldEmailsMetadata> => ): field is FieldDefinition<FieldEmailsMetadata> =>
field.type === FieldMetadataType.Emails; field.type === FieldMetadataType.EMAILS;

View File

@ -6,4 +6,4 @@ import { FieldFullNameMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldFullName = ( export const isFieldFullName = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>, field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldFullNameMetadata> => ): field is FieldDefinition<FieldFullNameMetadata> =>
field.type === FieldMetadataType.FullName; field.type === FieldMetadataType.FULL_NAME;

View File

@ -6,4 +6,4 @@ import { FieldLinksMetadata, FieldMetadata } from '../FieldMetadata';
export const isFieldLinks = ( export const isFieldLinks = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>, field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldLinksMetadata> => ): field is FieldDefinition<FieldLinksMetadata> =>
field.type === FieldMetadataType.Links; field.type === FieldMetadataType.LINKS;

View File

@ -8,4 +8,4 @@ import { FieldMetadataType } from '~/generated-metadata/graphql';
export const isFieldMultiSelect = ( export const isFieldMultiSelect = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>, field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldMultiSelectMetadata> => ): field is FieldDefinition<FieldMultiSelectMetadata> =>
field.type === FieldMetadataType.MultiSelect; field.type === FieldMetadataType.MULTI_SELECT;

View File

@ -6,4 +6,4 @@ import { FieldMetadata, FieldNumberMetadata } from '../FieldMetadata';
export const isFieldNumber = ( export const isFieldNumber = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>, field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldNumberMetadata> => ): field is FieldDefinition<FieldNumberMetadata> =>
field.type === FieldMetadataType.Number; field.type === FieldMetadataType.NUMBER;

View File

@ -6,4 +6,4 @@ import { FieldMetadata, FieldPhonesMetadata } from '../FieldMetadata';
export const isFieldPhones = ( export const isFieldPhones = (
field: Pick<FieldDefinition<FieldMetadata>, 'type'>, field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
): field is FieldDefinition<FieldPhonesMetadata> => ): field is FieldDefinition<FieldPhonesMetadata> =>
field.type === FieldMetadataType.Phones; field.type === FieldMetadataType.PHONES;

Some files were not shown because too many files have changed in this diff Show More