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

97 lines
2.5 KiB
TypeScript

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<DmpExtraField>;
dynamicFields: Array<DmpDynamicField>;
modified: Date;
extraProperties: Map<String, any>;
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<DmpExtraField>;
// dynamicFields: Array<DmpDynamicField>;
// extraProperties: Map<String, any>;
// language: String;
}
//
// Persist
//
export interface DmpPersist extends BaseEntityPersist {
label: string;
description: String;
version: number;
status: DmpStatus;
groupId: String;
}