argos/dmp-frontend/src/app/core/model/reference-type/reference-type.ts

44 lines
1.1 KiB
TypeScript

import { ReferenceFieldDataType } from "@app/core/common/enum/reference-field-data-type";
import { BaseEntity, BaseEntityPersist } from "@common/base/base-entity.model";
import { ExternalFetcherBaseSourceConfiguration, ExternalFetcherBaseSourceConfigurationPersist } from "../external-fetcher/external-fetcher";
export interface ReferenceType extends BaseEntity{
name?: string;
code?: string;
definition?: ReferenceTypeDefinition;
}
export interface ReferenceTypeDefinition{
fields: ReferenceTypeField[];
sources: ExternalFetcherBaseSourceConfiguration[];
}
export interface ReferenceTypeField {
code: string;
label: string;
description: string;
dataType: ReferenceFieldDataType;
}
// Persist
export interface ReferenceTypePersist extends BaseEntityPersist{
name: string;
code: string;
definition: ReferenceTypeDefinitionPersist;
}
export interface ReferenceTypeDefinitionPersist{
fields?: ReferenceTypeFieldPersist[];
sources: ExternalFetcherBaseSourceConfigurationPersist[];
}
export interface ReferenceTypeFieldPersist {
code: string;
label: string;
description: string;
dataType: ReferenceFieldDataType;
}