Finalize standard index as code declaration (#16429)

# Introduction
Following https://github.com/twentyhq/twenty/pull/16426
Related https://github.com/twentyhq/core-team-issues/issues/1995
This commit is contained in:
Paul Rastoin
2025-12-09 15:05:27 +01:00
committed by GitHub
parent 3ba7a070d9
commit e758f78caf
26 changed files with 1457 additions and 32 deletions
@@ -2,43 +2,71 @@ import { type FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/typ
import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util';
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { type AllStandardObjectName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-name.type';
import { buildAttachmentStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-attachment-standard-flat-index-metadata.util';
import { buildBlocklistStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-blocklist-standard-flat-index-metadata.util';
import { buildCalendarChannelEventAssociationStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-calendar-channel-event-association-standard-flat-index-metadata.util';
import { buildCalendarChannelStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-calendar-channel-standard-flat-index-metadata.util';
import { buildCalendarEventParticipantStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-calendar-event-participant-standard-flat-index-metadata.util';
import { buildCompanyStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-company-standard-flat-index-metadata.util';
import { buildConnectedAccountStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-connected-account-standard-flat-index-metadata.util';
import { buildDashboardStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-dashboard-standard-flat-index-metadata.util';
import { buildFavoriteStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-favorite-standard-flat-index-metadata.util';
import { buildMessageChannelMessageAssociationStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-message-channel-message-association-standard-flat-index-metadata.util';
import { buildMessageChannelStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-message-channel-standard-flat-index-metadata.util';
import { buildMessageFolderStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-message-folder-standard-flat-index-metadata.util';
import { buildMessageParticipantStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-message-participant-standard-flat-index-metadata.util';
import { buildMessageStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-message-standard-flat-index-metadata.util';
import { buildNoteStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-note-standard-flat-index-metadata.util';
import { buildNoteTargetStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-note-target-standard-flat-index-metadata.util';
import { buildOpportunityStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-opportunity-standard-flat-index-metadata.util';
import { buildPersonStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-person-standard-flat-index-metadata.util';
import { buildTaskStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-task-standard-flat-index-metadata.util';
import { buildTaskTargetStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-task-target-standard-flat-index-metadata.util';
import { buildTimelineActivityStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-timeline-activity-standard-flat-index-metadata.util';
import { buildWorkflowAutomatedTriggerStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-workflow-automated-trigger-standard-flat-index-metadata.util';
import { buildWorkflowRunStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-workflow-run-standard-flat-index-metadata.util';
import { buildWorkflowStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-workflow-standard-flat-index-metadata.util';
import { buildWorkflowVersionStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-workflow-version-standard-flat-index-metadata.util';
import { buildWorkspaceMemberStandardFlatIndexMetadatas } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/compute-workspace-member-standard-flat-index-metadata.util';
import { type CreateStandardIndexArgs } from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
type StandardIndexBuilder<P extends AllStandardObjectName> = (
args: Omit<CreateStandardIndexArgs<P>, 'context'>,
) => Record<string, FlatIndexMetadata>;
const STANDARD_FLAT_INDEX_METADATA_BUILDERS_BY_OBJECT_NAME = {
// attachment: buildAttachmentStandardFlatIndexMetadatas,
// blocklist: buildBlocklistStandardFlatIndexMetadatas,
// calendarChannelEventAssociation: buildCalendarChannelEventAssociationStandardFlatIndexMetadatas,
// calendarChannel: buildCalendarChannelStandardFlatIndexMetadatas,
// calendarEventParticipant: buildCalendarEventParticipantStandardFlatIndexMetadatas,
// calendarEvent: buildCalendarEventStandardFlatIndexMetadatas,
attachment: buildAttachmentStandardFlatIndexMetadatas,
blocklist: buildBlocklistStandardFlatIndexMetadatas,
calendarChannelEventAssociation:
buildCalendarChannelEventAssociationStandardFlatIndexMetadatas,
calendarChannel: buildCalendarChannelStandardFlatIndexMetadatas,
calendarEventParticipant:
buildCalendarEventParticipantStandardFlatIndexMetadatas,
company: buildCompanyStandardFlatIndexMetadatas,
// connectedAccount: buildConnectedAccountStandardFlatIndexMetadatas,
// dashboard: buildDashboardStandardFlatIndexMetadatas,
// favorite: buildFavoriteStandardFlatIndexMetadatas,
// favoriteFolder: buildFavoriteFolderStandardFlatIndexMetadatas,
// message: buildMessageStandardFlatIndexMetadatas,
// messageChannel: buildMessageChannelStandardFlatIndexMetadatas,
// messageChannelMessageAssociation: buildMessageChannelMessageAssociationStandardFlatIndexMetadatas,
// messageFolder: buildMessageFolderStandardFlatIndexMetadatas,
// messageParticipant: buildMessageParticipantStandardFlatIndexMetadatas,
// messageThread: buildMessageThreadStandardFlatIndexMetadatas,
// note: buildNoteStandardFlatIndexMetadatas,
// noteTarget: buildNoteTargetStandardFlatIndexMetadatas,
// opportunity: buildOpportunityStandardFlatIndexMetadatas,
// person: buildPersonStandardFlatIndexMetadatas,
// task: buildTaskStandardFlatIndexMetadatas,
// taskTarget: buildTaskTargetStandardFlatIndexMetadatas,
// timelineActivity: buildTimelineActivityStandardFlatIndexMetadatas,
// workflow: buildWorkflowStandardFlatIndexMetadatas,
// workflowAutomatedTrigger: buildWorkflowAutomatedTriggerStandardFlatIndexMetadatas,
// workflowRun: buildWorkflowRunStandardFlatIndexMetadatas,
// workflowVersion: buildWorkflowVersionStandardFlatIndexMetadatas,
// workspaceMember: buildWorkspaceMemberStandardFlatIndexMetadatas,
connectedAccount: buildConnectedAccountStandardFlatIndexMetadatas,
dashboard: buildDashboardStandardFlatIndexMetadatas,
favorite: buildFavoriteStandardFlatIndexMetadatas,
message: buildMessageStandardFlatIndexMetadatas,
messageChannel: buildMessageChannelStandardFlatIndexMetadatas,
messageChannelMessageAssociation:
buildMessageChannelMessageAssociationStandardFlatIndexMetadatas,
messageFolder: buildMessageFolderStandardFlatIndexMetadatas,
messageParticipant: buildMessageParticipantStandardFlatIndexMetadatas,
note: buildNoteStandardFlatIndexMetadatas,
noteTarget: buildNoteTargetStandardFlatIndexMetadatas,
opportunity: buildOpportunityStandardFlatIndexMetadatas,
person: buildPersonStandardFlatIndexMetadatas,
task: buildTaskStandardFlatIndexMetadatas,
taskTarget: buildTaskTargetStandardFlatIndexMetadatas,
timelineActivity: buildTimelineActivityStandardFlatIndexMetadatas,
workflow: buildWorkflowStandardFlatIndexMetadatas,
workflowAutomatedTrigger:
buildWorkflowAutomatedTriggerStandardFlatIndexMetadatas,
workflowRun: buildWorkflowRunStandardFlatIndexMetadatas,
workflowVersion: buildWorkflowVersionStandardFlatIndexMetadatas,
workspaceMember: buildWorkspaceMemberStandardFlatIndexMetadatas,
} satisfies {
[P in AllStandardObjectName]?: (
args: CreateStandardIndexArgs<P>,
) => Record<string, FlatIndexMetadata>;
[P in AllStandardObjectName]?: StandardIndexBuilder<P>;
};
const createEmptyFlatIndexMetadataMaps =
@@ -56,7 +84,7 @@ export const buildStandardFlatIndexMetadataMaps = (
STANDARD_FLAT_INDEX_METADATA_BUILDERS_BY_OBJECT_NAME,
) as (keyof typeof STANDARD_FLAT_INDEX_METADATA_BUILDERS_BY_OBJECT_NAME)[]
).flatMap((objectName) => {
const builder =
const builder: StandardIndexBuilder<typeof objectName> =
STANDARD_FLAT_INDEX_METADATA_BUILDERS_BY_OBJECT_NAME[objectName];
const result = builder({
@@ -0,0 +1,115 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildAttachmentStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'attachment'>, 'context'>): Record<
AllStandardObjectIndexName<'attachment'>,
FlatIndexMetadata
> => ({
authorIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'authorIdIndex',
relatedFieldNames: ['author'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
taskIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'taskIdIndex',
relatedFieldNames: ['task'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
noteIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'noteIdIndex',
relatedFieldNames: ['note'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
personIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'personIdIndex',
relatedFieldNames: ['person'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
companyIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'companyIdIndex',
relatedFieldNames: ['company'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
opportunityIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'opportunityIdIndex',
relatedFieldNames: ['opportunity'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
dashboardIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'dashboardIdIndex',
relatedFieldNames: ['dashboard'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
workflowIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'workflowIdIndex',
relatedFieldNames: ['workflow'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,31 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildBlocklistStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'blocklist'>, 'context'>): Record<
AllStandardObjectIndexName<'blocklist'>,
FlatIndexMetadata
> => ({
workspaceMemberIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'workspaceMemberIdIndex',
relatedFieldNames: ['workspaceMember'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,46 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildCalendarChannelEventAssociationStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<
CreateStandardIndexArgs<'calendarChannelEventAssociation'>,
'context'
>): Record<
AllStandardObjectIndexName<'calendarChannelEventAssociation'>,
FlatIndexMetadata
> => ({
calendarChannelIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'calendarChannelIdIndex',
relatedFieldNames: ['calendarChannel'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
calendarEventIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'calendarEventIdIndex',
relatedFieldNames: ['calendarEvent'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,31 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildCalendarChannelStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'calendarChannel'>, 'context'>): Record<
AllStandardObjectIndexName<'calendarChannel'>,
FlatIndexMetadata
> => ({
connectedAccountIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'connectedAccountIdIndex',
relatedFieldNames: ['connectedAccount'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,58 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildCalendarEventParticipantStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<
CreateStandardIndexArgs<'calendarEventParticipant'>,
'context'
>): Record<
AllStandardObjectIndexName<'calendarEventParticipant'>,
FlatIndexMetadata
> => ({
calendarEventIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'calendarEventIdIndex',
relatedFieldNames: ['calendarEvent'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
personIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'personIdIndex',
relatedFieldNames: ['person'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
workspaceMemberIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'workspaceMemberIdIndex',
relatedFieldNames: ['workspaceMember'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,31 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildConnectedAccountStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'connectedAccount'>, 'context'>): Record<
AllStandardObjectIndexName<'connectedAccount'>,
FlatIndexMetadata
> => ({
accountOwnerIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'accountOwnerIdIndex',
relatedFieldNames: ['accountOwner'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,33 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { IndexType } from 'src/engine/metadata-modules/index-metadata/types/indexType.types';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildDashboardStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'dashboard'>, 'context'>): Record<
AllStandardObjectIndexName<'dashboard'>,
FlatIndexMetadata
> => ({
searchVectorGinIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'searchVectorGinIndex',
relatedFieldNames: ['searchVector'],
indexType: IndexType.GIN,
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,151 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildFavoriteStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'favorite'>, 'context'>): Record<
AllStandardObjectIndexName<'favorite'>,
FlatIndexMetadata
> => ({
forWorkspaceMemberIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'forWorkspaceMemberIdIndex',
relatedFieldNames: ['forWorkspaceMember'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
personIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'personIdIndex',
relatedFieldNames: ['person'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
companyIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'companyIdIndex',
relatedFieldNames: ['company'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
favoriteFolderIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'favoriteFolderIdIndex',
relatedFieldNames: ['favoriteFolder'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
opportunityIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'opportunityIdIndex',
relatedFieldNames: ['opportunity'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
workflowIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'workflowIdIndex',
relatedFieldNames: ['workflow'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
workflowVersionIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'workflowVersionIdIndex',
relatedFieldNames: ['workflowVersion'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
workflowRunIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'workflowRunIdIndex',
relatedFieldNames: ['workflowRun'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
taskIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'taskIdIndex',
relatedFieldNames: ['task'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
noteIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'noteIdIndex',
relatedFieldNames: ['note'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
dashboardIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'dashboardIdIndex',
relatedFieldNames: ['dashboard'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,60 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildMessageChannelMessageAssociationStandardFlatIndexMetadatas =
({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<
CreateStandardIndexArgs<'messageChannelMessageAssociation'>,
'context'
>): Record<
AllStandardObjectIndexName<'messageChannelMessageAssociation'>,
FlatIndexMetadata
> => ({
messageChannelIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'messageChannelIdIndex',
relatedFieldNames: ['messageChannel'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
messageIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'messageIdIndex',
relatedFieldNames: ['message'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
messageChannelIdMessageIdUniqueIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'messageChannelIdMessageIdUniqueIndex',
relatedFieldNames: ['messageChannel', 'message'],
isUnique: true,
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,31 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildMessageChannelStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'messageChannel'>, 'context'>): Record<
AllStandardObjectIndexName<'messageChannel'>,
FlatIndexMetadata
> => ({
connectedAccountIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'connectedAccountIdIndex',
relatedFieldNames: ['connectedAccount'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,31 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildMessageFolderStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'messageFolder'>, 'context'>): Record<
AllStandardObjectIndexName<'messageFolder'>,
FlatIndexMetadata
> => ({
messageChannelIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'messageChannelIdIndex',
relatedFieldNames: ['messageChannel'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,55 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildMessageParticipantStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'messageParticipant'>, 'context'>): Record<
AllStandardObjectIndexName<'messageParticipant'>,
FlatIndexMetadata
> => ({
messageIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'messageIdIndex',
relatedFieldNames: ['message'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
personIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'personIdIndex',
relatedFieldNames: ['person'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
workspaceMemberIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'workspaceMemberIdIndex',
relatedFieldNames: ['workspaceMember'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,31 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildMessageStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'message'>, 'context'>): Record<
AllStandardObjectIndexName<'message'>,
FlatIndexMetadata
> => ({
messageThreadIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'messageThreadIdIndex',
relatedFieldNames: ['messageThread'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,33 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { IndexType } from 'src/engine/metadata-modules/index-metadata/types/indexType.types';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildNoteStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'note'>, 'context'>): Record<
AllStandardObjectIndexName<'note'>,
FlatIndexMetadata
> => ({
searchVectorGinIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'searchVectorGinIndex',
relatedFieldNames: ['searchVector'],
indexType: IndexType.GIN,
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,67 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildNoteTargetStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'noteTarget'>, 'context'>): Record<
AllStandardObjectIndexName<'noteTarget'>,
FlatIndexMetadata
> => ({
noteIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'noteIdIndex',
relatedFieldNames: ['note'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
personIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'personIdIndex',
relatedFieldNames: ['person'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
companyIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'companyIdIndex',
relatedFieldNames: ['company'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
opportunityIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'opportunityIdIndex',
relatedFieldNames: ['opportunity'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,69 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { IndexType } from 'src/engine/metadata-modules/index-metadata/types/indexType.types';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildOpportunityStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'opportunity'>, 'context'>): Record<
AllStandardObjectIndexName<'opportunity'>,
FlatIndexMetadata
> => ({
pointOfContactIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'pointOfContactIdIndex',
relatedFieldNames: ['pointOfContact'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
companyIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'companyIdIndex',
relatedFieldNames: ['company'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
stageIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'stageIndex',
relatedFieldNames: ['stage'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
searchVectorGinIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'searchVectorGinIndex',
relatedFieldNames: ['searchVector'],
indexType: IndexType.GIN,
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,58 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { IndexType } from 'src/engine/metadata-modules/index-metadata/types/indexType.types';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildPersonStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'person'>, 'context'>): Record<
AllStandardObjectIndexName<'person'>,
FlatIndexMetadata
> => ({
companyIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'companyIdIndex',
relatedFieldNames: ['company'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
emailsUniqueIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'emailsUniqueIndex',
relatedFieldNames: ['emails'],
isUnique: true,
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
searchVectorGinIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'searchVectorGinIndex',
relatedFieldNames: ['searchVector'],
indexType: IndexType.GIN,
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,45 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { IndexType } from 'src/engine/metadata-modules/index-metadata/types/indexType.types';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildTaskStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'task'>, 'context'>): Record<
AllStandardObjectIndexName<'task'>,
FlatIndexMetadata
> => ({
assigneeIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'assigneeIdIndex',
relatedFieldNames: ['assignee'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
searchVectorGinIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'searchVectorGinIndex',
relatedFieldNames: ['searchVector'],
indexType: IndexType.GIN,
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,67 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildTaskTargetStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'taskTarget'>, 'context'>): Record<
AllStandardObjectIndexName<'taskTarget'>,
FlatIndexMetadata
> => ({
taskIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'taskIdIndex',
relatedFieldNames: ['task'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
personIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'personIdIndex',
relatedFieldNames: ['person'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
companyIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'companyIdIndex',
relatedFieldNames: ['company'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
opportunityIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'opportunityIdIndex',
relatedFieldNames: ['opportunity'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,139 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildTimelineActivityStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'timelineActivity'>, 'context'>): Record<
AllStandardObjectIndexName<'timelineActivity'>,
FlatIndexMetadata
> => ({
workspaceMemberIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'workspaceMemberIdIndex',
relatedFieldNames: ['workspaceMember'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
personIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'personIdIndex',
relatedFieldNames: ['person'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
companyIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'companyIdIndex',
relatedFieldNames: ['company'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
opportunityIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'opportunityIdIndex',
relatedFieldNames: ['opportunity'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
noteIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'noteIdIndex',
relatedFieldNames: ['note'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
taskIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'taskIdIndex',
relatedFieldNames: ['task'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
workflowIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'workflowIdIndex',
relatedFieldNames: ['workflow'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
workflowVersionIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'workflowVersionIdIndex',
relatedFieldNames: ['workflowVersion'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
workflowRunIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'workflowRunIdIndex',
relatedFieldNames: ['workflowRun'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
dashboardIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'dashboardIdIndex',
relatedFieldNames: ['dashboard'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,34 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildWorkflowAutomatedTriggerStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<
CreateStandardIndexArgs<'workflowAutomatedTrigger'>,
'context'
>): Record<
AllStandardObjectIndexName<'workflowAutomatedTrigger'>,
FlatIndexMetadata
> => ({
workflowIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'workflowIdIndex',
relatedFieldNames: ['workflow'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,57 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { IndexType } from 'src/engine/metadata-modules/index-metadata/types/indexType.types';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildWorkflowRunStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'workflowRun'>, 'context'>): Record<
AllStandardObjectIndexName<'workflowRun'>,
FlatIndexMetadata
> => ({
workflowVersionIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'workflowVersionIdIndex',
relatedFieldNames: ['workflowVersion'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
workflowIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'workflowIdIndex',
relatedFieldNames: ['workflow'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
searchVectorGinIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'searchVectorGinIndex',
relatedFieldNames: ['searchVector'],
indexType: IndexType.GIN,
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,33 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { IndexType } from 'src/engine/metadata-modules/index-metadata/types/indexType.types';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildWorkflowStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'workflow'>, 'context'>): Record<
AllStandardObjectIndexName<'workflow'>,
FlatIndexMetadata
> => ({
searchVectorGinIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'searchVectorGinIndex',
relatedFieldNames: ['searchVector'],
indexType: IndexType.GIN,
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,45 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { IndexType } from 'src/engine/metadata-modules/index-metadata/types/indexType.types';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildWorkflowVersionStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'workflowVersion'>, 'context'>): Record<
AllStandardObjectIndexName<'workflowVersion'>,
FlatIndexMetadata
> => ({
workflowIdIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'workflowIdIndex',
relatedFieldNames: ['workflow'],
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
searchVectorGinIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'searchVectorGinIndex',
relatedFieldNames: ['searchVector'],
indexType: IndexType.GIN,
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});
@@ -0,0 +1,46 @@
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
import { IndexType } from 'src/engine/metadata-modules/index-metadata/types/indexType.types';
import { type AllStandardObjectIndexName } from 'src/engine/workspace-manager/twenty-standard-application/types/all-standard-object-index-name.type';
import {
type CreateStandardIndexArgs,
createStandardIndexFlatMetadata,
} from 'src/engine/workspace-manager/twenty-standard-application/utils/index/create-standard-index-flat-metadata.util';
export const buildWorkspaceMemberStandardFlatIndexMetadatas = ({
now,
objectName,
workspaceId,
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
}: Omit<CreateStandardIndexArgs<'workspaceMember'>, 'context'>): Record<
AllStandardObjectIndexName<'workspaceMember'>,
FlatIndexMetadata
> => ({
userEmailUniqueIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'userEmailUniqueIndex',
relatedFieldNames: ['userEmail'],
isUnique: true,
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
searchVectorGinIndex: createStandardIndexFlatMetadata({
objectName,
workspaceId,
context: {
indexName: 'searchVectorGinIndex',
relatedFieldNames: ['searchVector'],
indexType: IndexType.GIN,
},
standardFieldMetadataIdByObjectAndFieldName,
dependencyFlatEntityMaps,
twentyStandardApplicationId,
now,
}),
});