@privateaim/storage-kit 0.3.0 → 0.4.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.4.0](https://github.com/PrivateAIM/hub/compare/storage-kit-v0.3.0...storage-kit-v0.4.0) (2024-05-15)
4
+
5
+
6
+ ### Features
7
+
8
+ * refactor analysis configuration ([#200](https://github.com/PrivateAIM/hub/issues/200)) ([e7bfc3f](https://github.com/PrivateAIM/hub/commit/e7bfc3f23d5b9ce6fc6d9e8d0a144fe54ea03335))
9
+ * simplified authentication & authorization management ([0b19929](https://github.com/PrivateAIM/hub/commit/0b199297766780a4c5cfcd8eda02cefb9f226958))
10
+ * updated authup, vuecs & ilingo ([66a5f7b](https://github.com/PrivateAIM/hub/commit/66a5f7ba1454fc5e432cd687a509ebf3bf4c4ab4))
11
+ * view for downloading results + refactored entities/types ([#188](https://github.com/PrivateAIM/hub/issues/188)) ([084040e](https://github.com/PrivateAIM/hub/commit/084040eec1e74b10ec40c577d5f8e3a5fcedf250))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * api client for uploading bucket file ([e584f9f](https://github.com/PrivateAIM/hub/commit/e584f9fd6549b7f4974604d8059d88b2ed448c2b))
17
+ * **deps:** bump @authup/core from 1.0.0-beta.7 to 1.0.0-beta.8 ([#210](https://github.com/PrivateAIM/hub/issues/210)) ([6e8adf2](https://github.com/PrivateAIM/hub/commit/6e8adf2c80dba69eb66a76250e1fc1acc1bb71dd))
18
+ * **deps:** bump @authup/core from 1.0.0-beta.8 to 1.0.0-beta.9 ([#277](https://github.com/PrivateAIM/hub/issues/277)) ([f9a8f59](https://github.com/PrivateAIM/hub/commit/f9a8f59a60990f8ffe6da044c18150a56f2e196c))
19
+ * **deps:** bump hapic from 2.5.0 to 2.5.1 ([#214](https://github.com/PrivateAIM/hub/issues/214)) ([eb3e30c](https://github.com/PrivateAIM/hub/commit/eb3e30c6cf3fb81d30ef9b2c802698a5818505a2))
20
+
21
+
22
+ ### Dependencies
23
+
24
+ * The following workspace dependencies were updated
25
+ * devDependencies
26
+ * @privateaim/core bumped from ^0.3.0 to ^0.4.0
27
+ * peerDependencies
28
+ * @privateaim/core bumped from ^0.3.0 to ^0.4.0
29
+
3
30
  ## [0.3.0](https://github.com/PrivateAIM/hub/compare/storage-kit-v0.2.0...storage-kit-v0.3.0) (2024-03-11)
4
31
 
5
32
 
@@ -1,4 +1,4 @@
1
- import type { Realm } from '@authup/core';
1
+ import type { Realm } from '@authup/core-kit';
2
2
  export interface Bucket {
3
3
  id: string;
4
4
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/domains/bucket/entity.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAItB,UAAU,EAAE,IAAI,CAAC;IAEjB,UAAU,EAAE,IAAI,CAAC;IAIjB,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;IAInB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CAEzB"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/domains/bucket/entity.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAItB,UAAU,EAAE,IAAI,CAAC;IAEjB,UAAU,EAAE,IAAI,CAAC;IAIjB,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;IAInB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CAEzB"}
@@ -1,4 +1,3 @@
1
- import type { Analysis } from '@privateaim/core/src';
2
1
  import type { BuildInput } from 'rapiq';
3
2
  import type { CollectionResourceResponse, SingleResourceResponse } from '@privateaim/core';
4
3
  import type { BucketFile } from './entity';
@@ -9,7 +8,8 @@ export declare class BucketFileAPI extends BaseAPI {
9
8
  create(data: Record<string, any>): Promise<SingleResourceResponse<BucketFile>>;
10
9
  delete(id: BucketFile['id']): Promise<SingleResourceResponse<BucketFile>>;
11
10
  update(id: BucketFile['id'], data: Record<string, any>): Promise<SingleResourceResponse<BucketFile>>;
12
- getStreamPath(id: Analysis['id']): string;
11
+ getStreamPath(id: BucketFile['id']): string;
12
+ getStreamURL(id: BucketFile['id']): string;
13
13
  stream(id: BucketFile['id']): Promise<ReadableStream<any>>;
14
14
  }
15
15
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/domains/bucket-file/api.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGxC,OAAO,KAAK,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,aAAc,SAAQ,OAAO;IAChC,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAKzF,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAMjH,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAM9E,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAKzE,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAK1G,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM;IAInC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,GAAI,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;CAQpE"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/domains/bucket-file/api.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGxC,OAAO,KAAK,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,aAAc,SAAQ,OAAO;IAChC,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAKzF,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAMjH,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAM9E,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAKzE,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAK1G,aAAa,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM;IAI3C,YAAY,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,GAAI,MAAM;IAIrC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,GAAI,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;CAQpE"}
@@ -1,4 +1,4 @@
1
- import type { Realm } from '@authup/core';
1
+ import type { Realm } from '@authup/core-kit';
2
2
  import type { Bucket } from '../bucket';
3
3
  export interface BucketFile {
4
4
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/domains/bucket-file/entity.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,EAAE,MAAM,CAAC;IAElB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAIpB,UAAU,EAAE,IAAI,CAAC;IAEjB,UAAU,EAAE,IAAI,CAAC;IAIjB,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;IAInB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAItB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/domains/bucket-file/entity.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,EAAE,MAAM,CAAC;IAElB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAIpB,UAAU,EAAE,IAAI,CAAC;IAEjB,UAAU,EAAE,IAAI,CAAC;IAIjB,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;IAInB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAItB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,EAAE,MAAM,CAAC;CAClB"}
package/dist/index.cjs CHANGED
@@ -108,7 +108,7 @@ class BucketAPI extends BaseAPI {
108
108
  upload(id, formData) {
109
109
  var _this = this;
110
110
  return _async_to_generator$1(function*() {
111
- const response = yield _this.client.post(`buckets/${id}`, formData, {
111
+ const response = yield _this.client.post(`buckets/${id}/upload`, formData, {
112
112
  headers: {
113
113
  'Content-Type': 'multipart/form-data'
114
114
  }
@@ -204,6 +204,9 @@ class BucketFileAPI extends BaseAPI {
204
204
  getStreamPath(id) {
205
205
  return `bucket-files/${id}/stream`;
206
206
  }
207
+ getStreamURL(id) {
208
+ return new URL(this.getStreamPath(id), this.client.getBaseURL()).href;
209
+ }
207
210
  stream(id) {
208
211
  var _this = this;
209
212
  return _async_to_generator(function*() {
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/domains/base.ts","../src/domains/bucket/api.ts","../src/domains/bucket-file/api.ts","../src/http/api-client/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createClient, isClient } from 'hapic';\nimport type { Client, RequestBaseOptions } from 'hapic';\nimport type { BaseAPIContext } from './types-base';\n\nexport class BaseAPI {\n protected client! : Client;\n\n // -----------------------------------------------------------------------------------\n\n constructor(context?: BaseAPIContext) {\n context = context || {};\n\n this.setClient(context.client);\n }\n\n // -----------------------------------------------------------------------------------\n\n setClient(input?: Client | RequestBaseOptions) {\n this.client = isClient(input) ?\n input :\n createClient(input);\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Analysis } from '@privateaim/core/src';\nimport type { BuildInput } from 'rapiq';\nimport { buildQuery } from 'rapiq';\nimport { nullifyEmptyObjectProperties } from '@privateaim/core';\nimport type { CollectionResourceResponse, SingleResourceResponse } from '@privateaim/core';\nimport { BaseAPI } from '../base';\nimport type { BucketFile } from '../bucket-file';\nimport type { Bucket } from './entity';\n\nexport class BucketAPI extends BaseAPI {\n async getMany(record?: BuildInput<Bucket>): Promise<CollectionResourceResponse<Bucket>> {\n const response = await this.client.get(`buckets${buildQuery(record)}`);\n return response.data;\n }\n\n async getOne(id: Bucket['id'], requestRecord?: BuildInput<Bucket>): Promise<SingleResourceResponse<Bucket>> {\n const response = await this.client.get(`buckets/${id}${buildQuery(requestRecord)}`);\n\n return response.data;\n }\n\n async create(data: Record<string, any>): Promise<SingleResourceResponse<Bucket>> {\n const response = await this.client.post('buckets', nullifyEmptyObjectProperties(data));\n\n return response.data;\n }\n\n async delete(id: Bucket['id']): Promise<SingleResourceResponse<Bucket>> {\n const response = await this.client.delete(`buckets/${id}`);\n return response.data;\n }\n\n async update(id: Bucket['id'], data: Record<string, any>): Promise<SingleResourceResponse<Bucket>> {\n const response = await this.client.post(`buckets/${id}`, nullifyEmptyObjectProperties(data));\n return response.data;\n }\n\n async upload(id: Bucket['id'], formData: FormData): Promise<CollectionResourceResponse<BucketFile>> {\n const response = await this.client.post(`buckets/${id}`, formData, {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n });\n\n return response.data;\n }\n\n getStreamPath(id: Analysis['id']): string {\n return `buckets/${id}/stream`;\n }\n\n async stream(id: Bucket['id']) : Promise<ReadableStream<any>> {\n const response = await this.client.request({\n url: this.getStreamPath(id),\n responseType: 'stream',\n });\n\n return response.data;\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Analysis } from '@privateaim/core/src';\nimport type { BuildInput } from 'rapiq';\nimport { buildQuery } from 'rapiq';\nimport { nullifyEmptyObjectProperties } from '@privateaim/core';\nimport type { CollectionResourceResponse, SingleResourceResponse } from '@privateaim/core';\nimport type { BucketFile } from './entity';\nimport { BaseAPI } from '../base';\n\nexport class BucketFileAPI extends BaseAPI {\n async getMany(record?: BuildInput<BucketFile>): Promise<CollectionResourceResponse<BucketFile>> {\n const response = await this.client.get(`bucket-files${buildQuery(record)}`);\n return response.data;\n }\n\n async getOne(id: BucketFile['id'], requestRecord?: BuildInput<BucketFile>): Promise<SingleResourceResponse<BucketFile>> {\n const response = await this.client.get(`bucket-files/${id}${buildQuery(requestRecord)}`);\n\n return response.data;\n }\n\n async create(data: Record<string, any>): Promise<SingleResourceResponse<BucketFile>> {\n const response = await this.client.post('bucket-files', nullifyEmptyObjectProperties(data));\n\n return response.data;\n }\n\n async delete(id: BucketFile['id']): Promise<SingleResourceResponse<BucketFile>> {\n const response = await this.client.delete(`bucket-files/${id}`);\n return response.data;\n }\n\n async update(id: BucketFile['id'], data: Record<string, any>): Promise<SingleResourceResponse<BucketFile>> {\n const response = await this.client.post(`bucket-files/${id}`, nullifyEmptyObjectProperties(data));\n return response.data;\n }\n\n getStreamPath(id: Analysis['id']): string {\n return `bucket-files/${id}/stream`;\n }\n\n async stream(id: BucketFile['id']) : Promise<ReadableStream<any>> {\n const response = await this.client.request({\n url: this.getStreamPath(id),\n responseType: 'stream',\n });\n\n return response.data;\n }\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { RequestBaseOptions } from 'hapic';\nimport { Client, HookName, isClientError } from 'hapic';\nimport {\n BucketAPI,\n BucketFileAPI,\n} from '../../domains';\n\nexport class APIClient extends Client {\n public readonly bucket : BucketAPI;\n\n public readonly bucketFile : BucketFileAPI;\n\n constructor(config: RequestBaseOptions) {\n super(config);\n\n this.bucket = new BucketAPI({ client: this });\n this.bucketFile = new BucketFileAPI({ client: this });\n\n this.on(HookName.RESPONSE_ERROR, ((error) => {\n if (\n isClientError(error) &&\n error.response &&\n error.response.data &&\n typeof error.response.data.message === 'string'\n ) {\n error.message = error.response.data.message;\n }\n\n throw error;\n }));\n }\n}\n"],"names":["_define_property","BaseAPI","setClient","input","client","isClient","createClient","constructor","context","asyncGeneratorStep","BucketAPI","getMany","record","_async_to_generator","response","get","buildQuery","data","getOne","id","requestRecord","create","post","nullifyEmptyObjectProperties","delete","update","upload","formData","headers","getStreamPath","stream","request","url","responseType","BucketFileAPI","APIClient","Client","config","bucket","bucketFile","on","HookName","RESPONSE_ERROR","error","isClientError","message"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/domains/base.ts","../src/domains/bucket/api.ts","../src/domains/bucket-file/api.ts","../src/http/api-client/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createClient, isClient } from 'hapic';\nimport type { Client, RequestBaseOptions } from 'hapic';\nimport type { BaseAPIContext } from './types-base';\n\nexport class BaseAPI {\n protected client! : Client;\n\n // -----------------------------------------------------------------------------------\n\n constructor(context?: BaseAPIContext) {\n context = context || {};\n\n this.setClient(context.client);\n }\n\n // -----------------------------------------------------------------------------------\n\n setClient(input?: Client | RequestBaseOptions) {\n this.client = isClient(input) ?\n input :\n createClient(input);\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Analysis } from '@privateaim/core/src';\nimport type { BuildInput } from 'rapiq';\nimport { buildQuery } from 'rapiq';\nimport { nullifyEmptyObjectProperties } from '@privateaim/core';\nimport type { CollectionResourceResponse, SingleResourceResponse } from '@privateaim/core';\nimport { BaseAPI } from '../base';\nimport type { BucketFile } from '../bucket-file';\nimport type { Bucket } from './entity';\n\nexport class BucketAPI extends BaseAPI {\n async getMany(record?: BuildInput<Bucket>): Promise<CollectionResourceResponse<Bucket>> {\n const response = await this.client.get(`buckets${buildQuery(record)}`);\n return response.data;\n }\n\n async getOne(id: Bucket['id'], requestRecord?: BuildInput<Bucket>): Promise<SingleResourceResponse<Bucket>> {\n const response = await this.client.get(`buckets/${id}${buildQuery(requestRecord)}`);\n\n return response.data;\n }\n\n async create(data: Record<string, any>): Promise<SingleResourceResponse<Bucket>> {\n const response = await this.client.post('buckets', nullifyEmptyObjectProperties(data));\n\n return response.data;\n }\n\n async delete(id: Bucket['id']): Promise<SingleResourceResponse<Bucket>> {\n const response = await this.client.delete(`buckets/${id}`);\n return response.data;\n }\n\n async update(id: Bucket['id'], data: Record<string, any>): Promise<SingleResourceResponse<Bucket>> {\n const response = await this.client.post(`buckets/${id}`, nullifyEmptyObjectProperties(data));\n return response.data;\n }\n\n async upload(id: Bucket['id'], formData: FormData): Promise<CollectionResourceResponse<BucketFile>> {\n const response = await this.client.post(`buckets/${id}/upload`, formData, {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n });\n\n return response.data;\n }\n\n getStreamPath(id: Analysis['id']): string {\n return `buckets/${id}/stream`;\n }\n\n async stream(id: Bucket['id']) : Promise<ReadableStream<any>> {\n const response = await this.client.request({\n url: this.getStreamPath(id),\n responseType: 'stream',\n });\n\n return response.data;\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { BuildInput } from 'rapiq';\nimport { buildQuery } from 'rapiq';\nimport { nullifyEmptyObjectProperties } from '@privateaim/core';\nimport type { CollectionResourceResponse, SingleResourceResponse } from '@privateaim/core';\nimport type { BucketFile } from './entity';\nimport { BaseAPI } from '../base';\n\nexport class BucketFileAPI extends BaseAPI {\n async getMany(record?: BuildInput<BucketFile>): Promise<CollectionResourceResponse<BucketFile>> {\n const response = await this.client.get(`bucket-files${buildQuery(record)}`);\n return response.data;\n }\n\n async getOne(id: BucketFile['id'], requestRecord?: BuildInput<BucketFile>): Promise<SingleResourceResponse<BucketFile>> {\n const response = await this.client.get(`bucket-files/${id}${buildQuery(requestRecord)}`);\n\n return response.data;\n }\n\n async create(data: Record<string, any>): Promise<SingleResourceResponse<BucketFile>> {\n const response = await this.client.post('bucket-files', nullifyEmptyObjectProperties(data));\n\n return response.data;\n }\n\n async delete(id: BucketFile['id']): Promise<SingleResourceResponse<BucketFile>> {\n const response = await this.client.delete(`bucket-files/${id}`);\n return response.data;\n }\n\n async update(id: BucketFile['id'], data: Record<string, any>): Promise<SingleResourceResponse<BucketFile>> {\n const response = await this.client.post(`bucket-files/${id}`, nullifyEmptyObjectProperties(data));\n return response.data;\n }\n\n getStreamPath(id: BucketFile['id']): string {\n return `bucket-files/${id}/stream`;\n }\n\n getStreamURL(id: BucketFile['id']) : string {\n return new URL(this.getStreamPath(id), this.client.getBaseURL()).href;\n }\n\n async stream(id: BucketFile['id']) : Promise<ReadableStream<any>> {\n const response = await this.client.request({\n url: this.getStreamPath(id),\n responseType: 'stream',\n });\n\n return response.data;\n }\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { RequestBaseOptions } from 'hapic';\nimport { Client, HookName, isClientError } from 'hapic';\nimport {\n BucketAPI,\n BucketFileAPI,\n} from '../../domains';\n\nexport class APIClient extends Client {\n public readonly bucket : BucketAPI;\n\n public readonly bucketFile : BucketFileAPI;\n\n constructor(config: RequestBaseOptions) {\n super(config);\n\n this.bucket = new BucketAPI({ client: this });\n this.bucketFile = new BucketFileAPI({ client: this });\n\n this.on(HookName.RESPONSE_ERROR, ((error) => {\n if (\n isClientError(error) &&\n error.response &&\n error.response.data &&\n typeof error.response.data.message === 'string'\n ) {\n error.message = error.response.data.message;\n }\n\n throw error;\n }));\n }\n}\n"],"names":["_define_property","BaseAPI","setClient","input","client","isClient","createClient","constructor","context","asyncGeneratorStep","BucketAPI","getMany","record","_async_to_generator","response","get","buildQuery","data","getOne","id","requestRecord","create","post","nullifyEmptyObjectProperties","delete","update","upload","formData","headers","getStreamPath","stream","request","url","responseType","BucketFileAPI","getStreamURL","URL","getBaseURL","href","APIClient","Client","config","bucket","bucketFile","on","HookName","RESPONSE_ERROR","error","isClientError","message"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -106,7 +106,7 @@ class BucketAPI extends BaseAPI {
106
106
  upload(id, formData) {
107
107
  var _this = this;
108
108
  return _async_to_generator$1(function*() {
109
- const response = yield _this.client.post(`buckets/${id}`, formData, {
109
+ const response = yield _this.client.post(`buckets/${id}/upload`, formData, {
110
110
  headers: {
111
111
  'Content-Type': 'multipart/form-data'
112
112
  }
@@ -202,6 +202,9 @@ class BucketFileAPI extends BaseAPI {
202
202
  getStreamPath(id) {
203
203
  return `bucket-files/${id}/stream`;
204
204
  }
205
+ getStreamURL(id) {
206
+ return new URL(this.getStreamPath(id), this.client.getBaseURL()).href;
207
+ }
205
208
  stream(id) {
206
209
  var _this = this;
207
210
  return _async_to_generator(function*() {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/domains/base.ts","../src/domains/bucket/api.ts","../src/domains/bucket-file/api.ts","../src/http/api-client/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createClient, isClient } from 'hapic';\nimport type { Client, RequestBaseOptions } from 'hapic';\nimport type { BaseAPIContext } from './types-base';\n\nexport class BaseAPI {\n protected client! : Client;\n\n // -----------------------------------------------------------------------------------\n\n constructor(context?: BaseAPIContext) {\n context = context || {};\n\n this.setClient(context.client);\n }\n\n // -----------------------------------------------------------------------------------\n\n setClient(input?: Client | RequestBaseOptions) {\n this.client = isClient(input) ?\n input :\n createClient(input);\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Analysis } from '@privateaim/core/src';\nimport type { BuildInput } from 'rapiq';\nimport { buildQuery } from 'rapiq';\nimport { nullifyEmptyObjectProperties } from '@privateaim/core';\nimport type { CollectionResourceResponse, SingleResourceResponse } from '@privateaim/core';\nimport { BaseAPI } from '../base';\nimport type { BucketFile } from '../bucket-file';\nimport type { Bucket } from './entity';\n\nexport class BucketAPI extends BaseAPI {\n async getMany(record?: BuildInput<Bucket>): Promise<CollectionResourceResponse<Bucket>> {\n const response = await this.client.get(`buckets${buildQuery(record)}`);\n return response.data;\n }\n\n async getOne(id: Bucket['id'], requestRecord?: BuildInput<Bucket>): Promise<SingleResourceResponse<Bucket>> {\n const response = await this.client.get(`buckets/${id}${buildQuery(requestRecord)}`);\n\n return response.data;\n }\n\n async create(data: Record<string, any>): Promise<SingleResourceResponse<Bucket>> {\n const response = await this.client.post('buckets', nullifyEmptyObjectProperties(data));\n\n return response.data;\n }\n\n async delete(id: Bucket['id']): Promise<SingleResourceResponse<Bucket>> {\n const response = await this.client.delete(`buckets/${id}`);\n return response.data;\n }\n\n async update(id: Bucket['id'], data: Record<string, any>): Promise<SingleResourceResponse<Bucket>> {\n const response = await this.client.post(`buckets/${id}`, nullifyEmptyObjectProperties(data));\n return response.data;\n }\n\n async upload(id: Bucket['id'], formData: FormData): Promise<CollectionResourceResponse<BucketFile>> {\n const response = await this.client.post(`buckets/${id}`, formData, {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n });\n\n return response.data;\n }\n\n getStreamPath(id: Analysis['id']): string {\n return `buckets/${id}/stream`;\n }\n\n async stream(id: Bucket['id']) : Promise<ReadableStream<any>> {\n const response = await this.client.request({\n url: this.getStreamPath(id),\n responseType: 'stream',\n });\n\n return response.data;\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Analysis } from '@privateaim/core/src';\nimport type { BuildInput } from 'rapiq';\nimport { buildQuery } from 'rapiq';\nimport { nullifyEmptyObjectProperties } from '@privateaim/core';\nimport type { CollectionResourceResponse, SingleResourceResponse } from '@privateaim/core';\nimport type { BucketFile } from './entity';\nimport { BaseAPI } from '../base';\n\nexport class BucketFileAPI extends BaseAPI {\n async getMany(record?: BuildInput<BucketFile>): Promise<CollectionResourceResponse<BucketFile>> {\n const response = await this.client.get(`bucket-files${buildQuery(record)}`);\n return response.data;\n }\n\n async getOne(id: BucketFile['id'], requestRecord?: BuildInput<BucketFile>): Promise<SingleResourceResponse<BucketFile>> {\n const response = await this.client.get(`bucket-files/${id}${buildQuery(requestRecord)}`);\n\n return response.data;\n }\n\n async create(data: Record<string, any>): Promise<SingleResourceResponse<BucketFile>> {\n const response = await this.client.post('bucket-files', nullifyEmptyObjectProperties(data));\n\n return response.data;\n }\n\n async delete(id: BucketFile['id']): Promise<SingleResourceResponse<BucketFile>> {\n const response = await this.client.delete(`bucket-files/${id}`);\n return response.data;\n }\n\n async update(id: BucketFile['id'], data: Record<string, any>): Promise<SingleResourceResponse<BucketFile>> {\n const response = await this.client.post(`bucket-files/${id}`, nullifyEmptyObjectProperties(data));\n return response.data;\n }\n\n getStreamPath(id: Analysis['id']): string {\n return `bucket-files/${id}/stream`;\n }\n\n async stream(id: BucketFile['id']) : Promise<ReadableStream<any>> {\n const response = await this.client.request({\n url: this.getStreamPath(id),\n responseType: 'stream',\n });\n\n return response.data;\n }\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { RequestBaseOptions } from 'hapic';\nimport { Client, HookName, isClientError } from 'hapic';\nimport {\n BucketAPI,\n BucketFileAPI,\n} from '../../domains';\n\nexport class APIClient extends Client {\n public readonly bucket : BucketAPI;\n\n public readonly bucketFile : BucketFileAPI;\n\n constructor(config: RequestBaseOptions) {\n super(config);\n\n this.bucket = new BucketAPI({ client: this });\n this.bucketFile = new BucketFileAPI({ client: this });\n\n this.on(HookName.RESPONSE_ERROR, ((error) => {\n if (\n isClientError(error) &&\n error.response &&\n error.response.data &&\n typeof error.response.data.message === 'string'\n ) {\n error.message = error.response.data.message;\n }\n\n throw error;\n }));\n }\n}\n"],"names":["_define_property","BaseAPI","setClient","input","client","isClient","createClient","constructor","context","asyncGeneratorStep","BucketAPI","getMany","record","_async_to_generator","response","get","buildQuery","data","getOne","id","requestRecord","create","post","nullifyEmptyObjectProperties","delete","update","upload","formData","headers","getStreamPath","stream","request","url","responseType","BucketFileAPI","APIClient","Client","config","bucket","bucketFile","on","HookName","RESPONSE_ERROR","error","isClientError","message"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/domains/base.ts","../src/domains/bucket/api.ts","../src/domains/bucket-file/api.ts","../src/http/api-client/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2023-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createClient, isClient } from 'hapic';\nimport type { Client, RequestBaseOptions } from 'hapic';\nimport type { BaseAPIContext } from './types-base';\n\nexport class BaseAPI {\n protected client! : Client;\n\n // -----------------------------------------------------------------------------------\n\n constructor(context?: BaseAPIContext) {\n context = context || {};\n\n this.setClient(context.client);\n }\n\n // -----------------------------------------------------------------------------------\n\n setClient(input?: Client | RequestBaseOptions) {\n this.client = isClient(input) ?\n input :\n createClient(input);\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Analysis } from '@privateaim/core/src';\nimport type { BuildInput } from 'rapiq';\nimport { buildQuery } from 'rapiq';\nimport { nullifyEmptyObjectProperties } from '@privateaim/core';\nimport type { CollectionResourceResponse, SingleResourceResponse } from '@privateaim/core';\nimport { BaseAPI } from '../base';\nimport type { BucketFile } from '../bucket-file';\nimport type { Bucket } from './entity';\n\nexport class BucketAPI extends BaseAPI {\n async getMany(record?: BuildInput<Bucket>): Promise<CollectionResourceResponse<Bucket>> {\n const response = await this.client.get(`buckets${buildQuery(record)}`);\n return response.data;\n }\n\n async getOne(id: Bucket['id'], requestRecord?: BuildInput<Bucket>): Promise<SingleResourceResponse<Bucket>> {\n const response = await this.client.get(`buckets/${id}${buildQuery(requestRecord)}`);\n\n return response.data;\n }\n\n async create(data: Record<string, any>): Promise<SingleResourceResponse<Bucket>> {\n const response = await this.client.post('buckets', nullifyEmptyObjectProperties(data));\n\n return response.data;\n }\n\n async delete(id: Bucket['id']): Promise<SingleResourceResponse<Bucket>> {\n const response = await this.client.delete(`buckets/${id}`);\n return response.data;\n }\n\n async update(id: Bucket['id'], data: Record<string, any>): Promise<SingleResourceResponse<Bucket>> {\n const response = await this.client.post(`buckets/${id}`, nullifyEmptyObjectProperties(data));\n return response.data;\n }\n\n async upload(id: Bucket['id'], formData: FormData): Promise<CollectionResourceResponse<BucketFile>> {\n const response = await this.client.post(`buckets/${id}/upload`, formData, {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n });\n\n return response.data;\n }\n\n getStreamPath(id: Analysis['id']): string {\n return `buckets/${id}/stream`;\n }\n\n async stream(id: Bucket['id']) : Promise<ReadableStream<any>> {\n const response = await this.client.request({\n url: this.getStreamPath(id),\n responseType: 'stream',\n });\n\n return response.data;\n }\n}\n","/*\n * Copyright (c) 2021-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { BuildInput } from 'rapiq';\nimport { buildQuery } from 'rapiq';\nimport { nullifyEmptyObjectProperties } from '@privateaim/core';\nimport type { CollectionResourceResponse, SingleResourceResponse } from '@privateaim/core';\nimport type { BucketFile } from './entity';\nimport { BaseAPI } from '../base';\n\nexport class BucketFileAPI extends BaseAPI {\n async getMany(record?: BuildInput<BucketFile>): Promise<CollectionResourceResponse<BucketFile>> {\n const response = await this.client.get(`bucket-files${buildQuery(record)}`);\n return response.data;\n }\n\n async getOne(id: BucketFile['id'], requestRecord?: BuildInput<BucketFile>): Promise<SingleResourceResponse<BucketFile>> {\n const response = await this.client.get(`bucket-files/${id}${buildQuery(requestRecord)}`);\n\n return response.data;\n }\n\n async create(data: Record<string, any>): Promise<SingleResourceResponse<BucketFile>> {\n const response = await this.client.post('bucket-files', nullifyEmptyObjectProperties(data));\n\n return response.data;\n }\n\n async delete(id: BucketFile['id']): Promise<SingleResourceResponse<BucketFile>> {\n const response = await this.client.delete(`bucket-files/${id}`);\n return response.data;\n }\n\n async update(id: BucketFile['id'], data: Record<string, any>): Promise<SingleResourceResponse<BucketFile>> {\n const response = await this.client.post(`bucket-files/${id}`, nullifyEmptyObjectProperties(data));\n return response.data;\n }\n\n getStreamPath(id: BucketFile['id']): string {\n return `bucket-files/${id}/stream`;\n }\n\n getStreamURL(id: BucketFile['id']) : string {\n return new URL(this.getStreamPath(id), this.client.getBaseURL()).href;\n }\n\n async stream(id: BucketFile['id']) : Promise<ReadableStream<any>> {\n const response = await this.client.request({\n url: this.getStreamPath(id),\n responseType: 'stream',\n });\n\n return response.data;\n }\n}\n","/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { RequestBaseOptions } from 'hapic';\nimport { Client, HookName, isClientError } from 'hapic';\nimport {\n BucketAPI,\n BucketFileAPI,\n} from '../../domains';\n\nexport class APIClient extends Client {\n public readonly bucket : BucketAPI;\n\n public readonly bucketFile : BucketFileAPI;\n\n constructor(config: RequestBaseOptions) {\n super(config);\n\n this.bucket = new BucketAPI({ client: this });\n this.bucketFile = new BucketFileAPI({ client: this });\n\n this.on(HookName.RESPONSE_ERROR, ((error) => {\n if (\n isClientError(error) &&\n error.response &&\n error.response.data &&\n typeof error.response.data.message === 'string'\n ) {\n error.message = error.response.data.message;\n }\n\n throw error;\n }));\n }\n}\n"],"names":["_define_property","BaseAPI","setClient","input","client","isClient","createClient","constructor","context","asyncGeneratorStep","BucketAPI","getMany","record","_async_to_generator","response","get","buildQuery","data","getOne","id","requestRecord","create","post","nullifyEmptyObjectProperties","delete","update","upload","formData","headers","getStreamPath","stream","request","url","responseType","BucketFileAPI","getStreamURL","URL","getBaseURL","href","APIClient","Client","config","bucket","bucketFile","on","HookName","RESPONSE_ERROR","error","isClientError","message"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@privateaim/storage-kit",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "license": "Apache-2.0",
5
5
  "description": "",
6
6
  "exports": {
@@ -20,15 +20,15 @@
20
20
  "url": "https://github.com/tada5hi"
21
21
  },
22
22
  "devDependencies": {
23
- "@authup/core": "^1.0.0-beta.7",
24
- "@privateaim/core": "^0.3.0",
25
- "hapic": "^2.5.0",
23
+ "@authup/core-kit": "^1.0.0-beta.13",
24
+ "@privateaim/core": "^0.4.0",
25
+ "hapic": "^2.5.1",
26
26
  "rapiq": "^0.9.0"
27
27
  },
28
28
  "peerDependencies": {
29
- "@authup/core": "^1.0.0-beta.7",
30
- "@privateaim/core": "^0.3.0",
31
- "hapic": "^2.5.0",
29
+ "@authup/core-kit": "^1.0.0-beta.13",
30
+ "@privateaim/core": "^0.4.0",
31
+ "hapic": "^2.5.1",
32
32
  "rapiq": "^0.9.0"
33
33
  },
34
34
  "scripts": {
@@ -43,7 +43,7 @@ export class BucketAPI extends BaseAPI {
43
43
  }
44
44
 
45
45
  async upload(id: Bucket['id'], formData: FormData): Promise<CollectionResourceResponse<BucketFile>> {
46
- const response = await this.client.post(`buckets/${id}`, formData, {
46
+ const response = await this.client.post(`buckets/${id}/upload`, formData, {
47
47
  headers: {
48
48
  'Content-Type': 'multipart/form-data',
49
49
  },
@@ -5,7 +5,7 @@
5
5
  * view the LICENSE file that was distributed with this source code.
6
6
  */
7
7
 
8
- import type { Realm } from '@authup/core';
8
+ import type { Realm } from '@authup/core-kit';
9
9
 
10
10
  export interface Bucket {
11
11
  id: string;
@@ -5,7 +5,6 @@
5
5
  * view the LICENSE file that was distributed with this source code.
6
6
  */
7
7
 
8
- import type { Analysis } from '@privateaim/core/src';
9
8
  import type { BuildInput } from 'rapiq';
10
9
  import { buildQuery } from 'rapiq';
11
10
  import { nullifyEmptyObjectProperties } from '@privateaim/core';
@@ -41,10 +40,14 @@ export class BucketFileAPI extends BaseAPI {
41
40
  return response.data;
42
41
  }
43
42
 
44
- getStreamPath(id: Analysis['id']): string {
43
+ getStreamPath(id: BucketFile['id']): string {
45
44
  return `bucket-files/${id}/stream`;
46
45
  }
47
46
 
47
+ getStreamURL(id: BucketFile['id']) : string {
48
+ return new URL(this.getStreamPath(id), this.client.getBaseURL()).href;
49
+ }
50
+
48
51
  async stream(id: BucketFile['id']) : Promise<ReadableStream<any>> {
49
52
  const response = await this.client.request({
50
53
  url: this.getStreamPath(id),
@@ -5,7 +5,7 @@
5
5
  * view the LICENSE file that was distributed with this source code.
6
6
  */
7
7
 
8
- import type { Realm } from '@authup/core';
8
+ import type { Realm } from '@authup/core-kit';
9
9
  import type { Bucket } from '../bucket';
10
10
 
11
11
  export interface BucketFile {