chore: extend root eslint config in twenty-server (#5101)
Reopening @thaisguigon work from https://github.com/twentyhq/twenty/pull/4781 --------- Co-authored-by: Thaïs Guigon <guigon.thais@gmail.com>
This commit is contained in:
@ -84,7 +84,7 @@ describe('FindDuplicatesQueryFactory', () => {
|
||||
});
|
||||
|
||||
expect(query.trim()).toEqual(`query {
|
||||
personCollection(filter: {or:[{nameFirstName:{eq:\"John\"},nameLastName:{eq:\"Doe\"}}]}) {
|
||||
personCollection(filter: {or:[{nameFirstName:{eq:"John"},nameLastName:{eq:"Doe"}}]}) {
|
||||
fieldsString
|
||||
}
|
||||
}`);
|
||||
@ -171,7 +171,7 @@ describe('FindDuplicatesQueryFactory', () => {
|
||||
);
|
||||
|
||||
expect(query.trim()).toEqual(`query {
|
||||
personCollection(filter: {id:{neq:\"uuid\"},or:[{nameFirstName:{eq:\"Peter\"},nameLastName:{eq:\"Parker\"}}]}) {
|
||||
personCollection(filter: {id:{neq:"uuid"},or:[{nameFirstName:{eq:"Peter"},nameLastName:{eq:"Parker"}}]}) {
|
||||
fieldsString
|
||||
}
|
||||
}`);
|
||||
@ -189,7 +189,7 @@ describe('FindDuplicatesQueryFactory', () => {
|
||||
});
|
||||
|
||||
expect(query.trim()).toEqual(`query {
|
||||
personCollection(filter: { id: { eq: \"uuid\" }}){
|
||||
personCollection(filter: { id: { eq: "uuid" }}){
|
||||
edges {
|
||||
node {
|
||||
__typename
|
||||
|
||||
@ -10,7 +10,7 @@ import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metad
|
||||
import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target-table.util';
|
||||
import { stringifyWithoutKeyQuote } from 'src/engine/api/graphql/workspace-query-builder/utils/stringify-without-key-quote.util';
|
||||
import { ArgsAliasFactory } from 'src/engine/api/graphql/workspace-query-builder/factories/args-alias.factory';
|
||||
import { duplicateCriteriaCollection } from 'src/engine/api/graphql/workspace-resolver-builder/constants/duplicate-criteria.constants';
|
||||
import { DUPLICATE_CRITERIA_COLLECTION } from 'src/engine/api/graphql/workspace-resolver-builder/constants/duplicate-criteria.constants';
|
||||
import { settings } from 'src/engine/constants/settings';
|
||||
|
||||
import { FieldsStringFactory } from './fields-string.factory';
|
||||
@ -145,7 +145,7 @@ export class FindDuplicatesQueryFactory {
|
||||
private getApplicableDuplicateCriteriaCollection(
|
||||
objectMetadataItem: ObjectMetadataInterface,
|
||||
) {
|
||||
return duplicateCriteriaCollection.filter(
|
||||
return DUPLICATE_CRITERIA_COLLECTION.filter(
|
||||
(duplicateCriteria) =>
|
||||
duplicateCriteria.objectName === objectMetadataItem.nameSingular,
|
||||
);
|
||||
|
||||
@ -34,6 +34,7 @@ export const parseResult = (obj: any): any => {
|
||||
const result: any = {};
|
||||
|
||||
for (const key in obj) {
|
||||
// eslint-disable-next-line no-prototype-builtins
|
||||
if (obj.hasOwnProperty(key)) {
|
||||
if (typeof obj[key] === 'object' && obj[key] !== null) {
|
||||
result[key] = parseResult(obj[key]);
|
||||
|
||||
@ -6,7 +6,7 @@ import { RecordDuplicateCriteria } from 'src/engine/api/graphql/workspace-query-
|
||||
* So if we need to reference a custom field, we should directly add the column name like `_customColumn`.
|
||||
* If we need to terence a composite field, we should add all children of the composite like `nameFirstName` and `nameLastName`
|
||||
*/
|
||||
export const duplicateCriteriaCollection: RecordDuplicateCriteria[] = [
|
||||
export const DUPLICATE_CRITERIA_COLLECTION: RecordDuplicateCriteria[] = [
|
||||
{
|
||||
objectName: 'company',
|
||||
columnNames: ['domainName'],
|
||||
|
||||
@ -24,6 +24,7 @@ export class ArgsFactory {
|
||||
const fieldConfigMap: GraphQLFieldConfigArgumentMap = {};
|
||||
|
||||
for (const key in args) {
|
||||
// eslint-disable-next-line no-prototype-builtins
|
||||
if (!args.hasOwnProperty(key)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
export * from './big-float-filter.input-type';
|
||||
export * from './big-int-filter.input-type';
|
||||
export * from './boolean-filter.input-type';
|
||||
export * from './date-filter.input-type';
|
||||
export * from './date-time-filter.input-type';
|
||||
export * from './float-filter.input-type';
|
||||
export * from './int-filter.input-type';
|
||||
export * from './raw-json-filter.input-type';
|
||||
export * from './string-filter.input-type';
|
||||
export * from './time-filter.input-type';
|
||||
export * from './uuid-filter.input-type';
|
||||
export * from './boolean-filter.input-type';
|
||||
export * from './raw-json-filter.input-type';
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { Injectable, Logger } from '@nestjs/common';
|
||||
import { HttpService } from '@nestjs/axios';
|
||||
|
||||
import { Request } from 'express';
|
||||
@ -12,6 +12,8 @@ import { CreateAnalyticsInput } from './dto/create-analytics.input';
|
||||
|
||||
@Injectable()
|
||||
export class AnalyticsService {
|
||||
private readonly logger = new Logger(AnalyticsService.name);
|
||||
|
||||
constructor(
|
||||
private readonly environmentService: EnvironmentService,
|
||||
private readonly httpService: HttpService,
|
||||
@ -53,7 +55,11 @@ export class AnalyticsService {
|
||||
|
||||
try {
|
||||
await this.httpService.axiosRef.post('/v1', data);
|
||||
} catch {}
|
||||
} catch {
|
||||
this.logger.error('Failed to send analytics event');
|
||||
|
||||
return { success: false };
|
||||
}
|
||||
|
||||
return { success: true };
|
||||
}
|
||||
|
||||
@ -10,18 +10,14 @@ export class GoogleAPIsOauthGuard extends AuthGuard('google-apis') {
|
||||
}
|
||||
|
||||
async canActivate(context: ExecutionContext) {
|
||||
try {
|
||||
const request = context.switchToHttp().getRequest();
|
||||
const transientToken = request.query.transientToken;
|
||||
const request = context.switchToHttp().getRequest();
|
||||
const transientToken = request.query.transientToken;
|
||||
|
||||
if (transientToken && typeof transientToken === 'string') {
|
||||
request.params.transientToken = transientToken;
|
||||
}
|
||||
const activate = (await super.canActivate(context)) as boolean;
|
||||
|
||||
return activate;
|
||||
} catch (ex) {
|
||||
throw ex;
|
||||
if (transientToken && typeof transientToken === 'string') {
|
||||
request.params.transientToken = transientToken;
|
||||
}
|
||||
const activate = (await super.canActivate(context)) as boolean;
|
||||
|
||||
return activate;
|
||||
}
|
||||
}
|
||||
|
||||
@ -10,18 +10,14 @@ export class GoogleOauthGuard extends AuthGuard('google') {
|
||||
}
|
||||
|
||||
async canActivate(context: ExecutionContext) {
|
||||
try {
|
||||
const request = context.switchToHttp().getRequest();
|
||||
const workspaceInviteHash = request.query.inviteHash;
|
||||
const request = context.switchToHttp().getRequest();
|
||||
const workspaceInviteHash = request.query.inviteHash;
|
||||
|
||||
if (workspaceInviteHash && typeof workspaceInviteHash === 'string') {
|
||||
request.params.workspaceInviteHash = workspaceInviteHash;
|
||||
}
|
||||
const activate = (await super.canActivate(context)) as boolean;
|
||||
|
||||
return activate;
|
||||
} catch (ex) {
|
||||
throw ex;
|
||||
if (workspaceInviteHash && typeof workspaceInviteHash === 'string') {
|
||||
request.params.workspaceInviteHash = workspaceInviteHash;
|
||||
}
|
||||
const activate = (await super.canActivate(context)) as boolean;
|
||||
|
||||
return activate;
|
||||
}
|
||||
}
|
||||
|
||||
@ -202,7 +202,11 @@ export class BillingService {
|
||||
quantity = await this.userWorkspaceService.getWorkspaceMemberCount(
|
||||
user.defaultWorkspaceId,
|
||||
);
|
||||
} catch (e) {}
|
||||
} catch (e) {
|
||||
this.logger.error(
|
||||
`Failed to get workspace member count for workspace ${user.defaultWorkspaceId}`,
|
||||
);
|
||||
}
|
||||
|
||||
const session = await this.stripeService.createCheckoutSession(
|
||||
user,
|
||||
|
||||
@ -32,7 +32,7 @@ export class TimelineCalendarEventService {
|
||||
workspaceMemberId: string,
|
||||
workspaceId: string,
|
||||
personIds: string[],
|
||||
page: number = 1,
|
||||
page = 1,
|
||||
pageSize: number = TIMELINE_CALENDAR_EVENTS_DEFAULT_PAGE_SIZE,
|
||||
): Promise<TimelineCalendarEventsWithTotal> {
|
||||
const offset = (page - 1) * pageSize;
|
||||
@ -234,7 +234,7 @@ export class TimelineCalendarEventService {
|
||||
workspaceMemberId: string,
|
||||
workspaceId: string,
|
||||
companyId: string,
|
||||
page: number = 1,
|
||||
page = 1,
|
||||
pageSize: number = TIMELINE_CALENDAR_EVENTS_DEFAULT_PAGE_SIZE,
|
||||
): Promise<TimelineCalendarEventsWithTotal> {
|
||||
const dataSourceSchema =
|
||||
|
||||
@ -24,7 +24,7 @@ export class TimelineMessagingService {
|
||||
workspaceMemberId: string,
|
||||
workspaceId: string,
|
||||
personIds: string[],
|
||||
page: number = 1,
|
||||
page = 1,
|
||||
pageSize: number = TIMELINE_THREADS_DEFAULT_PAGE_SIZE,
|
||||
): Promise<TimelineThreadsWithTotal> {
|
||||
const offset = (page - 1) * pageSize;
|
||||
@ -478,7 +478,7 @@ export class TimelineMessagingService {
|
||||
workspaceMemberId: string,
|
||||
workspaceId: string,
|
||||
companyId: string,
|
||||
page: number = 1,
|
||||
page = 1,
|
||||
pageSize: number = TIMELINE_THREADS_DEFAULT_PAGE_SIZE,
|
||||
): Promise<TimelineThreadsWithTotal> {
|
||||
const dataSourceSchema =
|
||||
|
||||
@ -13,7 +13,7 @@ export function IsValidMetadataName(validationOptions?: ValidationOptions) {
|
||||
options: validationOptions,
|
||||
validator: {
|
||||
validate(value: any) {
|
||||
return /^(?!(?:not|or|and|Int|Float|Boolean|String|ID)$)[^'\"\\;.=*/]+$/.test(
|
||||
return /^(?!(?:not|or|and|Int|Float|Boolean|String|ID)$)[^'"\\;.=*/]+$/.test(
|
||||
value,
|
||||
);
|
||||
},
|
||||
|
||||
@ -44,7 +44,7 @@ export class CacheStorageService {
|
||||
});
|
||||
}
|
||||
|
||||
async setPop(key: string, size: number = 1) {
|
||||
async setPop(key: string, size = 1) {
|
||||
if (this.isRedisCache()) {
|
||||
return (this.cache as RedisCache).store.client.sPop(
|
||||
`${this.namespace}:${key}`,
|
||||
|
||||
@ -38,24 +38,24 @@ export class EnvironmentVariables {
|
||||
@CastToBoolean()
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
DEBUG_MODE: boolean = false;
|
||||
DEBUG_MODE = false;
|
||||
|
||||
@CastToPositiveNumber()
|
||||
@IsOptional()
|
||||
@IsNumber()
|
||||
@Min(0)
|
||||
@Max(65535)
|
||||
DEBUG_PORT: number = 9000;
|
||||
DEBUG_PORT = 9000;
|
||||
|
||||
@CastToBoolean()
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
SIGN_IN_PREFILLED: boolean = false;
|
||||
SIGN_IN_PREFILLED = false;
|
||||
|
||||
@CastToBoolean()
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
IS_BILLING_ENABLED: boolean = false;
|
||||
IS_BILLING_ENABLED = false;
|
||||
|
||||
@IsString()
|
||||
@ValidateIf((env) => env.IS_BILLING_ENABLED === true)
|
||||
@ -69,7 +69,7 @@ export class EnvironmentVariables {
|
||||
@CastToPositiveNumber()
|
||||
@IsOptional()
|
||||
@ValidateIf((env) => env.IS_BILLING_ENABLED === true)
|
||||
BILLING_FREE_TRIAL_DURATION_IN_DAYS: number = 7;
|
||||
BILLING_FREE_TRIAL_DURATION_IN_DAYS = 7;
|
||||
|
||||
@IsString()
|
||||
@ValidateIf((env) => env.IS_BILLING_ENABLED === true)
|
||||
@ -82,17 +82,17 @@ export class EnvironmentVariables {
|
||||
@CastToBoolean()
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
TELEMETRY_ENABLED: boolean = true;
|
||||
TELEMETRY_ENABLED = true;
|
||||
|
||||
@CastToBoolean()
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
TELEMETRY_ANONYMIZATION_ENABLED: boolean = true;
|
||||
TELEMETRY_ANONYMIZATION_ENABLED = true;
|
||||
|
||||
@CastToPositiveNumber()
|
||||
@IsNumber()
|
||||
@IsOptional()
|
||||
PORT: number = 3000;
|
||||
PORT = 3000;
|
||||
|
||||
// Database
|
||||
@IsDefined()
|
||||
@ -118,33 +118,33 @@ export class EnvironmentVariables {
|
||||
|
||||
@IsDuration()
|
||||
@IsOptional()
|
||||
ACCESS_TOKEN_EXPIRES_IN: string = '30m';
|
||||
ACCESS_TOKEN_EXPIRES_IN = '30m';
|
||||
|
||||
@IsString()
|
||||
REFRESH_TOKEN_SECRET: string;
|
||||
|
||||
@IsDuration()
|
||||
@IsOptional()
|
||||
REFRESH_TOKEN_EXPIRES_IN: string = '30m';
|
||||
REFRESH_TOKEN_EXPIRES_IN = '30m';
|
||||
|
||||
@IsDuration()
|
||||
@IsOptional()
|
||||
REFRESH_TOKEN_COOL_DOWN: string = '1m';
|
||||
REFRESH_TOKEN_COOL_DOWN = '1m';
|
||||
|
||||
@IsString()
|
||||
LOGIN_TOKEN_SECRET: string = '30m';
|
||||
LOGIN_TOKEN_SECRET = '30m';
|
||||
|
||||
@IsDuration()
|
||||
@IsOptional()
|
||||
LOGIN_TOKEN_EXPIRES_IN: string = '15m';
|
||||
LOGIN_TOKEN_EXPIRES_IN = '15m';
|
||||
|
||||
@IsString()
|
||||
@IsOptional()
|
||||
FILE_TOKEN_SECRET: string = 'random_string';
|
||||
FILE_TOKEN_SECRET = 'random_string';
|
||||
|
||||
@IsDuration()
|
||||
@IsOptional()
|
||||
FILE_TOKEN_EXPIRES_IN: string = '1d';
|
||||
FILE_TOKEN_EXPIRES_IN = '1d';
|
||||
|
||||
// Auth
|
||||
@IsUrl({ require_tld: false })
|
||||
@ -154,7 +154,7 @@ export class EnvironmentVariables {
|
||||
@CastToBoolean()
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
AUTH_GOOGLE_ENABLED: boolean = false;
|
||||
AUTH_GOOGLE_ENABLED = false;
|
||||
|
||||
@IsString()
|
||||
@ValidateIf((env) => env.AUTH_GOOGLE_ENABLED === true)
|
||||
@ -188,7 +188,7 @@ export class EnvironmentVariables {
|
||||
|
||||
@IsString()
|
||||
@ValidateIf((env) => env.STORAGE_TYPE === StorageDriverType.Local)
|
||||
STORAGE_LOCAL_PATH: string = '.local-storage';
|
||||
STORAGE_LOCAL_PATH = '.local-storage';
|
||||
|
||||
// Support
|
||||
@IsEnum(SupportDriver)
|
||||
@ -210,7 +210,7 @@ export class EnvironmentVariables {
|
||||
@CastToBoolean()
|
||||
@IsBoolean()
|
||||
@IsOptional()
|
||||
LOGGER_IS_BUFFER_ENABLED: boolean = true;
|
||||
LOGGER_IS_BUFFER_ENABLED = true;
|
||||
|
||||
@IsEnum(ExceptionHandlerDriver)
|
||||
@IsOptional()
|
||||
@ -253,7 +253,7 @@ export class EnvironmentVariables {
|
||||
|
||||
@IsDuration()
|
||||
@IsOptional()
|
||||
PASSWORD_RESET_TOKEN_EXPIRES_IN: string = '5m';
|
||||
PASSWORD_RESET_TOKEN_EXPIRES_IN = '5m';
|
||||
|
||||
@CastToPositiveNumber()
|
||||
@IsNumber()
|
||||
@ -263,49 +263,49 @@ export class EnvironmentVariables {
|
||||
'"WORKSPACE_INACTIVE_DAYS_BEFORE_NOTIFICATION" should be strictly lower that "WORKSPACE_INACTIVE_DAYS_BEFORE_DELETION"',
|
||||
})
|
||||
@ValidateIf((env) => env.WORKSPACE_INACTIVE_DAYS_BEFORE_DELETION > 0)
|
||||
WORKSPACE_INACTIVE_DAYS_BEFORE_NOTIFICATION: number = 30;
|
||||
WORKSPACE_INACTIVE_DAYS_BEFORE_NOTIFICATION = 30;
|
||||
|
||||
@CastToPositiveNumber()
|
||||
@IsNumber()
|
||||
@ValidateIf((env) => env.WORKSPACE_INACTIVE_DAYS_BEFORE_NOTIFICATION > 0)
|
||||
WORKSPACE_INACTIVE_DAYS_BEFORE_DELETION: number = 60;
|
||||
WORKSPACE_INACTIVE_DAYS_BEFORE_DELETION = 60;
|
||||
|
||||
@CastToBoolean()
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
IS_SIGN_UP_DISABLED: boolean = false;
|
||||
IS_SIGN_UP_DISABLED = false;
|
||||
|
||||
@CastToPositiveNumber()
|
||||
@IsOptional()
|
||||
@IsNumber()
|
||||
MUTATION_MAXIMUM_RECORD_AFFECTED: number = 100;
|
||||
MUTATION_MAXIMUM_RECORD_AFFECTED = 100;
|
||||
|
||||
REDIS_HOST: string = '127.0.0.1';
|
||||
REDIS_HOST = '127.0.0.1';
|
||||
|
||||
@CastToPositiveNumber()
|
||||
REDIS_PORT: number = 6379;
|
||||
REDIS_PORT = 6379;
|
||||
|
||||
API_TOKEN_EXPIRES_IN: string = '100y';
|
||||
API_TOKEN_EXPIRES_IN = '100y';
|
||||
|
||||
SHORT_TERM_TOKEN_EXPIRES_IN: string = '5m';
|
||||
SHORT_TERM_TOKEN_EXPIRES_IN = '5m';
|
||||
|
||||
@CastToBoolean()
|
||||
MESSAGING_PROVIDER_GMAIL_ENABLED: boolean = false;
|
||||
MESSAGING_PROVIDER_GMAIL_ENABLED = false;
|
||||
|
||||
MESSAGE_QUEUE_TYPE: string = MessageQueueDriverType.Sync;
|
||||
|
||||
EMAIL_FROM_ADDRESS: string = 'noreply@yourdomain.com';
|
||||
EMAIL_FROM_ADDRESS = 'noreply@yourdomain.com';
|
||||
|
||||
EMAIL_SYSTEM_ADDRESS: string = 'system@yourdomain.com';
|
||||
EMAIL_SYSTEM_ADDRESS = 'system@yourdomain.com';
|
||||
|
||||
EMAIL_FROM_NAME: string = 'Felix from Twenty';
|
||||
EMAIL_FROM_NAME = 'Felix from Twenty';
|
||||
|
||||
EMAIL_DRIVER: EmailDriver = EmailDriver.Logger;
|
||||
|
||||
EMAIL_SMTP_HOST: string;
|
||||
|
||||
@CastToPositiveNumber()
|
||||
EMAIL_SMTP_PORT: number = 587;
|
||||
EMAIL_SMTP_PORT = 587;
|
||||
|
||||
EMAIL_SMTP_USER: string;
|
||||
|
||||
@ -314,18 +314,18 @@ export class EnvironmentVariables {
|
||||
OPENROUTER_API_KEY: string;
|
||||
|
||||
@CastToPositiveNumber()
|
||||
API_RATE_LIMITING_TTL: number = 100;
|
||||
API_RATE_LIMITING_TTL = 100;
|
||||
|
||||
@CastToPositiveNumber()
|
||||
API_RATE_LIMITING_LIMIT: number = 500;
|
||||
API_RATE_LIMITING_LIMIT = 500;
|
||||
|
||||
CACHE_STORAGE_TYPE: string = 'memory';
|
||||
CACHE_STORAGE_TYPE = 'memory';
|
||||
|
||||
@CastToPositiveNumber()
|
||||
CACHE_STORAGE_TTL: number = 3600 * 24 * 7;
|
||||
|
||||
@CastToBoolean()
|
||||
CALENDAR_PROVIDER_GOOGLE_ENABLED: boolean = false;
|
||||
CALENDAR_PROVIDER_GOOGLE_ENABLED = false;
|
||||
|
||||
AUTH_GOOGLE_APIS_CALLBACK_URL: string;
|
||||
|
||||
|
||||
@ -33,18 +33,19 @@ export class MessageQueueModule {
|
||||
const config = await options.useFactory(...args);
|
||||
|
||||
switch (config.type) {
|
||||
case MessageQueueDriverType.PgBoss:
|
||||
case MessageQueueDriverType.PgBoss: {
|
||||
const boss = new PgBossDriver(config.options);
|
||||
|
||||
await boss.init();
|
||||
|
||||
return boss;
|
||||
|
||||
case MessageQueueDriverType.BullMQ:
|
||||
}
|
||||
case MessageQueueDriverType.BullMQ: {
|
||||
return new BullMQDriver(config.options);
|
||||
|
||||
default:
|
||||
}
|
||||
default: {
|
||||
return new SyncDriver(JobsModule.moduleRef);
|
||||
}
|
||||
}
|
||||
},
|
||||
inject: options.inject || [],
|
||||
|
||||
@ -52,6 +52,7 @@ export class BeforeUpdateOneObject<T extends UpdateObjectInput>
|
||||
if (!objectMetadata.isCustom) {
|
||||
if (
|
||||
Object.keys(instance.update).length === 1 &&
|
||||
// eslint-disable-next-line no-prototype-builtins
|
||||
instance.update.hasOwnProperty('isActive') &&
|
||||
instance.update.isActive !== undefined
|
||||
) {
|
||||
|
||||
@ -40,12 +40,12 @@ import { DeleteOneObjectInput } from 'src/engine/metadata-modules/object-metadat
|
||||
import { RelationToDelete } from 'src/engine/metadata-modules/relation-metadata/types/relation-to-delete';
|
||||
import { generateMigrationName } from 'src/engine/metadata-modules/workspace-migration/utils/generate-migration-name.util';
|
||||
import {
|
||||
activityTargetStandardFieldIds,
|
||||
attachmentStandardFieldIds,
|
||||
baseObjectStandardFieldIds,
|
||||
customObjectStandardFieldIds,
|
||||
favoriteStandardFieldIds,
|
||||
timelineActivityStandardFieldIds,
|
||||
ACTIVITY_TARGET_STANDARD_FIELD_IDS,
|
||||
ATTACHMENT_STANDARD_FIELD_IDS,
|
||||
BASE_OBJECT_STANDARD_FIELD_IDS,
|
||||
CUSTOM_OBJECT_STANDARD_FIELD_IDS,
|
||||
FAVORITE_STANDARD_FIELD_IDS,
|
||||
TIMELINE_ACTIVITY_STANDARD_FIELD_IDS,
|
||||
} from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
|
||||
import {
|
||||
createForeignKeyDeterministicUuid,
|
||||
@ -262,7 +262,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
// created with default values which is not supported yet by workspace migrations.
|
||||
[
|
||||
{
|
||||
standardId: baseObjectStandardFieldIds.id,
|
||||
standardId: BASE_OBJECT_STANDARD_FIELD_IDS.id,
|
||||
type: FieldMetadataType.UUID,
|
||||
name: 'id',
|
||||
label: 'Id',
|
||||
@ -276,7 +276,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
defaultValue: 'uuid',
|
||||
},
|
||||
{
|
||||
standardId: customObjectStandardFieldIds.name,
|
||||
standardId: CUSTOM_OBJECT_STANDARD_FIELD_IDS.name,
|
||||
type: FieldMetadataType.TEXT,
|
||||
name: 'name',
|
||||
label: 'Name',
|
||||
@ -289,7 +289,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
defaultValue: "'Untitled'",
|
||||
},
|
||||
{
|
||||
standardId: baseObjectStandardFieldIds.createdAt,
|
||||
standardId: BASE_OBJECT_STANDARD_FIELD_IDS.createdAt,
|
||||
type: FieldMetadataType.DATE_TIME,
|
||||
name: 'createdAt',
|
||||
label: 'Creation date',
|
||||
@ -302,7 +302,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
defaultValue: 'now',
|
||||
},
|
||||
{
|
||||
standardId: baseObjectStandardFieldIds.updatedAt,
|
||||
standardId: BASE_OBJECT_STANDARD_FIELD_IDS.updatedAt,
|
||||
type: FieldMetadataType.DATE_TIME,
|
||||
name: 'updatedAt',
|
||||
label: 'Update date',
|
||||
@ -316,7 +316,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
defaultValue: 'now',
|
||||
},
|
||||
{
|
||||
standardId: customObjectStandardFieldIds.position,
|
||||
standardId: CUSTOM_OBJECT_STANDARD_FIELD_IDS.position,
|
||||
type: FieldMetadataType.POSITION,
|
||||
name: 'position',
|
||||
label: 'Position',
|
||||
@ -464,7 +464,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
createdObjectMetadata: ObjectMetadataEntity,
|
||||
lastDataSourceMetadata: DataSourceEntity,
|
||||
workspaceDataSource: DataSource | undefined,
|
||||
isRemoteObject: boolean = false,
|
||||
isRemoteObject = false,
|
||||
) {
|
||||
const isRelationEnabledForRemoteObjects =
|
||||
await this.isRelationEnabledForRemoteObjects(
|
||||
@ -535,7 +535,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
await this.fieldMetadataRepository.save([
|
||||
// FROM
|
||||
{
|
||||
standardId: customObjectStandardFieldIds.activityTargets,
|
||||
standardId: CUSTOM_OBJECT_STANDARD_FIELD_IDS.activityTargets,
|
||||
objectMetadataId: createdObjectMetadata.id,
|
||||
workspaceId: workspaceId,
|
||||
isCustom: false,
|
||||
@ -551,7 +551,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
{
|
||||
standardId: createRelationDeterministicUuid({
|
||||
objectId: createdObjectMetadata.id,
|
||||
standardId: activityTargetStandardFieldIds.custom,
|
||||
standardId: ACTIVITY_TARGET_STANDARD_FIELD_IDS.custom,
|
||||
}),
|
||||
objectMetadataId: activityTargetObjectMetadata.id,
|
||||
workspaceId: workspaceId,
|
||||
@ -568,7 +568,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
{
|
||||
standardId: createForeignKeyDeterministicUuid({
|
||||
objectId: createdObjectMetadata.id,
|
||||
standardId: activityTargetStandardFieldIds.custom,
|
||||
standardId: ACTIVITY_TARGET_STANDARD_FIELD_IDS.custom,
|
||||
}),
|
||||
objectMetadataId: activityTargetObjectMetadata.id,
|
||||
workspaceId: workspaceId,
|
||||
@ -630,7 +630,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
await this.fieldMetadataRepository.save([
|
||||
// FROM
|
||||
{
|
||||
standardId: customObjectStandardFieldIds.attachments,
|
||||
standardId: CUSTOM_OBJECT_STANDARD_FIELD_IDS.attachments,
|
||||
objectMetadataId: createdObjectMetadata.id,
|
||||
workspaceId: workspaceId,
|
||||
isCustom: false,
|
||||
@ -646,7 +646,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
{
|
||||
standardId: createRelationDeterministicUuid({
|
||||
objectId: createdObjectMetadata.id,
|
||||
standardId: attachmentStandardFieldIds.custom,
|
||||
standardId: ATTACHMENT_STANDARD_FIELD_IDS.custom,
|
||||
}),
|
||||
objectMetadataId: attachmentObjectMetadata.id,
|
||||
workspaceId: workspaceId,
|
||||
@ -663,7 +663,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
{
|
||||
standardId: createForeignKeyDeterministicUuid({
|
||||
objectId: createdObjectMetadata.id,
|
||||
standardId: attachmentStandardFieldIds.custom,
|
||||
standardId: ATTACHMENT_STANDARD_FIELD_IDS.custom,
|
||||
}),
|
||||
objectMetadataId: attachmentObjectMetadata.id,
|
||||
workspaceId: workspaceId,
|
||||
@ -723,7 +723,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
await this.fieldMetadataRepository.save([
|
||||
// FROM
|
||||
{
|
||||
standardId: customObjectStandardFieldIds.timelineActivities,
|
||||
standardId: CUSTOM_OBJECT_STANDARD_FIELD_IDS.timelineActivities,
|
||||
objectMetadataId: createdObjectMetadata.id,
|
||||
workspaceId: workspaceId,
|
||||
isCustom: false,
|
||||
@ -739,7 +739,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
{
|
||||
standardId: createRelationDeterministicUuid({
|
||||
objectId: createdObjectMetadata.id,
|
||||
standardId: timelineActivityStandardFieldIds.custom,
|
||||
standardId: TIMELINE_ACTIVITY_STANDARD_FIELD_IDS.custom,
|
||||
}),
|
||||
objectMetadataId: timelineActivityObjectMetadata.id,
|
||||
workspaceId: workspaceId,
|
||||
@ -756,7 +756,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
{
|
||||
standardId: createForeignKeyDeterministicUuid({
|
||||
objectId: createdObjectMetadata.id,
|
||||
standardId: timelineActivityStandardFieldIds.custom,
|
||||
standardId: TIMELINE_ACTIVITY_STANDARD_FIELD_IDS.custom,
|
||||
}),
|
||||
objectMetadataId: timelineActivityObjectMetadata.id,
|
||||
workspaceId: workspaceId,
|
||||
@ -818,7 +818,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
await this.fieldMetadataRepository.save([
|
||||
// FROM
|
||||
{
|
||||
standardId: customObjectStandardFieldIds.favorites,
|
||||
standardId: CUSTOM_OBJECT_STANDARD_FIELD_IDS.favorites,
|
||||
objectMetadataId: createdObjectMetadata.id,
|
||||
workspaceId: workspaceId,
|
||||
isCustom: false,
|
||||
@ -835,7 +835,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
{
|
||||
standardId: createRelationDeterministicUuid({
|
||||
objectId: createdObjectMetadata.id,
|
||||
standardId: favoriteStandardFieldIds.custom,
|
||||
standardId: FAVORITE_STANDARD_FIELD_IDS.custom,
|
||||
}),
|
||||
objectMetadataId: favoriteObjectMetadata.id,
|
||||
workspaceId: workspaceId,
|
||||
@ -852,7 +852,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
||||
{
|
||||
standardId: createForeignKeyDeterministicUuid({
|
||||
objectId: createdObjectMetadata.id,
|
||||
standardId: favoriteStandardFieldIds.custom,
|
||||
standardId: FAVORITE_STANDARD_FIELD_IDS.custom,
|
||||
}),
|
||||
objectMetadataId: favoriteObjectMetadata.id,
|
||||
workspaceId: workspaceId,
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
||||
import {
|
||||
baseObjectStandardFieldIds,
|
||||
companyStandardFieldIds,
|
||||
BASE_OBJECT_STANDARD_FIELD_IDS,
|
||||
COMPANY_STANDARD_FIELD_IDS,
|
||||
} from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
|
||||
import { standardObjectIds } 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 viewCompanyFields = (
|
||||
viewId: string,
|
||||
@ -12,8 +12,8 @@ export const viewCompanyFields = (
|
||||
return [
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.company].fields[
|
||||
companyStandardFieldIds.name
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.company].fields[
|
||||
COMPANY_STANDARD_FIELD_IDS.name
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 0,
|
||||
@ -22,8 +22,8 @@ export const viewCompanyFields = (
|
||||
},
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.company].fields[
|
||||
companyStandardFieldIds.domainName
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.company].fields[
|
||||
COMPANY_STANDARD_FIELD_IDS.domainName
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 1,
|
||||
@ -32,8 +32,8 @@ export const viewCompanyFields = (
|
||||
},
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.company].fields[
|
||||
companyStandardFieldIds.accountOwner
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.company].fields[
|
||||
COMPANY_STANDARD_FIELD_IDS.accountOwner
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 2,
|
||||
@ -42,8 +42,8 @@ export const viewCompanyFields = (
|
||||
},
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.company].fields[
|
||||
baseObjectStandardFieldIds.createdAt
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.company].fields[
|
||||
BASE_OBJECT_STANDARD_FIELD_IDS.createdAt
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 3,
|
||||
@ -52,8 +52,8 @@ export const viewCompanyFields = (
|
||||
},
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.company].fields[
|
||||
companyStandardFieldIds.employees
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.company].fields[
|
||||
COMPANY_STANDARD_FIELD_IDS.employees
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 4,
|
||||
@ -62,8 +62,8 @@ export const viewCompanyFields = (
|
||||
},
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.company].fields[
|
||||
companyStandardFieldIds.linkedinLink
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.company].fields[
|
||||
COMPANY_STANDARD_FIELD_IDS.linkedinLink
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 5,
|
||||
@ -72,8 +72,8 @@ export const viewCompanyFields = (
|
||||
},
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.company].fields[
|
||||
companyStandardFieldIds.address
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.company].fields[
|
||||
COMPANY_STANDARD_FIELD_IDS.address
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 6,
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
||||
import { opportunityStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
|
||||
import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-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';
|
||||
|
||||
export const viewOpportunityFields = (
|
||||
viewId: string,
|
||||
@ -9,8 +9,8 @@ export const viewOpportunityFields = (
|
||||
return [
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.opportunity].fields[
|
||||
opportunityStandardFieldIds.name
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
||||
OPPORTUNITY_STANDARD_FIELD_IDS.name
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 0,
|
||||
@ -19,8 +19,8 @@ export const viewOpportunityFields = (
|
||||
},
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.opportunity].fields[
|
||||
opportunityStandardFieldIds.amount
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
||||
OPPORTUNITY_STANDARD_FIELD_IDS.amount
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 1,
|
||||
@ -29,8 +29,8 @@ export const viewOpportunityFields = (
|
||||
},
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.opportunity].fields[
|
||||
opportunityStandardFieldIds.closeDate
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
||||
OPPORTUNITY_STANDARD_FIELD_IDS.closeDate
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 2,
|
||||
@ -39,8 +39,8 @@ export const viewOpportunityFields = (
|
||||
},
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.opportunity].fields[
|
||||
opportunityStandardFieldIds.probability
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
||||
OPPORTUNITY_STANDARD_FIELD_IDS.probability
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 3,
|
||||
@ -49,8 +49,8 @@ export const viewOpportunityFields = (
|
||||
},
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.opportunity].fields[
|
||||
opportunityStandardFieldIds.pointOfContact
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
||||
OPPORTUNITY_STANDARD_FIELD_IDS.pointOfContact
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 4,
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
||||
import {
|
||||
baseObjectStandardFieldIds,
|
||||
personStandardFieldIds,
|
||||
BASE_OBJECT_STANDARD_FIELD_IDS,
|
||||
PERSON_STANDARD_FIELD_IDS,
|
||||
} from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
|
||||
import { standardObjectIds } 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 viewPersonFields = (
|
||||
viewId: string,
|
||||
@ -12,8 +12,8 @@ export const viewPersonFields = (
|
||||
return [
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.person].fields[
|
||||
personStandardFieldIds.name
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
||||
PERSON_STANDARD_FIELD_IDS.name
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 0,
|
||||
@ -22,8 +22,8 @@ export const viewPersonFields = (
|
||||
},
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.person].fields[
|
||||
personStandardFieldIds.email
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
||||
PERSON_STANDARD_FIELD_IDS.email
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 1,
|
||||
@ -32,8 +32,8 @@ export const viewPersonFields = (
|
||||
},
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.person].fields[
|
||||
personStandardFieldIds.company
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
||||
PERSON_STANDARD_FIELD_IDS.company
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 2,
|
||||
@ -42,8 +42,8 @@ export const viewPersonFields = (
|
||||
},
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.person].fields[
|
||||
personStandardFieldIds.phone
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
||||
PERSON_STANDARD_FIELD_IDS.phone
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 3,
|
||||
@ -52,8 +52,8 @@ export const viewPersonFields = (
|
||||
},
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.person].fields[
|
||||
baseObjectStandardFieldIds.createdAt
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
||||
BASE_OBJECT_STANDARD_FIELD_IDS.createdAt
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 4,
|
||||
@ -62,8 +62,8 @@ export const viewPersonFields = (
|
||||
},
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.person].fields[
|
||||
personStandardFieldIds.city
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
||||
PERSON_STANDARD_FIELD_IDS.city
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 5,
|
||||
@ -72,8 +72,8 @@ export const viewPersonFields = (
|
||||
},
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.person].fields[
|
||||
personStandardFieldIds.jobTitle
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
||||
PERSON_STANDARD_FIELD_IDS.jobTitle
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 6,
|
||||
@ -82,8 +82,8 @@ export const viewPersonFields = (
|
||||
},
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.person].fields[
|
||||
personStandardFieldIds.linkedinLink
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
||||
PERSON_STANDARD_FIELD_IDS.linkedinLink
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 7,
|
||||
@ -92,8 +92,8 @@ export const viewPersonFields = (
|
||||
},
|
||||
{
|
||||
fieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.person].fields[
|
||||
personStandardFieldIds.xLink
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.person].fields[
|
||||
PERSON_STANDARD_FIELD_IDS.xLink
|
||||
],
|
||||
viewId: viewId,
|
||||
position: 8,
|
||||
|
||||
@ -4,8 +4,8 @@ import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadat
|
||||
import { viewCompanyFields } from 'src/engine/workspace-manager/standard-objects-prefill-data/view-company-fields';
|
||||
import { viewPersonFields } from 'src/engine/workspace-manager/standard-objects-prefill-data/view-person-fields';
|
||||
import { viewOpportunityFields } from 'src/engine/workspace-manager/standard-objects-prefill-data/view-opportunity-fields';
|
||||
import { standardObjectIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-object-ids';
|
||||
import { opportunityStandardFieldIds } 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 { OPPORTUNITY_STANDARD_FIELD_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
|
||||
|
||||
export const viewPrefillData = async (
|
||||
entityManager: EntityManager,
|
||||
@ -27,7 +27,7 @@ export const viewPrefillData = async (
|
||||
.values([
|
||||
{
|
||||
name: 'All Companies',
|
||||
objectMetadataId: objectMetadataMap[standardObjectIds.company].id,
|
||||
objectMetadataId: objectMetadataMap[STANDARD_OBJECT_IDS.company].id,
|
||||
type: 'table',
|
||||
key: 'INDEX',
|
||||
position: 0,
|
||||
@ -36,7 +36,7 @@ export const viewPrefillData = async (
|
||||
},
|
||||
{
|
||||
name: 'All People',
|
||||
objectMetadataId: objectMetadataMap[standardObjectIds.person].id,
|
||||
objectMetadataId: objectMetadataMap[STANDARD_OBJECT_IDS.person].id,
|
||||
type: 'table',
|
||||
key: 'INDEX',
|
||||
position: 0,
|
||||
@ -45,7 +45,7 @@ export const viewPrefillData = async (
|
||||
},
|
||||
{
|
||||
name: 'All Opportunities',
|
||||
objectMetadataId: objectMetadataMap[standardObjectIds.opportunity].id,
|
||||
objectMetadataId: objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].id,
|
||||
type: 'table',
|
||||
key: 'INDEX',
|
||||
position: 0,
|
||||
@ -54,14 +54,14 @@ export const viewPrefillData = async (
|
||||
},
|
||||
{
|
||||
name: 'By Stage',
|
||||
objectMetadataId: objectMetadataMap[standardObjectIds.opportunity].id,
|
||||
objectMetadataId: objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].id,
|
||||
type: 'kanban',
|
||||
key: null,
|
||||
position: 1,
|
||||
icon: 'IconLayoutKanban',
|
||||
kanbanFieldMetadataId:
|
||||
objectMetadataMap[standardObjectIds.opportunity].fields[
|
||||
opportunityStandardFieldIds.stage
|
||||
objectMetadataMap[STANDARD_OBJECT_IDS.opportunity].fields[
|
||||
OPPORTUNITY_STANDARD_FIELD_IDS.stage
|
||||
],
|
||||
},
|
||||
])
|
||||
|
||||
@ -73,7 +73,7 @@ export class CleanInactiveWorkspaceJob
|
||||
await workspaceDataSource?.query(
|
||||
`SELECT MAX("updatedAt") FROM ${dataSource.schema}."${tableName}"`,
|
||||
)
|
||||
)[0].max;
|
||||
)?.[0]?.max;
|
||||
|
||||
if (mostRecentTableUpdatedAt) {
|
||||
const mostRecentTableUpdatedAtDate = new Date(mostRecentTableUpdatedAt);
|
||||
|
||||
@ -54,13 +54,14 @@ export class WorkspaceRelationComparator {
|
||||
|
||||
for (const difference of relationMetadataDifference) {
|
||||
switch (difference.type) {
|
||||
case 'CREATE':
|
||||
case 'CREATE': {
|
||||
results.push({
|
||||
action: ComparatorAction.CREATE,
|
||||
object: difference.value,
|
||||
});
|
||||
break;
|
||||
case 'REMOVE':
|
||||
}
|
||||
case 'REMOVE': {
|
||||
if (difference.path[difference.path.length - 1] !== 'id') {
|
||||
results.push({
|
||||
action: ComparatorAction.DELETE,
|
||||
@ -68,7 +69,8 @@ export class WorkspaceRelationComparator {
|
||||
});
|
||||
}
|
||||
break;
|
||||
case 'CHANGE':
|
||||
}
|
||||
case 'CHANGE': {
|
||||
const fieldName = difference.path[0];
|
||||
const property = difference.path[difference.path.length - 1];
|
||||
|
||||
@ -101,6 +103,7 @@ export class WorkspaceRelationComparator {
|
||||
},
|
||||
});
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
* For readability keys can be edited but the values should not be changed.
|
||||
*/
|
||||
|
||||
export const activityTargetStandardFieldIds = {
|
||||
export const ACTIVITY_TARGET_STANDARD_FIELD_IDS = {
|
||||
activity: '20202020-ca58-478c-a4f5-ae825671c30e',
|
||||
person: '20202020-4afd-4ae7-99c2-de57d795a93f',
|
||||
company: '20202020-7cc0-44a1-8068-f11171fdd02e',
|
||||
@ -13,7 +13,7 @@ export const activityTargetStandardFieldIds = {
|
||||
custom: '20202020-7f21-442f-94be-32462281b1ca',
|
||||
};
|
||||
|
||||
export const activityStandardFieldIds = {
|
||||
export const ACTIVITY_STANDARD_FIELD_IDS = {
|
||||
title: '20202020-24a1-4d94-a071-617f3eeed7b0',
|
||||
body: '20202020-209b-440a-b2a8-043fa36a7d37',
|
||||
type: '20202020-0f2b-4aab-8827-ee5d3f07d993',
|
||||
@ -27,13 +27,13 @@ export const activityStandardFieldIds = {
|
||||
assignee: '20202020-4259-48e4-9e77-6b92991906d5',
|
||||
};
|
||||
|
||||
export const apiKeyStandardFieldIds = {
|
||||
export const API_KEY_STANDARD_FIELD_IDS = {
|
||||
name: '20202020-72e6-4079-815b-436ce8a62f23',
|
||||
expiresAt: '20202020-659b-4241-af59-66515b8e7d40',
|
||||
revokedAt: '20202020-06ab-44b5-8faf-f6e407685001',
|
||||
};
|
||||
|
||||
export const attachmentStandardFieldIds = {
|
||||
export const ATTACHMENT_STANDARD_FIELD_IDS = {
|
||||
name: '20202020-87a5-48f8-bbf7-ade388825a57',
|
||||
fullPath: '20202020-0d19-453d-8e8d-fbcda8ca3747',
|
||||
type: '20202020-a417-49b8-a40b-f6a7874caa0d',
|
||||
@ -45,24 +45,24 @@ export const attachmentStandardFieldIds = {
|
||||
custom: '20202020-302d-43b3-9aea-aa4f89282a9f',
|
||||
};
|
||||
|
||||
export const baseObjectStandardFieldIds = {
|
||||
export const BASE_OBJECT_STANDARD_FIELD_IDS = {
|
||||
id: '20202020-eda0-4cee-9577-3eb357e3c22b',
|
||||
createdAt: '20202020-66ac-4502-9975-e4d959c50311',
|
||||
updatedAt: '20202020-d767-4622-bdcf-d8a084834d86',
|
||||
};
|
||||
|
||||
export const blocklistStandardFieldIds = {
|
||||
export const BLOCKLIST_STANDARD_FIELD_IDS = {
|
||||
handle: '20202020-eef3-44ed-aa32-4641d7fd4a3e',
|
||||
workspaceMember: '20202020-548d-4084-a947-fa20a39f7c06',
|
||||
};
|
||||
|
||||
export const calendarChannelEventAssociationStandardFieldIds = {
|
||||
export const CALENDAR_CHANNEL_EVENT_ASSOCIATION_STANDARD_FIELD_IDS = {
|
||||
calendarChannel: '20202020-93ee-4da4-8d58-0282c4a9cb7d',
|
||||
calendarEvent: '20202020-5aa5-437e-bb86-f42d457783e3',
|
||||
eventExternalId: '20202020-9ec8-48bb-b279-21d0734a75a1',
|
||||
};
|
||||
|
||||
export const calendarChannelStandardFieldIds = {
|
||||
export const CALENDAR_CHANNEL_STANDARD_FIELD_IDS = {
|
||||
connectedAccount: '20202020-95b1-4f44-82dc-61b042ae2414',
|
||||
handle: '20202020-1d08-420a-9aa7-22e0f298232d',
|
||||
visibility: '20202020-1b07-4796-9f01-d626bab7ca4d',
|
||||
@ -72,7 +72,7 @@ export const calendarChannelStandardFieldIds = {
|
||||
calendarChannelEventAssociations: '20202020-afb0-4a9f-979f-2d5087d71d09',
|
||||
};
|
||||
|
||||
export const calendarEventParticipantStandardFieldIds = {
|
||||
export const CALENDAR_EVENT_PARTICIPANT_STANDARD_FIELD_IDS = {
|
||||
calendarEvent: '20202020-fe3a-401c-b889-af4f4657a861',
|
||||
handle: '20202020-8692-4580-8210-9e09cbd031a7',
|
||||
displayName: '20202020-ee1e-4f9f-8ac1-5c0b2f69691e',
|
||||
@ -82,7 +82,7 @@ export const calendarEventParticipantStandardFieldIds = {
|
||||
workspaceMember: '20202020-20e4-4591-93ed-aeb17a4dcbd2',
|
||||
};
|
||||
|
||||
export const calendarEventStandardFieldIds = {
|
||||
export const CALENDAR_EVENT_STANDARD_FIELD_IDS = {
|
||||
title: '20202020-080e-49d1-b21d-9702a7e2525c',
|
||||
isCanceled: '20202020-335b-4e04-b470-43b84b64863c',
|
||||
isFullDay: '20202020-551c-402c-bb6d-dfe9efe86bcb',
|
||||
@ -100,13 +100,13 @@ export const calendarEventStandardFieldIds = {
|
||||
calendarEventParticipants: '20202020-e07e-4ccb-88f5-6f3d00458eec',
|
||||
};
|
||||
|
||||
export const commentStandardFieldIds = {
|
||||
export const COMMENT_STANDARD_FIELD_IDS = {
|
||||
body: '20202020-d5eb-49d2-b3e0-1ed04145ebb7',
|
||||
author: '20202020-2ab1-427e-a981-cf089de3a9bd',
|
||||
activity: '20202020-c8d9-4c30-a35e-dc7f44388070',
|
||||
};
|
||||
|
||||
export const companyStandardFieldIds = {
|
||||
export const COMPANY_STANDARD_FIELD_IDS = {
|
||||
name: '20202020-4d99-4e2e-a84c-4a27837b1ece',
|
||||
domainName: '20202020-0c28-43d8-8ba5-3659924d3489',
|
||||
address: '20202020-a82a-4ee2-96cc-a18a3259d953',
|
||||
@ -125,7 +125,7 @@ export const companyStandardFieldIds = {
|
||||
timelineActivities: '20202020-0414-4daf-9c0d-64fe7b27f89f',
|
||||
};
|
||||
|
||||
export const connectedAccountStandardFieldIds = {
|
||||
export const CONNECTED_ACCOUNT_STANDARD_FIELD_IDS = {
|
||||
handle: '20202020-c804-4a50-bb05-b3a9e24f1dec',
|
||||
provider: '20202020-ebb0-4516-befc-a9e95935efd5',
|
||||
accessToken: '20202020-707b-4a0a-8753-2ad42efe1e29',
|
||||
@ -137,7 +137,7 @@ export const connectedAccountStandardFieldIds = {
|
||||
calendarChannels: '20202020-af4a-47bb-99ec-51911c1d3977',
|
||||
};
|
||||
|
||||
export const eventStandardFieldIds = {
|
||||
export const EVENT_STANDARD_FIELD_IDS = {
|
||||
properties: '20202020-f142-4b04-b91b-6a2b4af3bf10',
|
||||
workspaceMember: '20202020-af23-4479-9a30-868edc474b35',
|
||||
person: '20202020-c414-45b9-a60a-ac27aa96229e',
|
||||
@ -146,7 +146,7 @@ export const eventStandardFieldIds = {
|
||||
custom: '20202020-4a71-41b0-9f83-9cdcca3f8b14',
|
||||
};
|
||||
|
||||
export const auditLogStandardFieldIds = {
|
||||
export const AUDIT_LOGS_STANDARD_FIELD_IDS = {
|
||||
name: '20202020-2462-4b9d-b5d9-745febb3b095',
|
||||
properties: '20202020-5d36-470e-8fad-d56ea3ab2fd0',
|
||||
context: '20202020-b9d1-4058-9a75-7469cab5ca8c',
|
||||
@ -155,7 +155,7 @@ export const auditLogStandardFieldIds = {
|
||||
workspaceMember: '20202020-6e96-4300-b3f5-67a707147385',
|
||||
};
|
||||
|
||||
export const behavioralEventStandardFieldIds = {
|
||||
export const BEHAVIORAL_EVENT_STANDARD_FIELD_IDS = {
|
||||
name: '20202020-2462-4b9d-b5d9-745febb3b095',
|
||||
properties: '20202020-5d36-470e-8fad-d56ea3ab2fd0',
|
||||
context: '20202020-bd62-4b5b-8385-6caeed8f8078',
|
||||
@ -163,7 +163,7 @@ export const behavioralEventStandardFieldIds = {
|
||||
recordId: '20202020-6d8b-4ca5-9869-f882cb335673',
|
||||
};
|
||||
|
||||
export const timelineActivityStandardFieldIds = {
|
||||
export const TIMELINE_ACTIVITY_STANDARD_FIELD_IDS = {
|
||||
happensAt: '20202020-9526-4993-b339-c4318c4d39f0',
|
||||
type: '20202020-5e7b-4ccd-8b8a-86b94b474134',
|
||||
name: '20202020-7207-46e8-9dab-849505ae8497',
|
||||
@ -178,7 +178,7 @@ export const timelineActivityStandardFieldIds = {
|
||||
linkedObjectMetadataId: '20202020-c595-449d-9f89-562758c9ee69',
|
||||
};
|
||||
|
||||
export const favoriteStandardFieldIds = {
|
||||
export const FAVORITE_STANDARD_FIELD_IDS = {
|
||||
position: '20202020-dd26-42c6-8c3c-2a7598c204f6',
|
||||
workspaceMember: '20202020-ce63-49cb-9676-fdc0c45892cd',
|
||||
person: '20202020-c428-4f40-b6f3-86091511c41c',
|
||||
@ -187,7 +187,7 @@ export const favoriteStandardFieldIds = {
|
||||
custom: '20202020-855a-4bc8-9861-79deef37011f',
|
||||
};
|
||||
|
||||
export const messageChannelMessageAssociationStandardFieldIds = {
|
||||
export const MESSAGE_CHANNEL_MESSAGE_ASSOCIATION_STANDARD_FIELD_IDS = {
|
||||
messageChannel: '20202020-b658-408f-bd46-3bd2d15d7e52',
|
||||
message: '20202020-da5d-4ac5-8743-342ab0a0336b',
|
||||
messageExternalId: '20202020-37d6-438f-b6fd-6503596c8f34',
|
||||
@ -195,7 +195,7 @@ export const messageChannelMessageAssociationStandardFieldIds = {
|
||||
messageThreadExternalId: '20202020-35fb-421e-afa0-0b8e8f7f9018',
|
||||
};
|
||||
|
||||
export const messageChannelStandardFieldIds = {
|
||||
export const MESSAGE_CHANNEL_STANDARD_FIELD_IDS = {
|
||||
visibility: '20202020-6a6b-4532-9767-cbc61b469453',
|
||||
handle: '20202020-2c96-43c3-93e3-ed6b1acb69bc',
|
||||
connectedAccount: '20202020-49a2-44a4-b470-282c0440d15d',
|
||||
@ -209,7 +209,7 @@ export const messageChannelStandardFieldIds = {
|
||||
ongoingSyncStartedAt: '20202020-8c61-4a42-ae63-73c1c3c52e06',
|
||||
};
|
||||
|
||||
export const messageParticipantStandardFieldIds = {
|
||||
export const MESSAGE_PARTICIPANT_STANDARD_FIELD_IDS = {
|
||||
message: '20202020-985b-429a-9db9-9e55f4898a2a',
|
||||
role: '20202020-65d1-42f4-8729-c9ec1f52aecd',
|
||||
handle: '20202020-2456-464e-b422-b965a4db4a0b',
|
||||
@ -218,12 +218,12 @@ export const messageParticipantStandardFieldIds = {
|
||||
workspaceMember: '20202020-77a7-4845-99ed-1bcbb478be6f',
|
||||
};
|
||||
|
||||
export const messageThreadStandardFieldIds = {
|
||||
export const MESSAGE_THREAD_STANDARD_FIELD_IDS = {
|
||||
messages: '20202020-3115-404f-aade-e1154b28e35a',
|
||||
messageChannelMessageAssociations: '20202020-314e-40a4-906d-a5d5d6c285f6',
|
||||
};
|
||||
|
||||
export const messageStandardFieldIds = {
|
||||
export const MESSAGE_STANDARD_FIELD_IDS = {
|
||||
headerMessageId: '20202020-72b5-416d-aed8-b55609067d01',
|
||||
messageThread: '20202020-30f2-4ccd-9f5c-e41bb9d26214',
|
||||
direction: '20202020-0203-4118-8e2a-05b9bdae6dab',
|
||||
@ -234,7 +234,7 @@ export const messageStandardFieldIds = {
|
||||
messageChannelMessageAssociations: '20202020-3cef-43a3-82c6-50e7cfbc9ae4',
|
||||
};
|
||||
|
||||
export const opportunityStandardFieldIds = {
|
||||
export const OPPORTUNITY_STANDARD_FIELD_IDS = {
|
||||
name: '20202020-8609-4f65-a2d9-44009eb422b5',
|
||||
amount: '20202020-583e-4642-8533-db761d5fa82f',
|
||||
closeDate: '20202020-527e-44d6-b1ac-c4158d307b97',
|
||||
@ -249,7 +249,7 @@ export const opportunityStandardFieldIds = {
|
||||
timelineActivities: '20202020-30e2-421f-96c7-19c69d1cf631',
|
||||
};
|
||||
|
||||
export const personStandardFieldIds = {
|
||||
export const PERSON_STANDARD_FIELD_IDS = {
|
||||
name: '20202020-3875-44d5-8c33-a6239011cab8',
|
||||
email: '20202020-a740-42bb-8849-8980fb3f12e1',
|
||||
linkedinLink: '20202020-f1af-48f7-893b-2007a73dd508',
|
||||
@ -269,7 +269,7 @@ export const personStandardFieldIds = {
|
||||
timelineActivities: '20202020-a43e-4873-9c23-e522de906ce5',
|
||||
};
|
||||
|
||||
export const viewFieldStandardFieldIds = {
|
||||
export const VIEW_FIELD_STANDARD_FIELD_IDS = {
|
||||
fieldMetadataId: '20202020-135f-4c5b-b361-15f24870473c',
|
||||
isVisible: '20202020-e966-473c-9c18-f00d3347e0ba',
|
||||
size: '20202020-6fab-4bd0-ae72-20f3ee39d581',
|
||||
@ -277,7 +277,7 @@ export const viewFieldStandardFieldIds = {
|
||||
view: '20202020-e8da-4521-afab-d6d231f9fa18',
|
||||
};
|
||||
|
||||
export const viewFilterStandardFieldIds = {
|
||||
export const VIEW_FILTER_STANDARD_FIELD_IDS = {
|
||||
fieldMetadataId: '20202020-c9aa-4c94-8d0e-9592f5008fb0',
|
||||
operand: '20202020-bd23-48c4-9fab-29d1ffb80310',
|
||||
value: '20202020-1e55-4a1e-a1d2-fefb86a5fce5',
|
||||
@ -285,13 +285,13 @@ export const viewFilterStandardFieldIds = {
|
||||
view: '20202020-4f5b-487e-829c-3d881c163611',
|
||||
};
|
||||
|
||||
export const viewSortStandardFieldIds = {
|
||||
export const VIEW_SORT_STANDARD_FIELD_IDS = {
|
||||
fieldMetadataId: '20202020-8240-4657-aee4-7f0df8e94eca',
|
||||
direction: '20202020-b06e-4eb3-9b58-0a62e5d79836',
|
||||
view: '20202020-bd6c-422b-9167-5c105f2d02c8',
|
||||
};
|
||||
|
||||
export const viewStandardFieldIds = {
|
||||
export const VIEW_STANDARD_FIELD_IDS = {
|
||||
name: '20202020-12c6-4f37-b588-c9b9bf57328d',
|
||||
objectMetadataId: '20202020-d6de-4fd5-84dd-47f9e730368b',
|
||||
type: '20202020-dd11-4607-9ec7-c57217262a7f',
|
||||
@ -305,12 +305,12 @@ export const viewStandardFieldIds = {
|
||||
viewSorts: '20202020-891b-45c3-9fe1-80a75b4aa043',
|
||||
};
|
||||
|
||||
export const webhookStandardFieldIds = {
|
||||
export const WEBHOOK_STANDARD_FIELD_IDS = {
|
||||
targetUrl: '20202020-1229-45a8-8cf4-85c9172aae12',
|
||||
operation: '20202020-15b7-458e-bf30-74770a54410c',
|
||||
};
|
||||
|
||||
export const workspaceMemberStandardFieldIds = {
|
||||
export const WORKSPACE_MEMBER_STANDARD_FIELD_IDS = {
|
||||
name: '20202020-e914-43a6-9c26-3603c59065f4',
|
||||
colorScheme: '20202020-66bc-47f2-adac-f2ef7c598b63',
|
||||
locale: '20202020-402e-4695-b169-794fa015afbe',
|
||||
@ -331,7 +331,7 @@ export const workspaceMemberStandardFieldIds = {
|
||||
auditLogs: '20202020-2f54-4739-a5e2-99563385e83d',
|
||||
};
|
||||
|
||||
export const customObjectStandardFieldIds = {
|
||||
export const CUSTOM_OBJECT_STANDARD_FIELD_IDS = {
|
||||
name: '20202020-ba07-4ffd-ba63-009491f5749c',
|
||||
position: '20202020-c2bd-4e16-bb9a-c8b0411bf49d',
|
||||
activityTargets: '20202020-7f42-40ae-b96c-c8a61acc83bf',
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
* For readability keys can be edited but the values should not be changed.
|
||||
*/
|
||||
|
||||
export const standardObjectIds = {
|
||||
export const STANDARD_OBJECT_IDS = {
|
||||
activityTarget: '20202020-2945-440e-8d1a-f84672d33d5e',
|
||||
activity: '20202020-39aa-4a89-843b-eb5f2a8b677f',
|
||||
apiKey: '20202020-4c00-401d-8cda-ec6a4c41cd7d',
|
||||
|
||||
@ -12,13 +12,13 @@ import { ActivityTargetObjectMetadata } from 'src/modules/activity/standard-obje
|
||||
import { RelationMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/relation-metadata.decorator';
|
||||
import { FavoriteObjectMetadata } from 'src/modules/favorite/standard-objects/favorite.object-metadata';
|
||||
import { AttachmentObjectMetadata } from 'src/modules/attachment/standard-objects/attachment.object-metadata';
|
||||
import { customObjectStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
|
||||
import { CUSTOM_OBJECT_STANDARD_FIELD_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
|
||||
import { TimelineActivityObjectMetadata } from 'src/modules/timeline/standard-objects/timeline-activity.object-metadata';
|
||||
|
||||
@BaseCustomObjectMetadata()
|
||||
export class CustomObjectMetadata extends BaseObjectMetadata {
|
||||
@FieldMetadata({
|
||||
standardId: customObjectStandardFieldIds.name,
|
||||
standardId: CUSTOM_OBJECT_STANDARD_FIELD_IDS.name,
|
||||
label: 'Name',
|
||||
description: 'Name',
|
||||
type: FieldMetadataType.TEXT,
|
||||
@ -28,7 +28,7 @@ export class CustomObjectMetadata extends BaseObjectMetadata {
|
||||
name: string;
|
||||
|
||||
@FieldMetadata({
|
||||
standardId: customObjectStandardFieldIds.position,
|
||||
standardId: CUSTOM_OBJECT_STANDARD_FIELD_IDS.position,
|
||||
label: 'Position',
|
||||
description: 'Position',
|
||||
type: FieldMetadataType.POSITION,
|
||||
@ -39,7 +39,7 @@ export class CustomObjectMetadata extends BaseObjectMetadata {
|
||||
position: number;
|
||||
|
||||
@FieldMetadata({
|
||||
standardId: customObjectStandardFieldIds.activityTargets,
|
||||
standardId: CUSTOM_OBJECT_STANDARD_FIELD_IDS.activityTargets,
|
||||
type: FieldMetadataType.RELATION,
|
||||
label: 'Activities',
|
||||
description: (objectMetadata) =>
|
||||
@ -55,7 +55,7 @@ export class CustomObjectMetadata extends BaseObjectMetadata {
|
||||
activityTargets: ActivityTargetObjectMetadata[];
|
||||
|
||||
@FieldMetadata({
|
||||
standardId: customObjectStandardFieldIds.favorites,
|
||||
standardId: CUSTOM_OBJECT_STANDARD_FIELD_IDS.favorites,
|
||||
type: FieldMetadataType.RELATION,
|
||||
label: 'Favorites',
|
||||
description: (objectMetadata) =>
|
||||
@ -72,7 +72,7 @@ export class CustomObjectMetadata extends BaseObjectMetadata {
|
||||
favorites: FavoriteObjectMetadata[];
|
||||
|
||||
@FieldMetadata({
|
||||
standardId: customObjectStandardFieldIds.attachments,
|
||||
standardId: CUSTOM_OBJECT_STANDARD_FIELD_IDS.attachments,
|
||||
type: FieldMetadataType.RELATION,
|
||||
label: 'Attachments',
|
||||
description: (objectMetadata) =>
|
||||
@ -88,7 +88,7 @@ export class CustomObjectMetadata extends BaseObjectMetadata {
|
||||
attachments: AttachmentObjectMetadata[];
|
||||
|
||||
@FieldMetadata({
|
||||
standardId: customObjectStandardFieldIds.timelineActivities,
|
||||
standardId: CUSTOM_OBJECT_STANDARD_FIELD_IDS.timelineActivities,
|
||||
type: FieldMetadataType.RELATION,
|
||||
label: 'Timeline Activities',
|
||||
description: (objectMetadata) =>
|
||||
|
||||
@ -35,7 +35,7 @@ export class StandardObjectFactory {
|
||||
|
||||
if (!objectMetadata) {
|
||||
throw new Error(
|
||||
`Object metadata decorator not found, can\'t parse ${metadata.name}`,
|
||||
`Object metadata decorator not found, can't parse ${metadata.name}`,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -83,7 +83,7 @@ export class StandardRelationFactory {
|
||||
|
||||
if (!objectMetadata) {
|
||||
throw new Error(
|
||||
`Object metadata decorator not found, can\'t parse ${standardObjectMetadata.name}`,
|
||||
`Object metadata decorator not found, can't parse ${standardObjectMetadata.name}`,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
|
||||
import { baseObjectStandardFieldIds } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
|
||||
import { BASE_OBJECT_STANDARD_FIELD_IDS } from 'src/engine/workspace-manager/workspace-sync-metadata/constants/standard-field-ids';
|
||||
import { FieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/field-metadata.decorator';
|
||||
import { IsSystem } from 'src/engine/workspace-manager/workspace-sync-metadata/decorators/is-system.decorator';
|
||||
|
||||
export abstract class BaseObjectMetadata {
|
||||
@FieldMetadata({
|
||||
standardId: baseObjectStandardFieldIds.id,
|
||||
standardId: BASE_OBJECT_STANDARD_FIELD_IDS.id,
|
||||
type: FieldMetadataType.UUID,
|
||||
label: 'Id',
|
||||
description: 'Id',
|
||||
@ -16,7 +16,7 @@ export abstract class BaseObjectMetadata {
|
||||
id: string;
|
||||
|
||||
@FieldMetadata({
|
||||
standardId: baseObjectStandardFieldIds.createdAt,
|
||||
standardId: BASE_OBJECT_STANDARD_FIELD_IDS.createdAt,
|
||||
type: FieldMetadataType.DATE_TIME,
|
||||
label: 'Creation date',
|
||||
description: 'Creation date',
|
||||
@ -26,7 +26,7 @@ export abstract class BaseObjectMetadata {
|
||||
createdAt: Date;
|
||||
|
||||
@FieldMetadata({
|
||||
standardId: baseObjectStandardFieldIds.updatedAt,
|
||||
standardId: BASE_OBJECT_STANDARD_FIELD_IDS.updatedAt,
|
||||
type: FieldMetadataType.DATE_TIME,
|
||||
label: 'Update date',
|
||||
description: 'Update date',
|
||||
|
||||
Reference in New Issue
Block a user