cceeb6ed4d
## Context - All flatEntity should extend SyncableEntity - SyncableEntity should now have applicationId and application relation - Fix syncApp deletion, should now properly use migration v2 to delete syncable entities
55 lines
1.8 KiB
TypeScript
55 lines
1.8 KiB
TypeScript
import { v4 } from 'uuid';
|
|
|
|
import { type FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type';
|
|
import { type FlatIndexMetadata } from 'src/engine/metadata-modules/flat-index-metadata/types/flat-index-metadata.type';
|
|
import { type FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type';
|
|
import { IndexType } from 'src/engine/metadata-modules/index-metadata/types/indexType.types';
|
|
import { generateFlatIndexMetadataWithNameOrThrow } from 'src/engine/metadata-modules/index-metadata/utils/generate-flat-index.util';
|
|
|
|
type GenerateIndexForFlatFieldMetadataArgs = {
|
|
flatFieldMetadata: FlatFieldMetadata;
|
|
flatObjectMetadata: FlatObjectMetadata;
|
|
workspaceId: string;
|
|
};
|
|
|
|
export const generateIndexForFlatFieldMetadata = ({
|
|
flatFieldMetadata,
|
|
flatObjectMetadata,
|
|
workspaceId,
|
|
}: GenerateIndexForFlatFieldMetadataArgs): FlatIndexMetadata => {
|
|
const indexId = v4();
|
|
const createdAt = new Date();
|
|
|
|
const flatIndex: FlatIndexMetadata = generateFlatIndexMetadataWithNameOrThrow(
|
|
{
|
|
objectFlatFieldMetadatas: [flatFieldMetadata],
|
|
flatIndex: {
|
|
createdAt,
|
|
flatIndexFieldMetadatas: [
|
|
{
|
|
createdAt,
|
|
fieldMetadataId: flatFieldMetadata.id,
|
|
id: v4(),
|
|
indexMetadataId: indexId,
|
|
order: 0,
|
|
updatedAt: createdAt,
|
|
},
|
|
],
|
|
id: indexId,
|
|
indexType: IndexType.BTREE,
|
|
indexWhereClause: null,
|
|
isCustom: true,
|
|
isUnique: flatFieldMetadata.isUnique ?? false,
|
|
objectMetadataId: flatObjectMetadata.id,
|
|
universalIdentifier: indexId,
|
|
updatedAt: createdAt,
|
|
workspaceId,
|
|
applicationId: null,
|
|
},
|
|
flatObjectMetadata,
|
|
},
|
|
);
|
|
|
|
return flatIndex;
|
|
};
|