80 lines
1.9 KiB
TypeScript
80 lines
1.9 KiB
TypeScript
import { DescriptionStatus } from "@app/core/common/enum/description-status";
|
|
import { BaseEntity, BaseEntityPersist } from "@common/base/base-entity.model";
|
|
import { Guid } from "@common/types/guid";
|
|
import { DescriptionTemplate } from "../description-template/description-template";
|
|
import { Dmp, DmpDescriptionTemplate } from "../dmp/dmp";
|
|
import { Reference, ReferencePersist } from "../reference/reference";
|
|
import { Tag } from "../tag/tag";
|
|
import { User } from "../user/user";
|
|
|
|
export interface Description extends BaseEntity {
|
|
label: string;
|
|
properties: PropertyDefinition;
|
|
status: DescriptionStatus;
|
|
description?: string;
|
|
createdBy: User;
|
|
finalizedAt: Date;
|
|
descriptionReferences: DescriptionReference[];
|
|
descriptionTags: DescriptionTag[];
|
|
descriptionTemplate: DescriptionTemplate;
|
|
dmpDescriptionTemplate: DmpDescriptionTemplate;
|
|
dmp: Dmp;
|
|
}
|
|
|
|
export interface PublicDescription extends BaseEntity {
|
|
}
|
|
|
|
export interface PropertyDefinition {
|
|
fields?: DescriptionField[];
|
|
}
|
|
|
|
export interface DescriptionField {
|
|
key?: string;
|
|
value: string;
|
|
}
|
|
|
|
export interface DescriptionReference extends BaseEntity {
|
|
description?: Description;
|
|
reference?: Reference;
|
|
}
|
|
|
|
export interface DescriptionTag extends BaseEntity {
|
|
description?: Description;
|
|
tag?: Tag;
|
|
}
|
|
|
|
//
|
|
// Persist
|
|
//
|
|
export interface DescriptionPersist extends BaseEntityPersist {
|
|
label: string;
|
|
dmpId: Guid;
|
|
dmpDescriptionTemplateId: Guid;
|
|
descriptionTemplateId: Guid;
|
|
status: DescriptionStatus;
|
|
description: string;
|
|
properties: PropertyDefinitionPersist;
|
|
tags: string[];
|
|
references: DescriptionReferencePersist[];
|
|
}
|
|
|
|
export interface PropertyDefinitionPersist {
|
|
fields: DescriptionFieldPersist[];
|
|
}
|
|
|
|
export interface DescriptionFieldPersist {
|
|
key?: string;
|
|
value: string;
|
|
}
|
|
|
|
export interface DescriptionReferencePersist {
|
|
id: Guid;
|
|
reference?: ReferencePersist;
|
|
hash: string;
|
|
}
|
|
|
|
export interface DescriptionStatusPersist {
|
|
id: Guid;
|
|
status: DescriptionStatus;
|
|
hash: string;
|
|
} |