tethys.backend/resources/js/Dataset.ts

79 lines
1.7 KiB
TypeScript
Raw Normal View History

2023-03-17 15:13:37 +00:00
import { Ref } from 'vue';
export interface Dataset {
[key: string]: string | Ref<string>| boolean | Array<Title> | Array<Description>| Array<Person> | number | (IErrorMessage | undefined) | Coverage | TethysFile | File;
2023-03-17 15:13:37 +00:00
language: Ref<string>;
// licenses: Array<number>;
rights: boolean;
type: string;
creating_corporation: string;
titles: Array<Title>;
descriptions: Array<Description>;
authors: Array<Person>;
contributors: Array<Person>;
project_id?: number;
embargo_date?: string,
coverage: Coverage,
2023-03-17 15:13:37 +00:00
errors?: IErrorMessage;
// async (user): Promise<void>;
subjects: Array<Subject>,
file: File | undefined,
upload: TethysFile
}
export interface TethysFile {
label: string,
sorting: number,
}
export interface Subject {
// id: number;
language: string
type: string;
value: string;
external_key?: string;
2023-03-17 15:13:37 +00:00
}
export interface Title {
value: string;
type: string;
language: string | Ref<string>;
}
export interface Description {
value: string;
type: string;
language: string | Ref<string>;
}
export interface Person {
id: number;
name: string;
email: string;
name_type: string;
identifier_orcid: string;
datasetCount: string;
created_at: string;
}
2023-03-17 15:13:37 +00:00
interface IErrorMessage {
[key: string]: Array<string>;
}
export interface Coverage {
x_min?: number;
y_min?: number;
x_max?: number;
y_max?: number;
elevation_min?: number;
elevation_max?: number;
elevation_absolut?: number;
depth_min?: number;
depth_max?: number;
depth_absolut?: number;
time_min?: number,
time_max?: number,
time_absolut?: number
2023-03-17 15:13:37 +00:00
}