feat: migration can be applied on a specific schema & some enhancements (#2998)

* fix: remove old metadata seed files

* feat: wip standard to core relation

* fix: lint

* fix: merge

* fix: remove debug files

* feat: add feature flag for core object metadata

* fix: remove debug

* feat: always disable the standard core relation

* fix: missing feature flag

* fix: remove debug

* fix: feature flag doesn't seems to disable relation

* fix: delete .vscode folder, change this in another PR

* Update packages/twenty-server/src/workspace/workspace-sync-metadata/reflective-metadata.factory.ts

Co-authored-by: Weiko <corentin@twenty.com>

* Update packages/twenty-server/src/workspace/workspace-sync-metadata/reflective-metadata.factory.ts

Co-authored-by: Weiko <corentin@twenty.com>

* Update packages/twenty-server/src/workspace/workspace-sync-metadata/workspace-sync.metadata.service.ts

Co-authored-by: Weiko <corentin@twenty.com>

* fix: remove optional fields from metadata entities

* fix: renamed variable

* fix: put back CursorScalarType

* fix: delete test command

* fix: remove unused workspace standard migration command

* fix: drop core object metadata declaration

* fix: rename variable

* fix: drop creation of core datasource

* fix: remove feature flag

* fix: drop support of standard to core relations

* feat: add user email field on workspace-member standard object

* fix: update seed accordingly

* fix: missing remove command file

* fix: datasource label should remain nullable

* fix: better asserts

* Remove unused code

* Remove unused code

---------

Co-authored-by: Weiko <corentin@twenty.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Jérémy M
2023-12-21 19:15:05 +01:00
committed by GitHub
parent 3234134a30
commit d532f22fbb
112 changed files with 714 additions and 6381 deletions

View File

@ -1,33 +0,0 @@
import { DataSource } from 'typeorm';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
export const SeedWorkspaceSchemaName = 'workspace_1wgvd1injqtife6y4rvfbu3h5';
const tableName = 'dataSource';
export const SeedDataSourceId = '20202020-7f63-47a9-b1b3-6c7290ca9fb1';
export const seedDataSource = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource.query(
`CREATE SCHEMA IF NOT EXISTS ${SeedWorkspaceSchemaName}`,
);
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${tableName}`, ['id', 'schema', 'type', 'workspaceId'])
.orIgnore()
.values([
{
id: SeedDataSourceId,
schema: SeedWorkspaceSchemaName,
type: 'postgres',
workspaceId: SeedWorkspaceId,
},
])
.execute();
};

View File

@ -1,201 +0,0 @@
import { DataSource } from 'typeorm';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const fieldMetadataTableName = 'fieldMetadata';
export enum SeedActivityTargetFieldMetadataIds {
Id = '20202020-7db7-4dac-8093-ea0a12e9466f',
CreatedAt = '20202020-585f-48fa-a4b6-97cf7f86315e',
UpdatedAt = '20202020-4cf0-4478-8c68-62a855622a99',
Activity = '20202020-cb21-42c9-bba8-347f7cb02b84',
ActivityForeignKey = '20202020-2b1a-4c6a-9c0a-1b9f5b7c9b1a',
Person = '20202020-e56c-43e6-8fce-5619d8c2293a',
PersonForeignKey = '20202020-4c5d-4b5e-8d6e-3b2a4d5f6a7b',
Company = '20202020-9408-4cc0-9fe1-51467edb530b',
CompanyForeignKey = '20202020-9408-4cc0-9fe1-51467edb530c',
}
export const seedActivityTargetFieldMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${fieldMetadataTableName}`, [
'id',
'objectMetadataId',
'isCustom',
'workspaceId',
'isActive',
'type',
'name',
'label',
'targetColumnMap',
'description',
'icon',
'isNullable',
'isSystem',
'defaultValue',
])
.orIgnore()
.values([
// Default fields
{
id: SeedActivityTargetFieldMetadataIds.Id,
objectMetadataId: SeedObjectMetadataIds.ActivityTarget,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'id',
label: 'Id',
targetColumnMap: {
value: 'id',
},
description: undefined,
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: { type: 'uuid' },
},
{
id: SeedActivityTargetFieldMetadataIds.CreatedAt,
objectMetadataId: SeedObjectMetadataIds.ActivityTarget,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'createdAt',
label: 'Creation date',
targetColumnMap: {
value: 'createdAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
{
id: SeedActivityTargetFieldMetadataIds.UpdatedAt,
objectMetadataId: SeedObjectMetadataIds.ActivityTarget,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'updatedAt',
label: 'Update date',
targetColumnMap: {
value: 'updatedAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
// Relationships
{
id: SeedActivityTargetFieldMetadataIds.Activity,
objectMetadataId: SeedObjectMetadataIds.ActivityTarget,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'activity',
label: 'Activity',
targetColumnMap: {},
description: 'ActivityTarget activity',
icon: 'IconNotes',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedActivityTargetFieldMetadataIds.ActivityForeignKey,
objectMetadataId: SeedObjectMetadataIds.ActivityTarget,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'activityId',
label: 'Activity id (foreign key)',
targetColumnMap: {},
description: 'ActivityTarget activity id foreign key',
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedActivityTargetFieldMetadataIds.Person,
objectMetadataId: SeedObjectMetadataIds.ActivityTarget,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'person',
label: 'Person',
targetColumnMap: {},
description: 'ActivityTarget person',
icon: 'IconUser',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedActivityTargetFieldMetadataIds.PersonForeignKey,
objectMetadataId: SeedObjectMetadataIds.ActivityTarget,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'personId',
label: 'Person id (foreign key)',
targetColumnMap: {},
description: 'ActivityTarget person id foreign key',
icon: undefined,
isNullable: true,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedActivityTargetFieldMetadataIds.Company,
objectMetadataId: SeedObjectMetadataIds.ActivityTarget,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'company',
label: 'Company',
targetColumnMap: {},
description: 'ActivityTarget company',
icon: 'IconBuildingSkyscraper',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedActivityTargetFieldMetadataIds.CompanyForeignKey,
objectMetadataId: SeedObjectMetadataIds.ActivityTarget,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'companyId',
label: 'Company id (foreign key)',
targetColumnMap: {},
description: 'ActivityTarget company id foreign key',
icon: undefined,
isNullable: true,
isSystem: true,
defaultValue: undefined,
},
])
.execute();
};

View File

@ -1,341 +0,0 @@
import { DataSource } from 'typeorm';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const fieldMetadataTableName = 'fieldMetadata';
export enum SeedActivityFieldMetadataIds {
Id = '20202020-f695-419c-b928-c488323d6df3',
CreatedAt = '20202020-65a2-4d9c-b640-bac54007a14d',
UpdatedAt = '20202020-88df-4202-bf82-6a06c6963280',
Title = '20202020-2584-4797-95a8-5cc90d48c040',
Body = '20202020-aff0-4961-be8a-0e5c2598b9a6',
Type = '20202020-a243-4b94-a4b4-25705af86be2',
ReminderAt = '20202020-cd46-44f4-bf22-b0aa20d009da',
DueAt = '20202020-20e1-4366-b386-750bdca2dfe3',
CompletedAt = '20202020-0924-48f0-a8c2-d2dd4e2098e2',
ActivityTargets = '20202020-ec1d-4ffe-8bd2-a85c23ae0037',
Comments = '20202020-c85c-47f2-bbe4-6b36c26f9247',
Attachments = '20202020-9755-43a8-b621-f94df0f6b839',
Author = '20202020-3acb-46bb-b993-0dc49fa2a48c',
AuthorForeignKey = '20202020-3acb-46bb-b993-0dc49fa2a48d',
Assignee = '20202020-4694-4ec6-9084-8d932ebb3065',
AssigneeForeignKey = '20202020-4694-4ec6-9084-8d932ebb3066',
}
export const seedActivityFieldMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${fieldMetadataTableName}`, [
'id',
'objectMetadataId',
'isCustom',
'workspaceId',
'isActive',
'type',
'name',
'label',
'targetColumnMap',
'description',
'icon',
'isNullable',
'isSystem',
'defaultValue',
])
.orIgnore()
.values([
// Default fields
{
id: SeedActivityFieldMetadataIds.Id,
objectMetadataId: SeedObjectMetadataIds.Activity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'id',
label: 'Id',
targetColumnMap: {
value: 'id',
},
description: undefined,
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: { type: 'uuid' },
},
{
id: SeedActivityFieldMetadataIds.CreatedAt,
objectMetadataId: SeedObjectMetadataIds.Activity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'createdAt',
label: 'Creation date',
targetColumnMap: {
value: 'createdAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
{
id: SeedActivityFieldMetadataIds.UpdatedAt,
objectMetadataId: SeedObjectMetadataIds.Activity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'updatedAt',
label: 'Update date',
targetColumnMap: {
value: 'updatedAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
// Primary identifier
{
id: SeedActivityFieldMetadataIds.Title,
objectMetadataId: SeedObjectMetadataIds.Activity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'title',
label: 'Title',
targetColumnMap: {
value: 'title',
},
description: 'Activity title',
icon: 'IconNotes',
isNullable: true,
isSystem: false,
defaultValue: { value: '' },
},
// Scalar fields
{
id: SeedActivityFieldMetadataIds.Body,
objectMetadataId: SeedObjectMetadataIds.Activity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'body',
label: 'Body',
targetColumnMap: {
value: 'body',
},
description: 'Activity body',
icon: 'IconList',
isNullable: true,
isSystem: false,
defaultValue: { value: '' },
},
{
id: SeedActivityFieldMetadataIds.Type,
objectMetadataId: SeedObjectMetadataIds.Activity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'type',
label: 'Type',
targetColumnMap: {
value: 'type',
},
description: 'Activity type',
icon: 'IconCheckbox',
isNullable: false,
isSystem: false,
defaultValue: { value: 'Note' },
},
{
id: SeedActivityFieldMetadataIds.ReminderAt,
objectMetadataId: SeedObjectMetadataIds.Activity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'reminderAt',
label: 'Reminder Date',
targetColumnMap: {
value: 'reminderAt',
},
description: 'Activity reminder date',
icon: 'IconCalendarEvent',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedActivityFieldMetadataIds.DueAt,
objectMetadataId: SeedObjectMetadataIds.Activity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'dueAt',
label: 'Due Date',
targetColumnMap: {
value: 'dueAt',
},
description: 'Activity due date',
icon: 'IconCalendarEvent',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedActivityFieldMetadataIds.CompletedAt,
objectMetadataId: SeedObjectMetadataIds.Activity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'completedAt',
label: 'Completion Date',
targetColumnMap: {
value: 'completedAt',
},
description: 'Activity completion date',
icon: 'IconCheck',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
// Relationships
{
id: SeedActivityFieldMetadataIds.ActivityTargets,
objectMetadataId: SeedObjectMetadataIds.Activity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'activityTargets',
label: 'Targets',
targetColumnMap: {},
description: 'Activity targets',
icon: 'IconCheckbox',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedActivityFieldMetadataIds.Attachments,
objectMetadataId: SeedObjectMetadataIds.Activity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'attachments',
label: 'Attachments',
targetColumnMap: {},
description: 'Activity attachments',
icon: 'IconFileImport',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedActivityFieldMetadataIds.Comments,
objectMetadataId: SeedObjectMetadataIds.Activity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'comments',
label: 'Comments',
targetColumnMap: {},
description: 'Activity comments',
icon: 'IconComment',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedActivityFieldMetadataIds.Author,
objectMetadataId: SeedObjectMetadataIds.Activity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'author',
label: 'Author',
targetColumnMap: {
value: 'authorId',
},
description:
'Activity author. This is the person who created the activity',
icon: 'IconUserCircle',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedActivityFieldMetadataIds.AuthorForeignKey,
objectMetadataId: SeedObjectMetadataIds.Activity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'authorId',
label: 'Author id (foreign key)',
targetColumnMap: {},
description: 'Activity author id foreign key',
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedActivityFieldMetadataIds.Assignee,
objectMetadataId: SeedObjectMetadataIds.Activity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'assignee',
label: 'Assignee',
targetColumnMap: {},
description:
'Acitivity assignee. This is the workspace member assigned to the activity ',
icon: 'IconUserCircle',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedActivityFieldMetadataIds.AssigneeForeignKey,
objectMetadataId: SeedObjectMetadataIds.Activity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'assigneeId',
label: 'Assignee id (foreign key)',
targetColumnMap: {},
description: 'Acitivity assignee id foreign key',
icon: undefined,
isNullable: true,
isSystem: true,
defaultValue: undefined,
},
])
.execute();
};

View File

@ -1,156 +0,0 @@
import { DataSource } from 'typeorm';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const fieldMetadataTableName = 'fieldMetadata';
export enum SeedApiKeyFieldMetadataIds {
Id = '20202020-7222-45ee-b5c4-c30eba68566f',
CreatedAt = '20202020-ecd6-479f-8368-5032fdee43b3',
UpdatedAt = '20202020-435c-4133-93c0-df5709d1694d',
Name = '20202020-1dfa-4ef3-8d19-51e82c28677a',
ExpiresAt = '20202020-a092-41e2-940e-e17cd0403aa7',
RevokedAt = '20202020-da41-436e-8498-b1a99c23b275',
}
export const seedApiKeyFieldMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${fieldMetadataTableName}`, [
'id',
'objectMetadataId',
'isCustom',
'workspaceId',
'isActive',
'type',
'name',
'label',
'targetColumnMap',
'description',
'icon',
'isNullable',
'isSystem',
'defaultValue',
])
.orIgnore()
.values([
// Default fields
{
id: SeedApiKeyFieldMetadataIds.Id,
objectMetadataId: SeedObjectMetadataIds.ApiKey,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'id',
label: 'Id',
targetColumnMap: {
value: 'id',
},
description: undefined,
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: { type: 'uuid' },
},
{
id: SeedApiKeyFieldMetadataIds.CreatedAt,
objectMetadataId: SeedObjectMetadataIds.ApiKey,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'createdAt',
label: 'Creation date',
targetColumnMap: {
value: 'createdAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
{
id: SeedApiKeyFieldMetadataIds.UpdatedAt,
objectMetadataId: SeedObjectMetadataIds.ApiKey,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'updatedAt',
label: 'Update date',
targetColumnMap: {
value: 'updatedAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
// Scalar fields
{
id: SeedApiKeyFieldMetadataIds.Name,
objectMetadataId: SeedObjectMetadataIds.ApiKey,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'name',
label: 'Name',
targetColumnMap: {
value: 'name',
},
description: 'ApiKey name',
icon: 'IconLink',
isNullable: true,
isSystem: false,
defaultValue: { value: '' },
},
{
id: SeedApiKeyFieldMetadataIds.ExpiresAt,
objectMetadataId: SeedObjectMetadataIds.ApiKey,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'expiresAt',
label: 'Expiration date',
targetColumnMap: {
value: 'expiresAt',
},
description: 'ApiKey expiration date',
icon: 'IconCalendar',
isNullable: false,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedApiKeyFieldMetadataIds.RevokedAt,
objectMetadataId: SeedObjectMetadataIds.ApiKey,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'revokedAt',
label: 'Revocation date',
targetColumnMap: {
value: 'revokedAt',
},
description: 'ApiKey revocation date',
icon: 'IconCalendar',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
])
.execute();
};

View File

@ -1,304 +0,0 @@
import { DataSource } from 'typeorm';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const fieldMetadataTableName = 'fieldMetadata';
export enum SeedAttachmentFieldMetadataIds {
Id = '20202020-0544-432b-8f96-84c4d6a94d50',
CreatedAt = '20202020-839b-4cbb-a1be-1a0cb85524a4',
UpdatedAt = '20202020-7f29-490d-a3e1-9c3015524057',
Name = '20202020-5683-4c80-8590-255321ece692',
FullPath = '20202020-bb72-4644-b255-afb4ebb83b66',
Type = '20202020-8dfa-492f-92d1-56d5fb18cbb7',
Author = '20202020-7831-43c2-827f-bc78289b7398',
AuthorForeignKey = '20202020-7831-43c2-827f-bc78289b7399',
Activity = '20202020-f5a9-46ec-b39a-eda906f00804',
ActivityForeignKey = '20202020-f5a9-46ec-b39a-eda906f00805',
Person = '20202020-f67c-4cc5-893c-c6b615527473',
PersonForeignKey = '20202020-f67c-4cc5-893c-c6b615527474',
Company = '20202020-5463-4d03-9124-1775b9b7f955',
CompanyForeignKey = '20202020-5463-4d03-9124-1775b9b7f956',
}
export const seedAttachmentFieldMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${fieldMetadataTableName}`, [
'id',
'objectMetadataId',
'isCustom',
'workspaceId',
'isActive',
'type',
'name',
'label',
'targetColumnMap',
'description',
'icon',
'isNullable',
'isSystem',
'defaultValue',
])
.orIgnore()
.values([
// Default fields
{
id: SeedAttachmentFieldMetadataIds.Id,
objectMetadataId: SeedObjectMetadataIds.Attachment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'id',
label: 'Id',
targetColumnMap: {
value: 'id',
},
description: undefined,
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: { type: 'uuid' },
},
{
id: SeedAttachmentFieldMetadataIds.CreatedAt,
objectMetadataId: SeedObjectMetadataIds.Attachment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'createdAt',
label: 'Creation date',
targetColumnMap: {
value: 'createdAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
{
id: SeedAttachmentFieldMetadataIds.UpdatedAt,
objectMetadataId: SeedObjectMetadataIds.Attachment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'updatedAt',
label: 'Update date',
targetColumnMap: {
value: 'updatedAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
// Primary Identifier
{
id: SeedAttachmentFieldMetadataIds.Name,
objectMetadataId: SeedObjectMetadataIds.Attachment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'name',
label: 'Name',
targetColumnMap: {
value: 'name',
},
description: 'Attachment name',
icon: 'IconFileUpload',
isNullable: false,
isSystem: false,
defaultValue: { value: '' },
},
// Scalar fields
{
id: SeedAttachmentFieldMetadataIds.FullPath,
objectMetadataId: SeedObjectMetadataIds.Attachment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'fullPath',
label: 'Full path',
targetColumnMap: {
value: 'fullPath',
},
description: 'Attachment full path',
icon: 'IconLink',
isNullable: false,
isSystem: false,
defaultValue: { value: '' },
},
{
id: SeedAttachmentFieldMetadataIds.Type,
objectMetadataId: SeedObjectMetadataIds.Attachment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'type',
label: 'Type',
targetColumnMap: {
value: 'type',
},
description: 'Attachment type',
icon: 'IconList',
isNullable: false,
isSystem: false,
defaultValue: { value: '' },
},
// Relationships
{
id: SeedAttachmentFieldMetadataIds.Author,
objectMetadataId: SeedObjectMetadataIds.Attachment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'author',
label: 'Author',
targetColumnMap: {
value: 'authorId',
},
description: 'Attachment author',
icon: 'IconCircleUser',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedAttachmentFieldMetadataIds.AuthorForeignKey,
objectMetadataId: SeedObjectMetadataIds.Attachment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'authorId',
label: 'Author id (foreign key)',
targetColumnMap: {},
description: 'Attachment author id foreign key',
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedAttachmentFieldMetadataIds.Activity,
objectMetadataId: SeedObjectMetadataIds.Attachment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'activity',
label: 'Activity',
targetColumnMap: {
value: 'activityId',
},
description: 'Attachment activity',
icon: 'IconNotes',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedAttachmentFieldMetadataIds.ActivityForeignKey,
objectMetadataId: SeedObjectMetadataIds.Attachment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'activityId',
label: 'Activity id (foreign key)',
targetColumnMap: {},
description: 'Attachment activity id foreign key',
icon: undefined,
isNullable: true,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedAttachmentFieldMetadataIds.Person,
objectMetadataId: SeedObjectMetadataIds.Attachment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'person',
label: 'Person',
targetColumnMap: {
value: 'personId',
},
description: 'Attachment person',
icon: 'IconUser',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedAttachmentFieldMetadataIds.PersonForeignKey,
objectMetadataId: SeedObjectMetadataIds.Attachment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'personId',
label: 'Person id (foreign key)',
targetColumnMap: {},
description: 'Attachment person id foreign key',
icon: undefined,
isNullable: true,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedAttachmentFieldMetadataIds.Company,
objectMetadataId: SeedObjectMetadataIds.Attachment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'company',
label: 'Company',
targetColumnMap: {
value: 'companyId',
},
description: 'Attachment company',
icon: 'IconBuildingSkyscraper',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedAttachmentFieldMetadataIds.CompanyForeignKey,
objectMetadataId: SeedObjectMetadataIds.Attachment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'companyId',
label: 'Company id (foreign key)',
targetColumnMap: {},
description: 'Attachment company id foreign key',
icon: undefined,
isNullable: true,
isSystem: true,
defaultValue: undefined,
},
])
.execute();
};

View File

@ -1,187 +0,0 @@
import { DataSource } from 'typeorm';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const fieldMetadataTableName = 'fieldMetadata';
export enum SeedCommentFieldMetadataIds {
Id = '20202020-2899-42fa-ba07-1f4dad7ae28f',
CreatedAt = '20202020-88fd-4db2-9fcb-b5f4f5955cf2',
UpdatedAt = '20202020-63dd-4426-abad-9973fece49ed',
Body = '20202020-354b-4f10-9425-fa3eb8fddc51',
Author = '20202020-2c70-40c2-bba6-893780b25d41',
AuthorForeignKey = '20202021-2c70-40c2-bba6-893780b25d42',
Activity = '20202020-a9ac-4294-9462-db0f690da906',
ActivityForeignKey = '20202021-a9ac-4294-9462-db0f690da907',
}
export const seedCommentFieldMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${fieldMetadataTableName}`, [
'id',
'objectMetadataId',
'isCustom',
'workspaceId',
'isActive',
'type',
'name',
'label',
'targetColumnMap',
'description',
'icon',
'isNullable',
'isSystem',
'defaultValue',
])
.orIgnore()
.values([
// Default fields
{
id: SeedCommentFieldMetadataIds.Id,
objectMetadataId: SeedObjectMetadataIds.Comment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'id',
label: 'Id',
targetColumnMap: {
value: 'id',
},
description: undefined,
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: { type: 'uuid' },
},
{
id: SeedCommentFieldMetadataIds.CreatedAt,
objectMetadataId: SeedObjectMetadataIds.Comment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'createdAt',
label: 'Creation date',
targetColumnMap: {
value: 'createdAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
{
id: SeedCommentFieldMetadataIds.UpdatedAt,
objectMetadataId: SeedObjectMetadataIds.Comment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'updatedAt',
label: 'Update date',
targetColumnMap: {
value: 'updatedAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
// Scalar fields
{
id: SeedCommentFieldMetadataIds.Body,
objectMetadataId: SeedObjectMetadataIds.Comment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'body',
label: 'Body',
targetColumnMap: {
value: 'body',
},
description: 'Comment body',
icon: 'IconLink',
isNullable: false,
isSystem: false,
defaultValue: { value: '' },
},
// Relationships
{
id: SeedCommentFieldMetadataIds.Author,
objectMetadataId: SeedObjectMetadataIds.Comment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'author',
label: 'Author',
targetColumnMap: {},
description: 'Comment author',
icon: 'IconCircleUser',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedCommentFieldMetadataIds.AuthorForeignKey,
objectMetadataId: SeedObjectMetadataIds.Comment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'authorId',
label: 'Author id (foreign key)',
targetColumnMap: {},
description: 'Comment author id foreign key',
icon: undefined,
isNullable: true,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedCommentFieldMetadataIds.Activity,
objectMetadataId: SeedObjectMetadataIds.Comment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'activity',
label: 'Activity',
targetColumnMap: {},
description: 'Comment activity',
icon: 'IconNotes',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedCommentFieldMetadataIds.ActivityForeignKey,
objectMetadataId: SeedObjectMetadataIds.Comment,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'activityId',
label: 'Activity id (foreign key)',
targetColumnMap: {},
description: 'Activity id foreign key',
icon: undefined,
isNullable: true,
isSystem: true,
defaultValue: undefined,
},
])
.execute();
};

View File

@ -1,382 +0,0 @@
import { DataSource } from 'typeorm';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const fieldMetadataTableName = 'fieldMetadata';
export enum SeedCompanyFieldMetadataIds {
Id = '20202020-8169-44a3-9e0b-6bad1ac50f87',
CreatedAt = '20202020-4dc2-47c9-bb15-6e6f19ba9e46',
UpdatedAt = '20202020-64b8-41bf-a01c-be6a806e8b70',
Name = '20202020-6d30-4111-9f40-b4301906fd3c',
DomainName = '20202020-5e4e-4007-a630-8a2617914889',
Address = '20202020-ad10-4117-a039-3f04b7a5f939',
Employees = '20202020-7fbd-41ad-b64d-25a15ff62f04',
LinkedinLink = '20202020-a61d-4b78-b998-3fd88b4f73a1',
XUrl = '20202020-46e3-479a-b8f4-77137c74daa6',
AnnualRecurringRevenue = '20202020-4a5a-466f-92d9-c3870d9502a9',
IdealCustomerProfile = '20202020-9e9f-4235-98b2-c76f3e2d281e',
People = '20202020-68b4-4c8e-af19-738eba2a42a5',
AccountOwner = '20202020-0739-495d-8e70-c0807f6b2268',
AccountOwnerForeignKey = '20202020-0b9e-4b9e-8b0a-5b0b5b0b5b0b',
ActivityTargets = '20202020-4a2e-4b41-8562-279963e8947e',
Opportunities = '20202020-e3fc-46ff-b552-3e757843f06e',
Favorites = '20202020-e7c8-4771-8cc4-ce0e8c36a3c0',
Attachments = '20202020-61af-4ffd-b79b-baed6db8ad11',
}
export const seedCompanyFieldMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${fieldMetadataTableName}`, [
'id',
'objectMetadataId',
'isCustom',
'workspaceId',
'isActive',
'type',
'name',
'label',
'targetColumnMap',
'description',
'icon',
'isNullable',
'isSystem',
'defaultValue',
])
.orIgnore()
.values([
// Default fields
{
id: SeedCompanyFieldMetadataIds.Id,
objectMetadataId: SeedObjectMetadataIds.Company,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'id',
label: 'Id',
targetColumnMap: {
value: 'id',
},
description: undefined,
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: { type: 'uuid' },
},
{
id: SeedCompanyFieldMetadataIds.CreatedAt,
objectMetadataId: SeedObjectMetadataIds.Company,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'createdAt',
label: 'Creation date',
targetColumnMap: {
value: 'createdAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: false,
defaultValue: { type: 'now' },
},
{
id: SeedCompanyFieldMetadataIds.UpdatedAt,
objectMetadataId: SeedObjectMetadataIds.Company,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'updatedAt',
label: 'Update date',
targetColumnMap: {
value: 'updatedAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
// Main Identifier
{
id: SeedCompanyFieldMetadataIds.Name,
objectMetadataId: SeedObjectMetadataIds.Company,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'name',
label: 'Name',
targetColumnMap: {
value: 'name',
},
description: 'The company name',
icon: 'IconBuildingSkyscraper',
isNullable: true,
isSystem: false,
defaultValue: { value: '' },
},
// Scalar Fields
{
id: SeedCompanyFieldMetadataIds.DomainName,
objectMetadataId: SeedObjectMetadataIds.Company,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'domainName',
label: 'Domain Name',
targetColumnMap: {
value: 'domainName',
},
description:
'The company website URL. We use this url to fetch the company icon',
icon: 'IconLink',
isNullable: true,
isSystem: false,
defaultValue: { value: '' },
},
{
id: SeedCompanyFieldMetadataIds.Address,
objectMetadataId: SeedObjectMetadataIds.Company,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'address',
label: 'Address',
targetColumnMap: {
value: 'address',
},
description: 'The company address',
icon: 'IconMap',
isNullable: true,
isSystem: false,
defaultValue: { value: '' },
},
{
id: SeedCompanyFieldMetadataIds.Employees,
objectMetadataId: SeedObjectMetadataIds.Company,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.NUMBER,
name: 'employees',
label: 'Employees',
targetColumnMap: {
value: 'employees',
},
description: 'Number of employees in the company',
icon: 'IconUsers',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedCompanyFieldMetadataIds.LinkedinLink,
objectMetadataId: SeedObjectMetadataIds.Company,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.LINK,
name: 'linkedinLink',
label: 'Linkedin',
targetColumnMap: {
label: 'linkedinLinkLabel',
url: 'linkedinLinkUrl',
},
description: 'The company Linkedin account',
icon: 'IconBrandLinkedin',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedCompanyFieldMetadataIds.XUrl,
objectMetadataId: SeedObjectMetadataIds.Company,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.LINK,
name: 'xLink',
label: 'X',
targetColumnMap: {
label: 'xLinkLabel',
url: 'xLinkUrl',
},
description: 'The company Twitter/X account',
icon: 'IconBrandX',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedCompanyFieldMetadataIds.AnnualRecurringRevenue,
objectMetadataId: SeedObjectMetadataIds.Company,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.CURRENCY,
name: 'annualRecurringRevenue',
label: 'ARR',
targetColumnMap: {
amountMicros: 'annualRecurringRevenueAmountMicros',
currencyCode: 'annualRecurringRevenueCurrencyCode',
},
description:
'Annual Recurring Revenue: The actual or estimated annual revenue of the company',
icon: 'IconMoneybag',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedCompanyFieldMetadataIds.IdealCustomerProfile,
objectMetadataId: SeedObjectMetadataIds.Company,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.BOOLEAN,
name: 'idealCustomerProfile',
label: 'ICP',
targetColumnMap: {
value: 'idealCustomerProfile',
},
description:
'Ideal Customer Profile: Indicates whether the company is the most suitable and valuable customer for you',
icon: 'IconTarget',
isNullable: true,
isSystem: false,
defaultValue: false,
},
// Relationships
{
id: SeedCompanyFieldMetadataIds.People,
objectMetadataId: SeedObjectMetadataIds.Company,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'people',
label: 'People',
targetColumnMap: {},
description: 'People linked to the company.',
icon: 'IconUsers',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedCompanyFieldMetadataIds.AccountOwner,
objectMetadataId: SeedObjectMetadataIds.Company,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'accountOwner',
label: 'Account Owner',
targetColumnMap: {},
description:
'Your team member responsible for managing the company account',
icon: 'IconUserCircle',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedCompanyFieldMetadataIds.AccountOwnerForeignKey,
objectMetadataId: SeedObjectMetadataIds.Company,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'accountOwnerId',
label: 'Account Owner ID (foreign key)',
targetColumnMap: {},
description: 'Foreign key for account owner',
icon: undefined,
isNullable: true,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedCompanyFieldMetadataIds.ActivityTargets,
objectMetadataId: SeedObjectMetadataIds.Company,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'activityTargets',
label: 'Activities',
targetColumnMap: {},
description: 'Activities tied to the company',
icon: 'IconCheckbox',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedCompanyFieldMetadataIds.Opportunities,
objectMetadataId: SeedObjectMetadataIds.Company,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'opportunities',
label: 'Opportunities',
targetColumnMap: {},
description: 'Opportunities linked to the company.',
icon: 'IconTargetArrow',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedCompanyFieldMetadataIds.Favorites,
objectMetadataId: SeedObjectMetadataIds.Company,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'favorites',
label: 'Favorites',
targetColumnMap: {},
description: 'Favorites linked to the company',
icon: 'IconHeart',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedCompanyFieldMetadataIds.Attachments,
objectMetadataId: SeedObjectMetadataIds.Company,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'attachments',
label: 'Attachments',
targetColumnMap: {},
description: 'Attachments linked to the company.',
icon: 'IconFileImport',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
])
.execute();
};

View File

@ -1,225 +0,0 @@
import { DataSource } from 'typeorm';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const fieldMetadataTableName = 'fieldMetadata';
export enum SeedFavoriteFieldMetadataIds {
Id = '20202020-7d1d-46c7-8c09-8e8c73e30042',
CreatedAt = '20202020-a0f4-443c-a63d-2776a842d024',
UpdatedAt = '20202020-273a-41bc-babf-f58f0b2ba2ec',
Position = '20202020-dd6d-4f67-94aa-22cc83eb0a2e',
WorkspaceMember = '20202020-1138-4e93-bbff-917a68161abf',
WorkspaceMemberForeignKey = '20202020-0f4c-4b9a-9b9a-917a68161a4f',
Person = '20202020-0876-4735-8974-ff4d51aafa07',
PersonForeignKey = '20202020-0876-4735-9473-ff4d51aa4e7b',
Company = '20202020-09e1-4384-ae3e-39e7956396ff',
CompanyForeignKey = '20202020-09e1-4384-ae3e-45e79563d528',
}
export const seedFavoriteFieldMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${fieldMetadataTableName}`, [
'id',
'objectMetadataId',
'isCustom',
'workspaceId',
'isActive',
'type',
'name',
'label',
'targetColumnMap',
'description',
'icon',
'isNullable',
'isSystem',
'defaultValue',
])
.orIgnore()
.values([
// Default fields
{
id: SeedFavoriteFieldMetadataIds.Id,
objectMetadataId: SeedObjectMetadataIds.Favorite,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'id',
label: 'Id',
targetColumnMap: {
value: 'id',
},
description: undefined,
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: { type: 'uuid' },
},
{
id: SeedFavoriteFieldMetadataIds.CreatedAt,
objectMetadataId: SeedObjectMetadataIds.Favorite,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'createdAt',
label: 'Creation date',
targetColumnMap: {
value: 'createdAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
{
id: SeedFavoriteFieldMetadataIds.UpdatedAt,
objectMetadataId: SeedObjectMetadataIds.Favorite,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'updatedAt',
label: 'Update date',
targetColumnMap: {
value: 'updatedAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
// Scalar fields
{
id: SeedFavoriteFieldMetadataIds.Position,
objectMetadataId: SeedObjectMetadataIds.Favorite,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.NUMBER,
name: 'position',
label: 'Position',
targetColumnMap: {
value: 'position',
},
description: 'Favorite position',
icon: 'IconList',
isNullable: false,
isSystem: false,
defaultValue: { value: 0 },
},
// Relationships
{
id: SeedFavoriteFieldMetadataIds.WorkspaceMember,
objectMetadataId: SeedObjectMetadataIds.Favorite,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'workspaceMember',
label: 'Workspace Member',
targetColumnMap: {},
description: 'Favorite workspace member',
icon: 'IconCircleUser',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedFavoriteFieldMetadataIds.WorkspaceMemberForeignKey,
objectMetadataId: SeedObjectMetadataIds.Favorite,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'workspaceMemberId',
label: 'Workspace Member ID (foreign key)',
targetColumnMap: {},
description: 'Foreign key for workspace member',
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedFavoriteFieldMetadataIds.Person,
objectMetadataId: SeedObjectMetadataIds.Favorite,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'person',
label: 'Person',
targetColumnMap: {
value: 'personId',
},
description: 'Favorite person',
icon: 'IconUser',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedFavoriteFieldMetadataIds.PersonForeignKey,
objectMetadataId: SeedObjectMetadataIds.Favorite,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'personId',
label: 'Person ID (foreign key)',
targetColumnMap: {},
description: 'Foreign key for person',
icon: undefined,
isNullable: true,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedFavoriteFieldMetadataIds.Company,
objectMetadataId: SeedObjectMetadataIds.Favorite,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'company',
label: 'Company',
targetColumnMap: {},
description: 'Favorite company',
icon: 'IconBuildingSkyscraper',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedFavoriteFieldMetadataIds.CompanyForeignKey,
objectMetadataId: SeedObjectMetadataIds.Favorite,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'companyId',
label: 'Company ID (foreign key)',
targetColumnMap: {},
description: 'Foreign key for company',
icon: undefined,
isNullable: true,
isSystem: true,
defaultValue: undefined,
},
])
.execute();
};

View File

@ -1,295 +0,0 @@
import { DataSource } from 'typeorm';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const fieldMetadataTableName = 'fieldMetadata';
export enum SeedOpportunityFieldMetadataIds {
Id = '20202020-16ef-476c-8eac-d439b84024cb',
CreatedAt = '20202020-a39d-4ea9-994f-28d1ebd15904',
UpdatedAt = '20202020-437b-4fd7-98bd-00cb91204329',
Amount = '20202020-8c1f-4c83-9a89-7843e586564d',
CloseDate = '20202020-de52-4e7b-a298-db7a7553500f',
Probability = '20202020-3b9c-4e58-a3d2-c617d3b596b1',
PipelineStep = '20202020-0a2e-4676-8011-3fdb2c30c258',
PipelineStepForeignKey = '20202020-0a2e-4676-8011-3fdb2c30d7f8',
PointOfContact = '20202020-618e-42da-b3c3-bcd7af76e355',
PointOfContactForeignKey = '20202020-618e-42da-b3c3-bcd7af76e4c2',
Company = '20202020-31d5-4af5-b016-c61c1c265706',
CompanyForeignKey = '20202020-31d5-4af5-b016-c61c1c2657b9',
Person = '20202020-0655-41df-b938-15d71e589307',
PersonForeignKey = '20202020-0655-41df-b938-15d71e589d3e',
}
export const seedOpportunityFieldMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${fieldMetadataTableName}`, [
'id',
'objectMetadataId',
'isCustom',
'workspaceId',
'isActive',
'type',
'name',
'label',
'targetColumnMap',
'description',
'icon',
'isNullable',
'isSystem',
'defaultValue',
])
.orIgnore()
.values([
// Default fields
{
id: SeedOpportunityFieldMetadataIds.Id,
objectMetadataId: SeedObjectMetadataIds.Opportunity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'id',
label: 'Id',
targetColumnMap: {
value: 'id',
},
description: undefined,
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: { type: 'uuid' },
},
{
id: SeedOpportunityFieldMetadataIds.CreatedAt,
objectMetadataId: SeedObjectMetadataIds.Opportunity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'createdAt',
label: 'Creation date',
targetColumnMap: {
value: 'createdAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: false,
defaultValue: { type: 'now' },
},
{
id: SeedOpportunityFieldMetadataIds.UpdatedAt,
objectMetadataId: SeedObjectMetadataIds.Opportunity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'updatedAt',
label: 'Update date',
targetColumnMap: {
value: 'updatedAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
// Scalar fields
{
id: SeedOpportunityFieldMetadataIds.Amount,
objectMetadataId: SeedObjectMetadataIds.Opportunity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.CURRENCY,
name: 'amount',
label: 'Amount',
targetColumnMap: {
amountMicros: 'amountAmountMicros',
currencyCode: 'amountCurrencyCode',
},
description: 'Opportunity amount',
icon: 'IconCurrencyDollar',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedOpportunityFieldMetadataIds.CloseDate,
objectMetadataId: SeedObjectMetadataIds.Opportunity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'closeDate',
label: 'Close date',
targetColumnMap: {
value: 'closeDate',
},
description: 'Opportunity close date',
icon: 'IconCalendarEvent',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedOpportunityFieldMetadataIds.Probability,
objectMetadataId: SeedObjectMetadataIds.Opportunity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'probability',
label: 'Probability',
targetColumnMap: {
value: 'probability',
},
description: 'Opportunity probability',
icon: 'IconProgressCheck',
isNullable: true,
isSystem: false,
defaultValue: { value: '0' },
},
// Relationships
{
id: SeedOpportunityFieldMetadataIds.PipelineStep,
objectMetadataId: SeedObjectMetadataIds.Opportunity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'pipelineStep',
label: 'Pipeline Step',
targetColumnMap: {},
description: 'Opportunity pipeline step',
icon: 'IconKanban',
isNullable: true,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedOpportunityFieldMetadataIds.PipelineStepForeignKey,
objectMetadataId: SeedObjectMetadataIds.Opportunity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'pipelineStepId',
label: 'Pipeline Step ID (foreign key)',
targetColumnMap: {},
description: 'Foreign key for pipeline step',
icon: undefined,
isNullable: true,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedOpportunityFieldMetadataIds.PointOfContact,
objectMetadataId: SeedObjectMetadataIds.Opportunity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'pointOfContact',
label: 'Point of Contact',
targetColumnMap: {},
description: 'Opportunity point of contact',
icon: 'IconUser',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedOpportunityFieldMetadataIds.PointOfContactForeignKey,
objectMetadataId: SeedObjectMetadataIds.Opportunity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'pointOfContactId',
label: 'Point of Contact ID (foreign key)',
targetColumnMap: {},
description: 'Foreign key for point of contact',
icon: undefined,
isNullable: true,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedOpportunityFieldMetadataIds.Person,
objectMetadataId: SeedObjectMetadataIds.Opportunity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'person',
label: 'Person',
targetColumnMap: {},
description: 'Opportunity person',
icon: 'IconUser',
isNullable: true,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedOpportunityFieldMetadataIds.PersonForeignKey,
objectMetadataId: SeedObjectMetadataIds.Opportunity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'personId',
label: 'Person ID (foreign key)',
targetColumnMap: {},
description: 'Foreign key for person',
icon: undefined,
isNullable: true,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedOpportunityFieldMetadataIds.Company,
objectMetadataId: SeedObjectMetadataIds.Opportunity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'company',
label: 'Company',
targetColumnMap: {},
description: 'Opportunity company',
icon: 'IconBuildingSkyscraper',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedOpportunityFieldMetadataIds.CompanyForeignKey,
objectMetadataId: SeedObjectMetadataIds.Opportunity,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'companyId',
label: 'Company ID (foreign key)',
targetColumnMap: {},
description: 'Foreign key for company',
icon: undefined,
isNullable: true,
isSystem: true,
defaultValue: undefined,
},
])
.execute();
};

View File

@ -1,379 +0,0 @@
import { DataSource } from 'typeorm';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const fieldMetadataTableName = 'fieldMetadata';
export enum SeedPersonFieldMetadataIds {
Id = '20202020-03cd-4cd0-9afc-92077b69f24f',
CreatedAt = '20202020-bec0-4cf0-bf1c-8b2ed21f027a',
UpdatedAt = '20202020-2bf4-42b8-8718-a3e852bfa6a6',
Name = '20202020-9b56-4888-bfe3-f6f59aa999e3',
Email = '20202020-8a96-4e4b-86fd-ea126530e0c1',
LinkedinLink = '20202020-dcf6-445a-b543-37e55de43c25',
XLink = '20202020-a3a7-4f63-9303-10226f6055be',
JobTitle = '20202020-3b86-413e-ab56-0ebd1a583ff3',
Phone = '20202020-486f-45f9-bbdf-aac18b1831c0',
City = '20202020-78f8-4b4c-90ff-86adf77590f5',
AvatarUrl = '20202020-bb05-45cb-aa2a-71b58d49dd23',
Company = '20202020-64e1-4080-b6ad-db03c3809885',
CompanyForeignKey = '20202020-64e1-4080-b6ad-db03c3809f8b',
ContactForOpportunities = '20202020-2c2e-418e-ba2d-d28434ff02a6',
Opportunities = '20202020-6bc4-4905-a9d3-4f8d616a19e1',
ActivityTargets = '20202020-f285-4115-a46c-116522986b29',
Favorites = '20202020-6268-4165-8774-9aaf45db2b25',
Attachments = '20202020-5883-4bb3-a308-65271901a1d4',
}
export const seedPersonFieldMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${fieldMetadataTableName}`, [
'id',
'objectMetadataId',
'isCustom',
'workspaceId',
'isActive',
'type',
'name',
'label',
'targetColumnMap',
'description',
'icon',
'isNullable',
'isSystem',
'defaultValue',
])
.orIgnore()
.values([
// Default fields
{
id: SeedPersonFieldMetadataIds.Id,
objectMetadataId: SeedObjectMetadataIds.Person,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'id',
label: 'Id',
targetColumnMap: {
value: 'id',
},
description: undefined,
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: { type: 'uuid' },
},
{
id: SeedPersonFieldMetadataIds.CreatedAt,
objectMetadataId: SeedObjectMetadataIds.Person,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'createdAt',
label: 'Creation date',
targetColumnMap: {
value: 'createdAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: false,
defaultValue: { type: 'now' },
},
{
id: SeedPersonFieldMetadataIds.UpdatedAt,
objectMetadataId: SeedObjectMetadataIds.Person,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'updatedAt',
label: 'Update date',
targetColumnMap: {
value: 'updatedAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
// Main Identifier
{
id: SeedPersonFieldMetadataIds.Name,
objectMetadataId: SeedObjectMetadataIds.Person,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.FULL_NAME,
name: 'name',
label: 'Name',
targetColumnMap: {
firstName: 'nameFirstName',
lastName: 'nameLastName',
},
description: 'Contacts name',
icon: 'IconUser',
isNullable: true,
isSystem: false,
defaultValue: { firstName: '', lastName: '' },
},
// Scalar Fields
{
id: SeedPersonFieldMetadataIds.Email,
objectMetadataId: SeedObjectMetadataIds.Person,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.EMAIL,
name: 'email',
label: 'Email',
targetColumnMap: {
value: 'email',
},
description: 'Contacts Email',
icon: 'IconMail',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedPersonFieldMetadataIds.LinkedinLink,
objectMetadataId: SeedObjectMetadataIds.Person,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.LINK,
name: 'linkedinLink',
label: 'Linkedin',
targetColumnMap: {
label: 'linkedinLinkLabel',
url: 'linkedinLinkUrl',
},
description: 'Contacts Linkedin account',
icon: 'IconBrandLinkedin',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedPersonFieldMetadataIds.XLink,
objectMetadataId: SeedObjectMetadataIds.Person,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.LINK,
name: 'xLink',
label: 'X',
targetColumnMap: {
label: 'xLinkLabel',
url: 'xLinkUrl',
},
description: 'Contacts X/Twitter account',
icon: 'IconBrandX',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedPersonFieldMetadataIds.JobTitle,
objectMetadataId: SeedObjectMetadataIds.Person,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'jobTitle',
label: 'Job Title',
targetColumnMap: {
value: 'jobTitle',
},
description: 'Contacts job title',
icon: 'IconBriefcase',
isNullable: true,
isSystem: false,
defaultValue: { value: '' },
},
{
id: SeedPersonFieldMetadataIds.Phone,
objectMetadataId: SeedObjectMetadataIds.Person,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'phone',
label: 'Phone',
targetColumnMap: {
value: 'phone',
},
description: 'Contacts phone number',
icon: 'IconPhone',
isNullable: true,
isSystem: false,
defaultValue: { value: '' },
},
{
id: SeedPersonFieldMetadataIds.City,
objectMetadataId: SeedObjectMetadataIds.Person,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'city',
label: 'City',
targetColumnMap: {
value: 'city',
},
description: 'Contacts city',
icon: 'IconMap',
isNullable: true,
isSystem: false,
defaultValue: { value: '' },
},
{
id: SeedPersonFieldMetadataIds.AvatarUrl,
objectMetadataId: SeedObjectMetadataIds.Person,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'avatarUrl',
label: 'Avatar',
targetColumnMap: {
value: 'avatarUrl',
},
description: 'Contacts avatar',
icon: 'IconFileUpload',
isNullable: true,
isSystem: true,
defaultValue: { value: '' },
},
// Relationships
{
id: SeedPersonFieldMetadataIds.Company,
objectMetadataId: SeedObjectMetadataIds.Person,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'company',
label: 'Company',
targetColumnMap: {},
description: 'Contacts company',
icon: 'IconBuildingSkyscraper',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedPersonFieldMetadataIds.CompanyForeignKey,
objectMetadataId: SeedObjectMetadataIds.Person,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'companyId',
label: 'Company ID (foreign key)',
targetColumnMap: {},
description: 'Foreign key for company',
icon: undefined,
isNullable: true,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedPersonFieldMetadataIds.ContactForOpportunities,
objectMetadataId: SeedObjectMetadataIds.Person,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'pointOfContactForOpportunities',
label: 'POC for Opportunities',
targetColumnMap: {},
description: 'Point of Contact for Opportuniites',
icon: 'IconTargetArrow',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedPersonFieldMetadataIds.ActivityTargets,
objectMetadataId: SeedObjectMetadataIds.Person,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'activityTargets',
label: 'Activities',
targetColumnMap: {},
description: 'Activities tied to the contact',
icon: 'IconCheckbox',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedPersonFieldMetadataIds.Opportunities,
objectMetadataId: SeedObjectMetadataIds.Person,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'opportunities',
label: 'Opportunities',
targetColumnMap: {},
description: 'Opportunities linked to the contact.',
icon: 'IconTargetArrow',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedPersonFieldMetadataIds.Favorites,
objectMetadataId: SeedObjectMetadataIds.Person,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'favorites',
label: 'Favorites',
targetColumnMap: {},
description: 'Favorites linked to the contact',
icon: 'IconHeart',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedPersonFieldMetadataIds.Attachments,
objectMetadataId: SeedObjectMetadataIds.Person,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'attachments',
label: 'Attachments',
targetColumnMap: {},
description: 'Attachments linked to the contact.',
icon: 'IconFileImport',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
])
.execute();
};

View File

@ -1,177 +0,0 @@
import { DataSource } from 'typeorm';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const fieldMetadataTableName = 'fieldMetadata';
export enum SeedPipelineStepFieldMetadataIds {
Id = '20202020-039a-4fbd-b4c1-66dfa9e4bd3f',
CreatedAt = '20202020-816f-4861-9b36-4a2f8ae2791c',
UpdatedAt = '20202020-2d73-4829-b774-522c2f5627d7',
Name = '20202020-f294-430e-b800-3a411fc05ad3',
Color = '20202020-5b93-4b28-8c45-7988ea68f91b',
Position = '20202020-6296-4cab-aafb-121ef5822b13',
Opportunities = '20202020-22c4-443a-b114-43c97dda5867',
}
export const seedPipelineStepFieldMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${fieldMetadataTableName}`, [
'id',
'objectMetadataId',
'isCustom',
'workspaceId',
'isActive',
'type',
'name',
'label',
'targetColumnMap',
'description',
'icon',
'isNullable',
'isSystem',
'defaultValue',
])
.orIgnore()
.values([
// Default fields
{
id: SeedPipelineStepFieldMetadataIds.Id,
objectMetadataId: SeedObjectMetadataIds.PipelineStep,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'id',
label: 'Id',
targetColumnMap: {
value: 'id',
},
description: undefined,
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: { type: 'uuid' },
},
{
id: SeedPipelineStepFieldMetadataIds.CreatedAt,
objectMetadataId: SeedObjectMetadataIds.PipelineStep,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'createdAt',
label: 'Creation date',
targetColumnMap: {
value: 'createdAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
{
id: SeedPipelineStepFieldMetadataIds.UpdatedAt,
objectMetadataId: SeedObjectMetadataIds.PipelineStep,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'updatedAt',
label: 'Update date',
targetColumnMap: {
value: 'updatedAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
// Main Identifier
{
id: SeedPipelineStepFieldMetadataIds.Name,
objectMetadataId: SeedObjectMetadataIds.PipelineStep,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'name',
label: 'Name',
targetColumnMap: {
value: 'name',
},
description: 'Pipeline Step name',
icon: 'IconCurrencyDollar',
isNullable: false,
isSystem: false,
defaultValue: { value: '' },
},
// Scalar Fields
{
id: SeedPipelineStepFieldMetadataIds.Color,
objectMetadataId: SeedObjectMetadataIds.PipelineStep,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'color',
label: 'Color',
targetColumnMap: {
value: 'color',
},
description: 'Pipeline Step color',
icon: 'IconColorSwatch',
isNullable: false,
isSystem: false,
defaultValue: { value: '' },
},
{
id: SeedPipelineStepFieldMetadataIds.Position,
objectMetadataId: SeedObjectMetadataIds.PipelineStep,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.NUMBER,
name: 'position',
label: 'Position',
targetColumnMap: {
value: 'position',
},
description: 'Pipeline Step position',
icon: 'IconHierarchy2',
isNullable: false,
isSystem: false,
defaultValue: { value: 0 },
},
// Relationships
{
id: SeedPipelineStepFieldMetadataIds.Opportunities,
objectMetadataId: SeedObjectMetadataIds.PipelineStep,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'opportunities',
label: 'Opportunities',
targetColumnMap: {},
description: 'Opportunities linked to the step.',
icon: 'IconTargetArrow',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
])
.execute();
};

View File

@ -1,209 +0,0 @@
import { DataSource } from 'typeorm';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const fieldMetadataTableName = 'fieldMetadata';
export enum SeedViewFieldFieldMetadataIds {
Id = '20202020-64f2-4ecf-b4c5-45daf154756a',
CreatedAt = '20202020-e137-4e59-b417-a134c050936c',
UpdatedAt = '20202020-17ff-4585-9f3b-cd9ee9523448',
FieldMetadataId = '20202020-1a5e-4ac1-9530-c7fff8481b79',
IsVisible = '20202020-3aa9-42db-a74d-0fd6b7cb7c4a',
Size = '20202020-b9a1-4c2e-a5af-3a6b4fef4af6',
Position = '20202020-a4bb-440a-add2-81dbd9a74517',
View = '20202020-8788-4508-b771-719807b60e61',
ViewForeignKey = '20202020-c852-4c28-b13a-07788c845d6a',
}
export const seedViewFieldFieldMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${fieldMetadataTableName}`, [
'id',
'objectMetadataId',
'isCustom',
'workspaceId',
'isActive',
'type',
'name',
'label',
'targetColumnMap',
'description',
'icon',
'isNullable',
'isSystem',
'defaultValue',
])
.orIgnore()
.values([
// Default fields
{
id: SeedViewFieldFieldMetadataIds.Id,
objectMetadataId: SeedObjectMetadataIds.ViewField,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'id',
label: 'Id',
targetColumnMap: {
value: 'id',
},
description: undefined,
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: { type: 'uuid' },
},
{
id: SeedViewFieldFieldMetadataIds.CreatedAt,
objectMetadataId: SeedObjectMetadataIds.ViewField,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'createdAt',
label: 'Creation date',
targetColumnMap: {
value: 'createdAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
{
id: SeedViewFieldFieldMetadataIds.UpdatedAt,
objectMetadataId: SeedObjectMetadataIds.ViewField,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'updatedAt',
label: 'Update date',
targetColumnMap: {
value: 'updatedAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
// Fields
{
id: SeedViewFieldFieldMetadataIds.FieldMetadataId,
objectMetadataId: SeedObjectMetadataIds.ViewField,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'fieldMetadataId',
label: 'Field Metadata Id',
targetColumnMap: {
value: 'fieldMetadataId',
},
description: 'View Field target field',
icon: 'IconTag',
isNullable: false,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedViewFieldFieldMetadataIds.View,
objectMetadataId: SeedObjectMetadataIds.ViewField,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'view',
label: 'View Id',
targetColumnMap: {},
description: 'View Field related view',
icon: 'IconLayoutCollage',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedViewFieldFieldMetadataIds.ViewForeignKey,
objectMetadataId: SeedObjectMetadataIds.ViewField,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'viewId',
label: 'View ID (foreign key)',
targetColumnMap: {},
description: 'Foreign key for view',
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedViewFieldFieldMetadataIds.IsVisible,
objectMetadataId: SeedObjectMetadataIds.ViewField,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.BOOLEAN,
name: 'isVisible',
label: 'Visible',
targetColumnMap: {
value: 'isVisible',
},
description: 'View Field visibility',
icon: 'IconEye',
isNullable: false,
isSystem: false,
defaultValue: { value: true },
},
{
id: SeedViewFieldFieldMetadataIds.Size,
objectMetadataId: SeedObjectMetadataIds.ViewField,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.NUMBER,
name: 'size',
label: 'Size',
targetColumnMap: {
value: 'size',
},
description: 'View Field size',
icon: 'IconEye',
isNullable: false,
isSystem: false,
defaultValue: { value: 0 },
},
{
id: SeedViewFieldFieldMetadataIds.Position,
objectMetadataId: SeedObjectMetadataIds.ViewField,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.NUMBER,
name: 'position',
label: 'Position',
targetColumnMap: {
value: 'position',
},
description: 'View Field position',
icon: 'IconList',
isNullable: false,
isSystem: false,
defaultValue: { value: 0 },
},
])
.execute();
};

View File

@ -1,209 +0,0 @@
import { DataSource } from 'typeorm';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const fieldMetadataTableName = 'fieldMetadata';
export enum SeedViewFilterFieldMetadataIds {
Id = '20202020-353c-4fb0-9011-1ad8e1dd67f9',
CreatedAt = '20202020-da57-452d-9671-ab3ccac2a9da',
UpdatedAt = '20202020-96c9-4cf1-87b4-8a009c591a16',
FieldMetadataId = '20202020-78bb-4f2b-a052-260bc8efd694',
View = '20202020-65e5-4082-829d-8c634c20e7b5',
ViewForeignKey = '20202020-c852-4c28-b13a-07788c845d6b',
Operand = '20202020-1d12-465d-ab2c-8af008182730',
Value = '20202020-8b37-46ae-86b8-14287ec06802',
DisplayValue = '20202020-ed89-4892-83fa-d2b2929c6d52',
}
export const seedViewFilterFieldMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${fieldMetadataTableName}`, [
'id',
'objectMetadataId',
'isCustom',
'workspaceId',
'isActive',
'type',
'name',
'label',
'targetColumnMap',
'description',
'icon',
'isNullable',
'isSystem',
'defaultValue',
])
.orIgnore()
.values([
// Default fields
{
id: SeedViewFilterFieldMetadataIds.Id,
objectMetadataId: SeedObjectMetadataIds.ViewFilter,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'id',
label: 'Id',
targetColumnMap: {
value: 'id',
},
description: undefined,
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: { type: 'uuid' },
},
{
id: SeedViewFilterFieldMetadataIds.CreatedAt,
objectMetadataId: SeedObjectMetadataIds.ViewFilter,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'createdAt',
label: 'Creation date',
targetColumnMap: {
value: 'createdAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
{
id: SeedViewFilterFieldMetadataIds.UpdatedAt,
objectMetadataId: SeedObjectMetadataIds.ViewFilter,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'updatedAt',
label: 'Update date',
targetColumnMap: {
value: 'updatedAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
// Fields
{
id: SeedViewFilterFieldMetadataIds.FieldMetadataId,
objectMetadataId: SeedObjectMetadataIds.ViewFilter,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'fieldMetadataId',
label: 'Field Metadata Id',
targetColumnMap: {
value: 'fieldMetadataId',
},
description: 'View Filter target field',
icon: null,
isNullable: false,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedViewFilterFieldMetadataIds.View,
objectMetadataId: SeedObjectMetadataIds.ViewFilter,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'view',
label: 'View',
targetColumnMap: {},
description: 'View Filter related view',
icon: 'IconLayoutCollage',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedViewFilterFieldMetadataIds.ViewForeignKey,
objectMetadataId: SeedObjectMetadataIds.ViewFilter,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'viewId',
label: 'View ID (foreign key)',
targetColumnMap: {},
description: 'Foreign key for view',
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedViewFilterFieldMetadataIds.Operand,
objectMetadataId: SeedObjectMetadataIds.ViewFilter,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'operand',
label: 'Operand',
targetColumnMap: {
value: 'operand',
},
description: 'View Filter operand',
icon: null,
isNullable: false,
isSystem: false,
defaultValue: { value: 'Contains' },
},
{
id: SeedViewFilterFieldMetadataIds.Value,
objectMetadataId: SeedObjectMetadataIds.ViewFilter,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'value',
label: 'Value',
targetColumnMap: {
value: 'value',
},
description: 'View Filter value',
icon: null,
isNullable: false,
isSystem: false,
defaultValue: { value: '' },
},
{
id: SeedViewFilterFieldMetadataIds.DisplayValue,
objectMetadataId: SeedObjectMetadataIds.ViewFilter,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'displayValue',
label: 'Display Value',
targetColumnMap: {
value: 'displayValue',
},
description: 'View Filter Display Value',
icon: null,
isNullable: false,
isSystem: false,
defaultValue: { value: '' },
},
])
.execute();
};

View File

@ -1,171 +0,0 @@
import { DataSource } from 'typeorm';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const fieldMetadataTableName = 'fieldMetadata';
export enum SeedViewSortFieldMetadataIds {
Id = '20202020-5870-4665-92a6-a39b7f53352d',
CreatedAt = '20202020-7677-4955-8ffe-06481534d12c',
UpdatedAt = '20202020-16ec-4074-a54b-c8f7f1178cf6',
FieldMetadataId = '20202020-cb2c-4c8f-a289-c9851b23d064',
View = '20202020-f5d0-467f-a3d8-395ba16b8ebf',
ViewForeignKey = '20202020-c852-4c28-b13a-07788c845d6c',
Direction = '20202020-077e-4451-b1d8-e602c956ebd2',
}
export const seedViewSortFieldMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${fieldMetadataTableName}`, [
'id',
'objectMetadataId',
'isCustom',
'workspaceId',
'isActive',
'type',
'name',
'label',
'targetColumnMap',
'description',
'icon',
'isNullable',
'isSystem',
'defaultValue',
])
.orIgnore()
.values([
// Default fields
{
id: SeedViewSortFieldMetadataIds.Id,
objectMetadataId: SeedObjectMetadataIds.ViewSort,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'id',
label: 'Id',
targetColumnMap: {
value: 'id',
},
description: undefined,
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: { type: 'uuid' },
},
{
id: SeedViewSortFieldMetadataIds.CreatedAt,
objectMetadataId: SeedObjectMetadataIds.ViewSort,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'createdAt',
label: 'Creation date',
targetColumnMap: {
value: 'createdAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
{
id: SeedViewSortFieldMetadataIds.UpdatedAt,
objectMetadataId: SeedObjectMetadataIds.ViewSort,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'updatedAt',
label: 'Update date',
targetColumnMap: {
value: 'updatedAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
// Fields
{
id: SeedViewSortFieldMetadataIds.FieldMetadataId,
objectMetadataId: SeedObjectMetadataIds.ViewSort,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'fieldMetadataId',
label: 'Field Metadata Id',
targetColumnMap: {
value: 'fieldMetadataId',
},
description: 'View Sort target field',
icon: null,
isNullable: false,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedViewSortFieldMetadataIds.View,
objectMetadataId: SeedObjectMetadataIds.ViewSort,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'view',
label: 'View',
targetColumnMap: {},
description: 'View Sort related view',
icon: 'IconLayoutCollage',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedViewSortFieldMetadataIds.ViewForeignKey,
objectMetadataId: SeedObjectMetadataIds.ViewField,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'viewId',
label: 'View ID (foreign key)',
targetColumnMap: {},
description: 'Foreign key for view',
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: undefined,
},
{
id: SeedViewSortFieldMetadataIds.Direction,
objectMetadataId: SeedObjectMetadataIds.ViewSort,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'direction',
label: 'Direction',
targetColumnMap: {
value: 'direction',
},
description: 'View Sort direction',
icon: null,
isNullable: false,
isSystem: false,
defaultValue: { value: 'asc' },
},
])
.execute();
};

View File

@ -1,207 +0,0 @@
import { DataSource } from 'typeorm';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const fieldMetadataTableName = 'fieldMetadata';
export enum SeedViewFieldMetadataIds {
Id = '20202020-2957-4431-b3b5-879b5e687c6e',
CreatedAt = '20202020-ad91-42b0-b654-cbd981ddb5bf',
UpdatedAt = '20202020-b4e6-4044-8f6e-886c6eb2a67c',
Name = '20202020-e10e-4346-8690-b2e582ebc03c',
ObjectMetadataId = '20202020-2c69-46f0-9cf2-1a4f9869d560',
Type = '20202020-2c70-46f0-9cf2-1a4f9869d591',
ViewFields = '20202020-d288-4df4-9548-7b5c5747f623',
ViewSorts = '20202020-3011-4d5c-8133-c01134e733df',
ViewFilters = '20202020-afe8-40bc-9a81-9b33e45131d9',
}
export const seedViewFieldMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${fieldMetadataTableName}`, [
'id',
'objectMetadataId',
'isCustom',
'workspaceId',
'isActive',
'type',
'name',
'label',
'targetColumnMap',
'description',
'icon',
'isNullable',
'isSystem',
'defaultValue',
])
.orIgnore()
.values([
// Default fields
{
id: SeedViewFieldMetadataIds.Id,
objectMetadataId: SeedObjectMetadataIds.View,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'id',
label: 'Id',
targetColumnMap: {
value: 'id',
},
description: undefined,
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: { type: 'uuid' },
},
{
id: SeedViewFieldMetadataIds.CreatedAt,
objectMetadataId: SeedObjectMetadataIds.View,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'createdAt',
label: 'Creation date',
targetColumnMap: {
value: 'createdAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
{
id: SeedViewFieldMetadataIds.UpdatedAt,
objectMetadataId: SeedObjectMetadataIds.View,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'updatedAt',
label: 'Update date',
targetColumnMap: {
value: 'updatedAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
// Fields
{
id: SeedViewFieldMetadataIds.Name,
objectMetadataId: SeedObjectMetadataIds.View,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'name',
label: 'Name',
targetColumnMap: {
value: 'name',
},
description: 'View name',
icon: null,
isNullable: false,
isSystem: false,
defaultValue: { value: '' },
},
{
id: SeedViewFieldMetadataIds.ObjectMetadataId,
objectMetadataId: SeedObjectMetadataIds.View,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'objectMetadataId',
label: 'Object Metadata Id',
targetColumnMap: {
value: 'objectMetadataId',
},
description: 'View target object',
icon: null,
isNullable: false,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedViewFieldMetadataIds.Type,
objectMetadataId: SeedObjectMetadataIds.View,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'type',
label: 'Type',
targetColumnMap: {
value: 'type',
},
description: 'View type',
icon: null,
isNullable: false,
isSystem: false,
defaultValue: { value: 'table' },
},
{
id: SeedViewFieldMetadataIds.ViewFields,
objectMetadataId: SeedObjectMetadataIds.View,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'viewFields',
label: 'View Fields',
targetColumnMap: {},
description: 'View Fields',
icon: 'IconTag',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedViewFieldMetadataIds.ViewSorts,
objectMetadataId: SeedObjectMetadataIds.View,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'viewSorts',
label: 'View Sorts',
targetColumnMap: {},
description: 'View Sorts',
icon: 'IconArrowsSort',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedViewFieldMetadataIds.ViewFilters,
objectMetadataId: SeedObjectMetadataIds.View,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'viewFilters',
label: 'View Filters',
targetColumnMap: {},
description: 'View Filters',
icon: 'IconFilterBolt',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
])
.execute();
};

View File

@ -1,137 +0,0 @@
import { DataSource } from 'typeorm';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const fieldMetadataTableName = 'fieldMetadata';
export enum SeedWebhookFieldMetadataIds {
Id = '20202020-bc24-4387-8abe-9fbe7849f820',
CreatedAt = '20202020-c643-4324-9032-f38117fbca3b',
UpdatedAt = '20202020-489b-4f1d-80a4-2dddf6fa0e7c',
TargetUrl = '20202020-c16e-4ba8-bb24-bbd88e9cdabc',
Operation = '20202020-5995-493a-92a8-31376e5c052a',
}
export const seedWebhookFieldMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${fieldMetadataTableName}`, [
'id',
'objectMetadataId',
'isCustom',
'workspaceId',
'isActive',
'type',
'name',
'label',
'targetColumnMap',
'description',
'icon',
'isNullable',
'isSystem',
'defaultValue',
])
.orIgnore()
.values([
// Default fields
{
id: SeedWebhookFieldMetadataIds.Id,
objectMetadataId: SeedObjectMetadataIds.Webhook,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'id',
label: 'Id',
targetColumnMap: {
value: 'id',
},
description: undefined,
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: { type: 'uuid' },
},
{
id: SeedWebhookFieldMetadataIds.CreatedAt,
objectMetadataId: SeedObjectMetadataIds.Webhook,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'createdAt',
label: 'Creation date',
targetColumnMap: {
value: 'createdAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
{
id: SeedWebhookFieldMetadataIds.UpdatedAt,
objectMetadataId: SeedObjectMetadataIds.Webhook,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'updatedAt',
label: 'Update date',
targetColumnMap: {
value: 'updatedAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
// Scalar fields
{
id: SeedWebhookFieldMetadataIds.TargetUrl,
objectMetadataId: SeedObjectMetadataIds.Webhook,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'targetUrl',
label: 'Target Url',
targetColumnMap: {
value: 'targetUrl',
},
description: 'Webhook target url',
icon: 'IconLink',
isNullable: false,
isSystem: false,
defaultValue: { value: '' },
},
{
id: SeedWebhookFieldMetadataIds.Operation,
objectMetadataId: SeedObjectMetadataIds.Webhook,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'operation',
label: 'Operation',
targetColumnMap: {
value: 'operation',
},
description: 'Webhook operation',
icon: 'IconCheckbox',
isNullable: false,
isSystem: false,
defaultValue: { value: '' },
},
])
.execute();
};

View File

@ -1,300 +0,0 @@
import { DataSource } from 'typeorm';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const fieldMetadataTableName = 'fieldMetadata';
export enum SeedWorkspaceMemberFieldMetadataIds {
Id = '20202020-678e-4702-a535-2549ef07f1ca',
CreatedAt = '20202020-1cbf-4b32-8c33-fbfedcd9afa8',
UpdatedAt = '20202020-1ba3-4c24-b2cd-b0789633e8d4',
Name = '20202020-8c37-4163-ba06-1dada334ce3e',
AvatarUrl = '20202020-7ba6-40d5-934b-17146183a212',
Locale = '20202020-10f6-4df9-8d6f-a760b65bd800',
ColorScheme = '20202020-83f2-4c5f-96b0-0c51ecc160e3',
UserId = '20202020-f2c1-4ca1-9ca5-7b9d5cc87eb0',
AuthoredActivities = '20202020-37a0-4db4-9c9f-fd3e3f4e47fc',
AssignedActivities = '20202020-ac05-44b9-9526-764dd5ce14e2',
AuthoredAttachments = '20202020-7e0c-4dc4-be49-37de4396349e',
Favorites = '20202020-5ecb-405b-8712-171bb8916b96',
Settings = '20202020-50ed-46ed-8198-65e237b83eb9',
AccountOwnerForCompanies = '20202020-41bb-4c17-8979-40fa915df9e1',
AuthoredComments = '20202020-7238-4e2a-9ccf-d2c8f604933a',
}
export const seedWorkspaceMemberFieldMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${fieldMetadataTableName}`, [
'id',
'objectMetadataId',
'isCustom',
'workspaceId',
'isActive',
'type',
'name',
'label',
'targetColumnMap',
'description',
'icon',
'isNullable',
'isSystem',
'defaultValue',
])
.orIgnore()
.values([
// Default fields
{
id: SeedWorkspaceMemberFieldMetadataIds.Id,
objectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'id',
label: 'Id',
targetColumnMap: {
value: 'id',
},
description: undefined,
icon: undefined,
isNullable: false,
isSystem: true,
defaultValue: { type: 'uuid' },
},
{
id: SeedWorkspaceMemberFieldMetadataIds.CreatedAt,
objectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'createdAt',
label: 'Creation date',
targetColumnMap: {
value: 'createdAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
{
id: SeedWorkspaceMemberFieldMetadataIds.UpdatedAt,
objectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.DATE_TIME,
name: 'updatedAt',
label: 'Update date',
targetColumnMap: {
value: 'updatedAt',
},
description: undefined,
icon: 'IconCalendar',
isNullable: false,
isSystem: true,
defaultValue: { type: 'now' },
},
// Scalar fields
{
id: SeedWorkspaceMemberFieldMetadataIds.Name,
objectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.FULL_NAME,
name: 'name',
label: 'Name',
targetColumnMap: {
firstName: 'nameFirstName',
lastName: 'nameLastName',
},
description: 'Workspace member name',
icon: 'IconCircleUser',
isNullable: false,
isSystem: false,
defaultValue: { firstName: '', lastName: '' },
},
{
id: SeedWorkspaceMemberFieldMetadataIds.AvatarUrl,
objectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: 'TEXT',
name: 'avatarUrl',
label: 'Avatar Url',
targetColumnMap: {
value: 'avatarUrl',
},
description: 'Workspace member avatar',
icon: 'IconFileUpload',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedWorkspaceMemberFieldMetadataIds.UserId,
objectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.UUID,
name: 'userId',
label: 'User Id',
targetColumnMap: {
value: 'userId',
},
description: 'Associated User Id',
icon: 'IconCircleUsers',
isNullable: false,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedWorkspaceMemberFieldMetadataIds.ColorScheme,
objectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'colorScheme',
label: 'Color Scheme',
targetColumnMap: {
value: 'colorScheme',
},
description: 'Preferred color scheme',
icon: 'IconColorSwatch',
isNullable: true,
isSystem: false,
defaultValue: { value: 'Light' },
},
{
id: SeedWorkspaceMemberFieldMetadataIds.Locale,
objectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.TEXT,
name: 'locale',
label: 'Language',
targetColumnMap: {
value: 'locale',
},
description: 'Preferred language',
icon: 'IconLanguage',
isNullable: false,
isSystem: false,
defaultValue: { value: 'en' },
},
// Relationships
{
id: SeedWorkspaceMemberFieldMetadataIds.AuthoredActivities,
objectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'authoredActivities',
label: 'Authored activities',
targetColumnMap: {},
description: 'Activities created by the workspace member',
icon: 'IconCheckbox',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedWorkspaceMemberFieldMetadataIds.AssignedActivities,
objectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'assignedActivities',
label: 'Assigned activities',
targetColumnMap: {},
description: 'Activities assigned to the workspace member',
icon: 'IconCheckbox',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedWorkspaceMemberFieldMetadataIds.Favorites,
objectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'favorites',
label: 'Favorites',
targetColumnMap: {},
description: 'Favorites linked to the workspace member',
icon: 'IconHeart',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedWorkspaceMemberFieldMetadataIds.AccountOwnerForCompanies,
objectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'accountOwnerForCompanies',
label: 'Account Owner For Companies',
targetColumnMap: {},
description: 'Account owner for companies',
icon: 'IconBriefcase',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedWorkspaceMemberFieldMetadataIds.AuthoredAttachments,
objectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'authoredAttachments',
label: 'Authored attachments',
targetColumnMap: {},
description: 'Attachments created by the workspace member',
icon: 'IconFileImport',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
{
id: SeedWorkspaceMemberFieldMetadataIds.AuthoredComments,
objectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
isCustom: false,
workspaceId: SeedWorkspaceId,
isActive: true,
type: FieldMetadataType.RELATION,
name: 'authoredComments',
label: 'Authored comments',
targetColumnMap: {},
description: 'Authored comments',
icon: 'IconComment',
isNullable: true,
isSystem: false,
defaultValue: undefined,
},
])
.execute();
};

View File

@ -1,58 +0,0 @@
import { DataSource } from 'typeorm';
import { seedCompanyFieldMetadata } from 'src/database/typeorm-seeds/metadata/field-metadata/company';
import { seedViewFieldMetadata } from 'src/database/typeorm-seeds/metadata/field-metadata/view';
import { seedViewFieldFieldMetadata } from 'src/database/typeorm-seeds/metadata/field-metadata/view-field';
import { seedViewFilterFieldMetadata } from 'src/database/typeorm-seeds/metadata/field-metadata/view-filter';
import { seedViewSortFieldMetadata } from 'src/database/typeorm-seeds/metadata/field-metadata/view-sort';
import { seedObjectMetadata } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { seedViewRelationMetadata } from 'src/database/typeorm-seeds/metadata/relation-metadata/view';
import { seedActivityTargetFieldMetadata } from 'src/database/typeorm-seeds/metadata/field-metadata/activity-target';
import { seedActivityFieldMetadata } from 'src/database/typeorm-seeds/metadata/field-metadata/activity';
import { seedApiKeyFieldMetadata } from 'src/database/typeorm-seeds/metadata/field-metadata/api-key';
import { seedAttachmentFieldMetadata } from 'src/database/typeorm-seeds/metadata/field-metadata/attachment';
import { seedCommentFieldMetadata } from 'src/database/typeorm-seeds/metadata/field-metadata/comment';
import { seedFavoriteFieldMetadata } from 'src/database/typeorm-seeds/metadata/field-metadata/favorite';
import { seedOpportunityFieldMetadata } from 'src/database/typeorm-seeds/metadata/field-metadata/opportunity';
import { seedPersonFieldMetadata } from 'src/database/typeorm-seeds/metadata/field-metadata/person';
import { seedPipelineStepFieldMetadata } from 'src/database/typeorm-seeds/metadata/field-metadata/pipeline-step';
import { seedWorkspaceMemberFieldMetadata } from 'src/database/typeorm-seeds/metadata/field-metadata/workspace-member';
import { seedCompanyRelationMetadata } from 'src/database/typeorm-seeds/metadata/relation-metadata/company';
import { seedActivityRelationMetadata } from 'src/database/typeorm-seeds/metadata/relation-metadata/activity';
import { seedPipelineStepRelationMetadata } from 'src/database/typeorm-seeds/metadata/relation-metadata/pipeline-step';
import { seedPersonRelationMetadata } from 'src/database/typeorm-seeds/metadata/relation-metadata/person';
import { seedWorkspaceMemberRelationMetadata } from 'src/database/typeorm-seeds/metadata/relation-metadata/workspace-member';
import { seedDataSource } from 'src/database/typeorm-seeds/metadata/data-source';
import { seedWebhookFieldMetadata } from 'src/database/typeorm-seeds/metadata/field-metadata/webhook';
export const seedMetadataSchema = async (workspaceDataSource: DataSource) => {
const schemaName = 'metadata';
await seedDataSource(workspaceDataSource, schemaName);
await seedObjectMetadata(workspaceDataSource, schemaName);
await seedActivityTargetFieldMetadata(workspaceDataSource, schemaName);
await seedActivityFieldMetadata(workspaceDataSource, schemaName);
await seedApiKeyFieldMetadata(workspaceDataSource, schemaName);
await seedAttachmentFieldMetadata(workspaceDataSource, schemaName);
await seedWebhookFieldMetadata(workspaceDataSource, schemaName);
await seedCommentFieldMetadata(workspaceDataSource, schemaName);
await seedCompanyFieldMetadata(workspaceDataSource, schemaName);
await seedFavoriteFieldMetadata(workspaceDataSource, schemaName);
await seedOpportunityFieldMetadata(workspaceDataSource, schemaName);
await seedPersonFieldMetadata(workspaceDataSource, schemaName);
await seedPipelineStepFieldMetadata(workspaceDataSource, schemaName);
await seedViewFieldMetadata(workspaceDataSource, schemaName);
await seedViewFieldFieldMetadata(workspaceDataSource, schemaName);
await seedViewFilterFieldMetadata(workspaceDataSource, schemaName);
await seedViewSortFieldMetadata(workspaceDataSource, schemaName);
await seedViewRelationMetadata(workspaceDataSource, schemaName);
await seedWorkspaceMemberFieldMetadata(workspaceDataSource, schemaName);
await seedActivityRelationMetadata(workspaceDataSource, schemaName);
await seedCompanyRelationMetadata(workspaceDataSource, schemaName);
await seedPersonRelationMetadata(workspaceDataSource, schemaName);
await seedPipelineStepRelationMetadata(workspaceDataSource, schemaName);
await seedViewRelationMetadata(workspaceDataSource, schemaName);
await seedWorkspaceMemberRelationMetadata(workspaceDataSource, schemaName);
};

View File

@ -1,306 +0,0 @@
import { DataSource } from 'typeorm';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
import { SeedDataSourceId } from 'src/database/typeorm-seeds/metadata/data-source';
import { SeedCompanyFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/company';
import { SeedPersonFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/person';
const tableName = 'objectMetadata';
export enum SeedObjectMetadataIds {
Company = '20202020-480c-434e-b4c7-e22408b97047',
Person = '20202020-c64b-44bc-bd2c-502c99f49dca',
Opportunity = '20202020-cae9-4ff4-9579-f7d9fe44c937',
PipelineStep = '20202020-1029-4661-9e91-83bad932bdcd',
WorkspaceMember = '20202020-b550-40bb-a96b-9ab54b664753',
Webhook = '20202020-ddee-40de-9c9b-5f82a3503360',
ApiKey = '20202020-d8d0-4c2d-a370-5499b2181d02',
Activity = '20202020-8ee3-4f67-84ab-1b7a6eb5a448',
ActivityTarget = '20202020-439a-4a41-83a3-3cda03d01d38',
Comment = '20202020-4de3-4e65-ac60-b40b8e08d7d6',
Attachment = '20202020-5f98-4317-915d-3779bb821be2',
Favorite = '20202020-90e4-4701-a350-8ab75e23e3b8',
View = '20202020-767f-473f-8fd0-6cdbefbf8dbe',
ViewField = '20202020-485c-4c48-a22e-0d9a164f9647',
ViewFilter = '20202020-4461-4e2d-bf9e-9b47e68846d3',
ViewSort = '20202020-cf28-41dd-b98b-d6e1f5b3a251',
}
export const seedObjectMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${tableName}`, [
'id',
'nameSingular',
'namePlural',
'labelSingular',
'labelPlural',
'targetTableName',
'description',
'icon',
'dataSourceId',
'workspaceId',
'isActive',
'isSystem',
'labelIdentifierFieldMetadataId',
'imageIdentifierFieldMetadataId',
])
.orIgnore()
.values([
{
id: SeedObjectMetadataIds.Company,
nameSingular: 'company',
namePlural: 'companies',
labelSingular: 'Company',
labelPlural: 'Companies',
targetTableName: 'company',
description: 'A company',
icon: 'IconBuildingSkyscraper',
dataSourceId: SeedDataSourceId,
workspaceId: SeedWorkspaceId,
isActive: true,
isSystem: false,
labelIdentifierFieldMetadataId: SeedCompanyFieldMetadataIds.Name,
imageIdentifierFieldMetadataId: SeedCompanyFieldMetadataIds.DomainName,
},
{
id: SeedObjectMetadataIds.Person,
nameSingular: 'person',
namePlural: 'people',
labelSingular: 'Person',
labelPlural: 'People',
targetTableName: 'person',
description: 'A person',
icon: 'IconUser',
dataSourceId: SeedDataSourceId,
workspaceId: SeedWorkspaceId,
isActive: true,
isSystem: false,
labelIdentifierFieldMetadataId: SeedPersonFieldMetadataIds.Email,
imageIdentifierFieldMetadataId: SeedPersonFieldMetadataIds.AvatarUrl,
},
])
.execute();
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${tableName}`, [
'id',
'nameSingular',
'namePlural',
'labelSingular',
'labelPlural',
'targetTableName',
'description',
'icon',
'dataSourceId',
'workspaceId',
'isActive',
'isSystem',
])
.orIgnore()
.values([
{
id: SeedObjectMetadataIds.Opportunity,
nameSingular: 'opportunity',
namePlural: 'opportunities',
labelSingular: 'Opportunity',
labelPlural: 'Opportunities',
targetTableName: 'opportunity',
description: 'An opportunity',
icon: 'IconTargetArrow',
dataSourceId: SeedDataSourceId,
workspaceId: SeedWorkspaceId,
isActive: true,
isSystem: false,
},
{
id: SeedObjectMetadataIds.PipelineStep,
nameSingular: 'pipelineStep',
namePlural: 'pipelineSteps',
labelSingular: 'Pipeline Step',
labelPlural: 'Pipeline Steps',
targetTableName: 'pipelineStep',
description: 'A pipeline step',
icon: 'IconLayoutKanban',
dataSourceId: SeedDataSourceId,
workspaceId: SeedWorkspaceId,
isActive: true,
isSystem: true,
},
{
id: SeedObjectMetadataIds.WorkspaceMember,
nameSingular: 'workspaceMember',
namePlural: 'workspaceMembers',
labelSingular: 'Workspace Member',
labelPlural: 'Workspace Members',
targetTableName: 'workspaceMember',
description: 'A workspace member',
icon: 'IconUserCircle',
dataSourceId: SeedDataSourceId,
workspaceId: SeedWorkspaceId,
isActive: true,
isSystem: true,
},
{
id: SeedObjectMetadataIds.Webhook,
nameSingular: 'webhook',
namePlural: 'webhooks',
labelSingular: 'Webhook',
labelPlural: 'Webhooks',
targetTableName: 'webhook',
description: 'A webhook',
icon: 'IconRobot',
dataSourceId: SeedDataSourceId,
workspaceId: SeedWorkspaceId,
isActive: true,
isSystem: true,
},
{
id: SeedObjectMetadataIds.ApiKey,
nameSingular: 'apiKey',
namePlural: 'apiKeys',
labelSingular: 'Api Key',
labelPlural: 'Api Keys',
targetTableName: 'apiKey',
description: 'An api key',
icon: 'IconRobot',
dataSourceId: SeedDataSourceId,
workspaceId: SeedWorkspaceId,
isActive: true,
isSystem: true,
},
{
id: SeedObjectMetadataIds.Activity,
nameSingular: 'activity',
namePlural: 'activities',
labelSingular: 'Activity',
labelPlural: 'Activities',
targetTableName: 'activity',
description: 'An activity',
icon: 'IconCheckbox',
dataSourceId: SeedDataSourceId,
workspaceId: SeedWorkspaceId,
isActive: true,
isSystem: true,
},
{
id: SeedObjectMetadataIds.ActivityTarget,
nameSingular: 'activityTarget',
namePlural: 'activityTargets',
labelSingular: 'Activity Target',
labelPlural: 'Activity Targets',
targetTableName: 'activityTarget',
description: 'An activity target',
icon: 'IconCheckbox',
dataSourceId: SeedDataSourceId,
workspaceId: SeedWorkspaceId,
isActive: true,
isSystem: true,
},
{
id: SeedObjectMetadataIds.Comment,
nameSingular: 'comment',
namePlural: 'comments',
labelSingular: 'Comment',
labelPlural: 'Comments',
targetTableName: 'comment',
description: 'A comment',
icon: 'IconMessageCircle',
dataSourceId: SeedDataSourceId,
workspaceId: SeedWorkspaceId,
isActive: true,
isSystem: true,
},
{
id: SeedObjectMetadataIds.Attachment,
nameSingular: 'attachment',
namePlural: 'attachments',
labelSingular: 'Attachment',
labelPlural: 'Attachments',
targetTableName: 'attachment',
description: 'An attachment',
icon: 'IconFileImport',
dataSourceId: SeedDataSourceId,
workspaceId: SeedWorkspaceId,
isActive: true,
isSystem: true,
},
{
id: SeedObjectMetadataIds.Favorite,
nameSingular: 'favorite',
namePlural: 'favorites',
labelSingular: 'Favorite',
labelPlural: 'Favorites',
targetTableName: 'favorite',
description: 'A favorite',
icon: 'IconHeart',
dataSourceId: SeedDataSourceId,
workspaceId: SeedWorkspaceId,
isActive: true,
isSystem: true,
},
{
id: SeedObjectMetadataIds.View,
nameSingular: 'view',
namePlural: 'views',
labelSingular: 'View',
labelPlural: 'Views',
targetTableName: 'view',
description: '(System) Views',
icon: 'IconLayoutCollage',
dataSourceId: SeedDataSourceId,
workspaceId: SeedWorkspaceId,
isActive: true,
isSystem: true,
},
{
id: SeedObjectMetadataIds.ViewField,
nameSingular: 'viewField',
namePlural: 'viewFields',
labelSingular: 'View Field',
labelPlural: 'View Fields',
targetTableName: 'viewField',
description: '(System) View Fields',
icon: 'IconTag',
dataSourceId: SeedDataSourceId,
workspaceId: SeedWorkspaceId,
isActive: true,
isSystem: true,
},
{
id: SeedObjectMetadataIds.ViewFilter,
nameSingular: 'viewFilter',
namePlural: 'viewFilters',
labelSingular: 'View Filter',
labelPlural: 'View Filters',
targetTableName: 'viewFilter',
description: '(System) View Filters',
icon: 'IconFilterBolt',
dataSourceId: SeedDataSourceId,
workspaceId: SeedWorkspaceId,
isActive: true,
isSystem: true,
},
{
id: SeedObjectMetadataIds.ViewSort,
nameSingular: 'viewSort',
namePlural: 'viewSorts',
labelSingular: 'View Sort',
labelPlural: 'View Sorts',
targetTableName: 'viewSort',
description: '(System) View Sorts',
icon: 'IconArrowsSort',
dataSourceId: SeedDataSourceId,
workspaceId: SeedWorkspaceId,
isActive: true,
isSystem: true,
},
])
.execute();
};

View File

@ -1,56 +0,0 @@
import { DataSource } from 'typeorm';
import { RelationMetadataType } from 'src/metadata/relation-metadata/relation-metadata.entity';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { SeedActivityFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/activity';
import { SeedActivityTargetFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/activity-target';
import { SeedAttachmentFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/attachment';
import { SeedCommentFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/comment';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const tableName = 'relationMetadata';
export const seedActivityRelationMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${tableName}`, [
'relationType',
'fromObjectMetadataId',
'toObjectMetadataId',
'fromFieldMetadataId',
'toFieldMetadataId',
'workspaceId',
])
.orIgnore()
.values([
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.Activity,
toObjectMetadataId: SeedObjectMetadataIds.ActivityTarget,
fromFieldMetadataId: SeedActivityFieldMetadataIds.ActivityTargets,
toFieldMetadataId: SeedActivityTargetFieldMetadataIds.Activity,
workspaceId: SeedWorkspaceId,
},
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.Activity,
toObjectMetadataId: SeedObjectMetadataIds.Attachment,
fromFieldMetadataId: SeedActivityFieldMetadataIds.Attachments,
toFieldMetadataId: SeedAttachmentFieldMetadataIds.Activity,
workspaceId: SeedWorkspaceId,
},
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.Activity,
toObjectMetadataId: SeedObjectMetadataIds.Comment,
fromFieldMetadataId: SeedActivityFieldMetadataIds.Comments,
toFieldMetadataId: SeedCommentFieldMetadataIds.Activity,
workspaceId: SeedWorkspaceId,
},
])
.execute();
};

View File

@ -1,74 +0,0 @@
import { DataSource } from 'typeorm';
import { RelationMetadataType } from 'src/metadata/relation-metadata/relation-metadata.entity';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { SeedCompanyFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/company';
import { SeedPersonFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/person';
import { SeedFavoriteFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/favorite';
import { SeedAttachmentFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/attachment';
import { SeedOpportunityFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/opportunity';
import { SeedActivityTargetFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/activity-target';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const tableName = 'relationMetadata';
export const seedCompanyRelationMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${tableName}`, [
'relationType',
'fromObjectMetadataId',
'toObjectMetadataId',
'fromFieldMetadataId',
'toFieldMetadataId',
'workspaceId',
])
.orIgnore()
.values([
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.Company,
toObjectMetadataId: SeedObjectMetadataIds.Person,
fromFieldMetadataId: SeedCompanyFieldMetadataIds.People,
toFieldMetadataId: SeedPersonFieldMetadataIds.Company,
workspaceId: SeedWorkspaceId,
},
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.Company,
toObjectMetadataId: SeedObjectMetadataIds.Favorite,
fromFieldMetadataId: SeedCompanyFieldMetadataIds.Favorites,
toFieldMetadataId: SeedFavoriteFieldMetadataIds.Company,
workspaceId: SeedWorkspaceId,
},
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.Company,
toObjectMetadataId: SeedObjectMetadataIds.Attachment,
fromFieldMetadataId: SeedCompanyFieldMetadataIds.Attachments,
toFieldMetadataId: SeedAttachmentFieldMetadataIds.Company,
workspaceId: SeedWorkspaceId,
},
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.Company,
toObjectMetadataId: SeedObjectMetadataIds.Opportunity,
fromFieldMetadataId: SeedCompanyFieldMetadataIds.Opportunities,
toFieldMetadataId: SeedOpportunityFieldMetadataIds.Company,
workspaceId: SeedWorkspaceId,
},
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.Company,
toObjectMetadataId: SeedObjectMetadataIds.ActivityTarget,
fromFieldMetadataId: SeedCompanyFieldMetadataIds.ActivityTargets,
toFieldMetadataId: SeedActivityTargetFieldMetadataIds.Company,
workspaceId: SeedWorkspaceId,
},
])
.execute();
};

View File

@ -1,73 +0,0 @@
import { DataSource } from 'typeorm';
import { RelationMetadataType } from 'src/metadata/relation-metadata/relation-metadata.entity';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { SeedFavoriteFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/favorite';
import { SeedPersonFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/person';
import { SeedActivityTargetFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/activity-target';
import { SeedAttachmentFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/attachment';
import { SeedOpportunityFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/opportunity';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const tableName = 'relationMetadata';
export const seedPersonRelationMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${tableName}`, [
'relationType',
'fromObjectMetadataId',
'toObjectMetadataId',
'fromFieldMetadataId',
'toFieldMetadataId',
'workspaceId',
])
.orIgnore()
.values([
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.Person,
toObjectMetadataId: SeedObjectMetadataIds.Favorite,
fromFieldMetadataId: SeedPersonFieldMetadataIds.Favorites,
toFieldMetadataId: SeedFavoriteFieldMetadataIds.Person,
workspaceId: SeedWorkspaceId,
},
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.Person,
toObjectMetadataId: SeedObjectMetadataIds.Attachment,
fromFieldMetadataId: SeedPersonFieldMetadataIds.Attachments,
toFieldMetadataId: SeedAttachmentFieldMetadataIds.Person,
workspaceId: SeedWorkspaceId,
},
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.Person,
toObjectMetadataId: SeedObjectMetadataIds.Opportunity,
fromFieldMetadataId: SeedPersonFieldMetadataIds.Opportunities,
toFieldMetadataId: SeedOpportunityFieldMetadataIds.Person,
workspaceId: SeedWorkspaceId,
},
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.Person,
toObjectMetadataId: SeedObjectMetadataIds.Opportunity,
fromFieldMetadataId: SeedPersonFieldMetadataIds.ContactForOpportunities,
toFieldMetadataId: SeedOpportunityFieldMetadataIds.PointOfContact,
workspaceId: SeedWorkspaceId,
},
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.Person,
toObjectMetadataId: SeedObjectMetadataIds.ActivityTarget,
fromFieldMetadataId: SeedPersonFieldMetadataIds.ActivityTargets,
toFieldMetadataId: SeedActivityTargetFieldMetadataIds.Person,
workspaceId: SeedWorkspaceId,
},
])
.execute();
};

View File

@ -1,38 +0,0 @@
import { DataSource } from 'typeorm';
import { RelationMetadataType } from 'src/metadata/relation-metadata/relation-metadata.entity';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { SeedPipelineStepFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/pipeline-step';
import { SeedOpportunityFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/opportunity';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const tableName = 'relationMetadata';
export const seedPipelineStepRelationMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${tableName}`, [
'relationType',
'fromObjectMetadataId',
'toObjectMetadataId',
'fromFieldMetadataId',
'toFieldMetadataId',
'workspaceId',
])
.orIgnore()
.values([
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.PipelineStep,
toObjectMetadataId: SeedObjectMetadataIds.Opportunity,
fromFieldMetadataId: SeedPipelineStepFieldMetadataIds.Opportunities,
toFieldMetadataId: SeedOpportunityFieldMetadataIds.PipelineStep,
workspaceId: SeedWorkspaceId,
},
])
.execute();
};

View File

@ -1,56 +0,0 @@
import { DataSource } from 'typeorm';
import { RelationMetadataType } from 'src/metadata/relation-metadata/relation-metadata.entity';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { SeedViewFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/view';
import { SeedViewFieldFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/view-field';
import { SeedViewFilterFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/view-filter';
import { SeedViewSortFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/view-sort';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const tableName = 'relationMetadata';
export const seedViewRelationMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${tableName}`, [
'relationType',
'fromObjectMetadataId',
'toObjectMetadataId',
'fromFieldMetadataId',
'toFieldMetadataId',
'workspaceId',
])
.orIgnore()
.values([
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.View,
toObjectMetadataId: SeedObjectMetadataIds.ViewField,
fromFieldMetadataId: SeedViewFieldMetadataIds.ViewFields,
toFieldMetadataId: SeedViewFieldFieldMetadataIds.View,
workspaceId: SeedWorkspaceId,
},
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.View,
toObjectMetadataId: SeedObjectMetadataIds.ViewFilter,
fromFieldMetadataId: SeedViewFieldMetadataIds.ViewFilters,
toFieldMetadataId: SeedViewFilterFieldMetadataIds.View,
workspaceId: SeedWorkspaceId,
},
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.View,
toObjectMetadataId: SeedObjectMetadataIds.ViewSort,
fromFieldMetadataId: SeedViewFieldMetadataIds.ViewSorts,
toFieldMetadataId: SeedViewSortFieldMetadataIds.View,
workspaceId: SeedWorkspaceId,
},
])
.execute();
};

View File

@ -1,87 +0,0 @@
import { DataSource } from 'typeorm';
import { RelationMetadataType } from 'src/metadata/relation-metadata/relation-metadata.entity';
import { SeedObjectMetadataIds } from 'src/database/typeorm-seeds/metadata/object-metadata';
import { SeedCompanyFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/company';
import { SeedWorkspaceMemberFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/workspace-member';
import { SeedFavoriteFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/favorite';
import { SeedActivityFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/activity';
import { SeedCommentFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/comment';
import { SeedAttachmentFieldMetadataIds } from 'src/database/typeorm-seeds/metadata/field-metadata/attachment';
import { SeedWorkspaceId } from 'src/database/typeorm-seeds/core/workspaces';
const tableName = 'relationMetadata';
export const seedWorkspaceMemberRelationMetadata = async (
workspaceDataSource: DataSource,
schemaName: string,
) => {
await workspaceDataSource
.createQueryBuilder()
.insert()
.into(`${schemaName}.${tableName}`, [
'relationType',
'fromObjectMetadataId',
'toObjectMetadataId',
'fromFieldMetadataId',
'toFieldMetadataId',
'workspaceId',
])
.orIgnore()
.values([
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
toObjectMetadataId: SeedObjectMetadataIds.Company,
fromFieldMetadataId:
SeedWorkspaceMemberFieldMetadataIds.AccountOwnerForCompanies,
toFieldMetadataId: SeedCompanyFieldMetadataIds.AccountOwner,
workspaceId: SeedWorkspaceId,
},
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
toObjectMetadataId: SeedObjectMetadataIds.Favorite,
fromFieldMetadataId: SeedWorkspaceMemberFieldMetadataIds.Favorites,
toFieldMetadataId: SeedFavoriteFieldMetadataIds.WorkspaceMember,
workspaceId: SeedWorkspaceId,
},
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
toObjectMetadataId: SeedObjectMetadataIds.Activity,
fromFieldMetadataId:
SeedWorkspaceMemberFieldMetadataIds.AuthoredActivities,
toFieldMetadataId: SeedActivityFieldMetadataIds.Author,
workspaceId: SeedWorkspaceId,
},
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
toObjectMetadataId: SeedObjectMetadataIds.Activity,
fromFieldMetadataId:
SeedWorkspaceMemberFieldMetadataIds.AssignedActivities,
toFieldMetadataId: SeedActivityFieldMetadataIds.Assignee,
workspaceId: SeedWorkspaceId,
},
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
toObjectMetadataId: SeedObjectMetadataIds.Comment,
fromFieldMetadataId:
SeedWorkspaceMemberFieldMetadataIds.AuthoredComments,
toFieldMetadataId: SeedCommentFieldMetadataIds.Author,
workspaceId: SeedWorkspaceId,
},
{
relationType: RelationMetadataType.ONE_TO_MANY,
fromObjectMetadataId: SeedObjectMetadataIds.WorkspaceMember,
toObjectMetadataId: SeedObjectMetadataIds.Attachment,
fromFieldMetadataId:
SeedWorkspaceMemberFieldMetadataIds.AuthoredAttachments,
toFieldMetadataId: SeedAttachmentFieldMetadataIds.Author,
workspaceId: SeedWorkspaceId,
},
])
.execute();
};

View File

@ -23,6 +23,7 @@ export const seedWorkspaceMember = async (
'nameLastName',
'locale',
'colorScheme',
'userEmail',
'userId',
])
.orIgnore()
@ -33,6 +34,7 @@ export const seedWorkspaceMember = async (
nameLastName: 'Apple',
locale: 'en',
colorScheme: 'Light',
userEmail: 'tim@apple.dev',
userId: SeedUserIds.Tim,
},
{
@ -41,6 +43,7 @@ export const seedWorkspaceMember = async (
nameLastName: 'Ive',
locale: 'en',
colorScheme: 'Light',
userEmail: 'jony.ive@apple.dev',
userId: SeedUserIds.Jony,
},
{
@ -49,6 +52,7 @@ export const seedWorkspaceMember = async (
nameLastName: 'Shiler',
locale: 'en',
colorScheme: 'Light',
userEmail: 'phil.schiler@apple.dev',
userId: SeedUserIds.Phil,
},
])