@decaf-ts/for-http 0.3.12 → 0.3.14
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/README.md +1 -1
- package/dist/for-http.cjs +1 -1
- package/dist/for-http.cjs.map +1 -1
- package/dist/for-http.js +1 -1
- package/dist/for-http.js.map +1 -1
- package/lib/ResponseParser.cjs +37 -0
- package/lib/ResponseParser.d.ts +14 -0
- package/lib/ResponseParser.js.map +1 -0
- package/lib/RestRepository.cjs +36 -2
- package/lib/RestRepository.d.ts +6 -0
- package/lib/RestRepository.js.map +1 -1
- package/lib/adapter.cjs +9 -1
- package/lib/adapter.d.ts +3 -2
- package/lib/adapter.js.map +1 -1
- package/lib/axios/axios.cjs +53 -4
- package/lib/axios/axios.d.ts +4 -0
- package/lib/axios/axios.js.map +1 -1
- package/lib/esm/ResponseParser.d.ts +14 -0
- package/lib/esm/ResponseParser.js +32 -0
- package/lib/esm/ResponseParser.js.map +1 -0
- package/lib/esm/RestRepository.d.ts +6 -0
- package/lib/esm/RestRepository.js +37 -3
- package/lib/esm/RestRepository.js.map +1 -1
- package/lib/esm/adapter.d.ts +3 -2
- package/lib/esm/adapter.js +10 -2
- package/lib/esm/adapter.js.map +1 -1
- package/lib/esm/axios/axios.d.ts +4 -0
- package/lib/esm/axios/axios.js +53 -4
- package/lib/esm/axios/axios.js.map +1 -1
- package/lib/esm/index.d.ts +2 -1
- package/lib/esm/index.js +2 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/types.d.ts +2 -0
- package/lib/index.cjs +2 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js.map +1 -1
- package/lib/types.d.ts +2 -0
- package/package.json +1 -1
package/lib/axios/axios.cjs
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AxiosHttpAdapter = void 0;
|
|
4
4
|
const adapter_1 = require("./../adapter.cjs");
|
|
5
5
|
const axios_1 = require("axios");
|
|
6
|
+
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
6
7
|
const core_1 = require("@decaf-ts/core");
|
|
7
8
|
const constants_1 = require("./constants.cjs");
|
|
8
9
|
/**
|
|
@@ -123,7 +124,19 @@ class AxiosHttpAdapter extends adapter_1.HttpAdapter {
|
|
|
123
124
|
const url = this.url(tableName);
|
|
124
125
|
const cfg = this.toRequest(ctx);
|
|
125
126
|
log.debug(`POSTing to ${url} with ${JSON.stringify(model)} and cfg ${JSON.stringify(cfg)}`);
|
|
126
|
-
return this.client.post(url, model, cfg);
|
|
127
|
+
return this.parseResponse(db_decorators_1.OperationKeys.CREATE, await this.client.post(url, model, cfg));
|
|
128
|
+
}
|
|
129
|
+
catch (e) {
|
|
130
|
+
throw this.parseError(e);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
async createAll(clazz, id, model, ...args) {
|
|
134
|
+
const { log, ctx } = this.logCtx(args, this.createAll);
|
|
135
|
+
try {
|
|
136
|
+
const url = this.url(clazz, ["bulk"]);
|
|
137
|
+
const cfg = this.toRequest(ctx);
|
|
138
|
+
log.debug(`POSTing to ${url} with ${JSON.stringify(model)} and cfg ${JSON.stringify(cfg)}`);
|
|
139
|
+
return this.parseResponse(db_decorators_1.BulkCrudOperationKeys.CREATE_ALL, await this.client.post(url, model, cfg));
|
|
127
140
|
}
|
|
128
141
|
catch (e) {
|
|
129
142
|
throw this.parseError(e);
|
|
@@ -143,7 +156,19 @@ class AxiosHttpAdapter extends adapter_1.HttpAdapter {
|
|
|
143
156
|
const url = this.url(tableName, this.extractIdArgs(tableName, id));
|
|
144
157
|
const cfg = this.toRequest(ctx);
|
|
145
158
|
log.debug(`GETing from ${url} and cfg ${JSON.stringify(cfg)}`);
|
|
146
|
-
return this.client.get(url);
|
|
159
|
+
return this.parseResponse(db_decorators_1.OperationKeys.READ, await this.client.get(url));
|
|
160
|
+
}
|
|
161
|
+
catch (e) {
|
|
162
|
+
throw this.parseError(e);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
async readAll(tableName, ids, ...args) {
|
|
166
|
+
const { log, ctx } = this.logCtx(args, this.readAll);
|
|
167
|
+
try {
|
|
168
|
+
const url = this.url(tableName, ["bulk"], { ids: ids });
|
|
169
|
+
const cfg = this.toRequest(ctx);
|
|
170
|
+
log.debug(`GETing from ${url} and cfg ${JSON.stringify(cfg)}`);
|
|
171
|
+
return this.parseResponse(db_decorators_1.BulkCrudOperationKeys.READ_ALL, await this.client.get(url));
|
|
147
172
|
}
|
|
148
173
|
catch (e) {
|
|
149
174
|
throw this.parseError(e);
|
|
@@ -164,7 +189,19 @@ class AxiosHttpAdapter extends adapter_1.HttpAdapter {
|
|
|
164
189
|
const url = this.url(tableName, this.extractIdArgs(tableName, id));
|
|
165
190
|
const cfg = this.toRequest(ctx);
|
|
166
191
|
log.debug(`PUTing to ${url} with ${JSON.stringify(model)} and cfg ${JSON.stringify(cfg)}`);
|
|
167
|
-
return this.client.put(url, model);
|
|
192
|
+
return this.parseResponse(db_decorators_1.OperationKeys.UPDATE, await this.client.put(url, model));
|
|
193
|
+
}
|
|
194
|
+
catch (e) {
|
|
195
|
+
throw this.parseError(e);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
async updateAll(tableName, ids, model, ...args) {
|
|
199
|
+
const { log, ctx } = this.logCtx(args, this.updateAll);
|
|
200
|
+
try {
|
|
201
|
+
const url = this.url(tableName, ["bulk"]);
|
|
202
|
+
const cfg = this.toRequest(ctx);
|
|
203
|
+
log.debug(`PUTing to ${url} with ${JSON.stringify(model)} and cfg ${JSON.stringify(cfg)}`);
|
|
204
|
+
return this.parseResponse(db_decorators_1.BulkCrudOperationKeys.UPDATE_ALL, await this.client.put(url, model));
|
|
168
205
|
}
|
|
169
206
|
catch (e) {
|
|
170
207
|
throw this.parseError(e);
|
|
@@ -184,7 +221,19 @@ class AxiosHttpAdapter extends adapter_1.HttpAdapter {
|
|
|
184
221
|
const url = this.url(tableName, this.extractIdArgs(tableName, id));
|
|
185
222
|
const cfg = this.toRequest(ctx);
|
|
186
223
|
log.debug(`DELETEing from ${url} and cfg ${JSON.stringify(cfg)}`);
|
|
187
|
-
return this.client.delete(url);
|
|
224
|
+
return this.parseResponse(db_decorators_1.OperationKeys.DELETE, await this.client.delete(url));
|
|
225
|
+
}
|
|
226
|
+
catch (e) {
|
|
227
|
+
throw this.parseError(e);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
async deleteAll(tableName, ids, ...args) {
|
|
231
|
+
const { log, ctx } = this.logCtx(args, this.delete);
|
|
232
|
+
try {
|
|
233
|
+
const url = this.url(tableName, ["bulk"], { ids: ids });
|
|
234
|
+
const cfg = this.toRequest(ctx);
|
|
235
|
+
log.debug(`DELETEing from ${url} and cfg ${JSON.stringify(cfg)}`);
|
|
236
|
+
return this.parseResponse(db_decorators_1.BulkCrudOperationKeys.DELETE_ALL, await this.client.delete(url));
|
|
188
237
|
}
|
|
189
238
|
catch (e) {
|
|
190
239
|
throw this.parseError(e);
|
package/lib/axios/axios.d.ts
CHANGED
|
@@ -78,6 +78,7 @@ export declare class AxiosHttpAdapter extends HttpAdapter<HttpConfig, Axios, Axi
|
|
|
78
78
|
* @return {Promise<Record<string, any>>} A promise that resolves with the created resource
|
|
79
79
|
*/
|
|
80
80
|
create<M extends Model>(tableName: Constructor<M> | string, id: PrimaryKeyType, model: Record<string, any>, ...args: ContextualArgs<Context<AxiosFlags>>): Promise<Record<string, any>>;
|
|
81
|
+
createAll<M extends Model>(clazz: Constructor<M> | string, id: PrimaryKeyType[], model: Record<string, any>[], ...args: ContextualArgs<Context<AxiosFlags>>): Promise<Record<string, any>[]>;
|
|
81
82
|
/**
|
|
82
83
|
* @description Retrieves a resource by ID via HTTP GET
|
|
83
84
|
* @summary Implementation of the abstract read method from HttpAdapter.
|
|
@@ -87,6 +88,7 @@ export declare class AxiosHttpAdapter extends HttpAdapter<HttpConfig, Axios, Axi
|
|
|
87
88
|
* @return {Promise<Record<string, any>>} A promise that resolves with the retrieved resource
|
|
88
89
|
*/
|
|
89
90
|
read<M extends Model>(tableName: Constructor<M> | string, id: PrimaryKeyType, ...args: ContextualArgs<Context<AxiosFlags>>): Promise<Record<string, any>>;
|
|
91
|
+
readAll<M extends Model>(tableName: Constructor<M> | string, ids: PrimaryKeyType[], ...args: ContextualArgs<Context<AxiosFlags>>): Promise<Record<string, any>[]>;
|
|
90
92
|
/**
|
|
91
93
|
* @description Updates an existing resource via HTTP PUT
|
|
92
94
|
* @summary Implementation of the abstract update method from HttpAdapter.
|
|
@@ -97,6 +99,7 @@ export declare class AxiosHttpAdapter extends HttpAdapter<HttpConfig, Axios, Axi
|
|
|
97
99
|
* @return {Promise<Record<string, any>>} A promise that resolves with the updated resource
|
|
98
100
|
*/
|
|
99
101
|
update<M extends Model>(tableName: Constructor<M> | string, id: PrimaryKeyType, model: Record<string, any>, ...args: ContextualArgs<Context<AxiosFlags>>): Promise<Record<string, any>>;
|
|
102
|
+
updateAll<M extends Model>(tableName: Constructor<M> | string, ids: PrimaryKeyType[], model: Record<string, any>[], ...args: ContextualArgs<Context<AxiosFlags>>): Promise<Record<string, any>[]>;
|
|
100
103
|
/**
|
|
101
104
|
* @description Deletes a resource by ID via HTTP DELETE
|
|
102
105
|
* @summary Implementation of the abstract delete method from HttpAdapter.
|
|
@@ -106,5 +109,6 @@ export declare class AxiosHttpAdapter extends HttpAdapter<HttpConfig, Axios, Axi
|
|
|
106
109
|
* @return {Promise<Record<string, any>>} A promise that resolves with the deletion result
|
|
107
110
|
*/
|
|
108
111
|
delete<M extends Model>(tableName: Constructor<M> | string, id: PrimaryKeyType, ...args: ContextualArgs<Context<AxiosFlags>>): Promise<Record<string, any>>;
|
|
112
|
+
deleteAll<M extends Model>(tableName: Constructor<M> | string, ids: PrimaryKeyType[], ...args: ContextualArgs<Context<AxiosFlags>>): Promise<Record<string, any>[]>;
|
|
109
113
|
parseError<E extends BaseError>(err: Error, ...args: any[]): E;
|
|
110
114
|
}
|
package/lib/axios/axios.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axios.js","sourceRoot":"","sources":["../../src/axios/axios.ts"],"names":[],"mappings":";;;AAAA,8CAAyC;AACzC,iCAAkD;
|
|
1
|
+
{"version":3,"file":"axios.js","sourceRoot":"","sources":["../../src/axios/axios.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare class ResponseParser<RESPONSE = any> {
|
|
2
|
+
parse(method: string, response: RESPONSE): any;
|
|
3
|
+
}
|
|
4
|
+
export declare class NestJSResponseParser extends ResponseParser<{
|
|
5
|
+
status: number;
|
|
6
|
+
raw: any;
|
|
7
|
+
data: any;
|
|
8
|
+
}> {
|
|
9
|
+
parse(method: string, response: {
|
|
10
|
+
status: number;
|
|
11
|
+
raw: any;
|
|
12
|
+
data: any;
|
|
13
|
+
}): any;
|
|
14
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { BulkCrudOperationKeys, OperationKeys } from "@decaf-ts/db-decorators";
|
|
2
|
+
import { PreparedStatementKeys } from "@decaf-ts/core";
|
|
3
|
+
import { HttpAdapter } from "./adapter.js";
|
|
4
|
+
export class ResponseParser {
|
|
5
|
+
parse(method, response) {
|
|
6
|
+
return response;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class NestJSResponseParser extends ResponseParser {
|
|
10
|
+
parse(method, response) {
|
|
11
|
+
if (!(response.status >= 200 && response.status < 300))
|
|
12
|
+
throw HttpAdapter.parseError(response.status.toString());
|
|
13
|
+
switch (method) {
|
|
14
|
+
case OperationKeys.CREATE:
|
|
15
|
+
case OperationKeys.READ:
|
|
16
|
+
case OperationKeys.UPDATE:
|
|
17
|
+
case OperationKeys.DELETE:
|
|
18
|
+
case BulkCrudOperationKeys.CREATE_ALL:
|
|
19
|
+
case BulkCrudOperationKeys.READ_ALL:
|
|
20
|
+
case BulkCrudOperationKeys.UPDATE_ALL:
|
|
21
|
+
case BulkCrudOperationKeys.DELETE_ALL:
|
|
22
|
+
case PreparedStatementKeys.FIND_BY:
|
|
23
|
+
case PreparedStatementKeys.FIND_ONE_BY:
|
|
24
|
+
case PreparedStatementKeys.LIST_BY:
|
|
25
|
+
case PreparedStatementKeys.PAGE_BY:
|
|
26
|
+
case "statement":
|
|
27
|
+
default:
|
|
28
|
+
return response.data;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=ResponseParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResponseParser.js","sourceRoot":"","sources":["../../src/ResponseParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,qBAAkB;AAExC,MAAM,OAAO,cAAc;IACzB,KAAK,CAAC,MAAc,EAAE,QAAkB;QACtC,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,cAIxC;IACS,KAAK,CACZ,MAAc,EACd,QAIC;QAED,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC;YACpD,MAAM,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE3D,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,aAAa,CAAC,MAAM,CAAC;YAC1B,KAAK,aAAa,CAAC,IAAI,CAAC;YACxB,KAAK,aAAa,CAAC,MAAM,CAAC;YAC1B,KAAK,aAAa,CAAC,MAAM,CAAC;YAC1B,KAAK,qBAAqB,CAAC,UAAU,CAAC;YACtC,KAAK,qBAAqB,CAAC,QAAQ,CAAC;YACpC,KAAK,qBAAqB,CAAC,UAAU,CAAC;YACtC,KAAK,qBAAqB,CAAC,UAAU,CAAC;YACtC,KAAK,qBAAqB,CAAC,OAAO,CAAC;YACnC,KAAK,qBAAqB,CAAC,WAAW,CAAC;YACvC,KAAK,qBAAqB,CAAC,OAAO,CAAC;YACnC,KAAK,qBAAqB,CAAC,OAAO,CAAC;YACnC,KAAK,WAAW,CAAC;YACjB;gBACE,OAAO,QAAQ,CAAC,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -2,6 +2,7 @@ import { ContextOf, MaybeContextualArg, OrderDirection, Repository } from "@deca
|
|
|
2
2
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
3
|
import { Constructor } from "@decaf-ts/decoration";
|
|
4
4
|
import { HttpAdapter } from "./adapter";
|
|
5
|
+
import { PrimaryKeyType } from "@decaf-ts/db-decorators";
|
|
5
6
|
/**
|
|
6
7
|
* @description Repository for REST API interactions
|
|
7
8
|
* @summary A specialized repository implementation for interacting with REST APIs.
|
|
@@ -41,6 +42,11 @@ export declare class RestRepository<M extends Model, A extends HttpAdapter<any,
|
|
|
41
42
|
url<M extends Model>(tableName: string | Constructor<M>): string;
|
|
42
43
|
url<M extends Model>(tableName: string | Constructor<M>, pathParams: string[]): string;
|
|
43
44
|
url<M extends Model>(tableName: string | Constructor<M>, queryParams: Record<string, string | number> | undefined): string;
|
|
45
|
+
protected createAllPrefix(models: M[], ...args: MaybeContextualArg<ContextOf<A>>): Promise<[M[], ...any[], ContextOf<A>]>;
|
|
46
|
+
createAll(models: M[], ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[]>;
|
|
47
|
+
readAll(keys: PrimaryKeyType[], ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[]>;
|
|
48
|
+
updateAll(models: M[], ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[]>;
|
|
49
|
+
deleteAll(keys: PrimaryKeyType[], ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[]>;
|
|
44
50
|
paginateBy(key: keyof M, order: OrderDirection, size: number, ...args: MaybeContextualArg<ContextOf<A>>): Promise<import("@decaf-ts/core").Paginator<M, M[], any>>;
|
|
45
51
|
listBy(key: keyof M, order: OrderDirection, ...args: MaybeContextualArg<ContextOf<A>>): Promise<any>;
|
|
46
52
|
findBy(key: keyof M, value: any, ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[]>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Context, Repository, } from "@decaf-ts/core";
|
|
1
|
+
import { Context, PersistenceKeys, Repository, } from "@decaf-ts/core";
|
|
2
2
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
3
|
import { PreparedStatementKeys } from "@decaf-ts/core";
|
|
4
|
+
import { BulkCrudOperationKeys, OperationKeys, ValidationError, reduceErrorsToPrint, enforceDBDecorators, } from "@decaf-ts/db-decorators";
|
|
4
5
|
/**
|
|
5
6
|
* @description Repository for REST API interactions
|
|
6
7
|
* @summary A specialized repository implementation for interacting with REST APIs.
|
|
@@ -42,6 +43,39 @@ export class RestRepository extends Repository {
|
|
|
42
43
|
url(tableName, pathParams, queryParams) {
|
|
43
44
|
return this.adapter.url(tableName, pathParams, queryParams);
|
|
44
45
|
}
|
|
46
|
+
async createAllPrefix(models, ...args) {
|
|
47
|
+
const contextArgs = await Context.args(OperationKeys.CREATE, this.class, args, this.adapter, this._overrides || {});
|
|
48
|
+
const ignoreHandlers = contextArgs.context.get("ignoreHandlers");
|
|
49
|
+
const ignoreValidate = contextArgs.context.get("ignoreValidation");
|
|
50
|
+
if (!models.length)
|
|
51
|
+
return [models, ...contextArgs.args];
|
|
52
|
+
models = await Promise.all(models.map(async (m) => {
|
|
53
|
+
m = new this.class(m);
|
|
54
|
+
if (!ignoreHandlers)
|
|
55
|
+
await enforceDBDecorators(this, contextArgs.context, m, OperationKeys.CREATE, OperationKeys.ON);
|
|
56
|
+
return m;
|
|
57
|
+
}));
|
|
58
|
+
if (!ignoreValidate) {
|
|
59
|
+
const ignoredProps = contextArgs.context.get("ignoredValidationProperties") || [];
|
|
60
|
+
const errors = await Promise.all(models.map((m) => Promise.resolve(m.hasErrors(...ignoredProps))));
|
|
61
|
+
const errorMessages = reduceErrorsToPrint(errors);
|
|
62
|
+
if (errorMessages)
|
|
63
|
+
throw new ValidationError(errorMessages);
|
|
64
|
+
}
|
|
65
|
+
return [models, ...contextArgs.args];
|
|
66
|
+
}
|
|
67
|
+
async createAll(models, ...args) {
|
|
68
|
+
return this.adapter.parseResponse(BulkCrudOperationKeys.CREATE_ALL, await super.createAll(models, ...args));
|
|
69
|
+
}
|
|
70
|
+
async readAll(keys, ...args) {
|
|
71
|
+
return this.adapter.parseResponse(BulkCrudOperationKeys.READ_ALL, await super.readAll(keys, ...args));
|
|
72
|
+
}
|
|
73
|
+
async updateAll(models, ...args) {
|
|
74
|
+
return this.adapter.parseResponse(BulkCrudOperationKeys.UPDATE_ALL, await super.updateAll(models, ...args));
|
|
75
|
+
}
|
|
76
|
+
async deleteAll(keys, ...args) {
|
|
77
|
+
return this.adapter.parseResponse(BulkCrudOperationKeys.DELETE_ALL, await super.deleteAll(keys, ...args));
|
|
78
|
+
}
|
|
45
79
|
async paginateBy(key, order, size, ...args) {
|
|
46
80
|
const contextArgs = await Context.args(PreparedStatementKeys.PAGE_BY, this.class, args, this.adapter, this._overrides || {});
|
|
47
81
|
const { log, ctxArgs } = this.logCtx(contextArgs.args, this.paginateBy);
|
|
@@ -69,7 +103,7 @@ export class RestRepository extends Repository {
|
|
|
69
103
|
return (await this.statement(this.findOneBy.name, key, value, {}, ...ctxArgs));
|
|
70
104
|
}
|
|
71
105
|
async statement(name, ...args) {
|
|
72
|
-
const contextArgs = await Context.args(
|
|
106
|
+
const contextArgs = await Context.args(PersistenceKeys.STATEMENT, this.class, args, this.adapter, this._overrides || {});
|
|
73
107
|
const { log, ctxArgs, ctx } = this.logCtx(contextArgs.args, this.statement);
|
|
74
108
|
const params = args.pop();
|
|
75
109
|
const query = {
|
|
@@ -80,7 +114,7 @@ export class RestRepository extends Repository {
|
|
|
80
114
|
};
|
|
81
115
|
const req = this.adapter.toRequest(query, ctx);
|
|
82
116
|
log.verbose(`Executing prepared statement ${name}`);
|
|
83
|
-
return this.request(req, ...ctxArgs);
|
|
117
|
+
return this.adapter.parseResponse(name, await this.request(req, ...ctxArgs));
|
|
84
118
|
}
|
|
85
119
|
async request(details, ...args) {
|
|
86
120
|
const contextArgs = await Context.args("request", this.class, args, this.adapter, this._overrides || {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestRepository.js","sourceRoot":"","sources":["../../src/RestRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,
|
|
1
|
+
{"version":3,"file":"RestRepository.js","sourceRoot":"","sources":["../../src/RestRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAIP,eAAe,EAEf,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAGvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EACL,qBAAqB,EACrB,aAAa,EAEb,eAAe,EACf,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,cAIX,SAAQ,UAAgB;IAOxB,YAAY,OAAU,EAAE,KAAsB;QAC5C,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAPL,eAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE;YACrE,kBAAkB,EAAE,KAAK;YACzB,yBAAyB,EAAE,IAAI;YAC/B,0BAA0B,EAAE,IAAI;SACjC,CAAC,CAAC;IAIH,CAAC;IAWD,GAAG,CACD,SAAkC,EAClC,UAAuD,EACvD,WAA6C;QAE7C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,UAAiB,EAAE,WAAkB,CAAC,CAAC;IAC5E,CAAC;IAEkB,KAAK,CAAC,eAAe,CACtC,MAAW,EACX,GAAG,IAAsC;QAEzC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CACpC,aAAa,CAAC,MAAM,EACpB,IAAI,CAAC,KAAK,EACV,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,IAAI,EAAE,CACtB,CAAC;QACF,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACjE,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAQ,CAAC;QAEhE,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CACxB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACrB,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,cAAc;gBACjB,MAAM,mBAAmB,CACvB,IAAI,EACJ,WAAW,CAAC,OAAO,EACnB,CAAC,EACD,aAAa,CAAC,MAAM,EACpB,aAAa,CAAC,EAAE,CACjB,CAAC;YACJ,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,YAAY,GAChB,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC;YAE/D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CACjE,CAAC;YAEF,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAElD,IAAI,aAAa;gBAAE,MAAM,IAAI,eAAe,CAAC,aAAa,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAQ,CAAC;IAC9C,CAAC;IAEQ,KAAK,CAAC,SAAS,CACtB,MAAW,EACX,GAAG,IAAsC;QAEzC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAC/B,qBAAqB,CAAC,UAAU,EAChC,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CACvC,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,OAAO,CACpB,IAAsB,EACtB,GAAG,IAAsC;QAEzC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAC/B,qBAAqB,CAAC,QAAQ,EAC9B,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CACnC,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,SAAS,CACtB,MAAW,EACX,GAAG,IAAsC;QAEzC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAC/B,qBAAqB,CAAC,UAAU,EAChC,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CACvC,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,SAAS,CACtB,IAAsB,EACtB,GAAG,IAAsC;QAEzC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAC/B,qBAAqB,CAAC,UAAU,EAChC,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CACrC,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,UAAU,CACvB,GAAY,EACZ,KAAqB,EACrB,IAAY,EACZ,GAAG,IAAsC;QAEzC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CACpC,qBAAqB,CAAC,OAAO,EAC7B,IAAI,CAAC,KAAK,EACV,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,IAAI,EAAE,CACtB,CAAC;QACF,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxE,GAAG,CAAC,OAAO,CACT,cAAc,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CACnE,CAAC;QACF,OAAO,IAAI,CAAC,MAAM,EAAE;aACjB,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aACrB,QAAQ,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC;IAChC,CAAC;IAEQ,KAAK,CAAC,MAAM,CACnB,GAAY,EACZ,KAAqB,EACrB,GAAG,IAAsC;QAEzC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CACpC,MAAM,EACN,IAAI,CAAC,KAAK,EACV,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,IAAI,EAAE,CACtB,CAAC;QACF,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACpE,GAAG,CAAC,OAAO,CACT,WAAW,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAa,IAAI,KAAK,EAAE,CACtE,CAAC;QACF,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,GAAG,EACH,EAAE,SAAS,EAAE,KAAK,EAAE,EACpB,GAAG,OAAO,CACX,CAAQ,CAAC;IACZ,CAAC;IAEQ,KAAK,CAAC,MAAM,CACnB,GAAY,EACZ,KAAU,EACV,GAAG,IAAsC;QAEzC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CACpC,qBAAqB,CAAC,OAAO,EAC7B,IAAI,CAAC,KAAK,EACV,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,IAAI,EAAE,CACtB,CAAC;QACF,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACpE,GAAG,CAAC,OAAO,CACT,eAAe,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAa,IAAI,KAAK,EAAE,CAC5E,CAAC;QACF,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,GAAG,EACH,KAAK,EACL,EAAE,EACF,GAAG,OAAO,CACX,CAAQ,CAAC;IACZ,CAAC;IAEQ,KAAK,CAAC,SAAS,CACtB,GAAY,EACZ,KAAU,EACV,GAAG,IAAsC;QAEzC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CACpC,qBAAqB,CAAC,WAAW,EACjC,IAAI,CAAC,KAAK,EACV,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,IAAI,EAAE,CACtB,CAAC;QACF,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACvE,GAAG,CAAC,OAAO,CACT,eAAe,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAa,IAAI,KAAK,EAAE,CAC5E,CAAC;QACF,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,EACnB,GAAG,EACH,KAAK,EACL,EAAE,EACF,GAAG,OAAO,CACX,CAAQ,CAAC;IACZ,CAAC;IAEQ,KAAK,CAAC,SAAS,CACtB,IAAY,EACZ,GAAG,IAAsC;QAEzC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CACpC,eAAe,CAAC,SAAS,EACzB,IAAI,CAAC,KAAK,EACV,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,IAAI,EAAE,CACtB,CAAC;QACF,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,KAAK,GAA2B;YACpC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,MAAM;SACW,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/C,GAAG,CAAC,OAAO,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAC/B,IAAI,EACJ,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CACpC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CACX,OAAU,EACV,GAAG,IAAsC;QAEzC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CACpC,SAAS,EACT,IAAI,CAAC,KAAK,EACV,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,IAAI,EAAE,CACtB,CAAC;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAI,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;IACtD,CAAC;CACF"}
|
package/lib/esm/adapter.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Adapter, Condition, Paginator, Context, ContextualArgs, FlagsOf, MaybeContextualArg, PreparedModel, Repository,
|
|
1
|
+
import { Adapter, Condition, Paginator, Context, ContextualArgs, FlagsOf, MaybeContextualArg, PreparedModel, Repository, PreparedStatement } from "@decaf-ts/core";
|
|
2
2
|
import { BaseError, OperationKeys, PrimaryKeyType } from "@decaf-ts/db-decorators";
|
|
3
3
|
import { HttpConfig, HttpFlags } from "./types";
|
|
4
4
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
5
5
|
import { Constructor } from "@decaf-ts/decoration";
|
|
6
|
-
import { Statement } from "@decaf-ts/core";
|
|
6
|
+
import { Statement, SequenceOptions, Sequence } from "@decaf-ts/core";
|
|
7
7
|
import type { AdapterFlags } from "@decaf-ts/core";
|
|
8
8
|
/**
|
|
9
9
|
* @description Abstract HTTP adapter for REST API interactions
|
|
@@ -123,6 +123,7 @@ export declare abstract class HttpAdapter<CONF extends HttpConfig, CON, REQ, Q e
|
|
|
123
123
|
*/
|
|
124
124
|
abstract request<V>(details: REQ, ...args: MaybeContextualArg<C>): Promise<V>;
|
|
125
125
|
protected extractIdArgs<M extends Model>(model: Constructor<M> | string, id: PrimaryKeyType): string[];
|
|
126
|
+
parseResponse(method: OperationKeys | string, res: any): any;
|
|
126
127
|
/**
|
|
127
128
|
* @description Creates a new resource
|
|
128
129
|
* @summary Abstract method that must be implemented by subclasses to create a new resource
|
package/lib/esm/adapter.js
CHANGED
|
@@ -3,10 +3,11 @@ import { BadRequestError, ConflictError, InternalError, NotFoundError, Serializa
|
|
|
3
3
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
4
4
|
import { apply, Decoration, methodMetadata, Metadata, } from "@decaf-ts/decoration";
|
|
5
5
|
import { RestService } from "./RestService.js";
|
|
6
|
-
import { prepared } from "@decaf-ts/core";
|
|
6
|
+
import { prepared, } from "@decaf-ts/core";
|
|
7
7
|
import { toKebabCase } from "@decaf-ts/logging";
|
|
8
8
|
import { HttpStatement } from "./HttpStatement.js";
|
|
9
9
|
import { HttpPaginator } from "./HttpPaginator.js";
|
|
10
|
+
import { ResponseParser } from "./ResponseParser.js";
|
|
10
11
|
/**
|
|
11
12
|
* @description Abstract HTTP adapter for REST API interactions
|
|
12
13
|
* @summary Provides a base implementation for HTTP adapters with methods for CRUD operations,
|
|
@@ -41,7 +42,9 @@ import { HttpPaginator } from "./HttpPaginator.js";
|
|
|
41
42
|
*/
|
|
42
43
|
export class HttpAdapter extends Adapter {
|
|
43
44
|
constructor(config, flavour, alias) {
|
|
44
|
-
super(
|
|
45
|
+
super(Object.assign({}, config, {
|
|
46
|
+
responseParser: config.responseParser || new ResponseParser(),
|
|
47
|
+
}), flavour, alias);
|
|
45
48
|
}
|
|
46
49
|
/**
|
|
47
50
|
* @description Generates operation flags with HTTP headers
|
|
@@ -163,6 +166,11 @@ export class HttpAdapter extends Adapter {
|
|
|
163
166
|
return [idStr];
|
|
164
167
|
return idStr.split(composed.separator);
|
|
165
168
|
}
|
|
169
|
+
parseResponse(method, res) {
|
|
170
|
+
if (!this.config.responseParser)
|
|
171
|
+
throw new InternalError(`No response parser configured`);
|
|
172
|
+
return this.config.responseParser.parse(method, res);
|
|
173
|
+
}
|
|
166
174
|
/**
|
|
167
175
|
* @description Executes a raw query
|
|
168
176
|
* @summary Method for executing raw queries directly with the HTTP client.
|
package/lib/esm/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,kBAAkB,EAElB,eAAe,EAEf,OAAO,EAGP,cAAc,EAEd,cAAc,EACd,aAAa,EACb,WAAW,EACX,eAAe,EAEf,UAAU,
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/axios/axios.d.ts
CHANGED
|
@@ -78,6 +78,7 @@ export declare class AxiosHttpAdapter extends HttpAdapter<HttpConfig, Axios, Axi
|
|
|
78
78
|
* @return {Promise<Record<string, any>>} A promise that resolves with the created resource
|
|
79
79
|
*/
|
|
80
80
|
create<M extends Model>(tableName: Constructor<M> | string, id: PrimaryKeyType, model: Record<string, any>, ...args: ContextualArgs<Context<AxiosFlags>>): Promise<Record<string, any>>;
|
|
81
|
+
createAll<M extends Model>(clazz: Constructor<M> | string, id: PrimaryKeyType[], model: Record<string, any>[], ...args: ContextualArgs<Context<AxiosFlags>>): Promise<Record<string, any>[]>;
|
|
81
82
|
/**
|
|
82
83
|
* @description Retrieves a resource by ID via HTTP GET
|
|
83
84
|
* @summary Implementation of the abstract read method from HttpAdapter.
|
|
@@ -87,6 +88,7 @@ export declare class AxiosHttpAdapter extends HttpAdapter<HttpConfig, Axios, Axi
|
|
|
87
88
|
* @return {Promise<Record<string, any>>} A promise that resolves with the retrieved resource
|
|
88
89
|
*/
|
|
89
90
|
read<M extends Model>(tableName: Constructor<M> | string, id: PrimaryKeyType, ...args: ContextualArgs<Context<AxiosFlags>>): Promise<Record<string, any>>;
|
|
91
|
+
readAll<M extends Model>(tableName: Constructor<M> | string, ids: PrimaryKeyType[], ...args: ContextualArgs<Context<AxiosFlags>>): Promise<Record<string, any>[]>;
|
|
90
92
|
/**
|
|
91
93
|
* @description Updates an existing resource via HTTP PUT
|
|
92
94
|
* @summary Implementation of the abstract update method from HttpAdapter.
|
|
@@ -97,6 +99,7 @@ export declare class AxiosHttpAdapter extends HttpAdapter<HttpConfig, Axios, Axi
|
|
|
97
99
|
* @return {Promise<Record<string, any>>} A promise that resolves with the updated resource
|
|
98
100
|
*/
|
|
99
101
|
update<M extends Model>(tableName: Constructor<M> | string, id: PrimaryKeyType, model: Record<string, any>, ...args: ContextualArgs<Context<AxiosFlags>>): Promise<Record<string, any>>;
|
|
102
|
+
updateAll<M extends Model>(tableName: Constructor<M> | string, ids: PrimaryKeyType[], model: Record<string, any>[], ...args: ContextualArgs<Context<AxiosFlags>>): Promise<Record<string, any>[]>;
|
|
100
103
|
/**
|
|
101
104
|
* @description Deletes a resource by ID via HTTP DELETE
|
|
102
105
|
* @summary Implementation of the abstract delete method from HttpAdapter.
|
|
@@ -106,5 +109,6 @@ export declare class AxiosHttpAdapter extends HttpAdapter<HttpConfig, Axios, Axi
|
|
|
106
109
|
* @return {Promise<Record<string, any>>} A promise that resolves with the deletion result
|
|
107
110
|
*/
|
|
108
111
|
delete<M extends Model>(tableName: Constructor<M> | string, id: PrimaryKeyType, ...args: ContextualArgs<Context<AxiosFlags>>): Promise<Record<string, any>>;
|
|
112
|
+
deleteAll<M extends Model>(tableName: Constructor<M> | string, ids: PrimaryKeyType[], ...args: ContextualArgs<Context<AxiosFlags>>): Promise<Record<string, any>[]>;
|
|
109
113
|
parseError<E extends BaseError>(err: Error, ...args: any[]): E;
|
|
110
114
|
}
|
package/lib/esm/axios/axios.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HttpAdapter } from "./../adapter.js";
|
|
2
2
|
import { Axios } from "axios";
|
|
3
|
+
import { BulkCrudOperationKeys, OperationKeys, } from "@decaf-ts/db-decorators";
|
|
3
4
|
import { Context, PersistenceKeys, } from "@decaf-ts/core";
|
|
4
5
|
import { AxiosFlavour } from "./constants.js";
|
|
5
6
|
/**
|
|
@@ -120,7 +121,19 @@ export class AxiosHttpAdapter extends HttpAdapter {
|
|
|
120
121
|
const url = this.url(tableName);
|
|
121
122
|
const cfg = this.toRequest(ctx);
|
|
122
123
|
log.debug(`POSTing to ${url} with ${JSON.stringify(model)} and cfg ${JSON.stringify(cfg)}`);
|
|
123
|
-
return this.client.post(url, model, cfg);
|
|
124
|
+
return this.parseResponse(OperationKeys.CREATE, await this.client.post(url, model, cfg));
|
|
125
|
+
}
|
|
126
|
+
catch (e) {
|
|
127
|
+
throw this.parseError(e);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
async createAll(clazz, id, model, ...args) {
|
|
131
|
+
const { log, ctx } = this.logCtx(args, this.createAll);
|
|
132
|
+
try {
|
|
133
|
+
const url = this.url(clazz, ["bulk"]);
|
|
134
|
+
const cfg = this.toRequest(ctx);
|
|
135
|
+
log.debug(`POSTing to ${url} with ${JSON.stringify(model)} and cfg ${JSON.stringify(cfg)}`);
|
|
136
|
+
return this.parseResponse(BulkCrudOperationKeys.CREATE_ALL, await this.client.post(url, model, cfg));
|
|
124
137
|
}
|
|
125
138
|
catch (e) {
|
|
126
139
|
throw this.parseError(e);
|
|
@@ -140,7 +153,19 @@ export class AxiosHttpAdapter extends HttpAdapter {
|
|
|
140
153
|
const url = this.url(tableName, this.extractIdArgs(tableName, id));
|
|
141
154
|
const cfg = this.toRequest(ctx);
|
|
142
155
|
log.debug(`GETing from ${url} and cfg ${JSON.stringify(cfg)}`);
|
|
143
|
-
return this.client.get(url);
|
|
156
|
+
return this.parseResponse(OperationKeys.READ, await this.client.get(url));
|
|
157
|
+
}
|
|
158
|
+
catch (e) {
|
|
159
|
+
throw this.parseError(e);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
async readAll(tableName, ids, ...args) {
|
|
163
|
+
const { log, ctx } = this.logCtx(args, this.readAll);
|
|
164
|
+
try {
|
|
165
|
+
const url = this.url(tableName, ["bulk"], { ids: ids });
|
|
166
|
+
const cfg = this.toRequest(ctx);
|
|
167
|
+
log.debug(`GETing from ${url} and cfg ${JSON.stringify(cfg)}`);
|
|
168
|
+
return this.parseResponse(BulkCrudOperationKeys.READ_ALL, await this.client.get(url));
|
|
144
169
|
}
|
|
145
170
|
catch (e) {
|
|
146
171
|
throw this.parseError(e);
|
|
@@ -161,7 +186,19 @@ export class AxiosHttpAdapter extends HttpAdapter {
|
|
|
161
186
|
const url = this.url(tableName, this.extractIdArgs(tableName, id));
|
|
162
187
|
const cfg = this.toRequest(ctx);
|
|
163
188
|
log.debug(`PUTing to ${url} with ${JSON.stringify(model)} and cfg ${JSON.stringify(cfg)}`);
|
|
164
|
-
return this.client.put(url, model);
|
|
189
|
+
return this.parseResponse(OperationKeys.UPDATE, await this.client.put(url, model));
|
|
190
|
+
}
|
|
191
|
+
catch (e) {
|
|
192
|
+
throw this.parseError(e);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
async updateAll(tableName, ids, model, ...args) {
|
|
196
|
+
const { log, ctx } = this.logCtx(args, this.updateAll);
|
|
197
|
+
try {
|
|
198
|
+
const url = this.url(tableName, ["bulk"]);
|
|
199
|
+
const cfg = this.toRequest(ctx);
|
|
200
|
+
log.debug(`PUTing to ${url} with ${JSON.stringify(model)} and cfg ${JSON.stringify(cfg)}`);
|
|
201
|
+
return this.parseResponse(BulkCrudOperationKeys.UPDATE_ALL, await this.client.put(url, model));
|
|
165
202
|
}
|
|
166
203
|
catch (e) {
|
|
167
204
|
throw this.parseError(e);
|
|
@@ -181,7 +218,19 @@ export class AxiosHttpAdapter extends HttpAdapter {
|
|
|
181
218
|
const url = this.url(tableName, this.extractIdArgs(tableName, id));
|
|
182
219
|
const cfg = this.toRequest(ctx);
|
|
183
220
|
log.debug(`DELETEing from ${url} and cfg ${JSON.stringify(cfg)}`);
|
|
184
|
-
return this.client.delete(url);
|
|
221
|
+
return this.parseResponse(OperationKeys.DELETE, await this.client.delete(url));
|
|
222
|
+
}
|
|
223
|
+
catch (e) {
|
|
224
|
+
throw this.parseError(e);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
async deleteAll(tableName, ids, ...args) {
|
|
228
|
+
const { log, ctx } = this.logCtx(args, this.delete);
|
|
229
|
+
try {
|
|
230
|
+
const url = this.url(tableName, ["bulk"], { ids: ids });
|
|
231
|
+
const cfg = this.toRequest(ctx);
|
|
232
|
+
log.debug(`DELETEing from ${url} and cfg ${JSON.stringify(cfg)}`);
|
|
233
|
+
return this.parseResponse(BulkCrudOperationKeys.DELETE_ALL, await this.client.delete(url));
|
|
185
234
|
}
|
|
186
235
|
catch (e) {
|
|
187
236
|
throw this.parseError(e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axios.js","sourceRoot":"","sources":["../../../src/axios/axios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,wBAAmB;AACzC,OAAO,EAAE,KAAK,EAAsB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"axios.js","sourceRoot":"","sources":["../../../src/axios/axios.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export * from "./axios";
|
|
|
11
11
|
export * from "./adapter";
|
|
12
12
|
export * from "./HttpPaginator";
|
|
13
13
|
export * from "./HttpStatement";
|
|
14
|
+
export * from "./ResponseParser";
|
|
14
15
|
export * from "./RestRepository";
|
|
15
16
|
export * from "./RestService";
|
|
16
17
|
export * from "./types";
|
|
@@ -19,5 +20,5 @@ export * from "./types";
|
|
|
19
20
|
* @summary Version identifier for the module
|
|
20
21
|
* @const VERSION
|
|
21
22
|
*/
|
|
22
|
-
export declare const VERSION = "0.3.
|
|
23
|
+
export declare const VERSION = "0.3.13";
|
|
23
24
|
export declare const PACKAGE_NAME = "@decaf-ts/for-http";
|
package/lib/esm/index.js
CHANGED
|
@@ -12,6 +12,7 @@ export * from "./axios/index.js";
|
|
|
12
12
|
export * from "./adapter.js";
|
|
13
13
|
export * from "./HttpPaginator.js";
|
|
14
14
|
export * from "./HttpStatement.js";
|
|
15
|
+
export * from "./ResponseParser.js";
|
|
15
16
|
export * from "./RestRepository.js";
|
|
16
17
|
export * from "./RestService.js";
|
|
17
18
|
export * from "./types.js";
|
|
@@ -20,7 +21,7 @@ export * from "./types.js";
|
|
|
20
21
|
* @summary Version identifier for the module
|
|
21
22
|
* @const VERSION
|
|
22
23
|
*/
|
|
23
|
-
export const VERSION = "0.3.
|
|
24
|
+
export const VERSION = "0.3.13";
|
|
24
25
|
export const PACKAGE_NAME = "@decaf-ts/for-http";
|
|
25
26
|
Metadata.registerLibrary(PACKAGE_NAME, VERSION);
|
|
26
27
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;;;;;;GAOG;AACH,iCAAwB;AACxB,6BAA0B;AAC1B,mCAAgC;AAChC,mCAAgC;AAChC,oCAAiC;AACjC,iCAA8B;AAC9B,2BAAwB;AAExB;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAE1C,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;;;;;;GAOG;AACH,iCAAwB;AACxB,6BAA0B;AAC1B,mCAAgC;AAChC,mCAAgC;AAChC,oCAAiC;AACjC,oCAAiC;AACjC,iCAA8B;AAC9B,2BAAwB;AAExB;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAE1C,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC"}
|
package/lib/esm/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AdapterFlags } from "@decaf-ts/core";
|
|
2
|
+
import { ResponseParser } from "./ResponseParser";
|
|
2
3
|
/**
|
|
3
4
|
* @description HTTP configuration type
|
|
4
5
|
* @summary Configuration type for HTTP connections specifying protocol and host
|
|
@@ -10,6 +11,7 @@ import { AdapterFlags } from "@decaf-ts/core";
|
|
|
10
11
|
export type HttpConfig = {
|
|
11
12
|
protocol: "http" | "https";
|
|
12
13
|
host: string;
|
|
14
|
+
responseParser?: ResponseParser;
|
|
13
15
|
};
|
|
14
16
|
/**
|
|
15
17
|
* @description HTTP flags interface
|