@opra/client 0.5.0 → 0.7.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.
Files changed (103) hide show
  1. package/cjs/constants.js +6 -0
  2. package/cjs/http/http-client.js +164 -0
  3. package/cjs/http/http-collection-service.js +40 -0
  4. package/cjs/http/http-request.js +66 -0
  5. package/cjs/http/http-response.js +2 -0
  6. package/cjs/http/http-singleton-service.js +16 -0
  7. package/cjs/http/http-types.js +2 -0
  8. package/cjs/http/requests/batch-request.js +80 -0
  9. package/cjs/http/requests/collection-create-request.js +35 -0
  10. package/cjs/http/requests/collection-delete-many-request.js +28 -0
  11. package/cjs/http/requests/collection-delete-request.js +29 -0
  12. package/cjs/http/requests/collection-get-request.js +37 -0
  13. package/cjs/http/requests/collection-search-request.js +44 -0
  14. package/cjs/http/requests/collection-update-many-request.js +31 -0
  15. package/cjs/http/requests/collection-update-request.js +40 -0
  16. package/cjs/http/requests/http-singleton-get-request.js +31 -0
  17. package/cjs/http/utils/merge-raw-http-requests.util.js +29 -0
  18. package/cjs/index.js +15 -13
  19. package/cjs/interfaces/http-options.interface.js +2 -0
  20. package/cjs/interfaces/http-request-config.interface.js +2 -0
  21. package/esm/client-error.d.ts +1 -1
  22. package/esm/constants.d.ts +3 -0
  23. package/esm/constants.js +3 -0
  24. package/esm/http/http-client.d.ts +26 -0
  25. package/esm/http/http-client.js +160 -0
  26. package/esm/http/http-collection-service.d.ts +22 -0
  27. package/esm/http/http-collection-service.js +36 -0
  28. package/esm/http/http-request.d.ts +25 -0
  29. package/esm/http/http-request.js +62 -0
  30. package/esm/http/http-response.d.ts +14 -0
  31. package/esm/http/http-response.js +1 -0
  32. package/esm/http/http-singleton-service.d.ts +10 -0
  33. package/esm/http/http-singleton-service.js +12 -0
  34. package/esm/http/http-types.d.ts +26 -0
  35. package/esm/http/http-types.js +1 -0
  36. package/esm/http/requests/batch-request.d.ts +18 -0
  37. package/esm/http/requests/batch-request.js +76 -0
  38. package/esm/http/requests/collection-create-request.d.ts +12 -0
  39. package/esm/http/requests/collection-create-request.js +31 -0
  40. package/esm/http/requests/collection-delete-many-request.d.ts +11 -0
  41. package/esm/http/requests/collection-delete-many-request.js +24 -0
  42. package/esm/http/requests/collection-delete-request.d.ts +12 -0
  43. package/esm/http/requests/collection-delete-request.js +25 -0
  44. package/esm/http/requests/collection-get-request.d.ts +12 -0
  45. package/esm/http/requests/collection-get-request.js +33 -0
  46. package/esm/http/requests/collection-search-request.d.ts +11 -0
  47. package/esm/http/requests/collection-search-request.js +40 -0
  48. package/esm/http/requests/collection-update-many-request.d.ts +12 -0
  49. package/esm/http/requests/collection-update-many-request.js +27 -0
  50. package/esm/http/requests/collection-update-request.d.ts +13 -0
  51. package/esm/http/requests/collection-update-request.js +36 -0
  52. package/esm/http/requests/http-singleton-get-request.d.ts +11 -0
  53. package/esm/http/requests/http-singleton-get-request.js +27 -0
  54. package/esm/http/utils/merge-raw-http-requests.util.d.ts +2 -0
  55. package/esm/http/utils/merge-raw-http-requests.util.js +25 -0
  56. package/esm/index.d.ts +15 -13
  57. package/esm/index.js +15 -13
  58. package/esm/interfaces/http-options.interface.d.ts +20 -0
  59. package/esm/interfaces/http-options.interface.js +1 -0
  60. package/esm/interfaces/http-request-config.interface.d.ts +23 -0
  61. package/esm/interfaces/http-request-config.interface.js +1 -0
  62. package/esm/types.d.ts +7 -37
  63. package/package.json +24 -22
  64. package/umd/opra-client.umd.min.js +1 -0
  65. package/cjs/client-request.js +0 -48
  66. package/cjs/client.js +0 -139
  67. package/cjs/requests/batch-request.js +0 -136
  68. package/cjs/requests/collection-create-request.js +0 -35
  69. package/cjs/requests/collection-delete-many-request.js +0 -28
  70. package/cjs/requests/collection-delete-request.js +0 -29
  71. package/cjs/requests/collection-get-request.js +0 -35
  72. package/cjs/requests/collection-search-request.js +0 -44
  73. package/cjs/requests/collection-update-many-request.js +0 -31
  74. package/cjs/requests/collection-update-request.js +0 -38
  75. package/cjs/requests/singleton-get-request.js +0 -32
  76. package/cjs/services/collection-node.js +0 -42
  77. package/cjs/services/singleton-node.js +0 -18
  78. package/esm/client-request.d.ts +0 -17
  79. package/esm/client-request.js +0 -44
  80. package/esm/client.d.ts +0 -34
  81. package/esm/client.js +0 -134
  82. package/esm/requests/batch-request.d.ts +0 -19
  83. package/esm/requests/batch-request.js +0 -131
  84. package/esm/requests/collection-create-request.d.ts +0 -13
  85. package/esm/requests/collection-create-request.js +0 -31
  86. package/esm/requests/collection-delete-many-request.d.ts +0 -12
  87. package/esm/requests/collection-delete-many-request.js +0 -24
  88. package/esm/requests/collection-delete-request.d.ts +0 -13
  89. package/esm/requests/collection-delete-request.js +0 -25
  90. package/esm/requests/collection-get-request.d.ts +0 -13
  91. package/esm/requests/collection-get-request.js +0 -31
  92. package/esm/requests/collection-search-request.d.ts +0 -12
  93. package/esm/requests/collection-search-request.js +0 -40
  94. package/esm/requests/collection-update-many-request.d.ts +0 -13
  95. package/esm/requests/collection-update-many-request.js +0 -27
  96. package/esm/requests/collection-update-request.d.ts +0 -14
  97. package/esm/requests/collection-update-request.js +0 -34
  98. package/esm/requests/singleton-get-request.d.ts +0 -12
  99. package/esm/requests/singleton-get-request.js +0 -28
  100. package/esm/services/collection-node.d.ts +0 -24
  101. package/esm/services/collection-node.js +0 -38
  102. package/esm/services/singleton-node.d.ts +0 -12
  103. package/esm/services/singleton-node.js +0 -14
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpraClientRequest = void 0;
4
- const rxjs_1 = require("rxjs");
5
- const uid_1 = require("uid");
6
- const common_1 = require("@opra/common");
7
- class OpraClientRequest extends rxjs_1.Observable {
8
- client;
9
- _send;
10
- options;
11
- id;
12
- _promise;
13
- constructor(client, _send, options = {}) {
14
- super((subscriber) => {
15
- this.execute().then(v => {
16
- subscriber.next(v);
17
- subscriber.complete();
18
- }).catch(e => subscriber.error(e));
19
- });
20
- this.client = client;
21
- this._send = _send;
22
- this.options = options;
23
- this.id = (0, uid_1.uid)(10);
24
- this.options = options;
25
- }
26
- async toPromise() {
27
- return this.execute();
28
- }
29
- async execute() {
30
- const promise = this._promise || (this._promise = this._execute());
31
- return await promise;
32
- }
33
- async _execute() {
34
- const req = this.prepare();
35
- const headers = this.options.http?.headers
36
- ? new common_1.HeadersMap({ ...req.headers, ...this.options.http.headers }).toObject()
37
- : req.headers;
38
- return this._send({
39
- ...this.options.http,
40
- ...req,
41
- headers
42
- });
43
- }
44
- binding() {
45
- return {};
46
- }
47
- }
48
- exports.OpraClientRequest = OpraClientRequest;
package/cjs/client.js DELETED
@@ -1,139 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OpraClient = void 0;
4
- const tslib_1 = require("tslib");
5
- const axios_1 = tslib_1.__importDefault(require("axios"));
6
- const power_tasks_1 = require("power-tasks");
7
- const common_1 = require("@opra/common");
8
- const schema_1 = require("@opra/schema");
9
- const url_1 = require("@opra/url");
10
- const client_error_js_1 = require("./client-error.js");
11
- const batch_request_js_1 = require("./requests/batch-request.js");
12
- const collection_node_js_1 = require("./services/collection-node.js");
13
- const singleton_node_js_1 = require("./services/singleton-node.js");
14
- const documentCache = new Map();
15
- const documentCacheResolvers = new Map();
16
- class OpraClient {
17
- _axios;
18
- _metadata;
19
- _taskQueue;
20
- constructor(serviceUrl, arg1, arg2) {
21
- let options;
22
- if (arg1 instanceof schema_1.OpraDocument) {
23
- this._metadata = arg1;
24
- options = arg2;
25
- }
26
- else
27
- options = arg1 || arg2;
28
- this._taskQueue = new power_tasks_1.TaskQueue({
29
- maxQueue: options?.maxQueue,
30
- concurrency: options?.concurrency
31
- });
32
- this._axios = axios_1.default.create();
33
- this._axios.defaults.baseURL = (0, url_1.normalizePath)(serviceUrl);
34
- this._axios.defaults.adapter = options?.adapter;
35
- if (options?.defaults?.headers)
36
- this._axios.defaults.headers.common = options.defaults.headers;
37
- this._axios.defaults.auth = options?.defaults?.auth;
38
- this._axios.defaults.timeout = options?.defaults?.timeout;
39
- this._axios.defaults.timeoutErrorMessage = options?.defaults?.timeoutErrorMessage;
40
- this._axios.defaults.xsrfCookieName = options?.defaults?.xsrfCookieName;
41
- this._axios.defaults.xsrfHeaderName = options?.defaults?.xsrfHeaderName;
42
- this._axios.defaults.maxRedirects = options?.defaults?.maxRedirects;
43
- this._axios.defaults.maxRate = options?.defaults?.maxRate;
44
- this._axios.defaults.httpAgent = options?.defaults?.httpAgent;
45
- this._axios.defaults.httpsAgent = options?.defaults?.httpsAgent;
46
- this._axios.defaults.proxy = options?.defaults?.proxy;
47
- this._axios.defaults.validateStatus = options?.defaults?.validateStatus;
48
- const document = documentCache.get(serviceUrl.toLowerCase());
49
- if (document)
50
- this._metadata = document;
51
- }
52
- get requestInterceptors() {
53
- return this._axios.interceptors.request;
54
- }
55
- get responseInterceptors() {
56
- return this._axios.interceptors.response;
57
- }
58
- get serviceUrl() {
59
- return this._axios.defaults.baseURL || '';
60
- }
61
- get initialized() {
62
- return !!this._metadata;
63
- }
64
- get metadata() {
65
- this._assertMetadata();
66
- return this._metadata;
67
- }
68
- async init() {
69
- let promise = documentCacheResolvers.get(this.serviceUrl.toLowerCase());
70
- if (promise) {
71
- await promise;
72
- return;
73
- }
74
- promise = this._send({
75
- method: 'GET',
76
- url: '/$metadata',
77
- });
78
- documentCacheResolvers.set(this.serviceUrl.toLowerCase(), promise);
79
- try {
80
- const resp = await promise;
81
- this._metadata = new schema_1.OpraDocument(resp.data);
82
- }
83
- finally {
84
- documentCacheResolvers.delete(this.serviceUrl.toLowerCase());
85
- }
86
- }
87
- batch(requests) {
88
- this._assertMetadata();
89
- return new batch_request_js_1.BatchRequest(this, requests, req => this._send(req));
90
- }
91
- collection(name) {
92
- this._assertMetadata();
93
- const resource = this.metadata.getCollectionResource(name);
94
- return new collection_node_js_1.CollectionNode(this, resource, req => this._send(req));
95
- }
96
- singleton(name) {
97
- this._assertMetadata();
98
- const resource = this.metadata.getSingletonResource(name);
99
- return new singleton_node_js_1.SingletonNode(this, resource, req => this._send(req));
100
- }
101
- async _send(req) {
102
- return this._taskQueue.enqueue(async () => {
103
- const resp = await this._axios.request({
104
- ...req,
105
- validateStatus: () => true
106
- });
107
- if ((resp.status >= 400 && resp.status < 600) &&
108
- (this._axios.defaults.validateStatus && !this._axios.defaults.validateStatus(resp.status))) {
109
- throw new client_error_js_1.ClientError({
110
- message: resp.status + ' ' + resp.statusText,
111
- status: resp.status,
112
- issues: resp.data.errors
113
- });
114
- }
115
- const rawHeaders = (typeof resp.headers.toJSON === 'function'
116
- ? resp.headers.toJSON()
117
- : { ...resp.headers });
118
- const headers = new common_1.ResponsiveMap(rawHeaders);
119
- return {
120
- status: resp.status,
121
- statusText: resp.statusText,
122
- data: resp.data,
123
- rawHeaders,
124
- headers
125
- };
126
- }).toPromise();
127
- }
128
- _assertMetadata() {
129
- if (!this._metadata)
130
- throw new Error('You must call init() to before using the client instance');
131
- }
132
- static async create(serviceUrl, options) {
133
- const client = new this(serviceUrl, options);
134
- if (!client._metadata)
135
- await client.init();
136
- return client;
137
- }
138
- }
139
- exports.OpraClient = OpraClient;
@@ -1,136 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BatchRequest = exports.CRLF = void 0;
4
- const tslib_1 = require("tslib");
5
- const highland_1 = tslib_1.__importDefault(require("highland"));
6
- const uid_1 = require("uid");
7
- const common_1 = require("@opra/common");
8
- const url_1 = require("@opra/url");
9
- const client_request_js_1 = require("../client-request.js");
10
- exports.CRLF = '\r\n';
11
- class BatchRequest// todo
12
- extends client_request_js_1.OpraClientRequest {
13
- client;
14
- requests;
15
- options;
16
- _results = new WeakMap();
17
- _listeners = new Set();
18
- constructor(client, requests, send, options = {}) {
19
- super(client, send, options);
20
- this.client = client;
21
- this.requests = requests;
22
- this.options = options;
23
- requests.forEach(request => {
24
- Object.defineProperty(request, '_execute', {
25
- writable: true,
26
- enumerable: false,
27
- configurable: true,
28
- value: () => {
29
- return new Promise((resolve, reject) => {
30
- const x = this._results.get(request);
31
- if (x) {
32
- if (x.error)
33
- return reject(x.error);
34
- return resolve(x.response);
35
- }
36
- const callback = (e, r) => {
37
- this._listeners.delete(callback);
38
- if (e)
39
- return reject(e);
40
- resolve(r);
41
- };
42
- this._listeners.add(callback);
43
- });
44
- }
45
- });
46
- });
47
- }
48
- prepare() {
49
- const { boundary, stream } = buildBatchStream(this);
50
- const headers = {
51
- 'Content-Type': 'multipart/mixed;boundary=' + boundary
52
- };
53
- const url = new url_1.OpraURL(this.client.serviceUrl);
54
- url.path.join('/$batch');
55
- return {
56
- method: 'POST',
57
- url: url.address,
58
- params: url.searchParams,
59
- headers,
60
- data: stream
61
- };
62
- }
63
- async _execute() {
64
- const req = this.prepare();
65
- return this._send(req);
66
- }
67
- }
68
- exports.BatchRequest = BatchRequest;
69
- function buildBatchStream(batch) {
70
- const chunks = [];
71
- let batchIndex = 0;
72
- let level = 0;
73
- const processBatch = (_batch) => {
74
- const boundary = `batch_${++batchIndex}_L${level}_${(0, uid_1.uid)(10)}`;
75
- for (const req of _batch.requests) {
76
- chunks.push('--' + boundary + exports.CRLF);
77
- if (req instanceof BatchRequest) {
78
- const contentHeaderIndex = chunks.push('');
79
- chunks.push('Content-Transfer-Encoding: binary' + exports.CRLF + exports.CRLF);
80
- level++;
81
- const subBoundary = processBatch(req);
82
- level--;
83
- processBatch[contentHeaderIndex] = 'Content-Type: multipart/mixed;boundary=' + subBoundary + exports.CRLF;
84
- continue;
85
- }
86
- const prepared = req.prepare();
87
- let s = 'Content-Type: application/http' + exports.CRLF +
88
- 'Content-Transfer-Encoding: binary' + exports.CRLF +
89
- 'Content-ID:' + req.id + exports.CRLF +
90
- exports.CRLF +
91
- (prepared.method || 'GET').toUpperCase() + ' ' + prepared.url + ' HTTP/1.1' + exports.CRLF;
92
- const headers = new common_1.HeadersMap(prepared.headers);
93
- let data;
94
- let contentType = '';
95
- if (prepared.data) {
96
- if (typeof prepared.data === 'string') {
97
- contentType = 'text/plain; charset=utf-8';
98
- data = prepared.data;
99
- }
100
- else if (highland_1.default.isStream(prepared.data) || Buffer.isBuffer(prepared.data)) {
101
- data = prepared.data;
102
- }
103
- else if (typeof prepared.data.stream === 'function') {
104
- contentType = prepared.data.type || 'binary';
105
- data = prepared.data.stream(); // File and Blob
106
- }
107
- else if (typeof prepared.data === 'object') {
108
- contentType = 'application/json; charset=utf-8';
109
- data = JSON.stringify(prepared.data);
110
- }
111
- else
112
- throw new TypeError(`Invalid data type ${typeof prepared.data}`);
113
- }
114
- if (contentType && !headers.has('Content-Type'))
115
- headers.set('Content-Type', contentType);
116
- headers.forEach((v, k) => {
117
- s += k + ': ' + (Array.isArray(v) ? v.join(';') : v) + exports.CRLF;
118
- });
119
- if (data) {
120
- if (typeof data === 'string')
121
- chunks.push(s + exports.CRLF + data + exports.CRLF + exports.CRLF);
122
- else {
123
- chunks.push(s + exports.CRLF);
124
- chunks.push(data);
125
- chunks.push(exports.CRLF + exports.CRLF);
126
- }
127
- }
128
- else
129
- chunks.push(s + exports.CRLF + exports.CRLF);
130
- }
131
- chunks.push('--' + boundary + '--' + exports.CRLF);
132
- return boundary;
133
- };
134
- const boundary = processBatch(batch);
135
- return { boundary, stream: (0, highland_1.default)(chunks).flatten() };
136
- }
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CollectionCreateRequest = void 0;
4
- const url_1 = require("@opra/url");
5
- const client_request_js_1 = require("../client-request.js");
6
- class CollectionCreateRequest extends client_request_js_1.OpraClientRequest {
7
- client;
8
- resource;
9
- data;
10
- options;
11
- constructor(client, send, resource, data, options = {}) {
12
- super(client, send, options);
13
- this.client = client;
14
- this.resource = resource;
15
- this.data = data;
16
- this.options = options;
17
- }
18
- prepare() {
19
- const url = new url_1.OpraURL(this.client.serviceUrl);
20
- url.path.join(this.resource.name);
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: 'POST',
29
- url: url.address,
30
- data: this.data,
31
- params: url.searchParams
32
- };
33
- }
34
- }
35
- exports.CollectionCreateRequest = CollectionCreateRequest;
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CollectionDeleteManyRequest = void 0;
4
- const url_1 = require("@opra/url");
5
- const client_request_js_1 = require("../client-request.js");
6
- class CollectionDeleteManyRequest extends client_request_js_1.OpraClientRequest {
7
- client;
8
- resource;
9
- options;
10
- constructor(client, send, resource, options = {}) {
11
- super(client, send, options);
12
- this.client = client;
13
- this.resource = resource;
14
- this.options = options;
15
- }
16
- prepare() {
17
- const url = new url_1.OpraURL(this.client.serviceUrl);
18
- url.path.join(this.resource.name);
19
- if (this.options.filter)
20
- url.searchParams.set('$filter', this.options.filter);
21
- return {
22
- method: 'DELETE',
23
- url: url.address,
24
- params: url.searchParams
25
- };
26
- }
27
- }
28
- exports.CollectionDeleteManyRequest = CollectionDeleteManyRequest;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CollectionDeleteRequest = void 0;
4
- const url_1 = require("@opra/url");
5
- const client_request_js_1 = require("../client-request.js");
6
- class CollectionDeleteRequest extends client_request_js_1.OpraClientRequest {
7
- client;
8
- resource;
9
- keyValue;
10
- options;
11
- constructor(client, send, resource, keyValue, options = {}) {
12
- super(client, send, options);
13
- this.client = client;
14
- this.resource = resource;
15
- this.keyValue = keyValue;
16
- this.options = options;
17
- }
18
- prepare() {
19
- const url = new url_1.OpraURL(this.client.serviceUrl);
20
- url.path.join(this.resource.name);
21
- url.path.get(url.path.size - 1).key = this.keyValue;
22
- return {
23
- method: 'DELETE',
24
- url: url.address,
25
- params: url.searchParams
26
- };
27
- }
28
- }
29
- exports.CollectionDeleteRequest = CollectionDeleteRequest;
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CollectionGetRequest = void 0;
4
- const url_1 = require("@opra/url");
5
- const client_request_js_1 = require("../client-request.js");
6
- class CollectionGetRequest extends client_request_js_1.OpraClientRequest {
7
- client;
8
- resource;
9
- keyValue;
10
- options;
11
- constructor(client, send, resource, keyValue, options = {}) {
12
- super(client, send, options);
13
- this.client = client;
14
- this.resource = resource;
15
- this.keyValue = keyValue;
16
- this.options = options;
17
- }
18
- prepare() {
19
- const url = new url_1.OpraURL(this.client.serviceUrl);
20
- url.path.join(this.resource.name);
21
- url.path.get(url.path.size - 1).key = this.keyValue;
22
- if (this.options.include)
23
- url.searchParams.set('$include', this.options.include);
24
- if (this.options.pick)
25
- url.searchParams.set('$pick', this.options.pick);
26
- if (this.options.omit)
27
- url.searchParams.set('$omit', this.options.omit);
28
- return {
29
- method: 'GET',
30
- url: url.address,
31
- params: url.searchParams
32
- };
33
- }
34
- }
35
- exports.CollectionGetRequest = CollectionGetRequest;
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CollectionSearchRequest = void 0;
4
- const url_1 = require("@opra/url");
5
- const client_request_js_1 = require("../client-request.js");
6
- class CollectionSearchRequest extends client_request_js_1.OpraClientRequest {
7
- client;
8
- resource;
9
- options;
10
- constructor(client, send, resource, options = {}) {
11
- super(client, send, options);
12
- this.client = client;
13
- this.resource = resource;
14
- this.options = options;
15
- }
16
- prepare() {
17
- const url = new url_1.OpraURL(this.client.serviceUrl);
18
- url.path.join(this.resource.name);
19
- if (this.options.include)
20
- url.searchParams.set('$include', this.options.include);
21
- if (this.options.pick)
22
- url.searchParams.set('$pick', this.options.pick);
23
- if (this.options.omit)
24
- url.searchParams.set('$omit', this.options.omit);
25
- if (this.options.sort)
26
- url.searchParams.set('$sort', this.options.sort);
27
- if (this.options.filter)
28
- url.searchParams.set('$filter', this.options.filter);
29
- if (this.options.limit != null)
30
- url.searchParams.set('$limit', this.options.limit);
31
- if (this.options.skip != null)
32
- url.searchParams.set('$skip', this.options.skip);
33
- if (this.options.count != null)
34
- url.searchParams.set('$count', this.options.count);
35
- if (this.options.distinct != null)
36
- url.searchParams.set('$distinct', this.options.distinct);
37
- return {
38
- method: 'GET',
39
- url: url.address,
40
- params: url.searchParams
41
- };
42
- }
43
- }
44
- exports.CollectionSearchRequest = CollectionSearchRequest;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CollectionUpdateManyRequest = void 0;
4
- const url_1 = require("@opra/url");
5
- const client_request_js_1 = require("../client-request.js");
6
- class CollectionUpdateManyRequest extends client_request_js_1.OpraClientRequest {
7
- client;
8
- resource;
9
- data;
10
- options;
11
- constructor(client, send, resource, data, options = {}) {
12
- super(client, send, options);
13
- this.client = client;
14
- this.resource = resource;
15
- this.data = data;
16
- this.options = options;
17
- }
18
- prepare() {
19
- const url = new url_1.OpraURL(this.client.serviceUrl);
20
- url.path.join(this.resource.name);
21
- if (this.options.filter)
22
- url.searchParams.set('$filter', this.options.filter);
23
- return {
24
- method: 'PATCH',
25
- url: url.address,
26
- data: this.data,
27
- params: url.searchParams
28
- };
29
- }
30
- }
31
- exports.CollectionUpdateManyRequest = CollectionUpdateManyRequest;
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CollectionUpdateRequest = void 0;
4
- const url_1 = require("@opra/url");
5
- const client_request_js_1 = require("../client-request.js");
6
- class CollectionUpdateRequest extends client_request_js_1.OpraClientRequest {
7
- client;
8
- resource;
9
- keyValue;
10
- data;
11
- options;
12
- constructor(client, send, resource, keyValue, data, options = {}) {
13
- super(client, send, options);
14
- this.client = client;
15
- this.resource = resource;
16
- this.keyValue = keyValue;
17
- this.data = data;
18
- this.options = options;
19
- }
20
- prepare() {
21
- const url = new url_1.OpraURL(this.client.serviceUrl);
22
- url.path.join(this.resource.name);
23
- url.path.get(url.path.size - 1).key = this.keyValue;
24
- if (this.options.include)
25
- url.searchParams.set('$include', this.options.include);
26
- if (this.options.pick)
27
- url.searchParams.set('$pick', this.options.pick);
28
- if (this.options.omit)
29
- url.searchParams.set('$omit', this.options.omit);
30
- return {
31
- method: 'PATCH',
32
- url: url.address,
33
- data: this.data,
34
- params: url.searchParams
35
- };
36
- }
37
- }
38
- exports.CollectionUpdateRequest = CollectionUpdateRequest;
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SingletonGetRequest = void 0;
4
- const url_1 = require("@opra/url");
5
- const client_request_js_1 = require("../client-request.js");
6
- class SingletonGetRequest extends client_request_js_1.OpraClientRequest {
7
- client;
8
- resource;
9
- options;
10
- constructor(client, send, resource, options = {}) {
11
- super(client, send, options);
12
- this.client = client;
13
- this.resource = resource;
14
- this.options = options;
15
- }
16
- prepare() {
17
- const url = new url_1.OpraURL(this.client.serviceUrl);
18
- url.path.join(this.resource.name);
19
- if (this.options.include)
20
- url.searchParams.set('$include', this.options.include);
21
- if (this.options.pick)
22
- url.searchParams.set('$pick', this.options.pick);
23
- if (this.options.omit)
24
- url.searchParams.set('$omit', this.options.omit);
25
- return {
26
- method: 'GET',
27
- url: url.address,
28
- params: url.searchParams
29
- };
30
- }
31
- }
32
- exports.SingletonGetRequest = SingletonGetRequest;
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CollectionNode = void 0;
4
- const collection_create_request_js_1 = require("../requests/collection-create-request.js");
5
- const collection_delete_many_request_js_1 = require("../requests/collection-delete-many-request.js");
6
- const collection_delete_request_js_1 = require("../requests/collection-delete-request.js");
7
- const collection_get_request_js_1 = require("../requests/collection-get-request.js");
8
- const collection_search_request_js_1 = require("../requests/collection-search-request.js");
9
- const collection_update_many_request_js_1 = require("../requests/collection-update-many-request.js");
10
- const collection_update_request_js_1 = require("../requests/collection-update-request.js");
11
- class CollectionNode {
12
- client;
13
- resource;
14
- _send;
15
- constructor(client, resource, _send) {
16
- this.client = client;
17
- this.resource = resource;
18
- this._send = _send;
19
- }
20
- create(data, options) {
21
- return new collection_create_request_js_1.CollectionCreateRequest(this.client, this._send, this.resource, data, options);
22
- }
23
- delete(keyValue, options) {
24
- return new collection_delete_request_js_1.CollectionDeleteRequest(this.client, this._send, this.resource, keyValue, options);
25
- }
26
- deleteMany(options) {
27
- return new collection_delete_many_request_js_1.CollectionDeleteManyRequest(this.client, this._send, this.resource, options);
28
- }
29
- get(keyValue, options) {
30
- return new collection_get_request_js_1.CollectionGetRequest(this.client, this._send, this.resource, keyValue, options);
31
- }
32
- search(options) {
33
- return new collection_search_request_js_1.CollectionSearchRequest(this.client, this._send, this.resource, options);
34
- }
35
- update(keyValue, data, options) {
36
- return new collection_update_request_js_1.CollectionUpdateRequest(this.client, this._send, this.resource, keyValue, data, options);
37
- }
38
- updateMany(data, options) {
39
- return new collection_update_many_request_js_1.CollectionUpdateManyRequest(this.client, this._send, this.resource, data, options);
40
- }
41
- }
42
- exports.CollectionNode = CollectionNode;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SingletonNode = void 0;
4
- const singleton_get_request_js_1 = require("../requests/singleton-get-request.js");
5
- class SingletonNode {
6
- client;
7
- resource;
8
- _send;
9
- constructor(client, resource, _send) {
10
- this.client = client;
11
- this.resource = resource;
12
- this._send = _send;
13
- }
14
- get(options) {
15
- return new singleton_get_request_js_1.SingletonGetRequest(this.client, this._send, this.resource, options);
16
- }
17
- }
18
- exports.SingletonNode = SingletonNode;