import { DmpStatus } from '@app/core/common/enum/dmp-status'; import { DatasetWizardModel } from '../dataset/dataset-wizard'; import { FunderModel } from "../funder/funder"; import { GrantListingModel } from "../grant/grant-listing"; import { OrganizationModel } from "../organisation/organization"; import { ProjectModel } from "../project/project"; import { ResearcherModel } from "../researcher/researcher"; import { UserModel } from "../user/user"; import { UserInfoListingModel } from "../user/user-info-listing"; import { DmpDatasetProfile } from "./dmp-dataset-profile/dmp-dataset-profile"; import { DmpDynamicField } from "./dmp-dynamic-field"; import { DmpExtraField } from "./dmp-extra-field"; import { BaseEntity, BaseEntityPersist } from '@common/base/base-entity.model'; import { Description } from '../description/description'; import { DmpReference } from '../reference/reference'; export interface DmpModel { id: string; label: string; groupId: String; profile: DmpBlueprint; version: number; status: DmpStatus; lockable: boolean; description: String; grant: GrantListingModel; project: ProjectModel; funder: FunderModel; datasets: DatasetWizardModel[]; datasetsToBeFinalized: string[]; profiles: DmpDatasetProfile[]; organisations: OrganizationModel[]; researchers: ResearcherModel[]; associatedUsers: UserModel[]; users: UserInfoListingModel[]; creator: UserModel; extraFields: Array; dynamicFields: Array; modified: Date; extraProperties: Map; language: String; } export interface DmpBlueprint { id: string; label: string; } export interface Dmp extends BaseEntity { label: string; description: String; version: number; status: DmpStatus; groupId: String; finalizedAt: Date; blueprint: DmpBlueprint; dmpDescriptions: Description[]; dmpReferences: DmpReference lockable: boolean; // grant: GrantListingModel; // project: ProjectModel; // funder: FunderModel; // organisations: OrganizationModel[]; // researchers: ResearcherModel[]; // datasets: DatasetWizardModel[]; // datasetsToBeFinalized: string[]; // profiles: DmpDatasetProfile[]; // associatedUsers: UserModel[]; // users: UserInfoListingModel[]; // creator: UserModel; // extraFields: Array; // dynamicFields: Array; // extraProperties: Map; // language: String; } // // Persist // export interface DmpPersist extends BaseEntityPersist { label: string; description: String; version: number; status: DmpStatus; groupId: String; }