export interface DmpBlueprint { id: string; label: string; definition: DmpBlueprintDefinition; status: number; created: Date; modified: Date; description: string; } export interface DmpBlueprintDefinition { sections: SectionDmpBlueprint[]; } export interface SectionDmpBlueprint { id: string; label: string; description: string; ordinal: number; systemFields: SystemFieldInSection[]; descriptionTemplates?: DescriptionTemplatesInSection[]; extraFields?: ExtraFieldInSection[]; } export interface SystemFieldInSection { id: string; type: SystemFieldType; label: string; placeholder: string; description: string; required: boolean; ordinal: number; } export enum SystemFieldType { TEXT = 0, HTML_TEXT = 1, RESEARCHERS= 2, ORGANIZATIONS = 3, LANGUAGE = 4, CONTACT = 5, FUNDER = 6, GRANT = 7, PROJECT = 8, LICENSE = 9, ACCESS_RIGHTS = 10 } export interface DescriptionTemplatesInSection { id: string; descriptionTemplateId: string; label: string; minMultiplicity: number; maxMultiplicity: number; } export interface ExtraFieldInSection { id: string; label: string; description: string; placeholder: string; type: ExtraFieldType; required: boolean; ordinal: number; } export enum ExtraFieldType { TEXT = 0, RICH_TEXT = 1, DATE = 2, NUMBER = 3 }