942d2fef83
# Introduction Followup of https://github.com/twentyhq/twenty/pull/17001#pullrequestreview-3638508738 close https://github.com/twentyhq/core-team-issues/issues/1910 We've completely decom the `sync-metadata` in production. We're now then removing its implementation in favor of the v2. ## TODO: - [x] Remove sync-metadata implem and commands - [x] Remove workspace decorators - [x] Type each deprecated field to deprecated on their workspaceEntity - [x] Remove the `workspace-sync-metadata` folder entirely - [x] remove workspace migration - [x] workspace migration removal migration - [x] remove the `v2` references from workspace manager file names - [x] remove the `v2` references from workspace manager modules - [ ] Double check impact on translation file path updates ## Note - Removed the gate logic - Remains some service v2 naming, serverless needs to be migrated on v2 fully - Removed workspaceMigration service app health consumption, making it always returning up ( no more down ) cc @FelixMalfait ( quite obsolete health check now, will require complete refactor once we introduce inter app dependency etc )
33 lines
959 B
TypeScript
33 lines
959 B
TypeScript
import { createHash } from 'crypto';
|
|
|
|
export function createDeterministicUuid(
|
|
uuidOrUuids: string[] | string,
|
|
): string {
|
|
const inputForHash = Array.isArray(uuidOrUuids)
|
|
? uuidOrUuids.join('-')
|
|
: uuidOrUuids;
|
|
const hash = createHash('sha256').update(inputForHash).digest('hex');
|
|
|
|
return `20202020-${hash.substring(0, 4)}-4${hash.substring(
|
|
4,
|
|
7,
|
|
)}-8${hash.substring(7, 10)}-${hash.substring(10, 22)}`;
|
|
}
|
|
|
|
type UuidPair = {
|
|
objectId: string;
|
|
standardId: string;
|
|
};
|
|
|
|
export const createRelationDeterministicUuid = (uuidPair: UuidPair): string => {
|
|
// Chaging the order in the array will result in different UUIDs
|
|
return createDeterministicUuid([uuidPair.objectId, uuidPair.standardId]);
|
|
};
|
|
|
|
export const createForeignKeyDeterministicUuid = (
|
|
uuidPair: UuidPair,
|
|
): string => {
|
|
// Chaging the order in the array will result in different UUIDs
|
|
return createDeterministicUuid([uuidPair.standardId, uuidPair.objectId]);
|
|
};
|