Files
twenty/packages/twenty-server/src/engine/twenty-orm/interfaces/workspace-field-metadata-args.interface.ts
Jérémy M f0383e3147 feat: twenty orm sync (#5266)
This PR is updating all object metadata entities with the new
decorators, and deleting the old ones.
This way we can use the new TwentyORM with all the standard objects.

---------

Co-authored-by: Weiko <corentin@twenty.com>
2024-05-15 16:58:47 +02:00

77 lines
1.6 KiB
TypeScript

import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface';
import { FieldMetadataOptions } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface';
import { Gate } from 'src/engine/twenty-orm/interfaces/gate.interface';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity';
export interface WorkspaceFieldMetadataArgs {
/**
* Standard id.
*/
readonly standardId: string;
/**
* Class to which field is applied.
*/
// eslint-disable-next-line @typescript-eslint/ban-types
readonly target: Function;
/**
* Field name.
*/
readonly name: string;
/**
* Field label.
*/
readonly label: string | ((objectMetadata: ObjectMetadataEntity) => string);
/**
* Field type.
*/
readonly type: FieldMetadataType;
/**
* Field description.
*/
readonly description?:
| string
| ((objectMetadata: ObjectMetadataEntity) => string);
/**
* Field icon.
*/
readonly icon?: string;
/**
* Field default value.
*/
readonly defaultValue?: FieldMetadataDefaultValue;
/**
* Field options.
*/
readonly options?: FieldMetadataOptions;
/**
* Is primary field.
*/
readonly isPrimary: boolean;
/**
* Is system field.
*/
readonly isSystem: boolean;
/**
* Is nullable field.
*/
readonly isNullable: boolean;
/**
* Field gate.
*/
readonly gate?: Gate;
}