@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.
Files changed (42) hide show
  1. package/LICENSE +133 -0
  2. package/README.md +48 -0
  3. package/dist/chunks/chunk.3WU6NPWM.js +1 -0
  4. package/dist/chunks/chunk.566Z3G7U.js +141 -0
  5. package/dist/chunks/chunk.I3IINMCX.js +1 -0
  6. package/dist/chunks/chunk.I4IZIBWK.js +832 -0
  7. package/dist/chunks/chunk.LZXOE4LL.js +26 -0
  8. package/dist/chunks/chunk.S3NI7NKU.js +30 -0
  9. package/dist/chunks/chunk.WP2KCEZO.js +10 -0
  10. package/dist/chunks/chunk.XGZHBPCB.js +518 -0
  11. package/dist/components/index.d.ts +1 -0
  12. package/dist/components/index.js +6 -0
  13. package/dist/components/object-create/index.d.ts +8 -0
  14. package/dist/components/object-create/index.js +5 -0
  15. package/dist/components/object-create/object-create.d.ts +59 -0
  16. package/dist/components/object-create/object-create.js +4 -0
  17. package/dist/components/object-create/tw-styles.d.ts +1 -0
  18. package/dist/components/object-create/tw-styles.js +2 -0
  19. package/dist/custom-elements.json +540 -0
  20. package/dist/events/ecc-drs-object-create-failed.d.ts +6 -0
  21. package/dist/events/ecc-drs-object-create-input-changed.d.ts +6 -0
  22. package/dist/events/ecc-drs-object-create-validation-failed.d.ts +6 -0
  23. package/dist/events/ecc-drs-object-created.d.ts +10 -0
  24. package/dist/events/ecc-drs-object-selected.d.ts +6 -0
  25. package/dist/events/ecc-drs-objects-changed.d.ts +6 -0
  26. package/dist/events/index.d.ts +6 -0
  27. package/dist/global.d.ts +1 -0
  28. package/dist/index.d.ts +1 -0
  29. package/dist/index.js +6 -0
  30. package/dist/providers/drs-filer-provider.d.ts +73 -0
  31. package/dist/providers/drs-filer-provider.js +1 -0
  32. package/dist/providers/index.d.ts +4 -0
  33. package/dist/providers/index.js +3 -0
  34. package/dist/providers/rest-drs-filer-provider.d.ts +26 -0
  35. package/dist/providers/rest-drs-filer-provider.js +2 -0
  36. package/dist/react/index.d.ts +1 -0
  37. package/dist/react/index.js +5 -0
  38. package/dist/react/object-create/index.d.ts +29 -0
  39. package/dist/react/object-create/index.js +5 -0
  40. package/dist/vscode.html-custom-data.json +17 -0
  41. package/dist/web-types.json +68 -0
  42. 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,3 @@
1
+ import '../chunks/chunk.I3IINMCX.js';
2
+ export { RestDrsFilerProvider } from '../chunks/chunk.566Z3G7U.js';
3
+ import '../chunks/chunk.S3NI7NKU.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,2 @@
1
+ export { RestDrsFilerProvider } from '../chunks/chunk.566Z3G7U.js';
2
+ import '../chunks/chunk.S3NI7NKU.js';
@@ -0,0 +1 @@
1
+ export { default as ECCClientElixirDrsFilerObjectCreate } from './object-create/index.js';
@@ -0,0 +1,5 @@
1
+ export { object_create_default as ECCClientElixirDrsFilerObjectCreate } from '../chunks/chunk.LZXOE4LL.js';
2
+ import '../chunks/chunk.I4IZIBWK.js';
3
+ import '../chunks/chunk.XGZHBPCB.js';
4
+ import '../chunks/chunk.566Z3G7U.js';
5
+ import '../chunks/chunk.S3NI7NKU.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,5 @@
1
+ export { object_create_default as default } from '../../chunks/chunk.LZXOE4LL.js';
2
+ import '../../chunks/chunk.I4IZIBWK.js';
3
+ import '../../chunks/chunk.XGZHBPCB.js';
4
+ import '../../chunks/chunk.566Z3G7U.js';
5
+ import '../../chunks/chunk.S3NI7NKU.js';
@@ -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
+ }