/
datamodel.ts
79 lines (70 loc) · 1.59 KB
/
datamodel.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import {
SimulationRunStatus,
EnvironmentVariable,
} from '@biosimulations/datamodel/common';
export interface UnknownSimulation {
id: string;
name?: null;
email?: null;
submittedLocally?: null;
simulator?: null;
simulatorVersion?: null;
cpus?: null;
memory?: null; // GB
maxTime?: null; // min
envVars?: null;
academicUse?: null;
status?: null;
runtime?: null;
submitted?: null;
updated?: null;
resultsSize?: null;
projectSize?: null;
}
export interface Simulation {
id: string;
name: string;
email?: string;
submittedLocally?: boolean;
simulator: string;
simulatorVersion: string;
cpus: number;
memory: number; // GB
maxTime: number; // min
envVars: EnvironmentVariable[];
academicUse: boolean;
status: SimulationRunStatus;
runtime?: number;
submitted: Date;
updated: Date;
resultsSize?: number;
projectSize?: number;
}
export type ISimulation = Simulation | UnknownSimulation;
export function isUnknownSimulation(
simulation: Simulation | UnknownSimulation,
): boolean {
return simulation.status === undefined || simulation.status === null;
}
export interface SedDatasetResults {
uri: string;
id: string;
location: string;
outputId: string;
label: string;
values: (number | boolean | string)[];
}
export interface SedOutputResults {
uri: string;
id: string;
datasets: SedDatasetResults[];
}
export interface SedDocumentResults {
uri: string;
location: string;
outputs: SedOutputResults[];
}
export type CombineResults = SedDocumentResults[];
export interface SedDatasetResultsMap {
[uri: string]: SedDatasetResults;
}