@elixir-cloud/drs-filer 2.0.0-alpha.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +133 -0
- package/README.md +48 -0
- package/dist/chunks/chunk.3WU6NPWM.js +1 -0
- package/dist/chunks/chunk.566Z3G7U.js +141 -0
- package/dist/chunks/chunk.I3IINMCX.js +1 -0
- package/dist/chunks/chunk.I4IZIBWK.js +832 -0
- package/dist/chunks/chunk.LZXOE4LL.js +26 -0
- package/dist/chunks/chunk.S3NI7NKU.js +30 -0
- package/dist/chunks/chunk.WP2KCEZO.js +10 -0
- package/dist/chunks/chunk.XGZHBPCB.js +518 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +6 -0
- package/dist/components/object-create/index.d.ts +8 -0
- package/dist/components/object-create/index.js +5 -0
- package/dist/components/object-create/object-create.d.ts +59 -0
- package/dist/components/object-create/object-create.js +4 -0
- package/dist/components/object-create/tw-styles.d.ts +1 -0
- package/dist/components/object-create/tw-styles.js +2 -0
- package/dist/custom-elements.json +540 -0
- package/dist/events/ecc-drs-object-create-failed.d.ts +6 -0
- package/dist/events/ecc-drs-object-create-input-changed.d.ts +6 -0
- package/dist/events/ecc-drs-object-create-validation-failed.d.ts +6 -0
- package/dist/events/ecc-drs-object-created.d.ts +10 -0
- package/dist/events/ecc-drs-object-selected.d.ts +6 -0
- package/dist/events/ecc-drs-objects-changed.d.ts +6 -0
- package/dist/events/index.d.ts +6 -0
- package/dist/global.d.ts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +6 -0
- package/dist/providers/drs-filer-provider.d.ts +73 -0
- package/dist/providers/drs-filer-provider.js +1 -0
- package/dist/providers/index.d.ts +4 -0
- package/dist/providers/index.js +3 -0
- package/dist/providers/rest-drs-filer-provider.d.ts +26 -0
- package/dist/providers/rest-drs-filer-provider.js +2 -0
- package/dist/react/index.d.ts +1 -0
- package/dist/react/index.js +5 -0
- package/dist/react/object-create/index.d.ts +29 -0
- package/dist/react/object-create/index.js +5 -0
- package/dist/vscode.html-custom-data.json +17 -0
- package/dist/web-types.json +68 -0
- package/package.json +79 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for the GA4GH DRS API based on OpenAPI specification v1.2.0
|
|
3
|
+
*/
|
|
4
|
+
import type { DrsProvider, AccessMethodType, DrsObject, AccessMethod, AccessURL, ContentsObject, Checksum, Service, ServiceType, Organization, Error } from "@elixir-cloud/drs/providers";
|
|
5
|
+
/**
|
|
6
|
+
* DRS-Filer specific types that extend the base GA4GH DRS types
|
|
7
|
+
*/
|
|
8
|
+
export interface ChecksumRegister {
|
|
9
|
+
checksum: string;
|
|
10
|
+
type: string;
|
|
11
|
+
}
|
|
12
|
+
export interface AccessURLRegister {
|
|
13
|
+
url: string;
|
|
14
|
+
headers?: string[];
|
|
15
|
+
}
|
|
16
|
+
export interface AccessMethodRegister {
|
|
17
|
+
type: AccessMethodType;
|
|
18
|
+
access_url?: AccessURLRegister;
|
|
19
|
+
region?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface ContentsObjectRegister {
|
|
22
|
+
name: string;
|
|
23
|
+
id?: string;
|
|
24
|
+
drs_uri?: string[];
|
|
25
|
+
contents?: ContentsObjectRegister[];
|
|
26
|
+
}
|
|
27
|
+
export interface DrsObjectRegister {
|
|
28
|
+
size: number;
|
|
29
|
+
created_time: string;
|
|
30
|
+
checksums: ChecksumRegister[];
|
|
31
|
+
updated_time?: string;
|
|
32
|
+
version?: string;
|
|
33
|
+
mime_type?: string;
|
|
34
|
+
name?: string;
|
|
35
|
+
description?: string;
|
|
36
|
+
aliases?: string[];
|
|
37
|
+
access_methods?: AccessMethodRegister[];
|
|
38
|
+
contents?: ContentsObjectRegister[];
|
|
39
|
+
}
|
|
40
|
+
export interface ServiceTypeRegister {
|
|
41
|
+
group: string;
|
|
42
|
+
artifact: string;
|
|
43
|
+
version: string;
|
|
44
|
+
}
|
|
45
|
+
export interface ServiceRegister {
|
|
46
|
+
id: string;
|
|
47
|
+
name: string;
|
|
48
|
+
type: ServiceTypeRegister;
|
|
49
|
+
organization: Organization;
|
|
50
|
+
version: string;
|
|
51
|
+
description?: string;
|
|
52
|
+
contactUrl?: string;
|
|
53
|
+
documentationUrl?: string;
|
|
54
|
+
createdAt?: string;
|
|
55
|
+
updatedAt?: string;
|
|
56
|
+
environment?: string;
|
|
57
|
+
}
|
|
58
|
+
export interface RegisterResponse {
|
|
59
|
+
id: string;
|
|
60
|
+
}
|
|
61
|
+
export type { DrsProvider, AccessMethodType, DrsObject, AccessMethod, AccessURL, ContentsObject, Checksum, Service, ServiceType, Organization, Error, };
|
|
62
|
+
/**
|
|
63
|
+
* Interface defining the operations required for DRS-Filer data providers
|
|
64
|
+
* Extends the base DrsProvider with DRS-Filer specific creation and deletion operations
|
|
65
|
+
*/
|
|
66
|
+
export interface DrsFilerProvider extends DrsProvider {
|
|
67
|
+
createObject(object: DrsObjectRegister): Promise<string>;
|
|
68
|
+
createObjectWithId(id: string, object: DrsObjectRegister): Promise<string>;
|
|
69
|
+
updateObject(id: string, object: DrsObjectRegister): Promise<string>;
|
|
70
|
+
deleteObject(id: string): Promise<void>;
|
|
71
|
+
deleteAccessMethod(objectId: string, accessId: string): Promise<void>;
|
|
72
|
+
updateServiceInfo(service: ServiceRegister): Promise<void>;
|
|
73
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import '../chunks/chunk.I3IINMCX.js';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { DrsFilerProvider } from "./drs-filer-provider.js";
|
|
2
|
+
export { RestDrsFilerProvider } from "./rest-drs-filer-provider.js";
|
|
3
|
+
export type { AccessMethodType, DrsObject, AccessMethod, AccessURL, ContentsObject, Checksum, Service, ServiceType, Organization, Error, DrsProvider, } from "./drs-filer-provider.js";
|
|
4
|
+
export type { ChecksumRegister, AccessURLRegister, AccessMethodRegister, ContentsObjectRegister, DrsObjectRegister, ServiceRegister, ServiceTypeRegister, RegisterResponse, } from "./drs-filer-provider.js";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { DrsFilerProvider, DrsObject, AccessURL, Service, DrsObjectRegister, ServiceRegister } from "./drs-filer-provider.js";
|
|
2
|
+
/**
|
|
3
|
+
* Implementation of the DrsFilerProvider interface using direct REST API calls
|
|
4
|
+
* This class provides DRS-Filer specific functionality for object management
|
|
5
|
+
*/
|
|
6
|
+
export declare class RestDrsFilerProvider implements DrsFilerProvider {
|
|
7
|
+
readonly baseUrl: string;
|
|
8
|
+
constructor(baseUrl: string);
|
|
9
|
+
getObjects(limit?: number, offset?: number): Promise<{
|
|
10
|
+
objects: DrsObject[];
|
|
11
|
+
pagination?: {
|
|
12
|
+
offset: number;
|
|
13
|
+
limit: number;
|
|
14
|
+
total: number;
|
|
15
|
+
};
|
|
16
|
+
}>;
|
|
17
|
+
getObject(objectId: string, expand?: boolean): Promise<DrsObject>;
|
|
18
|
+
getAccessURL(objectId: string, accessId: string): Promise<AccessURL>;
|
|
19
|
+
getServiceInfo(): Promise<Service>;
|
|
20
|
+
createObject(object: DrsObjectRegister): Promise<string>;
|
|
21
|
+
createObjectWithId(id: string, object: DrsObjectRegister): Promise<string>;
|
|
22
|
+
updateObject(id: string, object: DrsObjectRegister): Promise<string>;
|
|
23
|
+
deleteObject(id: string): Promise<void>;
|
|
24
|
+
deleteAccessMethod(objectId: string, accessId: string): Promise<void>;
|
|
25
|
+
updateServiceInfo(service: ServiceRegister): Promise<void>;
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as ECCClientElixirDrsFilerObjectCreate } from './object-create/index.js';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ECCClientElixirDrsFilerObjectCreate as Component } from "../../components/object-create/object-create.js";
|
|
2
|
+
import type { EventName } from "@lit/react";
|
|
3
|
+
import type { EccDrsObjectCreatedEvent } from "../../events/index.js";
|
|
4
|
+
import type { EccDrsObjectCreateFailedEvent } from "../../events/index.js";
|
|
5
|
+
import type { EccDrsObjectCreateValidationFailedEvent } from "../../events/index.js";
|
|
6
|
+
import type { EccDrsObjectCreateInputChangedEvent } from "../../events/index.js";
|
|
7
|
+
export type { EccDrsObjectCreatedEvent } from "../../events/index.js";
|
|
8
|
+
export type { EccDrsObjectCreateFailedEvent } from "../../events/index.js";
|
|
9
|
+
export type { EccDrsObjectCreateValidationFailedEvent } from "../../events/index.js";
|
|
10
|
+
export type { EccDrsObjectCreateInputChangedEvent } from "../../events/index.js";
|
|
11
|
+
/**
|
|
12
|
+
* @summary Component for creating new DRS objects in DRS-Filer
|
|
13
|
+
* @since 2.0.0
|
|
14
|
+
*
|
|
15
|
+
* @property {string} baseUrl - Base URL of the DRS instance/gateway
|
|
16
|
+
* @property {DrsFilerProvider} provider - Custom data provider (optional, overrides baseUrl)
|
|
17
|
+
*
|
|
18
|
+
* @fires ecc-drs-object-created - Fired when an object is successfully created
|
|
19
|
+
* @fires ecc-drs-object-create-failed - Fired when object creation fails
|
|
20
|
+
* @fires ecc-drs-object-create-validation-failed - Fired when there are validation errors
|
|
21
|
+
* @fires ecc-drs-object-create-input-changed - Fired when an input field is changed
|
|
22
|
+
*/
|
|
23
|
+
declare const reactWrapper: import("@lit/react").ReactWebComponent<Component, {
|
|
24
|
+
onEccDrsObjectCreated: EventName<EccDrsObjectCreatedEvent>;
|
|
25
|
+
onEccDrsObjectCreateFailed: EventName<EccDrsObjectCreateFailedEvent>;
|
|
26
|
+
onEccDrsObjectCreateValidationFailed: EventName<EccDrsObjectCreateValidationFailedEvent>;
|
|
27
|
+
onEccDrsObjectCreateInputChanged: EventName<EccDrsObjectCreateInputChangedEvent>;
|
|
28
|
+
}>;
|
|
29
|
+
export default reactWrapper;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/microsoft/vscode-html-languageservice/main/docs/customData.schema.json",
|
|
3
|
+
"version": 1.1,
|
|
4
|
+
"tags": [
|
|
5
|
+
{
|
|
6
|
+
"name": "ecc-client-elixir-drs-filer-object-create",
|
|
7
|
+
"description": "Component for creating new DRS objects in DRS-Filer\n---\n\n\n### **Events:**\n - **ecc-drs-object-created** - Fired when an object is successfully created\n- **ecc-drs-object-create-failed** - Fired when object creation fails\n- **ecc-drs-object-create-validation-failed** - Fired when there are validation errors\n- **ecc-drs-object-create-input-changed** - Fired when an input field is changed",
|
|
8
|
+
"attributes": [],
|
|
9
|
+
"references": [
|
|
10
|
+
{
|
|
11
|
+
"name": "Documentation",
|
|
12
|
+
"url": "https://elixir-cloud-components.vercel.app/design/components/ecc-client-elixir-drs-filer-object-create.html"
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
|
|
3
|
+
"name": "@elixir-cloud/drs-filer",
|
|
4
|
+
"version": "2.0.0-alpha.34",
|
|
5
|
+
"description-markup": "markdown",
|
|
6
|
+
"contributions": {
|
|
7
|
+
"html": {
|
|
8
|
+
"elements": [
|
|
9
|
+
{
|
|
10
|
+
"name": "ecc-client-elixir-drs-filer-object-create",
|
|
11
|
+
"description": "Component for creating new DRS objects in DRS-Filer\n---\n\n\n### **Events:**\n - **ecc-drs-object-created** - Fired when an object is successfully created\n- **ecc-drs-object-create-failed** - Fired when object creation fails\n- **ecc-drs-object-create-validation-failed** - Fired when there are validation errors\n- **ecc-drs-object-create-input-changed** - Fired when an input field is changed",
|
|
12
|
+
"doc-url": "",
|
|
13
|
+
"attributes": [],
|
|
14
|
+
"events": [
|
|
15
|
+
{
|
|
16
|
+
"name": "ecc-drs-object-created",
|
|
17
|
+
"description": "Fired when an object is successfully created"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "ecc-drs-object-create-failed",
|
|
21
|
+
"description": "Fired when object creation fails"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"name": "ecc-drs-object-create-validation-failed",
|
|
25
|
+
"description": "Fired when there are validation errors"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "ecc-drs-object-create-input-changed",
|
|
29
|
+
"description": "Fired when an input field is changed"
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"js": {
|
|
33
|
+
"properties": [
|
|
34
|
+
{
|
|
35
|
+
"name": "baseUrl",
|
|
36
|
+
"description": "Base URL of the DRS instance/gateway",
|
|
37
|
+
"type": "string"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "provider",
|
|
41
|
+
"description": "Custom data provider (optional, overrides baseUrl)",
|
|
42
|
+
"type": "DrsFilerProvider"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"events": [
|
|
46
|
+
{
|
|
47
|
+
"name": "ecc-drs-object-created",
|
|
48
|
+
"description": "Fired when an object is successfully created"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "ecc-drs-object-create-failed",
|
|
52
|
+
"description": "Fired when object creation fails"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"name": "ecc-drs-object-create-validation-failed",
|
|
56
|
+
"description": "Fired when there are validation errors"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "ecc-drs-object-create-input-changed",
|
|
60
|
+
"description": "Fired when an input field is changed"
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@elixir-cloud/drs-filer",
|
|
3
|
+
"description": "Web Component for interacting with Elixir DRS Filer",
|
|
4
|
+
"license": "Apache-2.0",
|
|
5
|
+
"version": "2.0.0-alpha.34",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "./dist/index.js",
|
|
8
|
+
"module": "./dist/index.mjs",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"import": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"./custom-elements.json": "./dist/custom-elements.json",
|
|
16
|
+
"./components/*": "./dist/components/*",
|
|
17
|
+
"./react": "./dist/react/index.js",
|
|
18
|
+
"./react/*": "./dist/react/*",
|
|
19
|
+
"./events": "./dist/events/index.js",
|
|
20
|
+
"./events/*": "./dist/events/*",
|
|
21
|
+
"./providers": "./dist/providers/index.js",
|
|
22
|
+
"./providers/*": "./dist/providers/*"
|
|
23
|
+
},
|
|
24
|
+
"repository": {
|
|
25
|
+
"type": "git",
|
|
26
|
+
"url": "https://github.com/elixir-cloud-aai/cloud-components.git"
|
|
27
|
+
},
|
|
28
|
+
"customElements": "dist/custom-elements.json",
|
|
29
|
+
"files": [
|
|
30
|
+
"dist",
|
|
31
|
+
"README.md",
|
|
32
|
+
"package.json",
|
|
33
|
+
"LICENSE"
|
|
34
|
+
],
|
|
35
|
+
"scripts": {
|
|
36
|
+
"analyze": "cem analyze --litelement",
|
|
37
|
+
"build:tailwind": "node ../../scripts/tailwind/index.js",
|
|
38
|
+
"build": "node ../../scripts/tailwind/index.js && node ../../scripts/build.js -p ecc-client-elixir-drs-filer-",
|
|
39
|
+
"dev": "concurrently -r \"node ../../scripts/tailwind/index.js --watch\" \"node ../../scripts/build.js -p ecc-client-elixir-drs-filer- --watch\" \"wds\"",
|
|
40
|
+
"clean": "rm -rf dist node_modules custom-elements-manifest.config.js src/output.css src/tailwind.ts",
|
|
41
|
+
"test": "wtr --coverage",
|
|
42
|
+
"test:watch": "wtr --watch",
|
|
43
|
+
"lint": "npx eslint .",
|
|
44
|
+
"lint:fix": "npm run lint -- --fix",
|
|
45
|
+
"prepublish": "npm run build"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"@elixir-cloud/design": "2.0.0-alpha.34",
|
|
49
|
+
"@elixir-cloud/drs": "2.0.0-alpha.34",
|
|
50
|
+
"@lit/react": "^1.0.2",
|
|
51
|
+
"@progress/jszip-esm": "^1.0.4",
|
|
52
|
+
"lit": "^2.8.0"
|
|
53
|
+
},
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"@custom-elements-manifest/analyzer": "^0.4.17",
|
|
56
|
+
"@elixir-cloud/eslint-config": "*",
|
|
57
|
+
"@open-wc/eslint-config": "^9.2.1",
|
|
58
|
+
"@open-wc/testing": "^3.1.6",
|
|
59
|
+
"@tailwindcss/cli": "4.1.4",
|
|
60
|
+
"@types/jszip": "^3.4.0",
|
|
61
|
+
"@typescript-eslint/eslint-plugin": "^5.48.0",
|
|
62
|
+
"@typescript-eslint/parser": "^5.48.0",
|
|
63
|
+
"@web/dev-server": "^0.1.34",
|
|
64
|
+
"@web/dev-server-esbuild": "^0.3.0",
|
|
65
|
+
"@web/test-runner": "^0.19.0",
|
|
66
|
+
"commander": "*",
|
|
67
|
+
"concurrently": "^5.3.0",
|
|
68
|
+
"custom-element-jet-brains-integration": "*",
|
|
69
|
+
"custom-element-vs-code-integration": "*",
|
|
70
|
+
"eslint": "^8.31.0",
|
|
71
|
+
"eslint-config-prettier": "^8.3.0",
|
|
72
|
+
"react": "*",
|
|
73
|
+
"tailwindcss": "^4.1.4",
|
|
74
|
+
"tslib": "^2.3.1",
|
|
75
|
+
"tsup": "^7.2.0",
|
|
76
|
+
"tw-animate-css": "^1.2.6",
|
|
77
|
+
"typescript": "*"
|
|
78
|
+
}
|
|
79
|
+
}
|