-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Expand file tree
/
Copy pathobjectStores.templates.ts
More file actions
69 lines (63 loc) · 2 KB
/
Copy pathobjectStores.templates.ts
File metadata and controls
69 lines (63 loc) · 2 KB
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
import { faAws, faPython } from "@fortawesome/free-brands-svg-icons";
import { faCloud, faHdd, faNetworkWired, type IconDefinition } from "font-awesome-6";
import type { components } from "@/api/schema";
import { contains } from "@/utils/filtering";
const typeMessage = (type: string) => `This template produces a new Galaxy Storage of type ${type}.`;
export type ObjectStoreTemplateSummary = components["schemas"]["ObjectStoreTemplateSummary"];
export type ObjectStoreTemplateSummaries = ObjectStoreTemplateSummary[];
export type ObjectStoreTypes = ObjectStoreTemplateSummary["type"];
export type ObjectStoreTypesDetail = Record<ObjectStoreTypes, { icon: IconDefinition; message: string }>;
export type ObjectStoreBadgeType = components["schemas"]["BadgeDict"];
export type ObjectStoreTemplateType = Record<ObjectStoreTypes, { icon: IconDefinition; message: string }>;
export const objectStoreTemplateTypes: ObjectStoreTemplateType = {
aws_s3: {
icon: faAws,
message: typeMessage("Amazon S3"),
},
azure_blob: {
icon: faCloud,
message: typeMessage("Azure Blob"),
},
boto3: {
icon: faPython,
message: typeMessage("Boto3"),
},
cloud: {
icon: faCloud,
message: typeMessage("Cloud (CloudBridge)"),
},
disk: {
icon: faHdd,
message: typeMessage("Disk"),
},
generic_s3: {
icon: faAws,
message: typeMessage("Generic S3"),
},
onedata: {
icon: faNetworkWired,
message: typeMessage("Onedata"),
},
rucio: {
icon: faNetworkWired,
message: typeMessage("Rucio"),
},
irods: {
icon: faNetworkWired,
message: typeMessage("Irods"),
},
};
export const ObjectStoreValidFilters = {
name: {
placeholder: "name",
type: String,
handler: contains("name"),
menuItem: false,
},
type: {
placeholder: "type",
type: String,
handler: contains("type"),
menuItem: false,
},
};