-
Notifications
You must be signed in to change notification settings - Fork 31
/
Copy pathindex.ts
128 lines (114 loc) · 2.38 KB
/
index.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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
import {
User,
UserIdentity,
UserSetting,
Job,
Dataset,
RawDataset,
Proposal,
Policy,
Sample,
Logbook,
PublishedData,
Attachment,
Instrument,
} from "shared/sdk/models";
export {
User,
UserIdentity,
UserSetting,
Job,
Dataset,
RawDataset,
Proposal,
Policy,
Sample,
Logbook,
PublishedData,
Attachment,
Instrument,
};
import { DatasetInterface } from "shared/sdk";
export { DatasetInterface };
export interface Settings {
tapeCopies: string;
datasetCount: number;
jobCount: number;
darkTheme: false;
}
export interface TableColumn {
name: string;
order: number;
type: "standard" | "custom";
enabled: boolean;
}
export enum MessageType {
Success = "success",
Error = "error",
}
export interface Message {
content: string;
type: MessageType;
duration: number;
}
export class Message implements Message {
constructor(content: string, type: MessageType, duration: number) {
this.content = content;
this.type = type;
this.duration = duration;
}
}
export enum ArchViewMode {
all = "all",
archivable = "archivable",
retrievable = "retrievable",
work_in_progress = "work in progress",
system_error = "system error",
user_error = "user error",
}
export enum JobViewMode {
myJobs = "my jobs",
allJobs = "all jobs",
}
type ScientificConditionRelation =
| "EQUAL_TO_NUMERIC"
| "EQUAL_TO_STRING"
| "GREATER_THAN"
| "LESS_THAN";
export interface ScientificCondition {
lhs: string;
relation: ScientificConditionRelation;
rhs: string | number;
unit: string;
}
export interface GenericFilters {
sortField: string;
skip: number;
limit: number;
}
export interface DatasetFilters extends GenericFilters {
modeToggle: ArchViewMode;
text: string;
ownerGroup: string[];
type: string[];
creationTime: { begin: string; end: string } | null;
creationLocation: string[];
keywords: string[];
mode: Record<string, unknown>;
scientific: ScientificCondition[];
isPublished: boolean | "";
pid: string | { $regex: string };
}
export interface SampleFilters extends GenericFilters {
text: string;
characteristics: ScientificCondition[];
}
export interface LogbookFilters extends GenericFilters {
textSearch: string;
showBotMessages: boolean;
showUserMessages: boolean;
showImages: boolean;
}
export interface JobFilters extends GenericFilters {
mode: Record<string, string> | undefined;
}