Added all field types on pet custom object (#9248)
- Added all usable composite field types on pet custom object - Fixed missing createdBy on people and company seeds - DEFAULT_SUBDOMAIN is now used for login (could be improved for multi workspace) - Refactored ObjectMetadataStandardIdToIdMap to disambiguate from ObjectMetadataMap - Refactored seedCustomObjects
This commit is contained in:
@ -89,10 +89,11 @@ export const SETTINGS_COMPOSITE_FIELD_TYPE_CONFIGS = {
|
|||||||
label: 'Phones',
|
label: 'Phones',
|
||||||
Icon: IllustrationIconPhone,
|
Icon: IllustrationIconPhone,
|
||||||
exampleValue: {
|
exampleValue: {
|
||||||
primaryPhoneNumber: '234-567-890',
|
primaryPhoneCallingCode: '+33',
|
||||||
primaryPhoneCountryCode: '+1',
|
primaryPhoneCountryCode: 'FR',
|
||||||
|
primaryPhoneNumber: '789012345',
|
||||||
additionalPhones: [
|
additionalPhones: [
|
||||||
{ number: '234-567-890', callingCode: '+1', countryCode: 'US' },
|
{ number: '617272323', callingCode: '+33', countryCode: 'FR' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
subFields: [
|
subFields: [
|
||||||
|
|||||||
@ -1,18 +1,17 @@
|
|||||||
import { Logger } from '@nestjs/common';
|
import { Logger } from '@nestjs/common';
|
||||||
|
|
||||||
import { Command, CommandRunner } from 'nest-commander';
|
import { Command, CommandRunner } from 'nest-commander';
|
||||||
import { EntityManager } from 'typeorm';
|
import { DataSource, EntityManager } from 'typeorm';
|
||||||
|
|
||||||
import { seedCoreSchema } from 'src/database/typeorm-seeds/core';
|
import { seedCoreSchema } from 'src/database/typeorm-seeds/core';
|
||||||
import {
|
import {
|
||||||
SEED_APPLE_WORKSPACE_ID,
|
|
||||||
SEED_ACME_WORKSPACE_ID,
|
SEED_ACME_WORKSPACE_ID,
|
||||||
|
SEED_APPLE_WORKSPACE_ID,
|
||||||
} from 'src/database/typeorm-seeds/core/workspaces';
|
} from 'src/database/typeorm-seeds/core/workspaces';
|
||||||
import {
|
import {
|
||||||
getDevSeedCompanyCustomFields,
|
getDevSeedCompanyCustomFields,
|
||||||
getDevSeedPeopleCustomFields,
|
getDevSeedPeopleCustomFields,
|
||||||
} from 'src/database/typeorm-seeds/metadata/fieldsMetadata';
|
} from 'src/database/typeorm-seeds/metadata/fieldsMetadata';
|
||||||
import { getDevSeedCustomObjects } from 'src/database/typeorm-seeds/metadata/objectsMetadata';
|
|
||||||
import { seedCalendarChannels } from 'src/database/typeorm-seeds/workspace/calendar-channel';
|
import { seedCalendarChannels } from 'src/database/typeorm-seeds/workspace/calendar-channel';
|
||||||
import { seedCalendarChannelEventAssociations } from 'src/database/typeorm-seeds/workspace/calendar-channel-event-association';
|
import { seedCalendarChannelEventAssociations } from 'src/database/typeorm-seeds/workspace/calendar-channel-event-association';
|
||||||
import { seedCalendarEventParticipants } from 'src/database/typeorm-seeds/workspace/calendar-event-participants';
|
import { seedCalendarEventParticipants } from 'src/database/typeorm-seeds/workspace/calendar-event-participants';
|
||||||
@ -27,7 +26,7 @@ import { seedMessageThreadSubscribers } from 'src/database/typeorm-seeds/workspa
|
|||||||
import { seedMessageThread } from 'src/database/typeorm-seeds/workspace/message-threads';
|
import { seedMessageThread } from 'src/database/typeorm-seeds/workspace/message-threads';
|
||||||
import { seedMessage } from 'src/database/typeorm-seeds/workspace/messages';
|
import { seedMessage } from 'src/database/typeorm-seeds/workspace/messages';
|
||||||
import { seedOpportunity } from 'src/database/typeorm-seeds/workspace/opportunities';
|
import { seedOpportunity } from 'src/database/typeorm-seeds/workspace/opportunities';
|
||||||
import { seedPeople } from 'src/database/typeorm-seeds/workspace/people';
|
import { seedPeople } from 'src/database/typeorm-seeds/workspace/seedPeople';
|
||||||
import { seedWorkspaceMember } from 'src/database/typeorm-seeds/workspace/workspace-members';
|
import { seedWorkspaceMember } from 'src/database/typeorm-seeds/workspace/workspace-members';
|
||||||
import { rawDataSource } from 'src/database/typeorm/raw/raw.datasource';
|
import { rawDataSource } from 'src/database/typeorm/raw/raw.datasource';
|
||||||
import { TypeORMService } from 'src/database/typeorm/typeorm.service';
|
import { TypeORMService } from 'src/database/typeorm/typeorm.service';
|
||||||
@ -36,10 +35,15 @@ import { CacheStorageService } from 'src/engine/core-modules/cache-storage/servi
|
|||||||
import { CacheStorageNamespace } from 'src/engine/core-modules/cache-storage/types/cache-storage-namespace.enum';
|
import { CacheStorageNamespace } from 'src/engine/core-modules/cache-storage/types/cache-storage-namespace.enum';
|
||||||
import { FeatureFlagKey } from 'src/engine/core-modules/feature-flag/enums/feature-flag-key.enum';
|
import { FeatureFlagKey } from 'src/engine/core-modules/feature-flag/enums/feature-flag-key.enum';
|
||||||
import { FeatureFlagService } from 'src/engine/core-modules/feature-flag/services/feature-flag.service';
|
import { FeatureFlagService } from 'src/engine/core-modules/feature-flag/services/feature-flag.service';
|
||||||
|
import { DataSourceEntity } from 'src/engine/metadata-modules/data-source/data-source.entity';
|
||||||
import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service';
|
import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service';
|
||||||
import { FieldMetadataService } from 'src/engine/metadata-modules/field-metadata/field-metadata.service';
|
import { FieldMetadataService } from 'src/engine/metadata-modules/field-metadata/field-metadata.service';
|
||||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
|
||||||
import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service';
|
import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service';
|
||||||
|
import { PETS_DATA_SEEDS } from 'src/engine/seeder/data-seeds/pets-data-seeds';
|
||||||
|
import { SURVEY_RESULTS_DATA_SEEDS } from 'src/engine/seeder/data-seeds/survey-results-data-seeds';
|
||||||
|
import { PETS_METADATA_SEEDS } from 'src/engine/seeder/metadata-seeds/pets-metadata-seeds';
|
||||||
|
import { SURVEY_RESULTS_METADATA_SEEDS } from 'src/engine/seeder/metadata-seeds/survey-results-metadata-seeds';
|
||||||
|
import { SeederService } from 'src/engine/seeder/seeder.service';
|
||||||
import { shouldSeedWorkspaceFavorite } from 'src/engine/utils/should-seed-workspace-favorite';
|
import { shouldSeedWorkspaceFavorite } from 'src/engine/utils/should-seed-workspace-favorite';
|
||||||
import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service';
|
import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service';
|
||||||
import { seedViewWithDemoData } from 'src/engine/workspace-manager/standard-objects-prefill-data/seed-view-with-demo-data';
|
import { seedViewWithDemoData } from 'src/engine/workspace-manager/standard-objects-prefill-data/seed-view-with-demo-data';
|
||||||
@ -66,6 +70,7 @@ export class DataSeedWorkspaceCommand extends CommandRunner {
|
|||||||
@InjectCacheStorage(CacheStorageNamespace.EngineWorkspace)
|
@InjectCacheStorage(CacheStorageNamespace.EngineWorkspace)
|
||||||
private readonly workspaceSchemaCache: CacheStorageService,
|
private readonly workspaceSchemaCache: CacheStorageService,
|
||||||
private readonly featureFlagService: FeatureFlagService,
|
private readonly featureFlagService: FeatureFlagService,
|
||||||
|
private readonly seederService: SeederService,
|
||||||
) {
|
) {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
@ -73,29 +78,7 @@ export class DataSeedWorkspaceCommand extends CommandRunner {
|
|||||||
async run(): Promise<void> {
|
async run(): Promise<void> {
|
||||||
try {
|
try {
|
||||||
for (const workspaceId of this.workspaceIds) {
|
for (const workspaceId of this.workspaceIds) {
|
||||||
await this.workspaceSchemaCache.flush();
|
await this.createWorkspaceSchema(workspaceId);
|
||||||
|
|
||||||
await rawDataSource.initialize();
|
|
||||||
|
|
||||||
await seedCoreSchema(rawDataSource, workspaceId);
|
|
||||||
|
|
||||||
await rawDataSource.destroy();
|
|
||||||
|
|
||||||
const schemaName =
|
|
||||||
await this.workspaceDataSourceService.createWorkspaceDBSchema(
|
|
||||||
workspaceId,
|
|
||||||
);
|
|
||||||
|
|
||||||
const dataSourceMetadata =
|
|
||||||
await this.dataSourceService.createDataSourceMetadata(
|
|
||||||
workspaceId,
|
|
||||||
schemaName,
|
|
||||||
);
|
|
||||||
|
|
||||||
await this.workspaceSyncMetadataService.synchronize({
|
|
||||||
workspaceId: workspaceId,
|
|
||||||
dataSourceId: dataSourceMetadata.id,
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.logger.error(error);
|
this.logger.error(error);
|
||||||
@ -104,150 +87,185 @@ export class DataSeedWorkspaceCommand extends CommandRunner {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (const workspaceId of this.workspaceIds) {
|
for (const workspaceId of this.workspaceIds) {
|
||||||
const dataSourceMetadata =
|
await this.seedWorkspace(workspaceId);
|
||||||
await this.dataSourceService.getLastDataSourceMetadataFromWorkspaceIdOrFail(
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async createWorkspaceSchema(workspaceId: string) {
|
||||||
|
await this.workspaceSchemaCache.flush();
|
||||||
|
|
||||||
|
await rawDataSource.initialize();
|
||||||
|
|
||||||
|
await seedCoreSchema(rawDataSource, workspaceId);
|
||||||
|
|
||||||
|
await rawDataSource.destroy();
|
||||||
|
|
||||||
|
const schemaName =
|
||||||
|
await this.workspaceDataSourceService.createWorkspaceDBSchema(
|
||||||
|
workspaceId,
|
||||||
|
);
|
||||||
|
|
||||||
|
const dataSourceMetadata =
|
||||||
|
await this.dataSourceService.createDataSourceMetadata(
|
||||||
|
workspaceId,
|
||||||
|
schemaName,
|
||||||
|
);
|
||||||
|
|
||||||
|
await this.workspaceSyncMetadataService.synchronize({
|
||||||
|
workspaceId: workspaceId,
|
||||||
|
dataSourceId: dataSourceMetadata.id,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async seedWorkspace(workspaceId: string) {
|
||||||
|
const dataSourceMetadata =
|
||||||
|
await this.dataSourceService.getLastDataSourceMetadataFromWorkspaceIdOrFail(
|
||||||
|
workspaceId,
|
||||||
|
);
|
||||||
|
|
||||||
|
const workspaceDataSource =
|
||||||
|
await this.typeORMService.connectToDataSource(dataSourceMetadata);
|
||||||
|
|
||||||
|
if (!workspaceDataSource) {
|
||||||
|
throw new Error('Could not connect to workspace data source');
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const { objectMetadataStandardIdToIdMap } =
|
||||||
|
await this.objectMetadataService.getObjectMetadataStandardIdToIdMap(
|
||||||
workspaceId,
|
workspaceId,
|
||||||
);
|
);
|
||||||
|
|
||||||
const workspaceDataSource =
|
await this.seedCompanyCustomFields(
|
||||||
await this.typeORMService.connectToDataSource(dataSourceMetadata);
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.company].id,
|
||||||
|
workspaceId,
|
||||||
|
);
|
||||||
|
|
||||||
if (!workspaceDataSource) {
|
await this.seedPeopleCustomFields(
|
||||||
throw new Error('Could not connect to workspace data source');
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.person].id,
|
||||||
}
|
workspaceId,
|
||||||
|
);
|
||||||
|
|
||||||
try {
|
await this.seedStandardObjectRecords(
|
||||||
const objectMetadata =
|
workspaceDataSource,
|
||||||
await this.objectMetadataService.findManyWithinWorkspace(workspaceId);
|
dataSourceMetadata,
|
||||||
const objectMetadataMap = objectMetadata.reduce((acc, object) => {
|
);
|
||||||
acc[object.standardId ?? ''] = {
|
|
||||||
id: object.id,
|
|
||||||
fields: object.fields.reduce((acc, field) => {
|
|
||||||
acc[field.standardId ?? ''] = field.id;
|
|
||||||
|
|
||||||
return acc;
|
await this.seederService.seedCustomObjects(
|
||||||
}, {}),
|
dataSourceMetadata.id,
|
||||||
};
|
workspaceId,
|
||||||
|
PETS_METADATA_SEEDS,
|
||||||
|
PETS_DATA_SEEDS,
|
||||||
|
);
|
||||||
|
|
||||||
return acc;
|
await this.seederService.seedCustomObjects(
|
||||||
}, {});
|
dataSourceMetadata.id,
|
||||||
|
workspaceId,
|
||||||
|
SURVEY_RESULTS_METADATA_SEEDS,
|
||||||
|
SURVEY_RESULTS_DATA_SEEDS,
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
this.logger.error(error);
|
||||||
|
}
|
||||||
|
|
||||||
|
await this.typeORMService.disconnectFromDataSource(dataSourceMetadata.id);
|
||||||
|
}
|
||||||
|
|
||||||
|
async seedStandardObjectRecords(
|
||||||
|
workspaceDataSource: DataSource,
|
||||||
|
dataSourceMetadata: DataSourceEntity,
|
||||||
|
) {
|
||||||
|
await workspaceDataSource.transaction(
|
||||||
|
async (entityManager: EntityManager) => {
|
||||||
|
const { objectMetadataStandardIdToIdMap } =
|
||||||
|
await this.objectMetadataService.getObjectMetadataStandardIdToIdMap(
|
||||||
|
dataSourceMetadata.workspaceId,
|
||||||
|
);
|
||||||
|
|
||||||
const isMessageThreadSubscriberEnabled =
|
const isMessageThreadSubscriberEnabled =
|
||||||
await this.featureFlagService.isFeatureEnabled(
|
await this.featureFlagService.isFeatureEnabled(
|
||||||
FeatureFlagKey.IsMessageThreadSubscriberEnabled,
|
FeatureFlagKey.IsMessageThreadSubscriberEnabled,
|
||||||
workspaceId,
|
dataSourceMetadata.workspaceId,
|
||||||
);
|
);
|
||||||
|
|
||||||
const isWorkflowEnabled =
|
const isWorkflowEnabled =
|
||||||
await this.featureFlagService.isFeatureEnabled(
|
await this.featureFlagService.isFeatureEnabled(
|
||||||
FeatureFlagKey.IsWorkflowEnabled,
|
FeatureFlagKey.IsWorkflowEnabled,
|
||||||
workspaceId,
|
dataSourceMetadata.workspaceId,
|
||||||
);
|
);
|
||||||
|
|
||||||
await this.seedCompanyCustomFields(
|
await seedCompanies(entityManager, dataSourceMetadata.schema);
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.company],
|
await seedPeople(entityManager, dataSourceMetadata.schema);
|
||||||
workspaceId,
|
await seedOpportunity(entityManager, dataSourceMetadata.schema);
|
||||||
|
await seedWorkspaceMember(
|
||||||
|
entityManager,
|
||||||
|
dataSourceMetadata.schema,
|
||||||
|
dataSourceMetadata.workspaceId,
|
||||||
);
|
);
|
||||||
await this.seedPeopleCustomFields(
|
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.person],
|
|
||||||
workspaceId,
|
|
||||||
);
|
|
||||||
await this.seedCustomObjects(workspaceId, dataSourceMetadata.id);
|
|
||||||
|
|
||||||
await workspaceDataSource.transaction(
|
if (dataSourceMetadata.workspaceId === SEED_APPLE_WORKSPACE_ID) {
|
||||||
async (entityManager: EntityManager) => {
|
await seedMessageThread(entityManager, dataSourceMetadata.schema);
|
||||||
await seedCompanies(entityManager, dataSourceMetadata.schema);
|
await seedConnectedAccount(entityManager, dataSourceMetadata.schema);
|
||||||
await seedPeople(entityManager, dataSourceMetadata.schema);
|
|
||||||
await seedOpportunity(entityManager, dataSourceMetadata.schema);
|
|
||||||
await seedWorkspaceMember(
|
|
||||||
entityManager,
|
|
||||||
dataSourceMetadata.schema,
|
|
||||||
workspaceId,
|
|
||||||
);
|
|
||||||
|
|
||||||
if (workspaceId === SEED_APPLE_WORKSPACE_ID) {
|
if (isMessageThreadSubscriberEnabled) {
|
||||||
await seedMessageThread(entityManager, dataSourceMetadata.schema);
|
await seedMessageThreadSubscribers(
|
||||||
await seedConnectedAccount(
|
|
||||||
entityManager,
|
|
||||||
dataSourceMetadata.schema,
|
|
||||||
);
|
|
||||||
|
|
||||||
if (isMessageThreadSubscriberEnabled) {
|
|
||||||
await seedMessageThreadSubscribers(
|
|
||||||
entityManager,
|
|
||||||
dataSourceMetadata.schema,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
await seedMessage(entityManager, dataSourceMetadata.schema);
|
|
||||||
await seedMessageChannel(
|
|
||||||
entityManager,
|
|
||||||
dataSourceMetadata.schema,
|
|
||||||
);
|
|
||||||
await seedMessageChannelMessageAssociation(
|
|
||||||
entityManager,
|
|
||||||
dataSourceMetadata.schema,
|
|
||||||
);
|
|
||||||
await seedMessageParticipant(
|
|
||||||
entityManager,
|
|
||||||
dataSourceMetadata.schema,
|
|
||||||
);
|
|
||||||
|
|
||||||
await seedCalendarEvents(
|
|
||||||
entityManager,
|
|
||||||
dataSourceMetadata.schema,
|
|
||||||
);
|
|
||||||
await seedCalendarChannels(
|
|
||||||
entityManager,
|
|
||||||
dataSourceMetadata.schema,
|
|
||||||
);
|
|
||||||
await seedCalendarChannelEventAssociations(
|
|
||||||
entityManager,
|
|
||||||
dataSourceMetadata.schema,
|
|
||||||
);
|
|
||||||
await seedCalendarEventParticipants(
|
|
||||||
entityManager,
|
|
||||||
dataSourceMetadata.schema,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const viewDefinitionsWithId = await seedViewWithDemoData(
|
|
||||||
entityManager,
|
|
||||||
dataSourceMetadata.schema,
|
|
||||||
objectMetadataMap,
|
|
||||||
isWorkflowEnabled,
|
|
||||||
);
|
|
||||||
|
|
||||||
await seedWorkspaceFavorites(
|
|
||||||
viewDefinitionsWithId
|
|
||||||
.filter(
|
|
||||||
(view) =>
|
|
||||||
view.key === 'INDEX' &&
|
|
||||||
shouldSeedWorkspaceFavorite(
|
|
||||||
view.objectMetadataId,
|
|
||||||
objectMetadataMap,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
.map((view) => view.id),
|
|
||||||
entityManager,
|
entityManager,
|
||||||
dataSourceMetadata.schema,
|
dataSourceMetadata.schema,
|
||||||
);
|
);
|
||||||
},
|
}
|
||||||
);
|
|
||||||
} catch (error) {
|
|
||||||
this.logger.error(error);
|
|
||||||
}
|
|
||||||
|
|
||||||
await this.typeORMService.disconnectFromDataSource(dataSourceMetadata.id);
|
await seedMessage(entityManager, dataSourceMetadata.schema);
|
||||||
}
|
await seedMessageChannel(entityManager, dataSourceMetadata.schema);
|
||||||
|
await seedMessageChannelMessageAssociation(
|
||||||
|
entityManager,
|
||||||
|
dataSourceMetadata.schema,
|
||||||
|
);
|
||||||
|
await seedMessageParticipant(
|
||||||
|
entityManager,
|
||||||
|
dataSourceMetadata.schema,
|
||||||
|
);
|
||||||
|
|
||||||
|
await seedCalendarEvents(entityManager, dataSourceMetadata.schema);
|
||||||
|
await seedCalendarChannels(entityManager, dataSourceMetadata.schema);
|
||||||
|
await seedCalendarChannelEventAssociations(
|
||||||
|
entityManager,
|
||||||
|
dataSourceMetadata.schema,
|
||||||
|
);
|
||||||
|
await seedCalendarEventParticipants(
|
||||||
|
entityManager,
|
||||||
|
dataSourceMetadata.schema,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const viewDefinitionsWithId = await seedViewWithDemoData(
|
||||||
|
entityManager,
|
||||||
|
dataSourceMetadata.schema,
|
||||||
|
objectMetadataStandardIdToIdMap,
|
||||||
|
isWorkflowEnabled,
|
||||||
|
);
|
||||||
|
|
||||||
|
await seedWorkspaceFavorites(
|
||||||
|
viewDefinitionsWithId
|
||||||
|
.filter(
|
||||||
|
(view) =>
|
||||||
|
view.key === 'INDEX' &&
|
||||||
|
shouldSeedWorkspaceFavorite(
|
||||||
|
view.objectMetadataId,
|
||||||
|
objectMetadataStandardIdToIdMap,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
.map((view) => view.id),
|
||||||
|
entityManager,
|
||||||
|
dataSourceMetadata.schema,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
async seedCompanyCustomFields(
|
async seedCompanyCustomFields(
|
||||||
companyObjectMetadata: ObjectMetadataEntity,
|
companyObjectMetadataId: string,
|
||||||
workspaceId: string,
|
workspaceId: string,
|
||||||
) {
|
) {
|
||||||
const companyObjectMetadataId = companyObjectMetadata?.id;
|
|
||||||
|
|
||||||
if (!companyObjectMetadataId) {
|
if (!companyObjectMetadataId) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`Company object metadata not found for workspace ${workspaceId}, can't seed custom fields`,
|
`Company object metadata not found for workspace ${workspaceId}, can't seed custom fields`,
|
||||||
@ -269,11 +287,9 @@ export class DataSeedWorkspaceCommand extends CommandRunner {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async seedPeopleCustomFields(
|
async seedPeopleCustomFields(
|
||||||
personObjectMetadata: ObjectMetadataEntity,
|
personObjectMetadataId: string,
|
||||||
workspaceId: string,
|
workspaceId: string,
|
||||||
) {
|
) {
|
||||||
const personObjectMetadataId = personObjectMetadata?.id;
|
|
||||||
|
|
||||||
if (!personObjectMetadataId) {
|
if (!personObjectMetadataId) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`Person object metadata not found for workspace ${workspaceId}, can't seed custom fields`,
|
`Person object metadata not found for workspace ${workspaceId}, can't seed custom fields`,
|
||||||
@ -292,15 +308,4 @@ export class DataSeedWorkspaceCommand extends CommandRunner {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async seedCustomObjects(workspaceId: string, dataSourceId: string) {
|
|
||||||
const devSeedCustomObjects = getDevSeedCustomObjects(
|
|
||||||
workspaceId,
|
|
||||||
dataSourceId,
|
|
||||||
);
|
|
||||||
|
|
||||||
for (const customObject of devSeedCustomObjects) {
|
|
||||||
await this.objectMetadataService.createOne(customObject);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,6 +23,7 @@ import { FieldMetadataModule } from 'src/engine/metadata-modules/field-metadata/
|
|||||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
||||||
import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module';
|
import { ObjectMetadataModule } from 'src/engine/metadata-modules/object-metadata/object-metadata.module';
|
||||||
import { WorkspaceMetadataVersionModule } from 'src/engine/metadata-modules/workspace-metadata-version/workspace-metadata-version.module';
|
import { WorkspaceMetadataVersionModule } from 'src/engine/metadata-modules/workspace-metadata-version/workspace-metadata-version.module';
|
||||||
|
import { SeederModule } from 'src/engine/seeder/seeder.module';
|
||||||
import { WorkspaceCacheStorageModule } from 'src/engine/workspace-cache-storage/workspace-cache-storage.module';
|
import { WorkspaceCacheStorageModule } from 'src/engine/workspace-cache-storage/workspace-cache-storage.module';
|
||||||
import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module';
|
import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module';
|
||||||
import { WorkspaceManagerModule } from 'src/engine/workspace-manager/workspace-manager.module';
|
import { WorkspaceManagerModule } from 'src/engine/workspace-manager/workspace-manager.module';
|
||||||
@ -30,6 +31,7 @@ import { WorkspaceSyncMetadataModule } from 'src/engine/workspace-manager/worksp
|
|||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
imports: [
|
imports: [
|
||||||
|
SeederModule,
|
||||||
WorkspaceManagerModule,
|
WorkspaceManagerModule,
|
||||||
DataSourceModule,
|
DataSourceModule,
|
||||||
TypeORMModule,
|
TypeORMModule,
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { EntityManager } from 'typeorm';
|
import { EntityManager } from 'typeorm';
|
||||||
|
|
||||||
import { DEV_SEED_PERSON_IDS } from 'src/database/typeorm-seeds/workspace/people';
|
import { DEV_SEED_PERSON_IDS } from 'src/database/typeorm-seeds/workspace/seedPeople';
|
||||||
import { DEV_SEED_WORKSPACE_MEMBER_IDS } from 'src/database/typeorm-seeds/workspace/workspace-members';
|
import { DEV_SEED_WORKSPACE_MEMBER_IDS } from 'src/database/typeorm-seeds/workspace/workspace-members';
|
||||||
import { CalendarEventParticipantResponseStatus } from 'src/modules/calendar/common/standard-objects/calendar-event-participant.workspace-entity';
|
import { CalendarEventParticipantResponseStatus } from 'src/modules/calendar/common/standard-objects/calendar-event-participant.workspace-entity';
|
||||||
|
|
||||||
|
|||||||
@ -264,8 +264,8 @@ export const seedCompanies = async (
|
|||||||
tagline: "Algolia's tagline",
|
tagline: "Algolia's tagline",
|
||||||
workPolicy: ['ON_SITE'],
|
workPolicy: ['ON_SITE'],
|
||||||
createdBySource: 'MANUAL',
|
createdBySource: 'MANUAL',
|
||||||
createdByWorkspaceMemberId: null,
|
createdByWorkspaceMemberId: DEV_SEED_WORKSPACE_MEMBER_IDS.TIM,
|
||||||
createdByName: '',
|
createdByName: 'Tim Apple',
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
.execute();
|
.execute();
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import { EntityManager } from 'typeorm';
|
import { EntityManager } from 'typeorm';
|
||||||
|
|
||||||
import { DEV_SEED_WORKSPACE_MEMBER_IDS } from 'src/database/typeorm-seeds/workspace/workspace-members';
|
|
||||||
import { DEV_SEED_PERSON_IDS } from 'src/database/typeorm-seeds/workspace/people';
|
|
||||||
import { DEV_SEED_MESSAGE_IDS } from 'src/database/typeorm-seeds/workspace/messages';
|
import { DEV_SEED_MESSAGE_IDS } from 'src/database/typeorm-seeds/workspace/messages';
|
||||||
|
import { DEV_SEED_PERSON_IDS } from 'src/database/typeorm-seeds/workspace/seedPeople';
|
||||||
|
import { DEV_SEED_WORKSPACE_MEMBER_IDS } from 'src/database/typeorm-seeds/workspace/workspace-members';
|
||||||
|
|
||||||
const tableName = 'messageParticipant';
|
const tableName = 'messageParticipant';
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import { EntityManager } from 'typeorm';
|
import { EntityManager } from 'typeorm';
|
||||||
|
|
||||||
import { DEV_SEED_COMPANY_IDS } from 'src/database/typeorm-seeds/workspace/companies';
|
import { DEV_SEED_COMPANY_IDS } from 'src/database/typeorm-seeds/workspace/companies';
|
||||||
import { DEV_SEED_PERSON_IDS } from 'src/database/typeorm-seeds/workspace/people';
|
import { DEV_SEED_PERSON_IDS } from 'src/database/typeorm-seeds/workspace/seedPeople';
|
||||||
import { DEV_SEED_WORKSPACE_MEMBER_IDS } from 'src/database/typeorm-seeds/workspace/workspace-members';
|
import { DEV_SEED_WORKSPACE_MEMBER_IDS } from 'src/database/typeorm-seeds/workspace/workspace-members';
|
||||||
|
|
||||||
const tableName = 'opportunity';
|
const tableName = 'opportunity';
|
||||||
|
|||||||
@ -317,8 +317,8 @@ export const seedPeople = async (
|
|||||||
whatsappPrimaryPhoneCallingCode: '+33',
|
whatsappPrimaryPhoneCallingCode: '+33',
|
||||||
whatsappPrimaryPhoneNumber: '788901235',
|
whatsappPrimaryPhoneNumber: '788901235',
|
||||||
createdBySource: 'MANUAL',
|
createdBySource: 'MANUAL',
|
||||||
createdByWorkspaceMemberId: null,
|
createdByWorkspaceMemberId: DEV_SEED_WORKSPACE_MEMBER_IDS.TIM,
|
||||||
createdByName: '',
|
createdByName: 'Tim Apple',
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
.execute();
|
.execute();
|
||||||
@ -147,6 +147,21 @@ export class DomainManagerService {
|
|||||||
|
|
||||||
private async getDefaultWorkspace() {
|
private async getDefaultWorkspace() {
|
||||||
if (!this.environmentService.get('IS_MULTIWORKSPACE_ENABLED')) {
|
if (!this.environmentService.get('IS_MULTIWORKSPACE_ENABLED')) {
|
||||||
|
const defaultWorkspaceSubDomain =
|
||||||
|
this.environmentService.get('DEFAULT_SUBDOMAIN');
|
||||||
|
|
||||||
|
if (isDefined(defaultWorkspaceSubDomain)) {
|
||||||
|
const foundWorkspaceForDefaultSubDomain =
|
||||||
|
await this.workspaceRepository.findOne({
|
||||||
|
where: { subdomain: defaultWorkspaceSubDomain },
|
||||||
|
relations: ['workspaceSSOIdentityProviders'],
|
||||||
|
});
|
||||||
|
|
||||||
|
if (isDefined(foundWorkspaceForDefaultSubDomain)) {
|
||||||
|
return foundWorkspaceForDefaultSubDomain;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const workspaces = await this.workspaceRepository.find({
|
const workspaces = await this.workspaceRepository.find({
|
||||||
order: {
|
order: {
|
||||||
createdAt: 'DESC',
|
createdAt: 'DESC',
|
||||||
|
|||||||
@ -0,0 +1,8 @@
|
|||||||
|
export type ObjectMetadataStandardIdToIdMap = {
|
||||||
|
[objectMetadataStandardId: string]: {
|
||||||
|
id: string;
|
||||||
|
fields: {
|
||||||
|
[fieldMetadataStandardId: string]: string;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
@ -8,6 +8,8 @@ import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm';
|
|||||||
import { isDefined } from 'class-validator';
|
import { isDefined } from 'class-validator';
|
||||||
import { FindManyOptions, FindOneOptions, In, Not, Repository } from 'typeorm';
|
import { FindManyOptions, FindOneOptions, In, Not, Repository } from 'typeorm';
|
||||||
|
|
||||||
|
import { ObjectMetadataStandardIdToIdMap } from 'src/engine/metadata-modules/object-metadata/interfaces/object-metadata-standard-id-to-id-map';
|
||||||
|
|
||||||
import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service';
|
import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service';
|
||||||
import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
|
import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
|
||||||
import { IndexMetadataService } from 'src/engine/metadata-modules/index-metadata/index-metadata.service';
|
import { IndexMetadataService } from 'src/engine/metadata-modules/index-metadata/index-metadata.service';
|
||||||
@ -411,6 +413,26 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async getObjectMetadataStandardIdToIdMap(workspaceId: string) {
|
||||||
|
const objectMetadata = await this.findManyWithinWorkspace(workspaceId);
|
||||||
|
|
||||||
|
const objectMetadataStandardIdToIdMap =
|
||||||
|
objectMetadata.reduce<ObjectMetadataStandardIdToIdMap>((acc, object) => {
|
||||||
|
acc[object.standardId ?? ''] = {
|
||||||
|
id: object.id,
|
||||||
|
fields: object.fields.reduce((acc, field) => {
|
||||||
|
acc[field.standardId ?? ''] = field.id;
|
||||||
|
|
||||||
|
return acc;
|
||||||
|
}, {}),
|
||||||
|
};
|
||||||
|
|
||||||
|
return acc;
|
||||||
|
}, {});
|
||||||
|
|
||||||
|
return { objectMetadataStandardIdToIdMap };
|
||||||
|
}
|
||||||
|
|
||||||
private async handleObjectNameAndLabelUpdates(
|
private async handleObjectNameAndLabelUpdates(
|
||||||
existingObjectMetadata: ObjectMetadataEntity,
|
existingObjectMetadata: ObjectMetadataEntity,
|
||||||
objectMetadataForUpdate: ObjectMetadataEntity,
|
objectMetadataForUpdate: ObjectMetadataEntity,
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -22,6 +22,24 @@ export const PETS_METADATA_SEEDS: ObjectMetadataSeed = {
|
|||||||
{ label: 'Hamster', value: 'hamster', position: 5, color: 'orange' },
|
{ label: 'Hamster', value: 'hamster', position: 5, color: 'orange' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: FieldMetadataType.MULTI_SELECT,
|
||||||
|
label: 'Traits',
|
||||||
|
name: 'traits',
|
||||||
|
options: [
|
||||||
|
{ label: 'Playful', value: 'playful', position: 0, color: 'blue' },
|
||||||
|
{ label: 'Friendly', value: 'friendly', position: 1, color: 'red' },
|
||||||
|
{
|
||||||
|
label: 'Protective',
|
||||||
|
value: 'protective',
|
||||||
|
position: 2,
|
||||||
|
color: 'green',
|
||||||
|
},
|
||||||
|
{ label: 'Shy', value: 'shy', position: 3, color: 'yellow' },
|
||||||
|
{ label: 'Brave', value: 'brave', position: 4, color: 'purple' },
|
||||||
|
{ label: 'Curious', value: 'curious', position: 5, color: 'orange' },
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
type: FieldMetadataType.TEXT,
|
type: FieldMetadataType.TEXT,
|
||||||
label: 'Comments',
|
label: 'Comments',
|
||||||
@ -37,5 +55,60 @@ export const PETS_METADATA_SEEDS: ObjectMetadataSeed = {
|
|||||||
label: 'Location',
|
label: 'Location',
|
||||||
name: 'location',
|
name: 'location',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: FieldMetadataType.PHONES,
|
||||||
|
label: 'Vet phone',
|
||||||
|
name: 'vetPhone',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: FieldMetadataType.EMAILS,
|
||||||
|
label: 'Vet email',
|
||||||
|
name: 'vetEmail',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: FieldMetadataType.DATE,
|
||||||
|
label: 'Birthday',
|
||||||
|
name: 'birthday',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: FieldMetadataType.BOOLEAN,
|
||||||
|
label: 'Is good with kids',
|
||||||
|
name: 'isGoodWithKids',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: FieldMetadataType.LINKS,
|
||||||
|
label: 'Pictures',
|
||||||
|
name: 'pictures',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: FieldMetadataType.CURRENCY,
|
||||||
|
label: 'Average cost of kibble per month',
|
||||||
|
name: 'averageCostOfKibblePerMonth',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: FieldMetadataType.FULL_NAME,
|
||||||
|
label: 'Makes its owner think of',
|
||||||
|
name: 'makesOwnerThinkOf',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: FieldMetadataType.RATING,
|
||||||
|
label: 'Sound swag (bark style, meow style, etc.)',
|
||||||
|
name: 'soundSwag',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: FieldMetadataType.RICH_TEXT,
|
||||||
|
label: 'Bio',
|
||||||
|
name: 'bio',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: FieldMetadataType.ARRAY,
|
||||||
|
label: 'Interesting facts',
|
||||||
|
name: 'interestingFacts',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: FieldMetadataType.RAW_JSON,
|
||||||
|
label: 'Extra data',
|
||||||
|
name: 'extraData',
|
||||||
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|||||||
@ -2,11 +2,14 @@ import { Injectable } from '@nestjs/common';
|
|||||||
|
|
||||||
import { ObjectMetadataSeed } from 'src/engine/seeder/interfaces/object-metadata-seed';
|
import { ObjectMetadataSeed } from 'src/engine/seeder/interfaces/object-metadata-seed';
|
||||||
|
|
||||||
|
import { DEV_SEED_WORKSPACE_MEMBER_IDS } from 'src/database/typeorm-seeds/workspace/workspace-members';
|
||||||
import { compositeTypeDefinitions } from 'src/engine/metadata-modules/field-metadata/composite-types';
|
import { compositeTypeDefinitions } from 'src/engine/metadata-modules/field-metadata/composite-types';
|
||||||
|
import { CreateFieldInput } from 'src/engine/metadata-modules/field-metadata/dtos/create-field.input';
|
||||||
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
|
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
|
||||||
import { FieldMetadataService } from 'src/engine/metadata-modules/field-metadata/field-metadata.service';
|
import { FieldMetadataService } from 'src/engine/metadata-modules/field-metadata/field-metadata.service';
|
||||||
import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util';
|
import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util';
|
||||||
import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service';
|
import { ObjectMetadataService } from 'src/engine/metadata-modules/object-metadata/object-metadata.service';
|
||||||
|
import { computeTableName } from 'src/engine/utils/compute-table-name.util';
|
||||||
import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service';
|
import { WorkspaceDataSourceService } from 'src/engine/workspace-datasource/workspace-datasource.service';
|
||||||
import { capitalize } from 'src/utils/capitalize';
|
import { capitalize } from 'src/utils/capitalize';
|
||||||
import { isDefined } from 'src/utils/is-defined';
|
import { isDefined } from 'src/utils/is-defined';
|
||||||
@ -22,11 +25,11 @@ export class SeederService {
|
|||||||
public async seedCustomObjects(
|
public async seedCustomObjects(
|
||||||
dataSourceId: string,
|
dataSourceId: string,
|
||||||
workspaceId: string,
|
workspaceId: string,
|
||||||
metadataSeeds: ObjectMetadataSeed,
|
objectMetadataSeed: ObjectMetadataSeed,
|
||||||
dataSeeds: Record<string, any>[],
|
objectRecordSeeds: Record<string, any>[],
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
const createdObjectMetadata = await this.objectMetadataService.createOne({
|
const createdObjectMetadata = await this.objectMetadataService.createOne({
|
||||||
...metadataSeeds,
|
...objectMetadataSeed,
|
||||||
dataSourceId,
|
dataSourceId,
|
||||||
workspaceId,
|
workspaceId,
|
||||||
});
|
});
|
||||||
@ -35,9 +38,9 @@ export class SeederService {
|
|||||||
throw new Error("Object metadata couldn't be created");
|
throw new Error("Object metadata couldn't be created");
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const customField of metadataSeeds.fields) {
|
for (const fieldMetadataSeed of objectMetadataSeed.fields) {
|
||||||
await this.fieldMetadataService.createOne({
|
await this.fieldMetadataService.createOne({
|
||||||
...customField,
|
...fieldMetadataSeed,
|
||||||
objectMetadataId: createdObjectMetadata.id,
|
objectMetadataId: createdObjectMetadata.id,
|
||||||
workspaceId,
|
workspaceId,
|
||||||
});
|
});
|
||||||
@ -45,7 +48,7 @@ export class SeederService {
|
|||||||
|
|
||||||
const objectMetadataAfterFieldCreation =
|
const objectMetadataAfterFieldCreation =
|
||||||
await this.objectMetadataService.findOneWithinWorkspace(workspaceId, {
|
await this.objectMetadataService.findOneWithinWorkspace(workspaceId, {
|
||||||
where: { nameSingular: metadataSeeds.nameSingular },
|
where: { nameSingular: objectMetadataSeed.nameSingular },
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!objectMetadataAfterFieldCreation) {
|
if (!objectMetadataAfterFieldCreation) {
|
||||||
@ -64,98 +67,163 @@ export class SeederService {
|
|||||||
|
|
||||||
const entityManager = workspaceDataSource.createEntityManager();
|
const entityManager = workspaceDataSource.createEntityManager();
|
||||||
|
|
||||||
const filteredFields = metadataSeeds.fields.filter((field) =>
|
const filteredFieldMetadataSeeds = objectMetadataSeed.fields.filter(
|
||||||
objectMetadataAfterFieldCreation.fields.some(
|
(field) =>
|
||||||
(f) => f.name === field.name || f.name === `name`,
|
objectMetadataAfterFieldCreation.fields.some(
|
||||||
),
|
(f) => f.name === field.name || f.name === `name`,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (filteredFields.length === 0) {
|
if (filteredFieldMetadataSeeds.length === 0) {
|
||||||
throw new Error('No fields found for seeding, check metadata');
|
throw new Error('No fields found for seeding, check metadata file');
|
||||||
}
|
}
|
||||||
|
|
||||||
filteredFields.unshift({
|
this.addNameFieldToFieldMetadataSeeds(filteredFieldMetadataSeeds);
|
||||||
name: 'name',
|
|
||||||
type: FieldMetadataType.TEXT,
|
|
||||||
label: 'Name',
|
|
||||||
});
|
|
||||||
|
|
||||||
const fieldMetadataMap = filteredFields
|
const objectRecordSeedsAsSQLFlattenedSeeds = objectRecordSeeds.map(
|
||||||
.map((field) => {
|
(recordSeed) => {
|
||||||
if (isCompositeFieldMetadataType(field.type)) {
|
const objectRecordSeedsAsSQLFlattenedSeeds = {};
|
||||||
const compositeFieldTypeDefinition = compositeTypeDefinitions.get(
|
|
||||||
field.type,
|
|
||||||
);
|
|
||||||
|
|
||||||
if (!isDefined(compositeFieldTypeDefinition)) {
|
for (const field of filteredFieldMetadataSeeds) {
|
||||||
throw new Error(
|
if (isCompositeFieldMetadataType(field.type)) {
|
||||||
`Composite field type definition not found for ${field.type}`,
|
const compositeFieldTypeDefinition = compositeTypeDefinitions.get(
|
||||||
|
field.type,
|
||||||
);
|
);
|
||||||
}
|
|
||||||
|
|
||||||
const fieldNames = compositeFieldTypeDefinition.properties?.map(
|
if (!isDefined(compositeFieldTypeDefinition)) {
|
||||||
(property) => property.name,
|
throw new Error(
|
||||||
);
|
`Composite field type definition not found for ${field.type}`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
const fieldNames = compositeFieldTypeDefinition.properties
|
||||||
fieldNames?.map(
|
?.map((property) => property.name)
|
||||||
(subFieldName: string) =>
|
.filter(isDefined);
|
||||||
`${field.name}${capitalize(subFieldName)}`,
|
|
||||||
) ?? []
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
return field.name;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.flat()
|
|
||||||
.filter(isDefined);
|
|
||||||
|
|
||||||
const flattenedSeeds = dataSeeds.map((seed) => {
|
for (const subFieldName of fieldNames) {
|
||||||
const flattenedSeed = {};
|
const subFieldValue = recordSeed?.[field.name]?.[subFieldName];
|
||||||
|
|
||||||
for (const field of filteredFields) {
|
const subFieldValueAsSQLValue =
|
||||||
if (isCompositeFieldMetadataType(field.type)) {
|
this.turnCompositeSubFieldValueAsSQLValue(
|
||||||
const compositeFieldTypeDefinition = compositeTypeDefinitions.get(
|
field.type,
|
||||||
field.type,
|
subFieldName,
|
||||||
);
|
subFieldValue,
|
||||||
|
);
|
||||||
|
|
||||||
if (!isDefined(compositeFieldTypeDefinition)) {
|
const subFieldNameAsSQLColumnName = `${field.name}${capitalize(subFieldName)}`;
|
||||||
throw new Error(
|
|
||||||
`Composite field type definition not found for ${field.type}`,
|
objectRecordSeedsAsSQLFlattenedSeeds[
|
||||||
|
subFieldNameAsSQLColumnName
|
||||||
|
] = subFieldValueAsSQLValue;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
const fieldValue = recordSeed[field.name];
|
||||||
|
|
||||||
|
const fieldValueAsSQLValue = this.turnFieldValueAsSQLValue(
|
||||||
|
field.type,
|
||||||
|
fieldValue,
|
||||||
);
|
);
|
||||||
}
|
|
||||||
|
|
||||||
const fieldNames = compositeFieldTypeDefinition.properties
|
objectRecordSeedsAsSQLFlattenedSeeds[field.name] =
|
||||||
?.map((property) => property.name)
|
fieldValueAsSQLValue;
|
||||||
.filter(isDefined);
|
|
||||||
|
|
||||||
for (const subFieldName of fieldNames) {
|
|
||||||
flattenedSeed[`${field.name}${capitalize(subFieldName)}`] =
|
|
||||||
seed?.[field.name]?.[subFieldName];
|
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
flattenedSeed[field.name] = seed[field.name];
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return flattenedSeed;
|
return objectRecordSeedsAsSQLFlattenedSeeds;
|
||||||
});
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!(objectRecordSeedsAsSQLFlattenedSeeds.length > 0)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const fieldMetadataNamesAsFlattenedSQLColumnNames = Object.keys(
|
||||||
|
objectRecordSeedsAsSQLFlattenedSeeds[0],
|
||||||
|
);
|
||||||
|
|
||||||
|
const sqlColumnNames = [
|
||||||
|
...fieldMetadataNamesAsFlattenedSQLColumnNames,
|
||||||
|
'position',
|
||||||
|
'createdBySource',
|
||||||
|
'createdByWorkspaceMemberId',
|
||||||
|
'createdByName',
|
||||||
|
];
|
||||||
|
|
||||||
|
const sqlValues = objectRecordSeedsAsSQLFlattenedSeeds.map(
|
||||||
|
(flattenedSeed, index) => ({
|
||||||
|
...flattenedSeed,
|
||||||
|
position: index,
|
||||||
|
createdBySource: 'MANUAL',
|
||||||
|
createdByWorkspaceMemberId: DEV_SEED_WORKSPACE_MEMBER_IDS.TIM,
|
||||||
|
createdByName: 'Tim Apple',
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
await entityManager
|
await entityManager
|
||||||
.createQueryBuilder()
|
.createQueryBuilder()
|
||||||
.insert()
|
.insert()
|
||||||
.into(`${schemaName}._${objectMetadataAfterFieldCreation.nameSingular}`, [
|
.into(
|
||||||
...fieldMetadataMap,
|
`${schemaName}.${computeTableName(objectMetadataAfterFieldCreation.nameSingular, true)}`,
|
||||||
'position',
|
sqlColumnNames,
|
||||||
])
|
|
||||||
.orIgnore()
|
|
||||||
.values(
|
|
||||||
flattenedSeeds.map((flattenedSeed, index) => ({
|
|
||||||
...flattenedSeed,
|
|
||||||
position: index,
|
|
||||||
})),
|
|
||||||
)
|
)
|
||||||
|
.orIgnore()
|
||||||
|
.values(sqlValues)
|
||||||
.returning('*')
|
.returning('*')
|
||||||
.execute();
|
.execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private addNameFieldToFieldMetadataSeeds(
|
||||||
|
arrayOfMetadataFields: Pick<CreateFieldInput, 'name' | 'type' | 'label'>[],
|
||||||
|
) {
|
||||||
|
arrayOfMetadataFields.unshift({
|
||||||
|
name: 'name',
|
||||||
|
type: FieldMetadataType.TEXT,
|
||||||
|
label: 'Name',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private turnCompositeSubFieldValueAsSQLValue(
|
||||||
|
fieldType: FieldMetadataType,
|
||||||
|
subFieldName: string,
|
||||||
|
subFieldValue: any,
|
||||||
|
) {
|
||||||
|
if (!isCompositeFieldMetadataType(fieldType)) {
|
||||||
|
throw new Error(
|
||||||
|
`${subFieldName} is not a sub field of a composite field type.`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const compositeFieldTypeDefinition =
|
||||||
|
compositeTypeDefinitions.get(fieldType);
|
||||||
|
|
||||||
|
const compositeSubFieldType =
|
||||||
|
compositeFieldTypeDefinition?.properties.find(
|
||||||
|
(property) => property.name === subFieldName,
|
||||||
|
)?.type ?? null;
|
||||||
|
|
||||||
|
if (!isDefined(compositeSubFieldType)) {
|
||||||
|
throw new Error(
|
||||||
|
`Cannot find ${subFieldName} in properties of composite type ${fieldType}.`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.turnFieldValueAsSQLValue(compositeSubFieldType, subFieldValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
private turnFieldValueAsSQLValue(
|
||||||
|
fieldType: FieldMetadataType,
|
||||||
|
fieldValue: any,
|
||||||
|
) {
|
||||||
|
if (fieldType === FieldMetadataType.RAW_JSON) {
|
||||||
|
try {
|
||||||
|
return JSON.stringify(fieldValue);
|
||||||
|
} catch (error) {
|
||||||
|
throw new Error(
|
||||||
|
`Error while trying to turn field value as stringified JSON : ${error.message}`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return fieldValue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
export const customNamePrefix = '_';
|
export const customNamePrefix = '_';
|
||||||
|
|
||||||
export const computeTableName = (name: string, isCustom: boolean) => {
|
export const computeTableName = (nameSingular: string, isCustom: boolean) => {
|
||||||
return isCustom ? `${customNamePrefix}${name}` : name;
|
return isCustom ? `${customNamePrefix}${nameSingular}` : nameSingular;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
import { EntityManager } from 'typeorm';
|
import { EntityManager } from 'typeorm';
|
||||||
import { v4 } from 'uuid';
|
import { v4 } from 'uuid';
|
||||||
|
|
||||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
import { ObjectMetadataStandardIdToIdMap } from 'src/engine/metadata-modules/object-metadata/interfaces/object-metadata-standard-id-to-id-map';
|
||||||
import { companiesAllView } from 'src/engine/workspace-manager/standard-objects-prefill-data/views/companies-all.view';
|
|
||||||
|
import { seedCompaniesAllView } from 'src/engine/workspace-manager/standard-objects-prefill-data/views/companies-all.view';
|
||||||
import { notesAllView } from 'src/engine/workspace-manager/standard-objects-prefill-data/views/notes-all.view';
|
import { notesAllView } from 'src/engine/workspace-manager/standard-objects-prefill-data/views/notes-all.view';
|
||||||
import { opportunitiesAllView } from 'src/engine/workspace-manager/standard-objects-prefill-data/views/opportunities-all.view';
|
import { opportunitiesAllView } from 'src/engine/workspace-manager/standard-objects-prefill-data/views/opportunities-all.view';
|
||||||
import { opportunitiesByStageView } from 'src/engine/workspace-manager/standard-objects-prefill-data/views/opportunity-by-stage.view';
|
import { opportunitiesByStageView } from 'src/engine/workspace-manager/standard-objects-prefill-data/views/opportunity-by-stage.view';
|
||||||
@ -16,22 +17,22 @@ import { workflowsAllView } from 'src/engine/workspace-manager/standard-objects-
|
|||||||
export const seedViewWithDemoData = async (
|
export const seedViewWithDemoData = async (
|
||||||
entityManager: EntityManager,
|
entityManager: EntityManager,
|
||||||
schemaName: string,
|
schemaName: string,
|
||||||
objectMetadataMap: Record<string, ObjectMetadataEntity>,
|
objectMetadataStandardIdToIdMap: ObjectMetadataStandardIdToIdMap,
|
||||||
isWorkflowEnabled: boolean,
|
isWorkflowEnabled: boolean,
|
||||||
) => {
|
) => {
|
||||||
const viewDefinitions = [
|
const viewDefinitions = [
|
||||||
companiesAllView(objectMetadataMap),
|
seedCompaniesAllView(objectMetadataStandardIdToIdMap),
|
||||||
peopleAllView(objectMetadataMap),
|
peopleAllView(objectMetadataStandardIdToIdMap),
|
||||||
opportunitiesAllView(objectMetadataMap),
|
opportunitiesAllView(objectMetadataStandardIdToIdMap),
|
||||||
opportunitiesByStageView(objectMetadataMap),
|
opportunitiesByStageView(objectMetadataStandardIdToIdMap),
|
||||||
notesAllView(objectMetadataMap),
|
notesAllView(objectMetadataStandardIdToIdMap),
|
||||||
tasksAllView(objectMetadataMap),
|
tasksAllView(objectMetadataStandardIdToIdMap),
|
||||||
tasksByStatusView(objectMetadataMap),
|
tasksByStatusView(objectMetadataStandardIdToIdMap),
|
||||||
...(isWorkflowEnabled
|
...(isWorkflowEnabled
|
||||||
? [
|
? [
|
||||||
workflowsAllView(objectMetadataMap),
|
workflowsAllView(objectMetadataStandardIdToIdMap),
|
||||||
workflowVersionsAllView(objectMetadataMap),
|
workflowVersionsAllView(objectMetadataStandardIdToIdMap),
|
||||||
workflowRunsAllView(objectMetadataMap),
|
workflowRunsAllView(objectMetadataStandardIdToIdMap),
|
||||||
]
|
]
|
||||||
: []),
|
: []),
|
||||||
];
|
];
|
||||||
|
|||||||
@ -1,16 +1,18 @@
|
|||||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
import { ObjectMetadataStandardIdToIdMap } from 'src/engine/metadata-modules/object-metadata/interfaces/object-metadata-standard-id-to-id-map';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
BASE_OBJECT_STANDARD_FIELD_IDS,
|
BASE_OBJECT_STANDARD_FIELD_IDS,
|
||||||
COMPANY_STANDARD_FIELD_IDS,
|
COMPANY_STANDARD_FIELD_IDS,
|
||||||
} from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
|
} from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
|
||||||
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
||||||
|
|
||||||
export const companiesAllView = (
|
export const seedCompaniesAllView = (
|
||||||
objectMetadataMap: Record<string, ObjectMetadataEntity>,
|
objectMetadataStandardIdToIdMap: ObjectMetadataStandardIdToIdMap,
|
||||||
) => {
|
) => {
|
||||||
return {
|
return {
|
||||||
name: 'All',
|
name: 'All',
|
||||||
objectMetadataId: objectMetadataMap[STANDARD_OBJECT_IDS.company].id,
|
objectMetadataId:
|
||||||
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.company].id,
|
||||||
type: 'table',
|
type: 'table',
|
||||||
key: 'INDEX',
|
key: 'INDEX',
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -20,7 +22,7 @@ export const companiesAllView = (
|
|||||||
fields: [
|
fields: [
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.company].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.company].fields[
|
||||||
COMPANY_STANDARD_FIELD_IDS.name
|
COMPANY_STANDARD_FIELD_IDS.name
|
||||||
],
|
],
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -29,7 +31,7 @@ export const companiesAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.company].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.company].fields[
|
||||||
COMPANY_STANDARD_FIELD_IDS.domainName
|
COMPANY_STANDARD_FIELD_IDS.domainName
|
||||||
],
|
],
|
||||||
position: 1,
|
position: 1,
|
||||||
@ -38,7 +40,7 @@ export const companiesAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.company].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.company].fields[
|
||||||
COMPANY_STANDARD_FIELD_IDS.createdBy
|
COMPANY_STANDARD_FIELD_IDS.createdBy
|
||||||
],
|
],
|
||||||
position: 2,
|
position: 2,
|
||||||
@ -47,7 +49,7 @@ export const companiesAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.company].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.company].fields[
|
||||||
COMPANY_STANDARD_FIELD_IDS.accountOwner
|
COMPANY_STANDARD_FIELD_IDS.accountOwner
|
||||||
],
|
],
|
||||||
position: 3,
|
position: 3,
|
||||||
@ -56,7 +58,7 @@ export const companiesAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.company].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.company].fields[
|
||||||
BASE_OBJECT_STANDARD_FIELD_IDS.createdAt
|
BASE_OBJECT_STANDARD_FIELD_IDS.createdAt
|
||||||
],
|
],
|
||||||
position: 4,
|
position: 4,
|
||||||
@ -65,7 +67,7 @@ export const companiesAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.company].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.company].fields[
|
||||||
COMPANY_STANDARD_FIELD_IDS.employees
|
COMPANY_STANDARD_FIELD_IDS.employees
|
||||||
],
|
],
|
||||||
position: 5,
|
position: 5,
|
||||||
@ -74,7 +76,7 @@ export const companiesAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.company].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.company].fields[
|
||||||
COMPANY_STANDARD_FIELD_IDS.linkedinLink
|
COMPANY_STANDARD_FIELD_IDS.linkedinLink
|
||||||
],
|
],
|
||||||
position: 6,
|
position: 6,
|
||||||
@ -83,7 +85,7 @@ export const companiesAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.company].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.company].fields[
|
||||||
COMPANY_STANDARD_FIELD_IDS.address
|
COMPANY_STANDARD_FIELD_IDS.address
|
||||||
],
|
],
|
||||||
position: 7,
|
position: 7,
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
import { ObjectMetadataStandardIdToIdMap } from 'src/engine/metadata-modules/object-metadata/interfaces/object-metadata-standard-id-to-id-map';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
BASE_OBJECT_STANDARD_FIELD_IDS,
|
BASE_OBJECT_STANDARD_FIELD_IDS,
|
||||||
NOTE_STANDARD_FIELD_IDS,
|
NOTE_STANDARD_FIELD_IDS,
|
||||||
@ -6,11 +7,12 @@ import {
|
|||||||
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
||||||
|
|
||||||
export const notesAllView = (
|
export const notesAllView = (
|
||||||
objectMetadataMap: Record<string, ObjectMetadataEntity>,
|
objectMetadataStandardIdToIdMap: ObjectMetadataStandardIdToIdMap,
|
||||||
) => {
|
) => {
|
||||||
return {
|
return {
|
||||||
name: 'All Notes',
|
name: 'All Notes',
|
||||||
objectMetadataId: objectMetadataMap[STANDARD_OBJECT_IDS.note].id,
|
objectMetadataId:
|
||||||
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.note].id,
|
||||||
type: 'table',
|
type: 'table',
|
||||||
key: 'INDEX',
|
key: 'INDEX',
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -20,7 +22,7 @@ export const notesAllView = (
|
|||||||
fields: [
|
fields: [
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.note].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.note].fields[
|
||||||
NOTE_STANDARD_FIELD_IDS.title
|
NOTE_STANDARD_FIELD_IDS.title
|
||||||
],
|
],
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -29,7 +31,7 @@ export const notesAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.note].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.note].fields[
|
||||||
NOTE_STANDARD_FIELD_IDS.noteTargets
|
NOTE_STANDARD_FIELD_IDS.noteTargets
|
||||||
],
|
],
|
||||||
position: 1,
|
position: 1,
|
||||||
@ -38,7 +40,7 @@ export const notesAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.note].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.note].fields[
|
||||||
NOTE_STANDARD_FIELD_IDS.body
|
NOTE_STANDARD_FIELD_IDS.body
|
||||||
],
|
],
|
||||||
position: 2,
|
position: 2,
|
||||||
@ -47,7 +49,7 @@ export const notesAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.note].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.note].fields[
|
||||||
NOTE_STANDARD_FIELD_IDS.createdBy
|
NOTE_STANDARD_FIELD_IDS.createdBy
|
||||||
],
|
],
|
||||||
position: 3,
|
position: 3,
|
||||||
@ -56,7 +58,7 @@ export const notesAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.note].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.note].fields[
|
||||||
BASE_OBJECT_STANDARD_FIELD_IDS.createdAt
|
BASE_OBJECT_STANDARD_FIELD_IDS.createdAt
|
||||||
],
|
],
|
||||||
position: 4,
|
position: 4,
|
||||||
|
|||||||
@ -1,13 +1,15 @@
|
|||||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
import { ObjectMetadataStandardIdToIdMap } from 'src/engine/metadata-modules/object-metadata/interfaces/object-metadata-standard-id-to-id-map';
|
||||||
|
|
||||||
import { OPPORTUNITY_STANDARD_FIELD_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
|
import { OPPORTUNITY_STANDARD_FIELD_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
|
||||||
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
||||||
|
|
||||||
export const opportunitiesAllView = (
|
export const opportunitiesAllView = (
|
||||||
objectMetadataMap: Record<string, ObjectMetadataEntity>,
|
objectMetadataStandardIdToIdMap: ObjectMetadataStandardIdToIdMap,
|
||||||
) => {
|
) => {
|
||||||
return {
|
return {
|
||||||
name: 'All',
|
name: 'All',
|
||||||
objectMetadataId: objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].id,
|
objectMetadataId:
|
||||||
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity].id,
|
||||||
type: 'table',
|
type: 'table',
|
||||||
key: 'INDEX',
|
key: 'INDEX',
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -17,54 +19,48 @@ export const opportunitiesAllView = (
|
|||||||
fields: [
|
fields: [
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity]
|
||||||
OPPORTUNITY_STANDARD_FIELD_IDS.name
|
.fields[OPPORTUNITY_STANDARD_FIELD_IDS.name],
|
||||||
],
|
|
||||||
position: 0,
|
position: 0,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity]
|
||||||
OPPORTUNITY_STANDARD_FIELD_IDS.amount
|
.fields[OPPORTUNITY_STANDARD_FIELD_IDS.amount],
|
||||||
],
|
|
||||||
position: 1,
|
position: 1,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity]
|
||||||
OPPORTUNITY_STANDARD_FIELD_IDS.createdBy
|
.fields[OPPORTUNITY_STANDARD_FIELD_IDS.createdBy],
|
||||||
],
|
|
||||||
position: 2,
|
position: 2,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity]
|
||||||
OPPORTUNITY_STANDARD_FIELD_IDS.closeDate
|
.fields[OPPORTUNITY_STANDARD_FIELD_IDS.closeDate],
|
||||||
],
|
|
||||||
position: 3,
|
position: 3,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity]
|
||||||
OPPORTUNITY_STANDARD_FIELD_IDS.company
|
.fields[OPPORTUNITY_STANDARD_FIELD_IDS.company],
|
||||||
],
|
|
||||||
position: 4,
|
position: 4,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity]
|
||||||
OPPORTUNITY_STANDARD_FIELD_IDS.pointOfContact
|
.fields[OPPORTUNITY_STANDARD_FIELD_IDS.pointOfContact],
|
||||||
],
|
|
||||||
position: 5,
|
position: 5,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
|
|||||||
@ -1,73 +1,69 @@
|
|||||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
import { ObjectMetadataStandardIdToIdMap } from 'src/engine/metadata-modules/object-metadata/interfaces/object-metadata-standard-id-to-id-map';
|
||||||
|
|
||||||
import { OPPORTUNITY_STANDARD_FIELD_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
|
import { OPPORTUNITY_STANDARD_FIELD_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
|
||||||
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
||||||
|
|
||||||
export const opportunitiesByStageView = (
|
export const opportunitiesByStageView = (
|
||||||
objectMetadataMap: Record<string, ObjectMetadataEntity>,
|
objectMetadataStandardIdToIdMap: ObjectMetadataStandardIdToIdMap,
|
||||||
) => {
|
) => {
|
||||||
return {
|
return {
|
||||||
name: 'By Stage',
|
name: 'By Stage',
|
||||||
objectMetadataId: objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].id,
|
objectMetadataId:
|
||||||
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity].id,
|
||||||
type: 'kanban',
|
type: 'kanban',
|
||||||
key: null,
|
key: null,
|
||||||
position: 1,
|
position: 1,
|
||||||
icon: 'IconLayoutKanban',
|
icon: 'IconLayoutKanban',
|
||||||
kanbanFieldMetadataId:
|
kanbanFieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
||||||
OPPORTUNITY_STANDARD_FIELD_IDS.stage
|
OPPORTUNITY_STANDARD_FIELD_IDS.stage
|
||||||
],
|
],
|
||||||
filters: [],
|
filters: [],
|
||||||
fields: [
|
fields: [
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity]
|
||||||
OPPORTUNITY_STANDARD_FIELD_IDS.name
|
.fields[OPPORTUNITY_STANDARD_FIELD_IDS.name],
|
||||||
],
|
|
||||||
position: 0,
|
position: 0,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity]
|
||||||
OPPORTUNITY_STANDARD_FIELD_IDS.amount
|
.fields[OPPORTUNITY_STANDARD_FIELD_IDS.amount],
|
||||||
],
|
|
||||||
position: 1,
|
position: 1,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity]
|
||||||
OPPORTUNITY_STANDARD_FIELD_IDS.createdBy
|
.fields[OPPORTUNITY_STANDARD_FIELD_IDS.createdBy],
|
||||||
],
|
|
||||||
position: 2,
|
position: 2,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity]
|
||||||
OPPORTUNITY_STANDARD_FIELD_IDS.closeDate
|
.fields[OPPORTUNITY_STANDARD_FIELD_IDS.closeDate],
|
||||||
],
|
|
||||||
position: 3,
|
position: 3,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity]
|
||||||
OPPORTUNITY_STANDARD_FIELD_IDS.company
|
.fields[OPPORTUNITY_STANDARD_FIELD_IDS.company],
|
||||||
],
|
|
||||||
position: 4,
|
position: 4,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity]
|
||||||
OPPORTUNITY_STANDARD_FIELD_IDS.pointOfContact
|
.fields[OPPORTUNITY_STANDARD_FIELD_IDS.pointOfContact],
|
||||||
],
|
|
||||||
position: 5,
|
position: 5,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -76,45 +72,40 @@ export const opportunitiesByStageView = (
|
|||||||
groups: [
|
groups: [
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity]
|
||||||
OPPORTUNITY_STANDARD_FIELD_IDS.stage
|
.fields[OPPORTUNITY_STANDARD_FIELD_IDS.stage],
|
||||||
],
|
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
fieldValue: 'NEW',
|
fieldValue: 'NEW',
|
||||||
position: 0,
|
position: 0,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity]
|
||||||
OPPORTUNITY_STANDARD_FIELD_IDS.stage
|
.fields[OPPORTUNITY_STANDARD_FIELD_IDS.stage],
|
||||||
],
|
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
fieldValue: 'SCREENING',
|
fieldValue: 'SCREENING',
|
||||||
position: 1,
|
position: 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity]
|
||||||
OPPORTUNITY_STANDARD_FIELD_IDS.stage
|
.fields[OPPORTUNITY_STANDARD_FIELD_IDS.stage],
|
||||||
],
|
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
fieldValue: 'MEETING',
|
fieldValue: 'MEETING',
|
||||||
position: 2,
|
position: 2,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity]
|
||||||
OPPORTUNITY_STANDARD_FIELD_IDS.stage
|
.fields[OPPORTUNITY_STANDARD_FIELD_IDS.stage],
|
||||||
],
|
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
fieldValue: 'PROPOSAL',
|
fieldValue: 'PROPOSAL',
|
||||||
position: 3,
|
position: 3,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.opportunity]
|
||||||
OPPORTUNITY_STANDARD_FIELD_IDS.stage
|
.fields[OPPORTUNITY_STANDARD_FIELD_IDS.stage],
|
||||||
],
|
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
fieldValue: 'CUSTOMER',
|
fieldValue: 'CUSTOMER',
|
||||||
position: 4,
|
position: 4,
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
import { ObjectMetadataStandardIdToIdMap } from 'src/engine/metadata-modules/object-metadata/interfaces/object-metadata-standard-id-to-id-map';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
BASE_OBJECT_STANDARD_FIELD_IDS,
|
BASE_OBJECT_STANDARD_FIELD_IDS,
|
||||||
PERSON_STANDARD_FIELD_IDS,
|
PERSON_STANDARD_FIELD_IDS,
|
||||||
@ -6,11 +7,12 @@ import {
|
|||||||
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
||||||
|
|
||||||
export const peopleAllView = (
|
export const peopleAllView = (
|
||||||
objectMetadataMap: Record<string, ObjectMetadataEntity>,
|
objectMetadataStandardIdToIdMap: ObjectMetadataStandardIdToIdMap,
|
||||||
) => {
|
) => {
|
||||||
return {
|
return {
|
||||||
name: 'All',
|
name: 'All',
|
||||||
objectMetadataId: objectMetadataMap[STANDARD_OBJECT_IDS.person].id,
|
objectMetadataId:
|
||||||
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.person].id,
|
||||||
type: 'table',
|
type: 'table',
|
||||||
key: 'INDEX',
|
key: 'INDEX',
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -20,7 +22,7 @@ export const peopleAllView = (
|
|||||||
fields: [
|
fields: [
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.person].fields[
|
||||||
PERSON_STANDARD_FIELD_IDS.name
|
PERSON_STANDARD_FIELD_IDS.name
|
||||||
],
|
],
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -29,7 +31,7 @@ export const peopleAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.person].fields[
|
||||||
PERSON_STANDARD_FIELD_IDS.emails
|
PERSON_STANDARD_FIELD_IDS.emails
|
||||||
],
|
],
|
||||||
position: 1,
|
position: 1,
|
||||||
@ -38,7 +40,7 @@ export const peopleAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.person].fields[
|
||||||
PERSON_STANDARD_FIELD_IDS.createdBy
|
PERSON_STANDARD_FIELD_IDS.createdBy
|
||||||
],
|
],
|
||||||
position: 2,
|
position: 2,
|
||||||
@ -47,7 +49,7 @@ export const peopleAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.person].fields[
|
||||||
PERSON_STANDARD_FIELD_IDS.company
|
PERSON_STANDARD_FIELD_IDS.company
|
||||||
],
|
],
|
||||||
position: 3,
|
position: 3,
|
||||||
@ -56,7 +58,7 @@ export const peopleAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.person].fields[
|
||||||
PERSON_STANDARD_FIELD_IDS.phones
|
PERSON_STANDARD_FIELD_IDS.phones
|
||||||
],
|
],
|
||||||
position: 4,
|
position: 4,
|
||||||
@ -65,7 +67,7 @@ export const peopleAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.person].fields[
|
||||||
BASE_OBJECT_STANDARD_FIELD_IDS.createdAt
|
BASE_OBJECT_STANDARD_FIELD_IDS.createdAt
|
||||||
],
|
],
|
||||||
position: 5,
|
position: 5,
|
||||||
@ -74,7 +76,7 @@ export const peopleAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.person].fields[
|
||||||
PERSON_STANDARD_FIELD_IDS.city
|
PERSON_STANDARD_FIELD_IDS.city
|
||||||
],
|
],
|
||||||
position: 6,
|
position: 6,
|
||||||
@ -83,7 +85,7 @@ export const peopleAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.person].fields[
|
||||||
PERSON_STANDARD_FIELD_IDS.jobTitle
|
PERSON_STANDARD_FIELD_IDS.jobTitle
|
||||||
],
|
],
|
||||||
position: 7,
|
position: 7,
|
||||||
@ -92,7 +94,7 @@ export const peopleAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.person].fields[
|
||||||
PERSON_STANDARD_FIELD_IDS.linkedinLink
|
PERSON_STANDARD_FIELD_IDS.linkedinLink
|
||||||
],
|
],
|
||||||
position: 8,
|
position: 8,
|
||||||
@ -101,7 +103,7 @@ export const peopleAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.person].fields[
|
||||||
PERSON_STANDARD_FIELD_IDS.xLink
|
PERSON_STANDARD_FIELD_IDS.xLink
|
||||||
],
|
],
|
||||||
position: 9,
|
position: 9,
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
import { ObjectMetadataStandardIdToIdMap } from 'src/engine/metadata-modules/object-metadata/interfaces/object-metadata-standard-id-to-id-map';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
BASE_OBJECT_STANDARD_FIELD_IDS,
|
BASE_OBJECT_STANDARD_FIELD_IDS,
|
||||||
TASK_STANDARD_FIELD_IDS,
|
TASK_STANDARD_FIELD_IDS,
|
||||||
@ -6,11 +7,12 @@ import {
|
|||||||
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
||||||
|
|
||||||
export const tasksAllView = (
|
export const tasksAllView = (
|
||||||
objectMetadataMap: Record<string, ObjectMetadataEntity>,
|
objectMetadataStandardIdToIdMap: ObjectMetadataStandardIdToIdMap,
|
||||||
) => {
|
) => {
|
||||||
return {
|
return {
|
||||||
name: 'All Tasks',
|
name: 'All Tasks',
|
||||||
objectMetadataId: objectMetadataMap[STANDARD_OBJECT_IDS.task].id,
|
objectMetadataId:
|
||||||
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].id,
|
||||||
type: 'table',
|
type: 'table',
|
||||||
key: 'INDEX',
|
key: 'INDEX',
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -30,7 +32,7 @@ export const tasksAllView = (
|
|||||||
fields: [
|
fields: [
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.task].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].fields[
|
||||||
TASK_STANDARD_FIELD_IDS.title
|
TASK_STANDARD_FIELD_IDS.title
|
||||||
],
|
],
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -39,7 +41,7 @@ export const tasksAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.task].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].fields[
|
||||||
TASK_STANDARD_FIELD_IDS.status
|
TASK_STANDARD_FIELD_IDS.status
|
||||||
],
|
],
|
||||||
position: 2,
|
position: 2,
|
||||||
@ -48,7 +50,7 @@ export const tasksAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.task].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].fields[
|
||||||
TASK_STANDARD_FIELD_IDS.taskTargets
|
TASK_STANDARD_FIELD_IDS.taskTargets
|
||||||
],
|
],
|
||||||
position: 3,
|
position: 3,
|
||||||
@ -57,7 +59,7 @@ export const tasksAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.task].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].fields[
|
||||||
TASK_STANDARD_FIELD_IDS.createdBy
|
TASK_STANDARD_FIELD_IDS.createdBy
|
||||||
],
|
],
|
||||||
position: 4,
|
position: 4,
|
||||||
@ -66,7 +68,7 @@ export const tasksAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.task].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].fields[
|
||||||
TASK_STANDARD_FIELD_IDS.dueAt
|
TASK_STANDARD_FIELD_IDS.dueAt
|
||||||
],
|
],
|
||||||
position: 5,
|
position: 5,
|
||||||
@ -75,7 +77,7 @@ export const tasksAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.task].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].fields[
|
||||||
TASK_STANDARD_FIELD_IDS.assignee
|
TASK_STANDARD_FIELD_IDS.assignee
|
||||||
],
|
],
|
||||||
position: 6,
|
position: 6,
|
||||||
@ -84,7 +86,7 @@ export const tasksAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.task].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].fields[
|
||||||
TASK_STANDARD_FIELD_IDS.body
|
TASK_STANDARD_FIELD_IDS.body
|
||||||
],
|
],
|
||||||
position: 7,
|
position: 7,
|
||||||
@ -93,7 +95,7 @@ export const tasksAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.task].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].fields[
|
||||||
BASE_OBJECT_STANDARD_FIELD_IDS.createdAt
|
BASE_OBJECT_STANDARD_FIELD_IDS.createdAt
|
||||||
],
|
],
|
||||||
position: 8,
|
position: 8,
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
import { ObjectMetadataStandardIdToIdMap } from 'src/engine/metadata-modules/object-metadata/interfaces/object-metadata-standard-id-to-id-map';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
BASE_OBJECT_STANDARD_FIELD_IDS,
|
BASE_OBJECT_STANDARD_FIELD_IDS,
|
||||||
TASK_STANDARD_FIELD_IDS,
|
TASK_STANDARD_FIELD_IDS,
|
||||||
@ -6,17 +7,18 @@ import {
|
|||||||
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
||||||
|
|
||||||
export const tasksByStatusView = (
|
export const tasksByStatusView = (
|
||||||
objectMetadataMap: Record<string, ObjectMetadataEntity>,
|
objectMetadataStandardIdToIdMap: ObjectMetadataStandardIdToIdMap,
|
||||||
) => {
|
) => {
|
||||||
return {
|
return {
|
||||||
name: 'By status',
|
name: 'By status',
|
||||||
objectMetadataId: objectMetadataMap[STANDARD_OBJECT_IDS.task].id,
|
objectMetadataId:
|
||||||
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].id,
|
||||||
type: 'kanban',
|
type: 'kanban',
|
||||||
key: null,
|
key: null,
|
||||||
position: 0,
|
position: 0,
|
||||||
icon: 'IconLayoutKanban',
|
icon: 'IconLayoutKanban',
|
||||||
kanbanFieldMetadataId:
|
kanbanFieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.task].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].fields[
|
||||||
TASK_STANDARD_FIELD_IDS.status
|
TASK_STANDARD_FIELD_IDS.status
|
||||||
],
|
],
|
||||||
filters: [] /* [
|
filters: [] /* [
|
||||||
@ -33,7 +35,7 @@ export const tasksByStatusView = (
|
|||||||
fields: [
|
fields: [
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.task].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].fields[
|
||||||
TASK_STANDARD_FIELD_IDS.title
|
TASK_STANDARD_FIELD_IDS.title
|
||||||
],
|
],
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -42,7 +44,7 @@ export const tasksByStatusView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.task].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].fields[
|
||||||
TASK_STANDARD_FIELD_IDS.status
|
TASK_STANDARD_FIELD_IDS.status
|
||||||
],
|
],
|
||||||
position: 2,
|
position: 2,
|
||||||
@ -51,7 +53,7 @@ export const tasksByStatusView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.task].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].fields[
|
||||||
TASK_STANDARD_FIELD_IDS.dueAt
|
TASK_STANDARD_FIELD_IDS.dueAt
|
||||||
],
|
],
|
||||||
position: 3,
|
position: 3,
|
||||||
@ -60,7 +62,7 @@ export const tasksByStatusView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.task].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].fields[
|
||||||
TASK_STANDARD_FIELD_IDS.assignee
|
TASK_STANDARD_FIELD_IDS.assignee
|
||||||
],
|
],
|
||||||
position: 4,
|
position: 4,
|
||||||
@ -69,7 +71,7 @@ export const tasksByStatusView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.task].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].fields[
|
||||||
BASE_OBJECT_STANDARD_FIELD_IDS.createdAt
|
BASE_OBJECT_STANDARD_FIELD_IDS.createdAt
|
||||||
],
|
],
|
||||||
position: 6,
|
position: 6,
|
||||||
@ -92,7 +94,7 @@ export const tasksByStatusView = (
|
|||||||
groups: [
|
groups: [
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.task].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].fields[
|
||||||
TASK_STANDARD_FIELD_IDS.status
|
TASK_STANDARD_FIELD_IDS.status
|
||||||
],
|
],
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
@ -101,7 +103,7 @@ export const tasksByStatusView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.task].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].fields[
|
||||||
TASK_STANDARD_FIELD_IDS.status
|
TASK_STANDARD_FIELD_IDS.status
|
||||||
],
|
],
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
@ -110,7 +112,7 @@ export const tasksByStatusView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.task].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.task].fields[
|
||||||
TASK_STANDARD_FIELD_IDS.status
|
TASK_STANDARD_FIELD_IDS.status
|
||||||
],
|
],
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
|
|||||||
@ -1,13 +1,15 @@
|
|||||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
import { ObjectMetadataStandardIdToIdMap } from 'src/engine/metadata-modules/object-metadata/interfaces/object-metadata-standard-id-to-id-map';
|
||||||
|
|
||||||
import { WORKFLOW_RUN_STANDARD_FIELD_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
|
import { WORKFLOW_RUN_STANDARD_FIELD_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
|
||||||
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
||||||
|
|
||||||
export const workflowRunsAllView = (
|
export const workflowRunsAllView = (
|
||||||
objectMetadataMap: Record<string, ObjectMetadataEntity>,
|
objectMetadataStandardIdToIdMap: ObjectMetadataStandardIdToIdMap,
|
||||||
) => {
|
) => {
|
||||||
return {
|
return {
|
||||||
name: 'All Workflow Runs',
|
name: 'All Workflow Runs',
|
||||||
objectMetadataId: objectMetadataMap[STANDARD_OBJECT_IDS.workflowRun].id,
|
objectMetadataId:
|
||||||
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflowRun].id,
|
||||||
type: 'table',
|
type: 'table',
|
||||||
key: 'INDEX',
|
key: 'INDEX',
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -17,54 +19,48 @@ export const workflowRunsAllView = (
|
|||||||
fields: [
|
fields: [
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.workflowRun].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflowRun]
|
||||||
WORKFLOW_RUN_STANDARD_FIELD_IDS.name
|
.fields[WORKFLOW_RUN_STANDARD_FIELD_IDS.name],
|
||||||
],
|
|
||||||
position: 0,
|
position: 0,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.workflowRun].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflowRun]
|
||||||
WORKFLOW_RUN_STANDARD_FIELD_IDS.workflow
|
.fields[WORKFLOW_RUN_STANDARD_FIELD_IDS.workflow],
|
||||||
],
|
|
||||||
position: 1,
|
position: 1,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.workflowRun].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflowRun]
|
||||||
WORKFLOW_RUN_STANDARD_FIELD_IDS.status
|
.fields[WORKFLOW_RUN_STANDARD_FIELD_IDS.status],
|
||||||
],
|
|
||||||
position: 2,
|
position: 2,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.workflowRun].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflowRun]
|
||||||
WORKFLOW_RUN_STANDARD_FIELD_IDS.startedAt
|
.fields[WORKFLOW_RUN_STANDARD_FIELD_IDS.startedAt],
|
||||||
],
|
|
||||||
position: 3,
|
position: 3,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.workflowRun].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflowRun]
|
||||||
WORKFLOW_RUN_STANDARD_FIELD_IDS.createdBy
|
.fields[WORKFLOW_RUN_STANDARD_FIELD_IDS.createdBy],
|
||||||
],
|
|
||||||
position: 4,
|
position: 4,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.workflowRun].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflowRun]
|
||||||
WORKFLOW_RUN_STANDARD_FIELD_IDS.workflowVersion
|
.fields[WORKFLOW_RUN_STANDARD_FIELD_IDS.workflowVersion],
|
||||||
],
|
|
||||||
position: 5,
|
position: 5,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
import { ObjectMetadataStandardIdToIdMap } from 'src/engine/metadata-modules/object-metadata/interfaces/object-metadata-standard-id-to-id-map';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
BASE_OBJECT_STANDARD_FIELD_IDS,
|
BASE_OBJECT_STANDARD_FIELD_IDS,
|
||||||
WORKFLOW_VERSION_STANDARD_FIELD_IDS,
|
WORKFLOW_VERSION_STANDARD_FIELD_IDS,
|
||||||
@ -6,11 +7,12 @@ import {
|
|||||||
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
||||||
|
|
||||||
export const workflowVersionsAllView = (
|
export const workflowVersionsAllView = (
|
||||||
objectMetadataMap: Record<string, ObjectMetadataEntity>,
|
objectMetadataStandardIdToIdMap: ObjectMetadataStandardIdToIdMap,
|
||||||
) => {
|
) => {
|
||||||
return {
|
return {
|
||||||
name: 'All Workflow Versions',
|
name: 'All Workflow Versions',
|
||||||
objectMetadataId: objectMetadataMap[STANDARD_OBJECT_IDS.workflowVersion].id,
|
objectMetadataId:
|
||||||
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflowVersion].id,
|
||||||
type: 'table',
|
type: 'table',
|
||||||
key: 'INDEX',
|
key: 'INDEX',
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -20,45 +22,40 @@ export const workflowVersionsAllView = (
|
|||||||
fields: [
|
fields: [
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.workflowVersion].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflowVersion]
|
||||||
WORKFLOW_VERSION_STANDARD_FIELD_IDS.name
|
.fields[WORKFLOW_VERSION_STANDARD_FIELD_IDS.name],
|
||||||
],
|
|
||||||
position: 0,
|
position: 0,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 210,
|
size: 210,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.workflowVersion].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflowVersion]
|
||||||
WORKFLOW_VERSION_STANDARD_FIELD_IDS.workflow
|
.fields[WORKFLOW_VERSION_STANDARD_FIELD_IDS.workflow],
|
||||||
],
|
|
||||||
position: 1,
|
position: 1,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.workflowVersion].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflowVersion]
|
||||||
WORKFLOW_VERSION_STANDARD_FIELD_IDS.status
|
.fields[WORKFLOW_VERSION_STANDARD_FIELD_IDS.status],
|
||||||
],
|
|
||||||
position: 2,
|
position: 2,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.workflowVersion].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflowVersion]
|
||||||
BASE_OBJECT_STANDARD_FIELD_IDS.updatedAt
|
.fields[BASE_OBJECT_STANDARD_FIELD_IDS.updatedAt],
|
||||||
],
|
|
||||||
position: 3,
|
position: 3,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.workflowVersion].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflowVersion]
|
||||||
WORKFLOW_VERSION_STANDARD_FIELD_IDS.runs
|
.fields[WORKFLOW_VERSION_STANDARD_FIELD_IDS.runs],
|
||||||
],
|
|
||||||
position: 4,
|
position: 4,
|
||||||
isVisible: true,
|
isVisible: true,
|
||||||
size: 150,
|
size: 150,
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
import { ObjectMetadataStandardIdToIdMap } from 'src/engine/metadata-modules/object-metadata/interfaces/object-metadata-standard-id-to-id-map';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
BASE_OBJECT_STANDARD_FIELD_IDS,
|
BASE_OBJECT_STANDARD_FIELD_IDS,
|
||||||
WORKFLOW_STANDARD_FIELD_IDS,
|
WORKFLOW_STANDARD_FIELD_IDS,
|
||||||
@ -6,11 +7,12 @@ import {
|
|||||||
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
import { STANDARD_OBJECT_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
||||||
|
|
||||||
export const workflowsAllView = (
|
export const workflowsAllView = (
|
||||||
objectMetadataMap: Record<string, ObjectMetadataEntity>,
|
objectMetadataStandardIdToIdMap: ObjectMetadataStandardIdToIdMap,
|
||||||
) => {
|
) => {
|
||||||
return {
|
return {
|
||||||
name: 'All Workflows',
|
name: 'All Workflows',
|
||||||
objectMetadataId: objectMetadataMap[STANDARD_OBJECT_IDS.workflow].id,
|
objectMetadataId:
|
||||||
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflow].id,
|
||||||
type: 'table',
|
type: 'table',
|
||||||
key: 'INDEX',
|
key: 'INDEX',
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -20,7 +22,7 @@ export const workflowsAllView = (
|
|||||||
fields: [
|
fields: [
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.workflow].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflow].fields[
|
||||||
WORKFLOW_STANDARD_FIELD_IDS.name
|
WORKFLOW_STANDARD_FIELD_IDS.name
|
||||||
],
|
],
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -29,7 +31,7 @@ export const workflowsAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.workflow].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflow].fields[
|
||||||
WORKFLOW_STANDARD_FIELD_IDS.statuses
|
WORKFLOW_STANDARD_FIELD_IDS.statuses
|
||||||
],
|
],
|
||||||
position: 1,
|
position: 1,
|
||||||
@ -38,7 +40,7 @@ export const workflowsAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.workflow].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflow].fields[
|
||||||
BASE_OBJECT_STANDARD_FIELD_IDS.updatedAt
|
BASE_OBJECT_STANDARD_FIELD_IDS.updatedAt
|
||||||
],
|
],
|
||||||
position: 2,
|
position: 2,
|
||||||
@ -47,7 +49,7 @@ export const workflowsAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.workflow].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflow].fields[
|
||||||
WORKFLOW_STANDARD_FIELD_IDS.createdBy
|
WORKFLOW_STANDARD_FIELD_IDS.createdBy
|
||||||
],
|
],
|
||||||
position: 3,
|
position: 3,
|
||||||
@ -56,7 +58,7 @@ export const workflowsAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.workflow].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflow].fields[
|
||||||
WORKFLOW_STANDARD_FIELD_IDS.versions
|
WORKFLOW_STANDARD_FIELD_IDS.versions
|
||||||
],
|
],
|
||||||
position: 4,
|
position: 4,
|
||||||
@ -65,7 +67,7 @@ export const workflowsAllView = (
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldMetadataId:
|
fieldMetadataId:
|
||||||
objectMetadataMap[STANDARD_OBJECT_IDS.workflow].fields[
|
objectMetadataStandardIdToIdMap[STANDARD_OBJECT_IDS.workflow].fields[
|
||||||
WORKFLOW_STANDARD_FIELD_IDS.runs
|
WORKFLOW_STANDARD_FIELD_IDS.runs
|
||||||
],
|
],
|
||||||
position: 5,
|
position: 5,
|
||||||
|
|||||||
Reference in New Issue
Block a user