@decaf-ts/for-http 0.3.11 → 0.3.13
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/HttpPaginator.cjs +5 -56
- package/lib/HttpPaginator.d.ts +5 -6
- package/lib/HttpPaginator.js.map +1 -1
- package/lib/HttpStatement.cjs +7 -97
- package/lib/HttpStatement.d.ts +8 -6
- package/lib/HttpStatement.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 +38 -10
- package/lib/RestRepository.d.ts +14 -3
- package/lib/RestRepository.js.map +1 -1
- package/lib/RestService.cjs +5 -2
- package/lib/RestService.d.ts +11 -2
- package/lib/RestService.js.map +1 -1
- package/lib/adapter.cjs +26 -14
- package/lib/adapter.d.ts +15 -15
- package/lib/adapter.js.map +1 -1
- package/lib/axios/axios.cjs +6 -6
- package/lib/axios/axios.d.ts +6 -6
- package/lib/axios/axios.js.map +1 -1
- package/lib/esm/HttpPaginator.d.ts +5 -6
- package/lib/esm/HttpPaginator.js +6 -57
- package/lib/esm/HttpPaginator.js.map +1 -1
- package/lib/esm/HttpStatement.d.ts +8 -6
- package/lib/esm/HttpStatement.js +8 -98
- package/lib/esm/HttpStatement.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 +14 -3
- package/lib/esm/RestRepository.js +38 -10
- package/lib/esm/RestRepository.js.map +1 -1
- package/lib/esm/RestService.d.ts +11 -2
- package/lib/esm/RestService.js +5 -2
- package/lib/esm/RestService.js.map +1 -1
- package/lib/esm/adapter.d.ts +15 -15
- package/lib/esm/adapter.js +27 -15
- package/lib/esm/adapter.js.map +1 -1
- package/lib/esm/axios/axios.d.ts +6 -6
- package/lib/esm/axios/axios.js +7 -7
- package/lib/esm/axios/axios.js.map +1 -1
- package/lib/esm/index.d.ts +5 -1
- package/lib/esm/index.js +7 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/types.d.ts +4 -9
- package/lib/index.cjs +8 -2
- package/lib/index.d.ts +5 -1
- package/lib/index.js.map +1 -1
- package/lib/types.d.ts +4 -9
- package/package.json +1 -1
package/lib/esm/HttpStatement.js
CHANGED
|
@@ -1,107 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { toCamelCase } from "@decaf-ts/logging";
|
|
3
|
-
import { HttpPaginator } from "./HttpPaginator.js";
|
|
4
|
-
import { InternalError } from "@decaf-ts/db-decorators";
|
|
1
|
+
import { Statement, UnsupportedError } from "@decaf-ts/core";
|
|
5
2
|
export class HttpStatement extends Statement {
|
|
6
|
-
constructor(adapter) {
|
|
7
|
-
super(adapter);
|
|
3
|
+
constructor(adapter, overrides) {
|
|
4
|
+
super(adapter, overrides);
|
|
8
5
|
}
|
|
9
6
|
build() {
|
|
10
|
-
|
|
11
|
-
const args = [];
|
|
12
|
-
const params = {};
|
|
13
|
-
if (this.whereCondition) {
|
|
14
|
-
const parsed = this.parseCondition(this.whereCondition);
|
|
15
|
-
method.push(parsed.method);
|
|
16
|
-
if (parsed.args && parsed.args.length)
|
|
17
|
-
args.push(...parsed.args);
|
|
18
|
-
}
|
|
19
|
-
if (this.selectSelector)
|
|
20
|
-
method.push(QueryClause.SELECT, this.selectSelector.join(` ${QueryClause.AND.toLowerCase()} `));
|
|
21
|
-
if (this.orderBySelector)
|
|
22
|
-
method.push(QueryClause.ORDER_BY, ...this.orderBySelector);
|
|
23
|
-
if (this.groupBySelector)
|
|
24
|
-
method.push(QueryClause.GROUP_BY, this.groupBySelector);
|
|
25
|
-
if (this.limitSelector)
|
|
26
|
-
params.limit = this.limitSelector;
|
|
27
|
-
if (this.offsetSelector) {
|
|
28
|
-
params.skip = this.offsetSelector;
|
|
29
|
-
}
|
|
30
|
-
return {
|
|
31
|
-
class: this.fromSelector,
|
|
32
|
-
method: toCamelCase(method.join(" ")),
|
|
33
|
-
args: args,
|
|
34
|
-
params: Object.keys(params).length ? params : undefined,
|
|
35
|
-
};
|
|
7
|
+
throw new UnsupportedError(`This method is only called is prepared statements are not used. If so, a dedicated implementation for the native queries used is required`);
|
|
36
8
|
}
|
|
37
|
-
|
|
9
|
+
parseCondition(
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
11
|
+
condition,
|
|
38
12
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
39
13
|
...args) {
|
|
40
|
-
|
|
41
|
-
const query = this.build();
|
|
42
|
-
return new HttpPaginator(this.adapter, query, size, this.fromSelector);
|
|
43
|
-
}
|
|
44
|
-
catch (e) {
|
|
45
|
-
throw new InternalError(e);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
parseCondition(condition) {
|
|
49
|
-
// @ts-expect-error accessing protected properties
|
|
50
|
-
// eslint-disable-next-line prefer-const
|
|
51
|
-
let { attr1, operator, comparison } = condition;
|
|
52
|
-
const result = {};
|
|
53
|
-
switch (operator) {
|
|
54
|
-
case GroupOperator.AND:
|
|
55
|
-
case GroupOperator.OR: {
|
|
56
|
-
let side1 = attr1, side2 = comparison;
|
|
57
|
-
if (typeof attr1 !== "string") {
|
|
58
|
-
const condition1 = this.parseCondition(attr1);
|
|
59
|
-
side1 = condition1.method;
|
|
60
|
-
result.args = [...(result.args || []), ...(condition1.args || [])];
|
|
61
|
-
}
|
|
62
|
-
if (comparison instanceof Condition) {
|
|
63
|
-
const condition2 = this.parseCondition(comparison);
|
|
64
|
-
side2 = condition2.method;
|
|
65
|
-
result.args = [...(result.args || []), ...(condition2.args || [])];
|
|
66
|
-
}
|
|
67
|
-
result.method = `${side1} ${operator.toLowerCase()} ${side2}`;
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
case Operator.EQUAL:
|
|
71
|
-
result.method = attr1;
|
|
72
|
-
result.args = [...(result.args || []), comparison];
|
|
73
|
-
break;
|
|
74
|
-
case Operator.DIFFERENT:
|
|
75
|
-
result.method = `${attr1} diff`;
|
|
76
|
-
result.args = [...(result.args || []), comparison];
|
|
77
|
-
break;
|
|
78
|
-
case Operator.REGEXP:
|
|
79
|
-
result.method = `${attr1} matches`;
|
|
80
|
-
result.args = [...(result.args || []), comparison];
|
|
81
|
-
break;
|
|
82
|
-
case Operator.BIGGER:
|
|
83
|
-
result.method = `${attr1} bigger`;
|
|
84
|
-
result.args = [...(result.args || []), comparison];
|
|
85
|
-
break;
|
|
86
|
-
case Operator.BIGGER_EQ:
|
|
87
|
-
result.method = `${attr1} bigger than equal`;
|
|
88
|
-
break;
|
|
89
|
-
case Operator.SMALLER:
|
|
90
|
-
result.method = `${attr1} less`;
|
|
91
|
-
result.args = [...(result.args || []), comparison];
|
|
92
|
-
break;
|
|
93
|
-
case Operator.SMALLER_EQ:
|
|
94
|
-
result.method = `${attr1} less than equal`;
|
|
95
|
-
result.args = [...(result.args || []), comparison];
|
|
96
|
-
break;
|
|
97
|
-
case Operator.IN:
|
|
98
|
-
result.method = `${attr1} in`;
|
|
99
|
-
result.args = [...(result.args || []), comparison];
|
|
100
|
-
break;
|
|
101
|
-
default:
|
|
102
|
-
throw new QueryError(`Unsupported operator ${operator}`);
|
|
103
|
-
}
|
|
104
|
-
return result;
|
|
14
|
+
throw new UnsupportedError(`This method is only called is prepared statements are not used. Is so, a dedicated implementation for the native queries used is required`);
|
|
105
15
|
}
|
|
106
16
|
}
|
|
107
17
|
//# sourceMappingURL=HttpStatement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpStatement.js","sourceRoot":"","sources":["../../src/HttpStatement.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"HttpStatement.js","sourceRoot":"","sources":["../../src/HttpStatement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQxE,MAAM,OAAO,aAIX,SAAQ,SAAuC;IAC/C,YAAY,OAAU,EAAE,SAAiC;QACvD,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC;IAEkB,KAAK;QACtB,MAAM,IAAI,gBAAgB,CACxB,2IAA2I,CAC5I,CAAC;IACJ,CAAC;IAEkB,cAAc;IAC/B,6DAA6D;IAC7D,SAAuB;IACvB,6DAA6D;IAC7D,GAAG,IAAW;QAEd,MAAM,IAAI,gBAAgB,CACxB,2IAA2I,CAC5I,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { ContextOf, MaybeContextualArg, OrderDirection,
|
|
1
|
+
import { ContextOf, MaybeContextualArg, OrderDirection, Repository } from "@decaf-ts/core";
|
|
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.
|
|
@@ -32,13 +33,23 @@ import { HttpAdapter } from "./adapter";
|
|
|
32
33
|
* @see {@link RestService}
|
|
33
34
|
*/
|
|
34
35
|
export declare class RestRepository<M extends Model, A extends HttpAdapter<any, any, any, any, any>, Q = A extends HttpAdapter<any, any, any, infer Q, any> ? Q : never> extends Repository<M, A> {
|
|
36
|
+
protected _overrides: Partial<import("@decaf-ts/core").FlagsOf<ContextOf<A>>> & Partial<import("@decaf-ts/db-decorators").FlagsOf<ContextOf<A>>> & {
|
|
37
|
+
allowRawStatements: boolean;
|
|
38
|
+
forcePrepareSimpleQueries: boolean;
|
|
39
|
+
forcePrepareComplexQueries: boolean;
|
|
40
|
+
};
|
|
35
41
|
constructor(adapter: A, clazz?: Constructor<M>);
|
|
36
42
|
url<M extends Model>(tableName: string | Constructor<M>): string;
|
|
37
43
|
url<M extends Model>(tableName: string | Constructor<M>, pathParams: string[]): string;
|
|
38
44
|
url<M extends Model>(tableName: string | Constructor<M>, queryParams: Record<string, string | number> | undefined): string;
|
|
39
|
-
|
|
45
|
+
createAll(models: M[], ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[]>;
|
|
46
|
+
readAll(keys: PrimaryKeyType[], ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[]>;
|
|
47
|
+
updateAll(models: M[], ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[]>;
|
|
48
|
+
deleteAll(keys: PrimaryKeyType[], ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[]>;
|
|
49
|
+
paginateBy(key: keyof M, order: OrderDirection, size: number, ...args: MaybeContextualArg<ContextOf<A>>): Promise<import("@decaf-ts/core").Paginator<M, M[], any>>;
|
|
40
50
|
listBy(key: keyof M, order: OrderDirection, ...args: MaybeContextualArg<ContextOf<A>>): Promise<any>;
|
|
41
|
-
|
|
51
|
+
findBy(key: keyof M, value: any, ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[]>;
|
|
52
|
+
findOneBy(key: keyof M, value: any, ...args: MaybeContextualArg<ContextOf<A>>): Promise<M>;
|
|
42
53
|
statement(name: string, ...args: MaybeContextualArg<ContextOf<A>>): Promise<any>;
|
|
43
54
|
request<R>(details: Q, ...args: MaybeContextualArg<ContextOf<A>>): Promise<R>;
|
|
44
55
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Repository, } from "@decaf-ts/core";
|
|
1
|
+
import { Context, PersistenceKeys, Repository, } from "@decaf-ts/core";
|
|
2
2
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
|
-
import {
|
|
3
|
+
import { PreparedStatementKeys } from "@decaf-ts/core";
|
|
4
|
+
import { BulkCrudOperationKeys } 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.
|
|
@@ -33,39 +34,66 @@ import { Context } from "@decaf-ts/db-decorators";
|
|
|
33
34
|
export class RestRepository extends Repository {
|
|
34
35
|
constructor(adapter, clazz) {
|
|
35
36
|
super(adapter, clazz);
|
|
37
|
+
this._overrides = Object.assign({}, super["_overrides"], {
|
|
38
|
+
allowRawStatements: false,
|
|
39
|
+
forcePrepareSimpleQueries: true,
|
|
40
|
+
forcePrepareComplexQueries: true,
|
|
41
|
+
});
|
|
36
42
|
}
|
|
37
43
|
url(tableName, pathParams, queryParams) {
|
|
38
44
|
return this.adapter.url(tableName, pathParams, queryParams);
|
|
39
45
|
}
|
|
46
|
+
async createAll(models, ...args) {
|
|
47
|
+
return this.adapter.parseResponse(BulkCrudOperationKeys.CREATE_ALL, await super.createAll(models, ...args));
|
|
48
|
+
}
|
|
49
|
+
async readAll(keys, ...args) {
|
|
50
|
+
return this.adapter.parseResponse(BulkCrudOperationKeys.READ_ALL, await super.readAll(keys, ...args));
|
|
51
|
+
}
|
|
52
|
+
async updateAll(models, ...args) {
|
|
53
|
+
return this.adapter.parseResponse(BulkCrudOperationKeys.UPDATE_ALL, await super.updateAll(models, ...args));
|
|
54
|
+
}
|
|
55
|
+
async deleteAll(keys, ...args) {
|
|
56
|
+
return this.adapter.parseResponse(BulkCrudOperationKeys.DELETE_ALL, await super.deleteAll(keys, ...args));
|
|
57
|
+
}
|
|
40
58
|
async paginateBy(key, order, size, ...args) {
|
|
41
|
-
const contextArgs = await Context.args(
|
|
59
|
+
const contextArgs = await Context.args(PreparedStatementKeys.PAGE_BY, this.class, args, this.adapter, this._overrides || {});
|
|
42
60
|
const { log, ctxArgs } = this.logCtx(contextArgs.args, this.paginateBy);
|
|
43
61
|
log.verbose(`paginating ${Model.tableName(this.class)} with page size ${size}`);
|
|
44
|
-
return
|
|
62
|
+
return this.select()
|
|
63
|
+
.orderBy([key, order])
|
|
64
|
+
.paginate(size, ...ctxArgs);
|
|
45
65
|
}
|
|
46
66
|
async listBy(key, order, ...args) {
|
|
47
67
|
const contextArgs = await Context.args("list", this.class, args, this.adapter, this._overrides || {});
|
|
48
68
|
const { log, ctxArgs } = this.logCtx(contextArgs.args, this.listBy);
|
|
49
69
|
log.verbose(`listing ${Model.tableName(this.class)} by ${key} ${order}`);
|
|
50
|
-
return (await this.statement(this.listBy.name, key, order, ...ctxArgs));
|
|
70
|
+
return (await this.statement(this.listBy.name, key, { direction: order }, ...ctxArgs));
|
|
71
|
+
}
|
|
72
|
+
async findBy(key, value, ...args) {
|
|
73
|
+
const contextArgs = await Context.args(PreparedStatementKeys.FIND_BY, this.class, args, this.adapter, this._overrides || {});
|
|
74
|
+
const { log, ctxArgs } = this.logCtx(contextArgs.args, this.findBy);
|
|
75
|
+
log.verbose(`finding all ${Model.tableName(this.class)} with ${key} ${value}`);
|
|
76
|
+
return (await this.statement(this.findBy.name, key, value, {}, ...ctxArgs));
|
|
51
77
|
}
|
|
52
78
|
async findOneBy(key, value, ...args) {
|
|
53
|
-
const contextArgs = await Context.args(
|
|
79
|
+
const contextArgs = await Context.args(PreparedStatementKeys.FIND_ONE_BY, this.class, args, this.adapter, this._overrides || {});
|
|
54
80
|
const { log, ctxArgs } = this.logCtx(contextArgs.args, this.findOneBy);
|
|
55
|
-
log.verbose(`finding ${Model.tableName(this.class)} with ${key} ${value}`);
|
|
56
|
-
return (await this.statement(this.findOneBy.name, key, value, ...ctxArgs));
|
|
81
|
+
log.verbose(`finding One ${Model.tableName(this.class)} with ${key} ${value}`);
|
|
82
|
+
return (await this.statement(this.findOneBy.name, key, value, {}, ...ctxArgs));
|
|
57
83
|
}
|
|
58
84
|
async statement(name, ...args) {
|
|
59
|
-
const contextArgs = await Context.args(
|
|
85
|
+
const contextArgs = await Context.args(PersistenceKeys.STATEMENT, this.class, args, this.adapter, this._overrides || {});
|
|
60
86
|
const { log, ctxArgs, ctx } = this.logCtx(contextArgs.args, this.statement);
|
|
87
|
+
const params = args.pop();
|
|
61
88
|
const query = {
|
|
62
89
|
class: this.class,
|
|
63
90
|
args: args,
|
|
64
91
|
method: name,
|
|
92
|
+
params: params,
|
|
65
93
|
};
|
|
66
94
|
const req = this.adapter.toRequest(query, ctx);
|
|
67
95
|
log.verbose(`Executing prepared statement ${name}`);
|
|
68
|
-
return this.request(req, ...ctxArgs);
|
|
96
|
+
return this.adapter.parseResponse(name, await this.request(req, ...ctxArgs));
|
|
69
97
|
}
|
|
70
98
|
async request(details, ...args) {
|
|
71
99
|
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,
|
|
1
|
+
{"version":3,"file":"RestRepository.js","sourceRoot":"","sources":["../../src/RestRepository.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/RestService.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
2
2
|
import { Constructor } from "@decaf-ts/decoration";
|
|
3
|
-
import { FlagsOf } from "@decaf-ts/core";
|
|
4
3
|
import { HttpAdapter } from "./adapter";
|
|
5
4
|
import { RestRepository } from "./RestRepository";
|
|
6
5
|
/**
|
|
@@ -52,7 +51,17 @@ import { RestRepository } from "./RestRepository";
|
|
|
52
51
|
* Service-->>Client: revert(record)
|
|
53
52
|
*/
|
|
54
53
|
export declare class RestService<M extends Model, A extends HttpAdapter<any, any, any, any, any>, Q = A extends HttpAdapter<any, any, any, infer Q, any> ? Q : never> extends RestRepository<M, A, Q> {
|
|
55
|
-
protected _overrides: Partial<FlagsOf<A
|
|
54
|
+
protected _overrides: Partial<import("@decaf-ts/core").FlagsOf<import("@decaf-ts/core").ContextOf<A>>> & Partial<import("@decaf-ts/db-decorators").FlagsOf<import("@decaf-ts/core").ContextOf<A>>> & {
|
|
55
|
+
allowRawStatements: boolean;
|
|
56
|
+
forcePrepareSimpleQueries: boolean;
|
|
57
|
+
forcePrepareComplexQueries: boolean;
|
|
58
|
+
} & {
|
|
59
|
+
ignoreValidation: boolean;
|
|
60
|
+
ignoreHandlers: boolean;
|
|
61
|
+
allowRawStatements: boolean;
|
|
62
|
+
forcePrepareSimpleQueries: boolean;
|
|
63
|
+
forcePrepareComplexQueries: boolean;
|
|
64
|
+
};
|
|
56
65
|
/**
|
|
57
66
|
* @description Initializes a new RestService instance
|
|
58
67
|
* @summary Creates a new service instance with the specified adapter and optional model class.
|
package/lib/esm/RestService.js
CHANGED
|
@@ -58,10 +58,13 @@ export class RestService extends RestRepository {
|
|
|
58
58
|
*/
|
|
59
59
|
constructor(adapter, clazz) {
|
|
60
60
|
super(adapter, clazz);
|
|
61
|
-
this._overrides = {
|
|
61
|
+
this._overrides = Object.assign({}, super["_overrides"], {
|
|
62
62
|
ignoreValidation: true,
|
|
63
63
|
ignoreHandlers: true,
|
|
64
|
-
|
|
64
|
+
allowRawStatements: false,
|
|
65
|
+
forcePrepareSimpleQueries: true,
|
|
66
|
+
forcePrepareComplexQueries: true,
|
|
67
|
+
});
|
|
65
68
|
}
|
|
66
69
|
toString() {
|
|
67
70
|
return `${Model.tableName(this.class)} REST service`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestService.js","sourceRoot":"","sources":["../../src/RestService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"RestService.js","sourceRoot":"","sources":["../../src/RestService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,4BAAyB;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,OAAO,WAIX,SAAQ,cAAuB;IAS/B;;;;;;OAMG;IACH,YAAY,OAAU,EAAE,KAAsB;QAC5C,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAhBL,eAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE;YACrE,gBAAgB,EAAE,IAAI;YACtB,cAAc,EAAE,IAAI;YACpB,kBAAkB,EAAE,KAAK;YACzB,yBAAyB,EAAE,IAAI;YAC/B,0BAA0B,EAAE,IAAI;SACjC,CAAC,CAAC;IAWH,CAAC;IAEQ,QAAQ;QACf,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACvD,CAAC;CACF"}
|
package/lib/esm/adapter.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Adapter, Condition, ContextualArgs, MaybeContextualArg, PreparedModel, Repository, Sequence, SequenceOptions } from "@decaf-ts/core";
|
|
2
|
-
import { BaseError,
|
|
3
|
-
import { HttpConfig, HttpFlags
|
|
1
|
+
import { Adapter, Condition, Paginator, Context, ContextualArgs, FlagsOf, MaybeContextualArg, PreparedModel, Repository, Sequence, SequenceOptions, PreparedStatement } from "@decaf-ts/core";
|
|
2
|
+
import { BaseError, OperationKeys, PrimaryKeyType } from "@decaf-ts/db-decorators";
|
|
3
|
+
import { HttpConfig, HttpFlags } from "./types";
|
|
4
4
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
5
5
|
import { Constructor } from "@decaf-ts/decoration";
|
|
6
6
|
import { Statement } from "@decaf-ts/core";
|
|
7
|
+
import type { AdapterFlags } from "@decaf-ts/core";
|
|
7
8
|
/**
|
|
8
9
|
* @description Abstract HTTP adapter for REST API interactions
|
|
9
10
|
* @summary Provides a base implementation for HTTP adapters with methods for CRUD operations,
|
|
@@ -36,22 +37,19 @@ import { Statement } from "@decaf-ts/core";
|
|
|
36
37
|
* }
|
|
37
38
|
* ```
|
|
38
39
|
*/
|
|
39
|
-
export declare abstract class HttpAdapter<CONF extends HttpConfig, CON, REQ, Q extends
|
|
40
|
+
export declare abstract class HttpAdapter<CONF extends HttpConfig, CON, REQ, Q extends PreparedStatement<any> = PreparedStatement<any>, C extends Context<HttpFlags> = Context<HttpFlags>> extends Adapter<CONF, CON, Q, C> {
|
|
40
41
|
protected constructor(config: CONF, flavour: string, alias?: string);
|
|
41
42
|
/**
|
|
42
43
|
* @description Generates operation flags with HTTP headers
|
|
43
|
-
* @summary Extends the base flags method to
|
|
44
|
-
* This method adds an empty headers object to the flags returned by the parent class.
|
|
45
|
-
* @template F - The Repository Flags type
|
|
44
|
+
* @summary Extends the base flags method to ensure HTTP headers exist on the flags payload.
|
|
46
45
|
* @template M - The model type
|
|
47
|
-
* @param {OperationKeys
|
|
48
|
-
* @param {Constructor
|
|
49
|
-
* @param {Partial<
|
|
50
|
-
* @
|
|
46
|
+
* @param {OperationKeys|string} operation - The type of operation being performed
|
|
47
|
+
* @param {Constructor | Constructor[]} model - The target model constructor(s)
|
|
48
|
+
* @param {Partial<FlagsOf<C>>} overrides - Optional flag overrides
|
|
49
|
+
* @param {...any[]} args - Additional arguments forwarded to the base implementation
|
|
50
|
+
* @return {Promise<FlagsOf<C>>} The flags object with headers
|
|
51
51
|
*/
|
|
52
|
-
flags<M extends Model>(operation: OperationKeys
|
|
53
|
-
headers: {};
|
|
54
|
-
}>;
|
|
52
|
+
protected flags<M extends Model>(operation: OperationKeys | string, model: Constructor<M> | Constructor<M>[], overrides: Partial<FlagsOf<C>>, ...args: any[]): Promise<FlagsOf<C>>;
|
|
55
53
|
/**
|
|
56
54
|
* @description Returns the repository constructor for this adapter
|
|
57
55
|
* @summary Provides the RestService class as the repository implementation for this HTTP adapter.
|
|
@@ -125,6 +123,7 @@ export declare abstract class HttpAdapter<CONF extends HttpConfig, CON, REQ, Q e
|
|
|
125
123
|
*/
|
|
126
124
|
abstract request<V>(details: REQ, ...args: MaybeContextualArg<C>): Promise<V>;
|
|
127
125
|
protected extractIdArgs<M extends Model>(model: Constructor<M> | string, id: PrimaryKeyType): string[];
|
|
126
|
+
parseResponse(method: OperationKeys | string, res: any): any;
|
|
128
127
|
/**
|
|
129
128
|
* @description Creates a new resource
|
|
130
129
|
* @summary Abstract method that must be implemented by subclasses to create a new resource
|
|
@@ -200,7 +199,8 @@ export declare abstract class HttpAdapter<CONF extends HttpConfig, CON, REQ, Q e
|
|
|
200
199
|
* @return {Statement<Q, M, any>} A statement object for building queries
|
|
201
200
|
* @throws {UnsupportedError} Always throws as this method is not supported by default
|
|
202
201
|
*/
|
|
203
|
-
Statement<M extends Model>(): Statement<M, Adapter<CONF, CON, Q, C>, any>;
|
|
202
|
+
Statement<M extends Model>(overrides?: Partial<AdapterFlags>): Statement<M, Adapter<CONF, CON, Q, C>, any>;
|
|
203
|
+
Paginator<M extends Model>(query: Q, size: number, clazz: Constructor<M>): Paginator<M, M, Q>;
|
|
204
204
|
/**
|
|
205
205
|
* @description Parses a condition into a query
|
|
206
206
|
* @summary Method for parsing a condition object into a query format understood by the HTTP client.
|
package/lib/esm/adapter.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { Adapter, AuthorizationError, ConnectionError, ForbiddenError, MigrationError, ObserverError, PagingError, PersistenceKeys, QueryError, UnsupportedError, } from "@decaf-ts/core";
|
|
2
|
-
import { BadRequestError, ConflictError,
|
|
1
|
+
import { Adapter, AuthorizationError, ConnectionError, Context, ForbiddenError, MigrationError, ObserverError, PagingError, PersistenceKeys, QueryError, UnsupportedError, } from "@decaf-ts/core";
|
|
2
|
+
import { BadRequestError, ConflictError, InternalError, NotFoundError, SerializationError, ValidationError, } from "@decaf-ts/db-decorators";
|
|
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
6
|
import { prepared } from "@decaf-ts/core";
|
|
7
7
|
import { toKebabCase } from "@decaf-ts/logging";
|
|
8
8
|
import { HttpStatement } from "./HttpStatement.js";
|
|
9
|
+
import { HttpPaginator } from "./HttpPaginator.js";
|
|
10
|
+
import { ResponseParser } from "./ResponseParser.js";
|
|
9
11
|
/**
|
|
10
12
|
* @description Abstract HTTP adapter for REST API interactions
|
|
11
13
|
* @summary Provides a base implementation for HTTP adapters with methods for CRUD operations,
|
|
@@ -40,22 +42,24 @@ import { HttpStatement } from "./HttpStatement.js";
|
|
|
40
42
|
*/
|
|
41
43
|
export class HttpAdapter extends Adapter {
|
|
42
44
|
constructor(config, flavour, alias) {
|
|
43
|
-
super(
|
|
45
|
+
super(Object.assign({}, config, {
|
|
46
|
+
responseParser: config.responseParser || new ResponseParser(),
|
|
47
|
+
}), flavour, alias);
|
|
44
48
|
}
|
|
45
49
|
/**
|
|
46
50
|
* @description Generates operation flags with HTTP headers
|
|
47
|
-
* @summary Extends the base flags method to
|
|
48
|
-
* This method adds an empty headers object to the flags returned by the parent class.
|
|
49
|
-
* @template F - The Repository Flags type
|
|
51
|
+
* @summary Extends the base flags method to ensure HTTP headers exist on the flags payload.
|
|
50
52
|
* @template M - The model type
|
|
51
|
-
* @param {OperationKeys
|
|
52
|
-
* @param {Constructor
|
|
53
|
-
* @param {Partial<
|
|
54
|
-
* @
|
|
53
|
+
* @param {OperationKeys|string} operation - The type of operation being performed
|
|
54
|
+
* @param {Constructor | Constructor[]} model - The target model constructor(s)
|
|
55
|
+
* @param {Partial<FlagsOf<C>>} overrides - Optional flag overrides
|
|
56
|
+
* @param {...any[]} args - Additional arguments forwarded to the base implementation
|
|
57
|
+
* @return {Promise<FlagsOf<C>>} The flags object with headers
|
|
55
58
|
*/
|
|
56
|
-
async flags(operation, model, overrides) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
+
async flags(operation, model, overrides, ...args) {
|
|
60
|
+
const flags = await super.flags(operation, model, overrides, ...args);
|
|
61
|
+
return Object.assign({}, flags, {
|
|
62
|
+
headers: flags.headers ?? {},
|
|
59
63
|
});
|
|
60
64
|
}
|
|
61
65
|
/**
|
|
@@ -162,6 +166,11 @@ export class HttpAdapter extends Adapter {
|
|
|
162
166
|
return [idStr];
|
|
163
167
|
return idStr.split(composed.separator);
|
|
164
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
|
+
}
|
|
165
174
|
/**
|
|
166
175
|
* @description Executes a raw query
|
|
167
176
|
* @summary Method for executing raw queries directly with the HTTP client.
|
|
@@ -202,8 +211,11 @@ export class HttpAdapter extends Adapter {
|
|
|
202
211
|
* @return {Statement<Q, M, any>} A statement object for building queries
|
|
203
212
|
* @throws {UnsupportedError} Always throws as this method is not supported by default
|
|
204
213
|
*/
|
|
205
|
-
Statement() {
|
|
206
|
-
return new HttpStatement(this);
|
|
214
|
+
Statement(overrides) {
|
|
215
|
+
return new HttpStatement(this, overrides);
|
|
216
|
+
}
|
|
217
|
+
Paginator(query, size, clazz) {
|
|
218
|
+
return new HttpPaginator(this, query, size, clazz);
|
|
207
219
|
}
|
|
208
220
|
/**
|
|
209
221
|
* @description Parses a condition into a query
|
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,cAAc,EAEd,cAAc,EACd,aAAa,EACb,WAAW,EACX,eAAe,EAEf,UAAU,EAIV,gBAAgB,
|
|
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,EAIV,gBAAgB,GAEjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,eAAe,EAEf,aAAa,EACb,aAAa,EACb,aAAa,EAGb,kBAAkB,EAClB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EACL,KAAK,EAEL,UAAU,EACV,cAAc,EACd,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAE5C,OAAO,EAAE,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,2BAAwB;AAChD,OAAO,EAAE,aAAa,EAAE,2BAAwB;AAEhD,OAAO,EAAE,cAAc,EAAE,4BAAyB;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,OAAgB,WAMpB,SAAQ,OAAwB;IAChC,YAAsB,MAAY,EAAE,OAAe,EAAE,KAAc;QACjE,KAAK,CACH,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE;YACxB,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI,cAAc,EAAE;SAC9D,CAAC,EACF,OAAO,EACP,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACgB,KAAK,CAAC,KAAK,CAC5B,SAAiC,EACjC,KAAwC,EACxC,SAA8B,EAC9B,GAAG,IAAW;QAEd,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE;YAC9B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACM,UAAU;QAGjB,OAAO,WAAwC,CAAC;IAClD,CAAC;IAED;;;;;;;;;OASG;IACM,OAAO,CACd,KAAQ,EACR,GAAG,IAAuB;QAE1B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACxC,IAAK,KAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,KAAK,CACP,0CAA2C,KAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CACrF,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE;gBACtD,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAG,KAAa,CAAC,eAAe,CAAC,QAAQ,CAAC;aAChD,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,MAAM,EAAE,KAAK;YACb,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAA6B,CAAC,CAAW;SACnE,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACM,MAAM,CACb,GAAwB,EACxB,KAA8B,EAC9B,EAAkB,EAClB,GAAG,IAAuB;QAE1B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,EAAE,GAAwB,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,CACR,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAC9D,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACpE,IAAI,CAAC,MAAM;YACT,MAAM,IAAI,aAAa,CACrB,4CAA4C,KAAK,EAAE,CACpD,CAAC;QACJ,MAAM,MAAM,GAAG,IAAK,MAAyB,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,CAAC,OAAO,6BAA6B,CAAC,CAAC,WAAW,CAAC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CACrG,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE;gBACtD,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,KAAK;gBACnB,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,WAAW,CAAkB,CAA0B;QAC/D,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IAuCD;;;;;;;;OAQG;IACH,GAAG,CACD,SAAkC,EAClC,UAAuD,EACvD,WAA6C;QAE7C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7C,WAAW,GAAG,UAAU,CAAC;gBACzB,UAAU,GAAG,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QAED,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS,GAAG,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAK,UAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/I,CAAC;QACF,IAAI,WAAW;YACb,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACnD,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAC/C,CAAC;QAEJ,mEAAmE;QACnE,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAiBS,aAAa,CACrB,KAA8B,EAC9B,EAAkB;QAElB,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,aAAa,CAAC,MAA8B,EAAE,GAAQ;QACpD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc;YAC7B,MAAM,IAAI,aAAa,CAAC,+BAA+B,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC;IAkED;;;;;;;;;;;OAWG;IACH,GAAG,CAAI,QAAW,EAAE,GAAG,IAAuB;QAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;OAQG;IACH,6DAA6D;IACpD,QAAQ,CAAC,OAAwB;QACxC,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,gBAAgB,CAClB,wFAAwF,CACzF,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACM,SAAS,CAChB,SAAiC;QAEjC,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;IAEQ,SAAS,CAChB,KAAQ,EACR,IAAY,EACZ,KAAqB;QAErB,OAAO,IAAI,aAAa,CACtB,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,6DAA6D;IAC7D,cAAc,CAAC,SAAyB;QACtC,MAAM,IAAI,gBAAgB,CACxB,wFAAwF,CACzF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CACf,GAAmB;IACnB,6DAA6D;IAC7D,GAAG,IAAW;QAEd,MAAM,GAAG,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;QACxD,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzD,OAAO,IAAI,aAAa,CAAC,GAAG,CAAM,CAAC;QACrC,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzD,OAAO,IAAI,aAAa,CAAC,GAAG,CAAM,CAAC;QACrC,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC3D,OAAO,IAAI,eAAe,CAAC,GAAG,CAAM,CAAC;QACvC,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC3D,OAAO,IAAI,eAAe,CAAC,GAAG,CAAM,CAAC;QACvC,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,UAAU,CAAC,GAAG,CAAM,CAAC;QACnE,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,WAAW,CAAC,GAAG,CAAM,CAAC;QACrE,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACrC,OAAO,IAAI,gBAAgB,CAAC,GAAG,CAAM,CAAC;QACxC,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,cAAc,CAAC,GAAG,CAAM,CAAC;QAC3E,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,aAAa,CAAC,GAAG,CAAM,CAAC;QACzE,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACvC,OAAO,IAAI,kBAAkB,CAAC,GAAG,CAAM,CAAC;QAC1C,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,cAAc,CAAC,GAAG,CAAM,CAAC;QAC3E,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC;YACpC,OAAO,IAAI,eAAe,CAAC,GAAG,CAAM,CAAC;QACvC,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACvC,OAAO,IAAI,kBAAkB,CAAC,GAAG,CAAM,CAAC;QAC1C,OAAO,IAAI,aAAa,CAAC,GAAG,CAAM,CAAC;IACrC,CAAC;IAED,MAAM,CAAU,UAAU;QACxB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,SAAS,KAAK,CAAC,OAAqB;YAClC,OAAO,SAAS,KAAK,CAAC,GAAW,EAAE,IAAU,EAAE,UAAgB;gBAC7D,6DAA6D;gBAC7D,SAAS,UAAU,CAAC,OAAqB;oBACvC,OAAO,SAAS,UAAU,CACxB,GAAQ,EACR,WAAiB,EACjB,UAAgB;wBAEf,UAA2C,CAAC,KAAK,GAAG,IAAI,KAAK,CAC3D,UAA2C,CAAC,KAAK,EAClD;4BACE,KAAK,CAAC,KAAK,CACT,MAAW,EACX,OAAY,EACZ,IAAW;gCAEX,MAAM,IAAI,GAAG,OAA+B,CAAC;gCAE7C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CACpC,WAAW,EACX,IAAI,CAAC,KAAK,EACV,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,EACf,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CACzB,CAAC;gCACF,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CACrC,WAAW,CAAC,IAAI,EAChB,MAAM,CACP,CAAC;gCACF,GAAG,CAAC,OAAO,CAAC,8BAA8B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gCACzD,GAAG,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gCACzD,OAAQ,OAAgC,CAAC,SAAS,CAChD,MAAM,CAAC,IAAI,EACX,GAAG,OAAO,CACX,CAAC;4BACJ,CAAC;yBACF,CACF,CAAC;oBACJ,CAAC,CAAC;gBACJ,CAAC;gBAED,OAAO,KAAK,CACV,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,EAClE,QAAQ,EAAE,EACV,UAAU,CAAC,OAAO,CAAC,CACpB,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YAC3B,CAAC,CAAC;QACJ,CAAC;QAED,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC;aAClC,MAAM,CAAC;YACN,SAAS,EAAE,KAAK;SACV,CAAC;aACR,KAAK,EAAE,CAAC;IACb,CAAC;CACF;AAED,WAAW,CAAC,UAAU,EAAE,CAAC"}
|
package/lib/esm/axios/axios.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { HttpAdapter } from "../adapter";
|
|
2
2
|
import { Axios, AxiosRequestConfig } from "axios";
|
|
3
|
-
import { HttpConfig
|
|
3
|
+
import { HttpConfig } from "../types";
|
|
4
4
|
import { AxiosFlags } from "./types";
|
|
5
|
-
import { BaseError,
|
|
6
|
-
import { ContextualArgs, MaybeContextualArg } from "@decaf-ts/core";
|
|
5
|
+
import { BaseError, PrimaryKeyType } from "@decaf-ts/db-decorators";
|
|
6
|
+
import { Context, ContextualArgs, MaybeContextualArg, PreparedStatement } from "@decaf-ts/core";
|
|
7
7
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
8
8
|
import { Constructor } from "@decaf-ts/decoration";
|
|
9
9
|
/**
|
|
@@ -53,12 +53,12 @@ import { Constructor } from "@decaf-ts/decoration";
|
|
|
53
53
|
* Axios-->>AxiosHttpAdapter: Response Data
|
|
54
54
|
* AxiosHttpAdapter-->>Client: Resource Data
|
|
55
55
|
*/
|
|
56
|
-
export declare class AxiosHttpAdapter extends HttpAdapter<HttpConfig, Axios, AxiosRequestConfig,
|
|
56
|
+
export declare class AxiosHttpAdapter extends HttpAdapter<HttpConfig, Axios, AxiosRequestConfig, PreparedStatement<any>, Context<AxiosFlags>> {
|
|
57
57
|
constructor(config: HttpConfig, alias?: string);
|
|
58
58
|
protected getClient(): Axios;
|
|
59
|
-
toRequest(query:
|
|
59
|
+
toRequest(query: PreparedStatement<any>): AxiosRequestConfig;
|
|
60
60
|
toRequest(ctx: Context<AxiosFlags>): AxiosRequestConfig;
|
|
61
|
-
toRequest(query:
|
|
61
|
+
toRequest(query: PreparedStatement<any>, ctx: Context<AxiosFlags>): AxiosRequestConfig;
|
|
62
62
|
/**
|
|
63
63
|
* @description Sends an HTTP request using Axios
|
|
64
64
|
* @summary Implementation of the abstract request method from HttpAdapter.
|