@opra/client 0.4.0 → 0.5.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/cjs/client-request.js +48 -0
- package/cjs/client.js +111 -68
- package/cjs/index.js +13 -3
- package/cjs/requests/batch-request.js +136 -0
- package/cjs/requests/collection-create-request.js +28 -15
- package/cjs/requests/collection-delete-many-request.js +21 -7
- package/cjs/requests/collection-delete-request.js +29 -0
- package/cjs/requests/collection-get-request.js +28 -15
- package/cjs/requests/collection-search-request.js +38 -40
- package/cjs/requests/collection-update-many-request.js +24 -7
- package/cjs/requests/collection-update-request.js +31 -15
- package/cjs/requests/singleton-get-request.js +25 -15
- package/cjs/services/collection-node.js +42 -0
- package/cjs/services/singleton-node.js +18 -0
- package/cjs/types.js +0 -9
- package/esm/client-request.d.ts +17 -0
- package/esm/client-request.js +44 -0
- package/esm/client.d.ts +27 -18
- package/esm/client.js +112 -69
- package/esm/index.d.ts +13 -3
- package/esm/index.js +13 -3
- package/esm/requests/batch-request.d.ts +19 -0
- package/esm/requests/batch-request.js +131 -0
- package/esm/requests/collection-create-request.d.ts +12 -7
- package/esm/requests/collection-create-request.js +28 -15
- package/esm/requests/collection-delete-many-request.d.ts +11 -6
- package/esm/requests/collection-delete-many-request.js +21 -7
- package/esm/requests/collection-delete-request.d.ts +13 -0
- package/esm/requests/collection-delete-request.js +25 -0
- package/esm/requests/collection-get-request.d.ts +12 -7
- package/esm/requests/collection-get-request.js +28 -15
- package/esm/requests/collection-search-request.d.ts +11 -14
- package/esm/requests/collection-search-request.js +38 -40
- package/esm/requests/collection-update-many-request.d.ts +12 -6
- package/esm/requests/collection-update-many-request.js +24 -7
- package/esm/requests/collection-update-request.d.ts +13 -7
- package/esm/requests/collection-update-request.js +31 -15
- package/esm/requests/singleton-get-request.d.ts +11 -7
- package/esm/requests/singleton-get-request.js +25 -15
- package/esm/services/collection-node.d.ts +24 -0
- package/esm/services/collection-node.js +38 -0
- package/esm/services/singleton-node.d.ts +12 -0
- package/esm/services/singleton-node.js +14 -0
- package/esm/types.d.ts +33 -6
- package/esm/types.js +0 -9
- package/package.json +13 -6
- package/cjs/observable-promise.js +0 -10
- package/cjs/response.js +0 -2
- package/cjs/services/collection-service.js +0 -192
- package/cjs/services/singleton-service.js +0 -43
- package/esm/observable-promise.d.ts +0 -2
- package/esm/observable-promise.js +0 -6
- package/esm/response.d.ts +0 -9
- package/esm/response.js +0 -1
- package/esm/services/collection-service.d.ts +0 -31
- package/esm/services/collection-service.js +0 -188
- package/esm/services/singleton-service.d.ts +0 -14
- package/esm/services/singleton-service.js +0 -39
|
@@ -1,18 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { OpraURL } from '@opra/url';
|
|
2
|
+
import { OpraClientRequest } from '../client-request.js';
|
|
3
|
+
export class CollectionUpdateRequest extends OpraClientRequest {
|
|
4
|
+
client;
|
|
5
|
+
resource;
|
|
6
|
+
keyValue;
|
|
7
|
+
data;
|
|
8
|
+
options;
|
|
9
|
+
constructor(client, send, resource, keyValue, data, options = {}) {
|
|
10
|
+
super(client, send, options);
|
|
11
|
+
this.client = client;
|
|
12
|
+
this.resource = resource;
|
|
13
|
+
this.keyValue = keyValue;
|
|
14
|
+
this.data = data;
|
|
15
|
+
this.options = options;
|
|
5
16
|
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return
|
|
17
|
+
prepare() {
|
|
18
|
+
const url = new OpraURL(this.client.serviceUrl);
|
|
19
|
+
url.path.join(this.resource.name);
|
|
20
|
+
url.path.get(url.path.size - 1).key = this.keyValue;
|
|
21
|
+
if (this.options.include)
|
|
22
|
+
url.searchParams.set('$include', this.options.include);
|
|
23
|
+
if (this.options.pick)
|
|
24
|
+
url.searchParams.set('$pick', this.options.pick);
|
|
25
|
+
if (this.options.omit)
|
|
26
|
+
url.searchParams.set('$omit', this.options.omit);
|
|
27
|
+
return {
|
|
28
|
+
method: 'PATCH',
|
|
29
|
+
url: url.address,
|
|
30
|
+
data: this.data,
|
|
31
|
+
params: url.searchParams
|
|
32
|
+
};
|
|
17
33
|
}
|
|
18
34
|
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { AxiosRequestConfig } from 'axios';
|
|
2
|
+
import { SingletonGetQueryOptions, SingletonResourceInfo } from '@opra/schema';
|
|
3
|
+
import type { OpraClient } from '../client.js';
|
|
4
|
+
import { OpraClientRequest } from '../client-request.js';
|
|
5
|
+
import { ClientResponse, CommonQueryOptions } from '../types.js';
|
|
6
|
+
export declare class SingletonGetRequest<T, TResponse extends ClientResponse<T>> extends OpraClientRequest<T, TResponse> {
|
|
7
|
+
readonly client: OpraClient;
|
|
8
|
+
readonly resource: SingletonResourceInfo;
|
|
9
|
+
options: SingletonGetQueryOptions & CommonQueryOptions;
|
|
10
|
+
constructor(client: OpraClient, send: (req: AxiosRequestConfig) => Promise<TResponse>, resource: SingletonResourceInfo, options?: SingletonGetQueryOptions & CommonQueryOptions);
|
|
11
|
+
prepare(): AxiosRequestConfig;
|
|
8
12
|
}
|
|
@@ -1,18 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { OpraURL } from '@opra/url';
|
|
2
|
+
import { OpraClientRequest } from '../client-request.js';
|
|
3
|
+
export class SingletonGetRequest extends OpraClientRequest {
|
|
4
|
+
client;
|
|
5
|
+
resource;
|
|
6
|
+
options;
|
|
7
|
+
constructor(client, send, resource, options = {}) {
|
|
8
|
+
super(client, send, options);
|
|
9
|
+
this.client = client;
|
|
10
|
+
this.resource = resource;
|
|
11
|
+
this.options = options;
|
|
5
12
|
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
this.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
prepare() {
|
|
14
|
+
const url = new OpraURL(this.client.serviceUrl);
|
|
15
|
+
url.path.join(this.resource.name);
|
|
16
|
+
if (this.options.include)
|
|
17
|
+
url.searchParams.set('$include', this.options.include);
|
|
18
|
+
if (this.options.pick)
|
|
19
|
+
url.searchParams.set('$pick', this.options.pick);
|
|
20
|
+
if (this.options.omit)
|
|
21
|
+
url.searchParams.set('$omit', this.options.omit);
|
|
22
|
+
return {
|
|
23
|
+
method: 'GET',
|
|
24
|
+
url: url.address,
|
|
25
|
+
params: url.searchParams
|
|
26
|
+
};
|
|
17
27
|
}
|
|
18
28
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { AxiosRequestConfig } from 'axios';
|
|
2
|
+
import type { CollectionCreateQueryOptions, CollectionDeleteManyQueryOptions, CollectionGetQueryOptions, CollectionResourceInfo, CollectionSearchQueryOptions, CollectionUpdateManyQueryOptions, CollectionUpdateQueryOptions } from '@opra/schema';
|
|
3
|
+
import type { OpraClient } from '../client.js';
|
|
4
|
+
import { CollectionCreateRequest } from '../requests/collection-create-request.js';
|
|
5
|
+
import { CollectionDeleteManyRequest } from '../requests/collection-delete-many-request.js';
|
|
6
|
+
import { CollectionDeleteRequest } from '../requests/collection-delete-request.js';
|
|
7
|
+
import { CollectionGetRequest } from '../requests/collection-get-request.js';
|
|
8
|
+
import { CollectionSearchRequest } from '../requests/collection-search-request.js';
|
|
9
|
+
import { CollectionUpdateManyRequest } from '../requests/collection-update-many-request.js';
|
|
10
|
+
import { CollectionUpdateRequest } from '../requests/collection-update-request.js';
|
|
11
|
+
import { ClientResponse, CommonQueryOptions, PartialInput } from '../types.js';
|
|
12
|
+
export declare class CollectionNode<T, TResponse extends ClientResponse<T>> {
|
|
13
|
+
readonly client: OpraClient;
|
|
14
|
+
readonly resource: CollectionResourceInfo;
|
|
15
|
+
protected _send: (req: AxiosRequestConfig) => Promise<TResponse>;
|
|
16
|
+
constructor(client: OpraClient, resource: CollectionResourceInfo, _send: (req: AxiosRequestConfig) => Promise<TResponse>);
|
|
17
|
+
create(data: PartialInput<T>, options?: CollectionCreateQueryOptions & CommonQueryOptions): CollectionCreateRequest<T, TResponse>;
|
|
18
|
+
delete(keyValue: any, options?: CommonQueryOptions): CollectionDeleteRequest<T, TResponse>;
|
|
19
|
+
deleteMany(options?: CollectionDeleteManyQueryOptions & CommonQueryOptions): CollectionDeleteManyRequest<T, TResponse>;
|
|
20
|
+
get(keyValue: any, options?: CollectionGetQueryOptions & CommonQueryOptions): CollectionGetRequest<T, TResponse>;
|
|
21
|
+
search(options?: CollectionSearchQueryOptions & CommonQueryOptions): CollectionSearchRequest<T, TResponse>;
|
|
22
|
+
update(keyValue: any, data: PartialInput<T>, options?: CollectionUpdateQueryOptions & CommonQueryOptions): CollectionUpdateRequest<T, TResponse>;
|
|
23
|
+
updateMany(data: PartialInput<T>, options?: CollectionUpdateManyQueryOptions & CommonQueryOptions): CollectionUpdateManyRequest<T, TResponse>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CollectionCreateRequest } from '../requests/collection-create-request.js';
|
|
2
|
+
import { CollectionDeleteManyRequest } from '../requests/collection-delete-many-request.js';
|
|
3
|
+
import { CollectionDeleteRequest } from '../requests/collection-delete-request.js';
|
|
4
|
+
import { CollectionGetRequest } from '../requests/collection-get-request.js';
|
|
5
|
+
import { CollectionSearchRequest } from '../requests/collection-search-request.js';
|
|
6
|
+
import { CollectionUpdateManyRequest } from '../requests/collection-update-many-request.js';
|
|
7
|
+
import { CollectionUpdateRequest } from '../requests/collection-update-request.js';
|
|
8
|
+
export class CollectionNode {
|
|
9
|
+
client;
|
|
10
|
+
resource;
|
|
11
|
+
_send;
|
|
12
|
+
constructor(client, resource, _send) {
|
|
13
|
+
this.client = client;
|
|
14
|
+
this.resource = resource;
|
|
15
|
+
this._send = _send;
|
|
16
|
+
}
|
|
17
|
+
create(data, options) {
|
|
18
|
+
return new CollectionCreateRequest(this.client, this._send, this.resource, data, options);
|
|
19
|
+
}
|
|
20
|
+
delete(keyValue, options) {
|
|
21
|
+
return new CollectionDeleteRequest(this.client, this._send, this.resource, keyValue, options);
|
|
22
|
+
}
|
|
23
|
+
deleteMany(options) {
|
|
24
|
+
return new CollectionDeleteManyRequest(this.client, this._send, this.resource, options);
|
|
25
|
+
}
|
|
26
|
+
get(keyValue, options) {
|
|
27
|
+
return new CollectionGetRequest(this.client, this._send, this.resource, keyValue, options);
|
|
28
|
+
}
|
|
29
|
+
search(options) {
|
|
30
|
+
return new CollectionSearchRequest(this.client, this._send, this.resource, options);
|
|
31
|
+
}
|
|
32
|
+
update(keyValue, data, options) {
|
|
33
|
+
return new CollectionUpdateRequest(this.client, this._send, this.resource, keyValue, data, options);
|
|
34
|
+
}
|
|
35
|
+
updateMany(data, options) {
|
|
36
|
+
return new CollectionUpdateManyRequest(this.client, this._send, this.resource, data, options);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AxiosRequestConfig } from 'axios';
|
|
2
|
+
import { SingletonGetQueryOptions, SingletonResourceInfo } from '@opra/schema';
|
|
3
|
+
import type { OpraClient } from '../client.js';
|
|
4
|
+
import { SingletonGetRequest } from '../requests/singleton-get-request.js';
|
|
5
|
+
import { ClientResponse } from '../types.js';
|
|
6
|
+
export declare class SingletonNode<T, TResponse extends ClientResponse<T>> {
|
|
7
|
+
readonly client: OpraClient;
|
|
8
|
+
readonly resource: SingletonResourceInfo;
|
|
9
|
+
protected _send: (req: AxiosRequestConfig) => Promise<TResponse>;
|
|
10
|
+
constructor(client: OpraClient, resource: SingletonResourceInfo, _send: (req: AxiosRequestConfig) => Promise<TResponse>);
|
|
11
|
+
get(options?: SingletonGetQueryOptions): SingletonGetRequest<T, TResponse>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SingletonGetRequest } from '../requests/singleton-get-request.js';
|
|
2
|
+
export class SingletonNode {
|
|
3
|
+
client;
|
|
4
|
+
resource;
|
|
5
|
+
_send;
|
|
6
|
+
constructor(client, resource, _send) {
|
|
7
|
+
this.client = client;
|
|
8
|
+
this.resource = resource;
|
|
9
|
+
this._send = _send;
|
|
10
|
+
}
|
|
11
|
+
get(options) {
|
|
12
|
+
return new SingletonGetRequest(this.client, this._send, this.resource, options);
|
|
13
|
+
}
|
|
14
|
+
}
|
package/esm/types.d.ts
CHANGED
|
@@ -1,10 +1,37 @@
|
|
|
1
|
-
import { AxiosRequestConfig } from 'axios';
|
|
2
|
-
import {
|
|
3
|
-
export declare type ObservablePromiseLike<T> = Observable<T> & PromiseLike<T>;
|
|
1
|
+
import { AxiosAdapter, AxiosBasicCredentials, AxiosProxyConfig, AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
2
|
+
import { ResponsiveMap } from '@opra/common';
|
|
4
3
|
export { PartialInput, PartialOutput } from '@opra/common';
|
|
4
|
+
export { AxiosRequestConfig, AxiosResponse, AxiosProxyConfig, AxiosBasicCredentials };
|
|
5
|
+
export declare type ClientAdapter = AxiosAdapter;
|
|
5
6
|
export declare type ResponseHeaders = Partial<Record<string, string | string[]>>;
|
|
6
|
-
export declare type
|
|
7
|
+
export declare type MaxUploadRate = number;
|
|
8
|
+
export declare type MaxDownloadRate = number;
|
|
9
|
+
export declare type HttpRequestOptions = {
|
|
10
|
+
auth?: AxiosBasicCredentials;
|
|
7
11
|
headers?: Record<string, string>;
|
|
8
|
-
|
|
12
|
+
timeout?: number;
|
|
13
|
+
timeoutErrorMessage?: string;
|
|
14
|
+
xsrfCookieName?: string;
|
|
15
|
+
xsrfHeaderName?: string;
|
|
16
|
+
maxRedirects?: number;
|
|
17
|
+
maxRate?: number | [MaxUploadRate, MaxDownloadRate];
|
|
18
|
+
httpAgent?: any;
|
|
19
|
+
httpsAgent?: any;
|
|
20
|
+
proxy?: AxiosProxyConfig | false;
|
|
21
|
+
validateStatus?: ((status: number) => boolean) | null;
|
|
9
22
|
};
|
|
10
|
-
export declare type
|
|
23
|
+
export declare type CommonQueryOptions = {
|
|
24
|
+
http?: HttpRequestOptions;
|
|
25
|
+
};
|
|
26
|
+
export declare type ClientResponse<T = any> = {
|
|
27
|
+
status: number;
|
|
28
|
+
statusText: string;
|
|
29
|
+
rawHeaders: ResponseHeaders;
|
|
30
|
+
headers: ResponsiveMap<string, string | string[]>;
|
|
31
|
+
data?: T;
|
|
32
|
+
};
|
|
33
|
+
export declare type BatchClientResponse = (ClientResponse & {
|
|
34
|
+
id: string;
|
|
35
|
+
})[];
|
|
36
|
+
export interface OpraBatchRequestOptions {
|
|
37
|
+
}
|
package/esm/types.js
CHANGED
|
@@ -1,10 +1 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
// export type CollectionCreateRequestOptions = CollectionCreateQueryOptions & CommonRequestOptions;
|
|
3
|
-
// export type CollectionDeleteRequestOptions = CommonRequestOptions;
|
|
4
|
-
// export type CollectionDeleteManyRequestOptions = CollectionDeleteManyQueryOptions & CommonRequestOptions;
|
|
5
|
-
// export type CollectionGetRequestOptions = CollectionGetQueryOptions & CommonRequestOptions;
|
|
6
|
-
// export type CollectionUpdateRequestOptions = CollectionUpdateQueryOptions & CommonRequestOptions;
|
|
7
|
-
// export type CollectionUpdateManyRequestOptions = CollectionUpdateManyQueryOptions & CommonRequestOptions;
|
|
8
|
-
// export type CollectionSearchRequestOptions = CollectionSearchQueryOptions & CommonRequestOptions;
|
|
9
|
-
//
|
|
10
|
-
// export type SingletonGetRequestOptions = SingletonGetQueryOptions & CommonRequestOptions;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opra/client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Opra internationalization package",
|
|
5
5
|
"author": "Panates",
|
|
6
6
|
"license": "MIT",
|
|
@@ -26,16 +26,23 @@
|
|
|
26
26
|
"clean:cover": "rimraf ../../coverage/client"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@opra/url": "^0.
|
|
30
|
-
"@opra/exception": "^0.
|
|
31
|
-
"@opra/schema": "^0.
|
|
29
|
+
"@opra/url": "^0.5.0",
|
|
30
|
+
"@opra/exception": "^0.5.0",
|
|
31
|
+
"@opra/schema": "^0.5.0",
|
|
32
32
|
"axios": "^1.1.3",
|
|
33
|
+
"highland": "^2.13.5",
|
|
34
|
+
"power-tasks": "^1.5.0",
|
|
33
35
|
"putil-isplainobject": "^1.1.4",
|
|
34
36
|
"rxjs": "^7.5.7",
|
|
35
|
-
"ts-gems": "^2.3.0"
|
|
37
|
+
"ts-gems": "^2.3.0",
|
|
38
|
+
"uid": "^2.0.1"
|
|
36
39
|
},
|
|
37
40
|
"devDependencies": {
|
|
38
|
-
"@types/lodash": "^4.14.186"
|
|
41
|
+
"@types/lodash": "^4.14.186",
|
|
42
|
+
"@types/highland": "^2.12.14",
|
|
43
|
+
"axiosist": "^1.0.0",
|
|
44
|
+
"express": "^4.18.2",
|
|
45
|
+
"body-parser": "^1.20.1"
|
|
39
46
|
},
|
|
40
47
|
"type": "module",
|
|
41
48
|
"types": "esm/index.d.ts",
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.observablePromise = void 0;
|
|
4
|
-
const rxjs_1 = require("rxjs");
|
|
5
|
-
function observablePromise(promise) {
|
|
6
|
-
const observable = (0, rxjs_1.from)(promise);
|
|
7
|
-
observable.then = (...args) => promise.then(...args);
|
|
8
|
-
return observable;
|
|
9
|
-
}
|
|
10
|
-
exports.observablePromise = observablePromise;
|
package/cjs/response.js
DELETED
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CollectionService = void 0;
|
|
4
|
-
const url_1 = require("@opra/url");
|
|
5
|
-
const observable_promise_js_1 = require("../observable-promise.js");
|
|
6
|
-
const collection_create_request_js_1 = require("../requests/collection-create-request.js");
|
|
7
|
-
const collection_delete_many_request_js_1 = require("../requests/collection-delete-many-request.js");
|
|
8
|
-
const collection_get_request_js_1 = require("../requests/collection-get-request.js");
|
|
9
|
-
const collection_search_request_js_1 = require("../requests/collection-search-request.js");
|
|
10
|
-
const collection_update_many_request_js_1 = require("../requests/collection-update-many-request.js");
|
|
11
|
-
const collection_update_request_js_1 = require("../requests/collection-update-request.js");
|
|
12
|
-
class CollectionService {
|
|
13
|
-
_serviceUrl;
|
|
14
|
-
_document;
|
|
15
|
-
_handler;
|
|
16
|
-
_resource;
|
|
17
|
-
constructor(_serviceUrl, _document, _handler, _resource) {
|
|
18
|
-
this._serviceUrl = _serviceUrl;
|
|
19
|
-
this._document = _document;
|
|
20
|
-
this._handler = _handler;
|
|
21
|
-
this._resource = _resource;
|
|
22
|
-
}
|
|
23
|
-
create(data, options) {
|
|
24
|
-
const requestOptions = options && typeof options === 'object' ? options : {};
|
|
25
|
-
const requestWrapper = new collection_create_request_js_1.CollectionCreateRequest(requestOptions);
|
|
26
|
-
if (typeof options === 'function')
|
|
27
|
-
options(requestWrapper);
|
|
28
|
-
const req = this._prepareCreateRequest(data, requestOptions);
|
|
29
|
-
const promise = this._handler(req);
|
|
30
|
-
return (0, observable_promise_js_1.observablePromise)(promise);
|
|
31
|
-
}
|
|
32
|
-
delete(keyValue) {
|
|
33
|
-
const req = this._prepareDeleteRequest(keyValue);
|
|
34
|
-
const promise = this._handler(req);
|
|
35
|
-
return (0, observable_promise_js_1.observablePromise)(promise);
|
|
36
|
-
}
|
|
37
|
-
deleteMany(options) {
|
|
38
|
-
const requestOptions = options && typeof options === 'object' ? options : {};
|
|
39
|
-
const requestWrapper = new collection_delete_many_request_js_1.CollectionDeleteManyRequest(requestOptions);
|
|
40
|
-
if (typeof options === 'function')
|
|
41
|
-
options(requestWrapper);
|
|
42
|
-
const req = this._prepareDeleteManyRequest(requestOptions);
|
|
43
|
-
const promise = this._handler(req);
|
|
44
|
-
return (0, observable_promise_js_1.observablePromise)(promise);
|
|
45
|
-
}
|
|
46
|
-
get(keyValue, options) {
|
|
47
|
-
const requestOptions = options && typeof options === 'object' ? options : {};
|
|
48
|
-
const requestWrapper = new collection_get_request_js_1.CollectionGetRequest(requestOptions);
|
|
49
|
-
if (typeof options === 'function')
|
|
50
|
-
options(requestWrapper);
|
|
51
|
-
const req = this._prepareGetRequest(keyValue, requestOptions);
|
|
52
|
-
const promise = this._handler(req);
|
|
53
|
-
return (0, observable_promise_js_1.observablePromise)(promise);
|
|
54
|
-
}
|
|
55
|
-
search(options) {
|
|
56
|
-
const requestOptions = options && typeof options === 'object' ? options : {};
|
|
57
|
-
const requestWrapper = new collection_search_request_js_1.CollectionSearchRequest(requestOptions);
|
|
58
|
-
if (typeof options === 'function')
|
|
59
|
-
options(requestWrapper);
|
|
60
|
-
const req = this._prepareSearchRequest(requestOptions);
|
|
61
|
-
const promise = this._handler(req);
|
|
62
|
-
return (0, observable_promise_js_1.observablePromise)(promise);
|
|
63
|
-
}
|
|
64
|
-
update(keyValue, data, options) {
|
|
65
|
-
const requestOptions = options && typeof options === 'object' ? options : {};
|
|
66
|
-
const requestWrapper = new collection_update_request_js_1.CollectionUpdateRequest(requestOptions);
|
|
67
|
-
if (typeof options === 'function')
|
|
68
|
-
options(requestWrapper);
|
|
69
|
-
const req = this._prepareUpdateRequest(keyValue, data, requestOptions);
|
|
70
|
-
const promise = this._handler(req);
|
|
71
|
-
return (0, observable_promise_js_1.observablePromise)(promise);
|
|
72
|
-
}
|
|
73
|
-
updateMany(data, options) {
|
|
74
|
-
const requestOptions = options && typeof options === 'object' ? options : {};
|
|
75
|
-
const requestWrapper = new collection_update_many_request_js_1.CollectionUpdateManyRequest(requestOptions);
|
|
76
|
-
if (typeof options === 'function')
|
|
77
|
-
options(requestWrapper);
|
|
78
|
-
const req = this._prepareUpdateManyRequest(data, requestOptions);
|
|
79
|
-
const promise = this._handler(req);
|
|
80
|
-
return (0, observable_promise_js_1.observablePromise)(promise);
|
|
81
|
-
}
|
|
82
|
-
_prepareCreateRequest(data, options) {
|
|
83
|
-
const url = new url_1.OpraURL(this._serviceUrl);
|
|
84
|
-
url.path.join(this._resource.name);
|
|
85
|
-
if (options.include)
|
|
86
|
-
url.searchParams.set('$include', options.include);
|
|
87
|
-
if (options.pick)
|
|
88
|
-
url.searchParams.set('$pick', options.pick);
|
|
89
|
-
if (options.omit)
|
|
90
|
-
url.searchParams.set('$omit', options.omit);
|
|
91
|
-
return {
|
|
92
|
-
method: 'POST',
|
|
93
|
-
url: url.address,
|
|
94
|
-
data,
|
|
95
|
-
params: url.searchParams
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
_prepareDeleteRequest(keyValue) {
|
|
99
|
-
const url = new url_1.OpraURL(this._serviceUrl);
|
|
100
|
-
url.path.join(this._resource.name);
|
|
101
|
-
url.path.get(url.path.size - 1).key = keyValue;
|
|
102
|
-
return {
|
|
103
|
-
method: 'DELETE',
|
|
104
|
-
url: url.address,
|
|
105
|
-
params: url.searchParams
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
_prepareDeleteManyRequest(options) {
|
|
109
|
-
const url = new url_1.OpraURL(this._serviceUrl);
|
|
110
|
-
url.path.join(this._resource.name);
|
|
111
|
-
if (options.filter)
|
|
112
|
-
url.searchParams.set('$filter', options.filter);
|
|
113
|
-
return {
|
|
114
|
-
method: 'DELETE',
|
|
115
|
-
url: url.address,
|
|
116
|
-
params: url.searchParams
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
_prepareGetRequest(keyValue, options) {
|
|
120
|
-
const url = new url_1.OpraURL(this._serviceUrl);
|
|
121
|
-
url.path.join(this._resource.name);
|
|
122
|
-
url.path.get(url.path.size - 1).key = keyValue;
|
|
123
|
-
if (options.include)
|
|
124
|
-
url.searchParams.set('$include', options.include);
|
|
125
|
-
if (options.pick)
|
|
126
|
-
url.searchParams.set('$pick', options.pick);
|
|
127
|
-
if (options.omit)
|
|
128
|
-
url.searchParams.set('$omit', options.omit);
|
|
129
|
-
return {
|
|
130
|
-
method: 'GET',
|
|
131
|
-
url: url.address,
|
|
132
|
-
params: url.searchParams
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
_prepareSearchRequest(options) {
|
|
136
|
-
const url = new url_1.OpraURL(this._serviceUrl);
|
|
137
|
-
url.path.join(this._resource.name);
|
|
138
|
-
if (options.include)
|
|
139
|
-
url.searchParams.set('$include', options.include);
|
|
140
|
-
if (options.pick)
|
|
141
|
-
url.searchParams.set('$pick', options.pick);
|
|
142
|
-
if (options.omit)
|
|
143
|
-
url.searchParams.set('$omit', options.omit);
|
|
144
|
-
if (options.sort)
|
|
145
|
-
url.searchParams.set('$sort', options.sort);
|
|
146
|
-
if (options.filter)
|
|
147
|
-
url.searchParams.set('$filter', options.filter);
|
|
148
|
-
if (options.limit != null)
|
|
149
|
-
url.searchParams.set('$limit', options.limit);
|
|
150
|
-
if (options.skip != null)
|
|
151
|
-
url.searchParams.set('$skip', options.skip);
|
|
152
|
-
if (options.count != null)
|
|
153
|
-
url.searchParams.set('$count', options.count);
|
|
154
|
-
if (options.distinct != null)
|
|
155
|
-
url.searchParams.set('$distinct', options.distinct);
|
|
156
|
-
return {
|
|
157
|
-
method: 'GET',
|
|
158
|
-
url: url.address,
|
|
159
|
-
params: url.searchParams
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
_prepareUpdateRequest(keyValue, data, options) {
|
|
163
|
-
const url = new url_1.OpraURL(this._serviceUrl);
|
|
164
|
-
url.path.join(this._resource.name);
|
|
165
|
-
url.path.get(url.path.size - 1).key = keyValue;
|
|
166
|
-
if (options.include)
|
|
167
|
-
url.searchParams.set('$include', options.include);
|
|
168
|
-
if (options.pick)
|
|
169
|
-
url.searchParams.set('$pick', options.pick);
|
|
170
|
-
if (options.omit)
|
|
171
|
-
url.searchParams.set('$omit', options.omit);
|
|
172
|
-
return {
|
|
173
|
-
method: 'PATCH',
|
|
174
|
-
url: url.address,
|
|
175
|
-
data,
|
|
176
|
-
params: url.searchParams
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
_prepareUpdateManyRequest(data, options) {
|
|
180
|
-
const url = new url_1.OpraURL(this._serviceUrl);
|
|
181
|
-
url.path.join(this._resource.name);
|
|
182
|
-
if (options.filter)
|
|
183
|
-
url.searchParams.set('$filter', options.filter);
|
|
184
|
-
return {
|
|
185
|
-
method: 'PATCH',
|
|
186
|
-
url: url.address,
|
|
187
|
-
data,
|
|
188
|
-
params: url.searchParams
|
|
189
|
-
};
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
exports.CollectionService = CollectionService;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SingletonService = void 0;
|
|
4
|
-
const url_1 = require("@opra/url");
|
|
5
|
-
const observable_promise_js_1 = require("../observable-promise.js");
|
|
6
|
-
const singleton_get_request_js_1 = require("../requests/singleton-get-request.js");
|
|
7
|
-
class SingletonService {
|
|
8
|
-
_serviceUrl;
|
|
9
|
-
_document;
|
|
10
|
-
_handler;
|
|
11
|
-
_resource;
|
|
12
|
-
constructor(_serviceUrl, _document, _handler, _resource) {
|
|
13
|
-
this._serviceUrl = _serviceUrl;
|
|
14
|
-
this._document = _document;
|
|
15
|
-
this._handler = _handler;
|
|
16
|
-
this._resource = _resource;
|
|
17
|
-
}
|
|
18
|
-
get(options) {
|
|
19
|
-
const requestOptions = options && typeof options === 'object' ? options : {};
|
|
20
|
-
const requestWrapper = new singleton_get_request_js_1.SingletonGetRequest(requestOptions);
|
|
21
|
-
if (typeof options === 'function')
|
|
22
|
-
options(requestWrapper);
|
|
23
|
-
const req = this._prepareGetRequest(requestOptions);
|
|
24
|
-
const promise = this._handler(req);
|
|
25
|
-
return (0, observable_promise_js_1.observablePromise)(promise);
|
|
26
|
-
}
|
|
27
|
-
_prepareGetRequest(options) {
|
|
28
|
-
const url = new url_1.OpraURL(this._serviceUrl);
|
|
29
|
-
url.path.join(this._resource.name);
|
|
30
|
-
if (options.include)
|
|
31
|
-
url.searchParams.set('$include', options.include);
|
|
32
|
-
if (options.pick)
|
|
33
|
-
url.searchParams.set('$pick', options.pick);
|
|
34
|
-
if (options.omit)
|
|
35
|
-
url.searchParams.set('$omit', options.omit);
|
|
36
|
-
return {
|
|
37
|
-
method: 'GET',
|
|
38
|
-
url: url.address,
|
|
39
|
-
params: url.searchParams
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
exports.SingletonService = SingletonService;
|
package/esm/response.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ResponsiveMap } from '@opra/common';
|
|
2
|
-
import { ResponseHeaders } from './types.js';
|
|
3
|
-
export declare type OpraResponse<T = any> = {
|
|
4
|
-
status: number;
|
|
5
|
-
statusText: string;
|
|
6
|
-
rawHeaders: ResponseHeaders;
|
|
7
|
-
headers: ResponsiveMap<string, string | string[]>;
|
|
8
|
-
data?: T;
|
|
9
|
-
};
|
package/esm/response.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { AxiosRequestConfig } from 'axios';
|
|
2
|
-
import { CollectionCreateQueryOptions, CollectionDeleteManyQueryOptions, CollectionGetQueryOptions, CollectionResourceInfo, CollectionSearchQueryOptions, CollectionUpdateManyQueryOptions, CollectionUpdateQueryOptions, OpraDocument } from '@opra/schema';
|
|
3
|
-
import { CollectionCreateRequest } from '../requests/collection-create-request.js';
|
|
4
|
-
import { CollectionDeleteManyRequest } from '../requests/collection-delete-many-request.js';
|
|
5
|
-
import { CollectionGetRequest } from '../requests/collection-get-request.js';
|
|
6
|
-
import { CollectionSearchRequest } from '../requests/collection-search-request.js';
|
|
7
|
-
import { CollectionUpdateManyRequest } from '../requests/collection-update-many-request.js';
|
|
8
|
-
import { CollectionUpdateRequest } from '../requests/collection-update-request.js';
|
|
9
|
-
import { OpraResponse } from '../response.js';
|
|
10
|
-
import { ObservablePromiseLike, PartialInput, RequestConfig } from '../types.js';
|
|
11
|
-
export declare class CollectionService<T, TResponse extends OpraResponse<T>> {
|
|
12
|
-
protected _serviceUrl: string;
|
|
13
|
-
protected _document: OpraDocument;
|
|
14
|
-
protected _handler: (req: AxiosRequestConfig) => Promise<any>;
|
|
15
|
-
protected _resource: CollectionResourceInfo;
|
|
16
|
-
constructor(_serviceUrl: string, _document: OpraDocument, _handler: (req: AxiosRequestConfig) => Promise<any>, _resource: CollectionResourceInfo);
|
|
17
|
-
create(data: PartialInput<T>, options?: CollectionCreateQueryOptions | ((req: CollectionCreateRequest) => void)): ObservablePromiseLike<TResponse>;
|
|
18
|
-
delete(keyValue: any): ObservablePromiseLike<TResponse>;
|
|
19
|
-
deleteMany(options?: CollectionDeleteManyQueryOptions | ((req: CollectionDeleteManyRequest) => void)): ObservablePromiseLike<TResponse>;
|
|
20
|
-
get(keyValue: any, options?: CollectionGetQueryOptions | ((req: CollectionGetRequest) => void)): ObservablePromiseLike<TResponse>;
|
|
21
|
-
search(options?: CollectionSearchQueryOptions | ((req: CollectionSearchRequest) => void)): ObservablePromiseLike<TResponse>;
|
|
22
|
-
update(keyValue: any, data: PartialInput<T>, options?: CollectionUpdateQueryOptions | ((req: CollectionUpdateRequest) => void)): ObservablePromiseLike<TResponse>;
|
|
23
|
-
updateMany(data: PartialInput<T>, options?: CollectionUpdateManyQueryOptions | ((req: CollectionUpdateManyRequest) => void)): ObservablePromiseLike<TResponse>;
|
|
24
|
-
protected _prepareCreateRequest(data: any, options: CollectionCreateQueryOptions): AxiosRequestConfig;
|
|
25
|
-
protected _prepareDeleteRequest(keyValue: any): AxiosRequestConfig;
|
|
26
|
-
protected _prepareDeleteManyRequest(options: CollectionDeleteManyQueryOptions): AxiosRequestConfig;
|
|
27
|
-
protected _prepareGetRequest(keyValue: any, options: CollectionGetQueryOptions): RequestConfig;
|
|
28
|
-
protected _prepareSearchRequest(options: CollectionSearchQueryOptions): AxiosRequestConfig;
|
|
29
|
-
protected _prepareUpdateRequest(keyValue: any, data: any, options: CollectionUpdateQueryOptions): RequestConfig;
|
|
30
|
-
protected _prepareUpdateManyRequest(data: any, options: CollectionUpdateManyQueryOptions): RequestConfig;
|
|
31
|
-
}
|