c1bf0a1fbf
# Introduction In this PR we create basic transpilation methods and utils to handle input to flat, entity to flat, object maps to flat. In order to transpile everything into a common validation that will be implemented in another PR ## FieldMetadataEntity typing Added `never | null` to fields that should never be in order to ease general abstracted method to pass null, as anw it's what is in the database ## Todo - ~~Create a feature flag~~ - Integration test for object creation through metadata api + pg col introspection and snapshoting
50 lines
1.7 KiB
TypeScript
50 lines
1.7 KiB
TypeScript
import { faker } from '@faker-js/faker';
|
|
import { FieldMetadataType } from 'twenty-shared/types';
|
|
|
|
import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
|
|
import { IndexFieldMetadataEntity } from 'src/engine/metadata-modules/index-metadata/index-field-metadata.entity';
|
|
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
|
|
|
|
type GetMockFieldMetadataEntityOverride<
|
|
T extends FieldMetadataType = FieldMetadataType,
|
|
> = Partial<FieldMetadataEntity<T>> &
|
|
Required<
|
|
Pick<FieldMetadataEntity<T>, 'workspaceId' | 'objectMetadataId' | 'type'>
|
|
>;
|
|
|
|
// Should be renamed to abstract
|
|
export const getMockFieldMetadataEntity = <
|
|
T extends FieldMetadataType = FieldMetadataType.TEXT,
|
|
>(
|
|
overrides: GetMockFieldMetadataEntityOverride<T>,
|
|
): FieldMetadataEntity => {
|
|
return {
|
|
fieldPermissions: [],
|
|
icon: null,
|
|
indexFieldMetadatas: {} as IndexFieldMetadataEntity,
|
|
isCustom: true,
|
|
isLabelSyncedWithName: false,
|
|
isNullable: null,
|
|
isSystem: false,
|
|
isUnique: null,
|
|
object: {} as ObjectMetadataEntity,
|
|
relationTargetFieldMetadata: null,
|
|
relationTargetFieldMetadataId: null,
|
|
relationTargetObjectMetadata: null,
|
|
relationTargetObjectMetadataId: null,
|
|
standardId: null,
|
|
standardOverrides: null,
|
|
id: faker.string.uuid(),
|
|
name: 'defaultFieldMetadataName',
|
|
label: 'Default field metadata entity label',
|
|
description: 'Default field metadata entity description',
|
|
defaultValue: null,
|
|
options: null,
|
|
settings: null,
|
|
createdAt: new Date(),
|
|
updatedAt: new Date(),
|
|
isActive: true,
|
|
...overrides,
|
|
};
|
|
};
|