Workspace schema migration runner v2 (#13899)

This commit is contained in:
Weiko
2025-08-14 15:58:25 +02:00
committed by GitHub
parent c1885233bc
commit 1707e00ad4
47 changed files with 4098 additions and 3354 deletions
@@ -0,0 +1,32 @@
import { isDefined } from 'twenty-shared/utils';
import { type FlatFieldMetadata } from 'src/engine/metadata-modules/flat-field-metadata/types/flat-field-metadata.type';
import {
FlatObjectMetadataMapsException,
FlatObjectMetadataMapsExceptionCode,
} from 'src/engine/metadata-modules/flat-object-metadata-maps/flat-object-metadata-maps.exception';
import {
findFlatFieldMetadataInFlatObjectMetadataMaps,
type FindFlatFieldMetadataInFlatObjectMetadataMapsArgs,
} from 'src/engine/metadata-modules/flat-object-metadata-maps/utils/find-flat-field-metadata-in-flat-object-metadata-maps.util';
export const findFlatFieldMetadataInFlatObjectMetadataMapsOrThrow = ({
flatObjectMetadataMaps,
fieldMetadataId,
objectMetadataId,
}: FindFlatFieldMetadataInFlatObjectMetadataMapsArgs): FlatFieldMetadata => {
const flatFieldMetadata = findFlatFieldMetadataInFlatObjectMetadataMaps({
flatObjectMetadataMaps,
fieldMetadataId,
objectMetadataId,
});
if (!isDefined(flatFieldMetadata)) {
throw new FlatObjectMetadataMapsException(
'flat field metadata not found in flat object metadata maps',
FlatObjectMetadataMapsExceptionCode.FIELD_METADATA_NOT_FOUND,
);
}
return flatFieldMetadata;
};
@@ -0,0 +1,32 @@
import { isDefined } from 'twenty-shared/utils';
import {
FlatObjectMetadataMapsException,
FlatObjectMetadataMapsExceptionCode,
} from 'src/engine/metadata-modules/flat-object-metadata-maps/flat-object-metadata-maps.exception';
import { type FlatObjectMetadataMaps } from 'src/engine/metadata-modules/flat-object-metadata-maps/types/flat-object-metadata-maps.type';
import { findFlatObjectMetadataInFlatObjectMetadataMaps } from 'src/engine/metadata-modules/flat-object-metadata-maps/utils/find-flat-object-metadata-in-flat-object-metadata-maps.util';
import { type FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type';
export type FindFlatObjectMetadataInFlatObjectMetadataMapsArgs = {
objectMetadataId: string;
flatObjectMetadataMaps: FlatObjectMetadataMaps;
};
export const findFlatObjectMetadataInFlatObjectMetadataMapsOrThrow = ({
flatObjectMetadataMaps,
objectMetadataId,
}: FindFlatObjectMetadataInFlatObjectMetadataMapsArgs): FlatObjectMetadata => {
const flatObjectMetadata = findFlatObjectMetadataInFlatObjectMetadataMaps({
flatObjectMetadataMaps,
objectMetadataId,
});
if (!isDefined(flatObjectMetadata)) {
throw new FlatObjectMetadataMapsException(
'flat object metadata not found in flat object metadata maps',
FlatObjectMetadataMapsExceptionCode.OBJECT_METADATA_NOT_FOUND,
);
}
return flatObjectMetadata;
};
@@ -1,6 +1,7 @@
import { isDefined } from 'twenty-shared/utils';
import { type FlatObjectMetadataMaps } from 'src/engine/metadata-modules/flat-object-metadata-maps/types/flat-object-metadata-maps.type';
import { findFlatObjectMetadataWithFlatFieldMapsInFlatObjectMetadataMaps } from 'src/engine/metadata-modules/flat-object-metadata-maps/utils/find-flat-object-metadata-with-flat-field-maps-in-flat-object-metadata-maps.util';
import { type FlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/types/flat-object-metadata.type';
import { fromFlatObjectMetadataWithFlatFieldMapsToFlatObjectMetadata } from 'src/engine/metadata-modules/flat-object-metadata/utils/from-flat-object-metadata-with-flat-field-maps-to-flat-object-metadatas.util';
@@ -15,7 +16,10 @@ export const findFlatObjectMetadataInFlatObjectMetadataMaps = ({
| FlatObjectMetadata
| undefined => {
const flatObjectMetadataWithFlatFieldMaps =
flatObjectMetadataMaps.byId[objectMetadataId];
findFlatObjectMetadataWithFlatFieldMapsInFlatObjectMetadataMaps({
flatObjectMetadataMaps,
objectMetadataId,
});
if (!isDefined(flatObjectMetadataWithFlatFieldMaps)) {
return undefined;
@@ -0,0 +1,32 @@
import { isDefined } from 'twenty-shared/utils';
import {
FlatObjectMetadataMapsException,
FlatObjectMetadataMapsExceptionCode,
} from 'src/engine/metadata-modules/flat-object-metadata-maps/flat-object-metadata-maps.exception';
import { type FlatObjectMetadataWithFlatFieldMaps } from 'src/engine/metadata-modules/flat-object-metadata-maps/types/flat-object-metadata-with-flat-field-metadata-maps.type';
import {
type FindFlatObjectMetadataWithFlatFieldMapsInFlatObjectMetadataMapsArgs,
findFlatObjectMetadataWithFlatFieldMapsInFlatObjectMetadataMaps,
} from 'src/engine/metadata-modules/flat-object-metadata-maps/utils/find-flat-object-metadata-with-flat-field-maps-in-flat-object-metadata-maps.util';
export const findFlatObjectMetadataWithFlatFieldMapsInFlatObjectMetadataMapsOrThrow =
({
flatObjectMetadataMaps,
objectMetadataId,
}: FindFlatObjectMetadataWithFlatFieldMapsInFlatObjectMetadataMapsArgs): FlatObjectMetadataWithFlatFieldMaps => {
const flatObjectMetadataWithFlatFieldMaps =
findFlatObjectMetadataWithFlatFieldMapsInFlatObjectMetadataMaps({
flatObjectMetadataMaps,
objectMetadataId,
});
if (!isDefined(flatObjectMetadataWithFlatFieldMaps)) {
throw new FlatObjectMetadataMapsException(
'flat object metadata with flat field maps not found in flat object metadata maps',
FlatObjectMetadataMapsExceptionCode.OBJECT_METADATA_NOT_FOUND,
);
}
return flatObjectMetadataWithFlatFieldMaps;
};
@@ -0,0 +1,27 @@
import { isDefined } from 'twenty-shared/utils';
import { type FlatObjectMetadataMaps } from 'src/engine/metadata-modules/flat-object-metadata-maps/types/flat-object-metadata-maps.type';
import { type FlatObjectMetadataWithFlatFieldMaps } from 'src/engine/metadata-modules/flat-object-metadata-maps/types/flat-object-metadata-with-flat-field-metadata-maps.type';
export type FindFlatObjectMetadataWithFlatFieldMapsInFlatObjectMetadataMapsArgs =
{
objectMetadataId: string;
flatObjectMetadataMaps: FlatObjectMetadataMaps;
};
export const findFlatObjectMetadataWithFlatFieldMapsInFlatObjectMetadataMaps =
({
flatObjectMetadataMaps,
objectMetadataId,
}: FindFlatObjectMetadataWithFlatFieldMapsInFlatObjectMetadataMapsArgs):
| FlatObjectMetadataWithFlatFieldMaps
| undefined => {
const flatObjectMetadataWithFlatFieldMaps =
flatObjectMetadataMaps.byId[objectMetadataId];
if (!isDefined(flatObjectMetadataWithFlatFieldMaps)) {
return undefined;
}
return flatObjectMetadataWithFlatFieldMaps;
};