-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Expand file tree
/
Copy pathfileSources.ts
More file actions
113 lines (108 loc) · 4.19 KB
/
fileSources.ts
File metadata and controls
113 lines (108 loc) · 4.19 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
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
import { faAws, faDropbox, faGoogleDrive, faHubspot } from "@fortawesome/free-brands-svg-icons";
import { faCloud, faFolderTree, faNetworkWired, type IconDefinition } from "font-awesome-6";
import type { components } from "@/api/schema";
import { contains } from "@/utils/filtering";
export type FileSourceTemplateSummary = components["schemas"]["FileSourceTemplateSummary"];
export type FileSourceTemplateSummaries = FileSourceTemplateSummary[];
export type UserFileSourceModel = components["schemas"]["UserFileSourceModel"];
export type FileSourceTypes = UserFileSourceModel["type"];
export type FileSourceTypesDetail = Record<FileSourceTypes, { icon: IconDefinition; message: string }>;
export const templateTypes: FileSourceTypesDetail = {
azure: {
icon: faCloud,
message: "This is a repository plugin based on the Azure service.",
},
azureflat: {
icon: faCloud,
message: "This is a repository plugin based on the Azure flat namespace service.",
},
dropbox: {
icon: faDropbox,
message: "This is a repository plugin that connects with the commercial Dropbox service.",
},
ftp: {
icon: faNetworkWired,
message: "This is a repository plugin based on the FTP/S protocol.",
},
googledrive: {
icon: faGoogleDrive,
message: "This is a repository plugin that connects with the commercial Google Drive service.",
},
mavedb: {
icon: faNetworkWired,
message: "This is a repository plugin that connects with MaveDB score set files.",
},
onedrive: {
icon: faCloud,
message: "This is a repository plugin that connects with Microsoft OneDrive.",
},
onedata: {
icon: faNetworkWired,
message: "This is a repository plugin based on the Onedata service.",
},
posix: {
icon: faFolderTree,
message:
"This is a simple path based file source that assumes the all the relevant paths are already mounted on the Galaxy server and target worker nodes.",
},
s3fs: {
icon: faAws,
message:
"This is a repository plugin based on the Amazon Simple Storage Service (S3) interface. The AWS interface has become an industry standard and many storage vendors support it and use it to expose 'object' based storage.",
},
webdav: {
icon: faNetworkWired,
message: "This is a repository plugin based on the WebDAV protocol.",
},
elabftw: {
icon: faNetworkWired,
message: "This is a repository plugin that connects with an eLabFTW instance.",
},
inveniordm: {
icon: faNetworkWired,
message: "This is a repository plugin that connects with an InvenioRDM instance.",
},
zenodo: {
icon: faNetworkWired,
message: "This is a repository plugin that connects with the Zenodo instance.",
},
rspace: {
icon: faNetworkWired,
message: "This is a remote file source that connects with the Gallery of an RSpace instance.",
},
dataverse: {
icon: faNetworkWired,
message: "This is a repository plugin that connects with a Dataverse.org instance.",
},
huggingface: {
icon: faHubspot,
message: "This is a file repository plugin that connects with the Hugging Face Hub.",
},
iiif: {
icon: faNetworkWired,
message:
"This is a read-only file repository plugin that connects to IIIF (International Image Interoperability Framework) sources. IIIF is a framework widely used by museums, libraries, and archives for delivering high-resolution image-based cultural heritage materials.",
},
omero: {
icon: faNetworkWired,
message: "This is a file repository plugin that connects with an OMERO server.",
},
ssh: {
icon: faNetworkWired,
message: "This is a file repository plugin that connects with a remote server over SSH.",
},
};
export const FileSourcesValidFilters = {
name: {
placeholder: "name",
type: String,
handler: contains("name"),
menuItem: false,
},
type: {
placeholder: "type",
type: String,
handler: contains("type"),
menuItem: false,
},
};