feat: wip sync standard id (#4373)
* feat: wip sync standard id feat: implement standardId for sync command * fix: rebase * fix: tests * fix: deterministic uuid * fix: sync custom not working * fix: create custom not adding standardId * fix: readability
This commit is contained in:
@ -61,7 +61,7 @@ export class WorkspaceSyncObjectMetadataService {
|
||||
workspaceFeatureFlagsMap,
|
||||
);
|
||||
|
||||
// Create map of original and standard object metadata by unique identifier
|
||||
// Create map of original and standard object metadata by standard ids
|
||||
const originalObjectMetadataMap = mapObjectMetadataByUniqueIdentifier(
|
||||
originalObjectMetadataCollection,
|
||||
);
|
||||
@ -75,17 +75,20 @@ export class WorkspaceSyncObjectMetadataService {
|
||||
for (const originalObjectMetadata of originalObjectMetadataCollection.filter(
|
||||
(object) => !object.isCustom,
|
||||
)) {
|
||||
if (!standardObjectMetadataMap[originalObjectMetadata.nameSingular]) {
|
||||
if (
|
||||
originalObjectMetadata.standardId &&
|
||||
!standardObjectMetadataMap[originalObjectMetadata.standardId]
|
||||
) {
|
||||
storage.addDeleteObjectMetadata(originalObjectMetadata);
|
||||
}
|
||||
}
|
||||
|
||||
// Loop over all standard objects and compare them with the objects in DB
|
||||
for (const standardObjectName in standardObjectMetadataMap) {
|
||||
for (const standardObjectId in standardObjectMetadataMap) {
|
||||
const originalObjectMetadata =
|
||||
originalObjectMetadataMap[standardObjectName];
|
||||
originalObjectMetadataMap[standardObjectId];
|
||||
const standardObjectMetadata = computeStandardObject(
|
||||
standardObjectMetadataMap[standardObjectName],
|
||||
standardObjectMetadataMap[standardObjectId],
|
||||
originalObjectMetadata,
|
||||
customObjectMetadataCollection,
|
||||
);
|
||||
|
||||
@ -58,6 +58,8 @@ export class WorkspaceSyncRelationMetadataService {
|
||||
// Create map of object metadata & field metadata by unique identifier
|
||||
const originalObjectMetadataMap = mapObjectMetadataByUniqueIdentifier(
|
||||
originalObjectMetadataCollection,
|
||||
// Relation are based on the singular name
|
||||
(objectMetadata) => objectMetadata.nameSingular,
|
||||
);
|
||||
|
||||
const relationMetadataRepository = manager.getRepository(
|
||||
|
||||
Reference in New Issue
Block a user