Update relation cascade on standard objects favorite, attachment, activityTargets (#4227)
This commit is contained in:
@ -22,6 +22,11 @@ export function generateDefaultValue(
|
|||||||
url: '',
|
url: '',
|
||||||
label: '',
|
label: '',
|
||||||
};
|
};
|
||||||
|
case FieldMetadataType.CURRENCY:
|
||||||
|
return {
|
||||||
|
amountMicros: null,
|
||||||
|
currencyCode: '',
|
||||||
|
};
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -28,6 +28,7 @@ import { DataSourceService } from 'src/metadata/data-source/data-source.service'
|
|||||||
import {
|
import {
|
||||||
RelationMetadataEntity,
|
RelationMetadataEntity,
|
||||||
RelationMetadataType,
|
RelationMetadataType,
|
||||||
|
RelationOnDeleteAction,
|
||||||
} from 'src/metadata/relation-metadata/relation-metadata.entity';
|
} from 'src/metadata/relation-metadata/relation-metadata.entity';
|
||||||
import { computeCustomName } from 'src/workspace/utils/compute-custom-name.util';
|
import { computeCustomName } from 'src/workspace/utils/compute-custom-name.util';
|
||||||
import { computeObjectTargetTable } from 'src/workspace/utils/compute-object-target-table.util';
|
import { computeObjectTargetTable } from 'src/workspace/utils/compute-object-target-table.util';
|
||||||
@ -355,6 +356,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
|||||||
createdObjectMetadata,
|
createdObjectMetadata,
|
||||||
),
|
),
|
||||||
referencedTableColumnName: 'id',
|
referencedTableColumnName: 'id',
|
||||||
|
onDelete: RelationOnDeleteAction.CASCADE,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -386,6 +388,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
|||||||
createdObjectMetadata,
|
createdObjectMetadata,
|
||||||
),
|
),
|
||||||
referencedTableColumnName: 'id',
|
referencedTableColumnName: 'id',
|
||||||
|
onDelete: RelationOnDeleteAction.CASCADE,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -611,6 +614,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
|||||||
activityTargetRelationFieldMetadataMap[
|
activityTargetRelationFieldMetadataMap[
|
||||||
activityTargetObjectMetadata.id
|
activityTargetObjectMetadata.id
|
||||||
].id,
|
].id,
|
||||||
|
onDeleteAction: RelationOnDeleteAction.CASCADE,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@ -699,6 +703,7 @@ export class ObjectMetadataService extends TypeOrmQueryService<ObjectMetadataEnt
|
|||||||
favoriteRelationFieldMetadataMap[createdObjectMetadata.id].id,
|
favoriteRelationFieldMetadataMap[createdObjectMetadata.id].id,
|
||||||
toFieldMetadataId:
|
toFieldMetadataId:
|
||||||
favoriteRelationFieldMetadataMap[favoriteObjectMetadata.id].id,
|
favoriteRelationFieldMetadataMap[favoriteObjectMetadata.id].id,
|
||||||
|
onDeleteAction: RelationOnDeleteAction.CASCADE,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|||||||
@ -186,6 +186,6 @@ export class WorkspaceMigrationEnumService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private getStringifyValue(value: any) {
|
private getStringifyValue(value: any) {
|
||||||
return typeof value === 'string' ? value : `'${value}'`;
|
return `'${value}'`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,10 @@
|
|||||||
import { CurrencyMetadata } from 'src/metadata/field-metadata/composite-types/currency.composite-type';
|
import { CurrencyMetadata } from 'src/metadata/field-metadata/composite-types/currency.composite-type';
|
||||||
import { LinkMetadata } from 'src/metadata/field-metadata/composite-types/link.composite-type';
|
import { LinkMetadata } from 'src/metadata/field-metadata/composite-types/link.composite-type';
|
||||||
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
|
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
|
||||||
import { RelationMetadataType } from 'src/metadata/relation-metadata/relation-metadata.entity';
|
import {
|
||||||
|
RelationMetadataType,
|
||||||
|
RelationOnDeleteAction,
|
||||||
|
} from 'src/metadata/relation-metadata/relation-metadata.entity';
|
||||||
import { FieldMetadata } from 'src/workspace/workspace-sync-metadata/decorators/field-metadata.decorator';
|
import { FieldMetadata } from 'src/workspace/workspace-sync-metadata/decorators/field-metadata.decorator';
|
||||||
import { IsNullable } from 'src/workspace/workspace-sync-metadata/decorators/is-nullable.decorator';
|
import { IsNullable } from 'src/workspace/workspace-sync-metadata/decorators/is-nullable.decorator';
|
||||||
import { IsSystem } from 'src/workspace/workspace-sync-metadata/decorators/is-system.decorator';
|
import { IsSystem } from 'src/workspace/workspace-sync-metadata/decorators/is-system.decorator';
|
||||||
@ -139,6 +142,7 @@ export class CompanyObjectMetadata extends BaseObjectMetadata {
|
|||||||
@RelationMetadata({
|
@RelationMetadata({
|
||||||
type: RelationMetadataType.ONE_TO_MANY,
|
type: RelationMetadataType.ONE_TO_MANY,
|
||||||
objectName: 'activityTarget',
|
objectName: 'activityTarget',
|
||||||
|
onDelete: RelationOnDeleteAction.CASCADE,
|
||||||
})
|
})
|
||||||
@IsNullable()
|
@IsNullable()
|
||||||
activityTargets: ActivityTargetObjectMetadata[];
|
activityTargets: ActivityTargetObjectMetadata[];
|
||||||
@ -165,6 +169,7 @@ export class CompanyObjectMetadata extends BaseObjectMetadata {
|
|||||||
@RelationMetadata({
|
@RelationMetadata({
|
||||||
type: RelationMetadataType.ONE_TO_MANY,
|
type: RelationMetadataType.ONE_TO_MANY,
|
||||||
objectName: 'favorite',
|
objectName: 'favorite',
|
||||||
|
onDelete: RelationOnDeleteAction.CASCADE,
|
||||||
})
|
})
|
||||||
@IsNullable()
|
@IsNullable()
|
||||||
favorites: FavoriteObjectMetadata[];
|
favorites: FavoriteObjectMetadata[];
|
||||||
@ -178,6 +183,7 @@ export class CompanyObjectMetadata extends BaseObjectMetadata {
|
|||||||
@RelationMetadata({
|
@RelationMetadata({
|
||||||
type: RelationMetadataType.ONE_TO_MANY,
|
type: RelationMetadataType.ONE_TO_MANY,
|
||||||
objectName: 'attachment',
|
objectName: 'attachment',
|
||||||
|
onDelete: RelationOnDeleteAction.CASCADE,
|
||||||
})
|
})
|
||||||
@IsNullable()
|
@IsNullable()
|
||||||
attachments: AttachmentObjectMetadata[];
|
attachments: AttachmentObjectMetadata[];
|
||||||
|
|||||||
@ -1,6 +1,9 @@
|
|||||||
import { CurrencyMetadata } from 'src/metadata/field-metadata/composite-types/currency.composite-type';
|
import { CurrencyMetadata } from 'src/metadata/field-metadata/composite-types/currency.composite-type';
|
||||||
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
|
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
|
||||||
import { RelationMetadataType } from 'src/metadata/relation-metadata/relation-metadata.entity';
|
import {
|
||||||
|
RelationMetadataType,
|
||||||
|
RelationOnDeleteAction,
|
||||||
|
} from 'src/metadata/relation-metadata/relation-metadata.entity';
|
||||||
import { FieldMetadata } from 'src/workspace/workspace-sync-metadata/decorators/field-metadata.decorator';
|
import { FieldMetadata } from 'src/workspace/workspace-sync-metadata/decorators/field-metadata.decorator';
|
||||||
import { IsNullable } from 'src/workspace/workspace-sync-metadata/decorators/is-nullable.decorator';
|
import { IsNullable } from 'src/workspace/workspace-sync-metadata/decorators/is-nullable.decorator';
|
||||||
import { IsSystem } from 'src/workspace/workspace-sync-metadata/decorators/is-system.decorator';
|
import { IsSystem } from 'src/workspace/workspace-sync-metadata/decorators/is-system.decorator';
|
||||||
@ -128,6 +131,7 @@ export class OpportunityObjectMetadata extends BaseObjectMetadata {
|
|||||||
@RelationMetadata({
|
@RelationMetadata({
|
||||||
type: RelationMetadataType.ONE_TO_MANY,
|
type: RelationMetadataType.ONE_TO_MANY,
|
||||||
objectName: 'favorite',
|
objectName: 'favorite',
|
||||||
|
onDelete: RelationOnDeleteAction.CASCADE,
|
||||||
})
|
})
|
||||||
@IsNullable()
|
@IsNullable()
|
||||||
favorites: FavoriteObjectMetadata[];
|
favorites: FavoriteObjectMetadata[];
|
||||||
@ -141,6 +145,7 @@ export class OpportunityObjectMetadata extends BaseObjectMetadata {
|
|||||||
@RelationMetadata({
|
@RelationMetadata({
|
||||||
type: RelationMetadataType.ONE_TO_MANY,
|
type: RelationMetadataType.ONE_TO_MANY,
|
||||||
objectName: 'activityTarget',
|
objectName: 'activityTarget',
|
||||||
|
onDelete: RelationOnDeleteAction.CASCADE,
|
||||||
})
|
})
|
||||||
@IsNullable()
|
@IsNullable()
|
||||||
activityTargets: ActivityTargetObjectMetadata[];
|
activityTargets: ActivityTargetObjectMetadata[];
|
||||||
|
|||||||
@ -1,7 +1,10 @@
|
|||||||
import { FullNameMetadata } from 'src/metadata/field-metadata/composite-types/full-name.composite-type';
|
import { FullNameMetadata } from 'src/metadata/field-metadata/composite-types/full-name.composite-type';
|
||||||
import { LinkMetadata } from 'src/metadata/field-metadata/composite-types/link.composite-type';
|
import { LinkMetadata } from 'src/metadata/field-metadata/composite-types/link.composite-type';
|
||||||
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
|
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
|
||||||
import { RelationMetadataType } from 'src/metadata/relation-metadata/relation-metadata.entity';
|
import {
|
||||||
|
RelationMetadataType,
|
||||||
|
RelationOnDeleteAction,
|
||||||
|
} from 'src/metadata/relation-metadata/relation-metadata.entity';
|
||||||
import { FieldMetadata } from 'src/workspace/workspace-sync-metadata/decorators/field-metadata.decorator';
|
import { FieldMetadata } from 'src/workspace/workspace-sync-metadata/decorators/field-metadata.decorator';
|
||||||
import { IsNullable } from 'src/workspace/workspace-sync-metadata/decorators/is-nullable.decorator';
|
import { IsNullable } from 'src/workspace/workspace-sync-metadata/decorators/is-nullable.decorator';
|
||||||
import { IsSystem } from 'src/workspace/workspace-sync-metadata/decorators/is-system.decorator';
|
import { IsSystem } from 'src/workspace/workspace-sync-metadata/decorators/is-system.decorator';
|
||||||
@ -135,6 +138,7 @@ export class PersonObjectMetadata extends BaseObjectMetadata {
|
|||||||
@RelationMetadata({
|
@RelationMetadata({
|
||||||
type: RelationMetadataType.ONE_TO_MANY,
|
type: RelationMetadataType.ONE_TO_MANY,
|
||||||
objectName: 'activityTarget',
|
objectName: 'activityTarget',
|
||||||
|
onDelete: RelationOnDeleteAction.CASCADE,
|
||||||
})
|
})
|
||||||
@IsNullable()
|
@IsNullable()
|
||||||
activityTargets: ActivityTargetObjectMetadata[];
|
activityTargets: ActivityTargetObjectMetadata[];
|
||||||
@ -148,6 +152,7 @@ export class PersonObjectMetadata extends BaseObjectMetadata {
|
|||||||
@RelationMetadata({
|
@RelationMetadata({
|
||||||
type: RelationMetadataType.ONE_TO_MANY,
|
type: RelationMetadataType.ONE_TO_MANY,
|
||||||
objectName: 'favorite',
|
objectName: 'favorite',
|
||||||
|
onDelete: RelationOnDeleteAction.CASCADE,
|
||||||
})
|
})
|
||||||
@IsNullable()
|
@IsNullable()
|
||||||
favorites: FavoriteObjectMetadata[];
|
favorites: FavoriteObjectMetadata[];
|
||||||
@ -161,6 +166,7 @@ export class PersonObjectMetadata extends BaseObjectMetadata {
|
|||||||
@RelationMetadata({
|
@RelationMetadata({
|
||||||
type: RelationMetadataType.ONE_TO_MANY,
|
type: RelationMetadataType.ONE_TO_MANY,
|
||||||
objectName: 'attachment',
|
objectName: 'attachment',
|
||||||
|
onDelete: RelationOnDeleteAction.CASCADE,
|
||||||
})
|
})
|
||||||
@IsNullable()
|
@IsNullable()
|
||||||
attachments: AttachmentObjectMetadata[];
|
attachments: AttachmentObjectMetadata[];
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { FullNameMetadata } from 'src/metadata/field-metadata/composite-types/full-name.composite-type';
|
import { FullNameMetadata } from 'src/metadata/field-metadata/composite-types/full-name.composite-type';
|
||||||
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
|
import { FieldMetadataType } from 'src/metadata/field-metadata/field-metadata.entity';
|
||||||
import { RelationMetadataType } from 'src/metadata/relation-metadata/relation-metadata.entity';
|
import { RelationMetadataType, RelationOnDeleteAction } from 'src/metadata/relation-metadata/relation-metadata.entity';
|
||||||
import { FieldMetadata } from 'src/workspace/workspace-sync-metadata/decorators/field-metadata.decorator';
|
import { FieldMetadata } from 'src/workspace/workspace-sync-metadata/decorators/field-metadata.decorator';
|
||||||
import { Gate } from 'src/workspace/workspace-sync-metadata/decorators/gate.decorator';
|
import { Gate } from 'src/workspace/workspace-sync-metadata/decorators/gate.decorator';
|
||||||
import { IsNullable } from 'src/workspace/workspace-sync-metadata/decorators/is-nullable.decorator';
|
import { IsNullable } from 'src/workspace/workspace-sync-metadata/decorators/is-nullable.decorator';
|
||||||
@ -114,6 +114,7 @@ export class WorkspaceMemberObjectMetadata extends BaseObjectMetadata {
|
|||||||
@RelationMetadata({
|
@RelationMetadata({
|
||||||
type: RelationMetadataType.ONE_TO_MANY,
|
type: RelationMetadataType.ONE_TO_MANY,
|
||||||
objectName: 'favorite',
|
objectName: 'favorite',
|
||||||
|
onDelete: RelationOnDeleteAction.CASCADE,
|
||||||
})
|
})
|
||||||
@IsNullable()
|
@IsNullable()
|
||||||
favorites: FavoriteObjectMetadata[];
|
favorites: FavoriteObjectMetadata[];
|
||||||
|
|||||||
Reference in New Issue
Block a user