@decaf-ts/for-http 0.3.10 → 0.3.12
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/RestRepository.cjs +25 -10
- package/lib/RestRepository.d.ts +9 -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 +17 -13
- package/lib/adapter.d.ts +14 -15
- package/lib/adapter.js.map +1 -1
- package/lib/axios/axios.cjs +2 -3
- 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/RestRepository.d.ts +9 -3
- package/lib/esm/RestRepository.js +23 -8
- 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 +14 -15
- package/lib/esm/adapter.js +18 -14
- package/lib/esm/adapter.js.map +1 -1
- package/lib/esm/axios/axios.d.ts +6 -6
- package/lib/esm/axios/axios.js +2 -3
- package/lib/esm/axios/axios.js.map +1 -1
- package/lib/esm/index.d.ts +4 -1
- package/lib/esm/index.js +6 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/types.d.ts +2 -9
- package/lib/index.cjs +7 -2
- package/lib/index.d.ts +4 -1
- package/lib/index.js.map +1 -1
- package/lib/types.d.ts +2 -9
- package/package.json +1 -1
package/lib/RestRepository.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
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";
|
|
@@ -32,13 +32,19 @@ import { HttpAdapter } from "./adapter";
|
|
|
32
32
|
* @see {@link RestService}
|
|
33
33
|
*/
|
|
34
34
|
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> {
|
|
35
|
+
protected _overrides: Partial<import("@decaf-ts/core").FlagsOf<ContextOf<A>>> & Partial<import("@decaf-ts/db-decorators").FlagsOf<ContextOf<A>>> & {
|
|
36
|
+
allowRawStatements: boolean;
|
|
37
|
+
forcePrepareSimpleQueries: boolean;
|
|
38
|
+
forcePrepareComplexQueries: boolean;
|
|
39
|
+
};
|
|
35
40
|
constructor(adapter: A, clazz?: Constructor<M>);
|
|
36
41
|
url<M extends Model>(tableName: string | Constructor<M>): string;
|
|
37
42
|
url<M extends Model>(tableName: string | Constructor<M>, pathParams: string[]): string;
|
|
38
43
|
url<M extends Model>(tableName: string | Constructor<M>, queryParams: Record<string, string | number> | undefined): string;
|
|
39
|
-
paginateBy(key: keyof M, order: OrderDirection, size: number, ...args: MaybeContextualArg<ContextOf<A>>): Promise<Paginator<M, M[], any>>;
|
|
44
|
+
paginateBy(key: keyof M, order: OrderDirection, size: number, ...args: MaybeContextualArg<ContextOf<A>>): Promise<import("@decaf-ts/core").Paginator<M, M[], any>>;
|
|
40
45
|
listBy(key: keyof M, order: OrderDirection, ...args: MaybeContextualArg<ContextOf<A>>): Promise<any>;
|
|
41
|
-
|
|
46
|
+
findBy(key: keyof M, value: any, ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[]>;
|
|
47
|
+
findOneBy(key: keyof M, value: any, ...args: MaybeContextualArg<ContextOf<A>>): Promise<M>;
|
|
42
48
|
statement(name: string, ...args: MaybeContextualArg<ContextOf<A>>): Promise<any>;
|
|
43
49
|
request<R>(details: Q, ...args: MaybeContextualArg<ContextOf<A>>): Promise<R>;
|
|
44
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestRepository.js","sourceRoot":"","sources":["../src/RestRepository.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"RestRepository.js","sourceRoot":"","sources":["../src/RestRepository.ts"],"names":[],"mappings":";;;AAAA,yCAOwB;AACxB,yEAAuD;AAGvD,yCAAuD;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAa,cAIX,SAAQ,iBAAgB;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;IAEQ,KAAK,CAAC,UAAU,CACvB,GAAY,EACZ,KAAqB,EACrB,IAAY,EACZ,GAAG,IAAsC;QAEzC,MAAM,WAAW,GAAG,MAAM,cAAO,CAAC,IAAI,CACpC,4BAAqB,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,4BAAK,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,cAAO,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,4BAAK,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,cAAO,CAAC,IAAI,CACpC,4BAAqB,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,4BAAK,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,cAAO,CAAC,IAAI,CACpC,4BAAqB,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,4BAAK,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,cAAO,CAAC,IAAI,CACpC,WAAW,EACX,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,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAO,CACX,OAAU,EACV,GAAG,IAAsC;QAEzC,MAAM,WAAW,GAAG,MAAM,cAAO,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;AAtKD,wCAsKC"}
|
package/lib/RestService.cjs
CHANGED
|
@@ -61,10 +61,13 @@ class RestService extends RestRepository_1.RestRepository {
|
|
|
61
61
|
*/
|
|
62
62
|
constructor(adapter, clazz) {
|
|
63
63
|
super(adapter, clazz);
|
|
64
|
-
this._overrides = {
|
|
64
|
+
this._overrides = Object.assign({}, super["_overrides"], {
|
|
65
65
|
ignoreValidation: true,
|
|
66
66
|
ignoreHandlers: true,
|
|
67
|
-
|
|
67
|
+
allowRawStatements: false,
|
|
68
|
+
forcePrepareSimpleQueries: true,
|
|
69
|
+
forcePrepareComplexQueries: true,
|
|
70
|
+
});
|
|
68
71
|
}
|
|
69
72
|
toString() {
|
|
70
73
|
return `${decorator_validation_1.Model.tableName(this.class)} REST service`;
|
package/lib/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/RestService.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestService.js","sourceRoot":"","sources":["../src/RestService.ts"],"names":[],"mappings":";;;AAAA,yEAAuD;
|
|
1
|
+
{"version":3,"file":"RestService.js","sourceRoot":"","sources":["../src/RestService.ts"],"names":[],"mappings":";;;AAAA,yEAAuD;AAGvD,yDAAkD;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAa,WAIX,SAAQ,+BAAuB;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,4BAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;IACvD,CAAC;CACF;AA3BD,kCA2BC"}
|
package/lib/adapter.cjs
CHANGED
|
@@ -9,6 +9,7 @@ const RestService_1 = require("./RestService.cjs");
|
|
|
9
9
|
const core_2 = require("@decaf-ts/core");
|
|
10
10
|
const logging_1 = require("@decaf-ts/logging");
|
|
11
11
|
const HttpStatement_1 = require("./HttpStatement.cjs");
|
|
12
|
+
const HttpPaginator_1 = require("./HttpPaginator.cjs");
|
|
12
13
|
/**
|
|
13
14
|
* @description Abstract HTTP adapter for REST API interactions
|
|
14
15
|
* @summary Provides a base implementation for HTTP adapters with methods for CRUD operations,
|
|
@@ -47,18 +48,18 @@ class HttpAdapter extends core_1.Adapter {
|
|
|
47
48
|
}
|
|
48
49
|
/**
|
|
49
50
|
* @description Generates operation flags with HTTP headers
|
|
50
|
-
* @summary Extends the base flags method to
|
|
51
|
-
* This method adds an empty headers object to the flags returned by the parent class.
|
|
52
|
-
* @template F - The Repository Flags type
|
|
51
|
+
* @summary Extends the base flags method to ensure HTTP headers exist on the flags payload.
|
|
53
52
|
* @template M - The model type
|
|
54
|
-
* @param {OperationKeys
|
|
55
|
-
* @param {Constructor
|
|
56
|
-
* @param {Partial<
|
|
57
|
-
* @
|
|
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
|
|
58
58
|
*/
|
|
59
|
-
async flags(operation, model, overrides) {
|
|
60
|
-
|
|
61
|
-
|
|
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 ?? {},
|
|
62
63
|
});
|
|
63
64
|
}
|
|
64
65
|
/**
|
|
@@ -205,8 +206,11 @@ class HttpAdapter extends core_1.Adapter {
|
|
|
205
206
|
* @return {Statement<Q, M, any>} A statement object for building queries
|
|
206
207
|
* @throws {UnsupportedError} Always throws as this method is not supported by default
|
|
207
208
|
*/
|
|
208
|
-
Statement() {
|
|
209
|
-
return new HttpStatement_1.HttpStatement(this);
|
|
209
|
+
Statement(overrides) {
|
|
210
|
+
return new HttpStatement_1.HttpStatement(this, overrides);
|
|
211
|
+
}
|
|
212
|
+
Paginator(query, size, clazz) {
|
|
213
|
+
return new HttpPaginator_1.HttpPaginator(this, query, size, clazz);
|
|
210
214
|
}
|
|
211
215
|
/**
|
|
212
216
|
* @description Parses a condition into a query
|
|
@@ -263,7 +267,7 @@ class HttpAdapter extends core_1.Adapter {
|
|
|
263
267
|
descriptor.value = new Proxy(descriptor.value, {
|
|
264
268
|
async apply(target, thisArg, args) {
|
|
265
269
|
const repo = thisArg;
|
|
266
|
-
const contextArgs = await
|
|
270
|
+
const contextArgs = await core_1.Context.args(propertyKey, repo.class, args, repo["adapter"], repo["_overrides"] || {});
|
|
267
271
|
const { log, ctxArgs } = repo["logCtx"](contextArgs.args, target);
|
|
268
272
|
log.verbose(`Running prepared statement ${target.name}`);
|
|
269
273
|
log.debug(`With args: ${JSON.stringify(args, null, 2)}`);
|
package/lib/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.
|
|
@@ -200,7 +198,8 @@ export declare abstract class HttpAdapter<CONF extends HttpConfig, CON, REQ, Q e
|
|
|
200
198
|
* @return {Statement<Q, M, any>} A statement object for building queries
|
|
201
199
|
* @throws {UnsupportedError} Always throws as this method is not supported by default
|
|
202
200
|
*/
|
|
203
|
-
Statement<M extends Model>(): Statement<M, Adapter<CONF, CON, Q, C>, any>;
|
|
201
|
+
Statement<M extends Model>(overrides?: Partial<AdapterFlags>): Statement<M, Adapter<CONF, CON, Q, C>, any>;
|
|
202
|
+
Paginator<M extends Model>(query: Q, size: number, clazz: Constructor<M>): Paginator<M, M, Q>;
|
|
204
203
|
/**
|
|
205
204
|
* @description Parses a condition into a query
|
|
206
205
|
* @summary Method for parsing a condition object into a query format understood by the HTTP client.
|
package/lib/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/lib/axios/axios.cjs
CHANGED
|
@@ -3,7 +3,6 @@ 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");
|
|
7
6
|
const core_1 = require("@decaf-ts/core");
|
|
8
7
|
const constants_1 = require("./constants.cjs");
|
|
9
8
|
/**
|
|
@@ -65,7 +64,7 @@ class AxiosHttpAdapter extends adapter_1.HttpAdapter {
|
|
|
65
64
|
toRequest(ctxOrQuery, ctx) {
|
|
66
65
|
let query;
|
|
67
66
|
let context;
|
|
68
|
-
if (ctxOrQuery instanceof
|
|
67
|
+
if (ctxOrQuery instanceof core_1.Context) {
|
|
69
68
|
context = ctxOrQuery;
|
|
70
69
|
query = undefined; // In this overload, ctx is actually the query
|
|
71
70
|
}
|
|
@@ -85,7 +84,7 @@ class AxiosHttpAdapter extends adapter_1.HttpAdapter {
|
|
|
85
84
|
}
|
|
86
85
|
if (query) {
|
|
87
86
|
req.method = "GET";
|
|
88
|
-
req.url = this.url(query.class, [core_1.PersistenceKeys.STATEMENT, query.method, ...query.args], query.params);
|
|
87
|
+
req.url = this.url(query.class, [core_1.PersistenceKeys.STATEMENT, query.method, ...(query.args || [])], query.params);
|
|
89
88
|
}
|
|
90
89
|
return req;
|
|
91
90
|
}
|
package/lib/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.
|
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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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { Paginator } from "@decaf-ts/core";
|
|
1
|
+
import { MaybeContextualArg, Paginator, PreparedStatement } from "@decaf-ts/core";
|
|
2
2
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
|
-
import { HttpQuery } from "./types";
|
|
4
3
|
import { Constructor } from "@decaf-ts/decoration";
|
|
5
4
|
import { HttpAdapter } from "./adapter";
|
|
6
|
-
export declare class HttpPaginator<M extends Model, A extends HttpAdapter<any, any, any,
|
|
7
|
-
constructor(adapter: A, query:
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
export declare class HttpPaginator<M extends Model, Q extends PreparedStatement<M>, A extends HttpAdapter<any, any, any, Q, any>> extends Paginator<M, M, Q> {
|
|
6
|
+
constructor(adapter: A, query: Q, size: number, clazz: Constructor<M>);
|
|
7
|
+
protected prepare(rawStatement: Q): Q;
|
|
8
|
+
page(page?: number, ...args: MaybeContextualArg<any>): Promise<M[]>;
|
|
10
9
|
}
|
package/lib/esm/HttpPaginator.js
CHANGED
|
@@ -1,65 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Context, OperationKeys } from "@decaf-ts/db-decorators";
|
|
3
|
-
import { toCamelCase, toPascalCase } from "@decaf-ts/logging";
|
|
1
|
+
import { Paginator, UnsupportedError, } from "@decaf-ts/core";
|
|
4
2
|
export class HttpPaginator extends Paginator {
|
|
5
3
|
constructor(adapter, query, size, clazz) {
|
|
6
4
|
super(adapter, query, size, clazz);
|
|
7
5
|
}
|
|
8
|
-
|
|
9
|
-
const contextArgs = await Context.args(OperationKeys.READ, this.clazz, args, this.adapter);
|
|
10
|
-
let statement = Object.assign({}, this.statement, {
|
|
11
|
-
args: [...this.statement.args],
|
|
12
|
-
params: { ...this.statement.params },
|
|
13
|
-
});
|
|
14
|
-
if (!this.statement.method.includes("pageBy"))
|
|
15
|
-
statement = this.prepare(statement);
|
|
16
|
-
statement.args.push(page);
|
|
17
|
-
page = this.validatePage(page);
|
|
18
|
-
const results = await this.adapter.raw(statement, ...contextArgs.args);
|
|
19
|
-
this._currentPage = page;
|
|
20
|
-
return results;
|
|
21
|
-
}
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
22
7
|
prepare(rawStatement) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
.filter(Boolean)
|
|
28
|
-
.filter((s) => ![
|
|
29
|
-
QueryClause.FIND_BY,
|
|
30
|
-
QueryClause.SELECT,
|
|
31
|
-
QueryClause.ORDER_BY,
|
|
32
|
-
QueryClause.GROUP_BY,
|
|
33
|
-
toPascalCase(OrderDirection.ASC),
|
|
34
|
-
toPascalCase(OrderDirection.DSC),
|
|
35
|
-
].find((c) => s.includes(c)));
|
|
36
|
-
const fullOrderBy = rawStatement.method.split(QueryClause.ORDER_BY);
|
|
37
|
-
let orderBy;
|
|
38
|
-
if (fullOrderBy.length) {
|
|
39
|
-
orderBy = fullOrderBy[1]
|
|
40
|
-
.split(new RegExp(`${[toPascalCase(OrderDirection.ASC), toPascalCase(OrderDirection.DSC), QueryClause.GROUP_BY + ".*", QueryClause.THEN_BY].join("|")}`, "i"))
|
|
41
|
-
.map((s) => s.trim())
|
|
42
|
-
.filter(Boolean);
|
|
43
|
-
orderBy = [
|
|
44
|
-
orderBy[0],
|
|
45
|
-
fullOrderBy[1].includes(toPascalCase(OrderDirection.ASC))
|
|
46
|
-
? OrderDirection.ASC
|
|
47
|
-
: OrderDirection.DSC,
|
|
48
|
-
];
|
|
49
|
-
}
|
|
50
|
-
if (attrs.length === 1 && attrs[0] === orderBy[0]) {
|
|
51
|
-
const attr = attrs[0];
|
|
52
|
-
return Object.assign({}, rawStatement, {
|
|
53
|
-
method: "pageBy",
|
|
54
|
-
args: [toCamelCase(attr), orderBy[1], this.size],
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
return Object.assign({}, rawStatement, {
|
|
59
|
-
method: rawStatement.method.replace(QueryClause.FIND_BY, "pageBy"),
|
|
60
|
-
args: [...rawStatement.args, this.size],
|
|
61
|
-
});
|
|
62
|
-
}
|
|
8
|
+
throw new UnsupportedError(`Raw query access must be implemented by a subclass. only prepared statements are natively available`);
|
|
9
|
+
}
|
|
10
|
+
page(page = 1, ...args) {
|
|
11
|
+
return super.page(page, ...args); // this will fail for non-prepared statements
|
|
63
12
|
}
|
|
64
13
|
}
|
|
65
14
|
//# sourceMappingURL=HttpPaginator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpPaginator.js","sourceRoot":"","sources":["../../src/HttpPaginator.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"HttpPaginator.js","sourceRoot":"","sources":["../../src/HttpPaginator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAKxB,MAAM,OAAO,aAIX,SAAQ,SAAkB;IAC1B,YAAY,OAAU,EAAE,KAAQ,EAAE,IAAY,EAAE,KAAqB;QACnE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,6DAA6D;IACnD,OAAO,CAAC,YAAe;QAC/B,MAAM,IAAI,gBAAgB,CACxB,qGAAqG,CACtG,CAAC;IACJ,CAAC;IAEQ,IAAI,CACX,OAAe,CAAC,EAChB,GAAG,IAA6B;QAEhC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,6CAA6C;IACjF,CAAC;CACF"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { Condition,
|
|
1
|
+
import { Condition, Statement } from "@decaf-ts/core";
|
|
2
2
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
3
|
import { HttpAdapter } from "./adapter";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
protected
|
|
4
|
+
import type { AdapterFlags } from "@decaf-ts/core";
|
|
5
|
+
type HttpAdapterQuery<T extends HttpAdapter<any, any, any, any, any>> = T extends HttpAdapter<any, any, any, infer Q, any> ? Q : never;
|
|
6
|
+
export declare class HttpStatement<M extends Model, A extends HttpAdapter<any, any, any, any, any>, R> extends Statement<M, A, R, HttpAdapterQuery<A>> {
|
|
7
|
+
constructor(adapter: A, overrides?: Partial<AdapterFlags>);
|
|
8
|
+
protected build(): HttpAdapterQuery<A>;
|
|
9
|
+
protected parseCondition(condition: Condition<M>, ...args: any[]): HttpAdapterQuery<A>;
|
|
9
10
|
}
|
|
11
|
+
export {};
|
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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
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";
|
|
@@ -32,13 +32,19 @@ import { HttpAdapter } from "./adapter";
|
|
|
32
32
|
* @see {@link RestService}
|
|
33
33
|
*/
|
|
34
34
|
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> {
|
|
35
|
+
protected _overrides: Partial<import("@decaf-ts/core").FlagsOf<ContextOf<A>>> & Partial<import("@decaf-ts/db-decorators").FlagsOf<ContextOf<A>>> & {
|
|
36
|
+
allowRawStatements: boolean;
|
|
37
|
+
forcePrepareSimpleQueries: boolean;
|
|
38
|
+
forcePrepareComplexQueries: boolean;
|
|
39
|
+
};
|
|
35
40
|
constructor(adapter: A, clazz?: Constructor<M>);
|
|
36
41
|
url<M extends Model>(tableName: string | Constructor<M>): string;
|
|
37
42
|
url<M extends Model>(tableName: string | Constructor<M>, pathParams: string[]): string;
|
|
38
43
|
url<M extends Model>(tableName: string | Constructor<M>, queryParams: Record<string, string | number> | undefined): string;
|
|
39
|
-
paginateBy(key: keyof M, order: OrderDirection, size: number, ...args: MaybeContextualArg<ContextOf<A>>): Promise<Paginator<M, M[], any>>;
|
|
44
|
+
paginateBy(key: keyof M, order: OrderDirection, size: number, ...args: MaybeContextualArg<ContextOf<A>>): Promise<import("@decaf-ts/core").Paginator<M, M[], any>>;
|
|
40
45
|
listBy(key: keyof M, order: OrderDirection, ...args: MaybeContextualArg<ContextOf<A>>): Promise<any>;
|
|
41
|
-
|
|
46
|
+
findBy(key: keyof M, value: any, ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[]>;
|
|
47
|
+
findOneBy(key: keyof M, value: any, ...args: MaybeContextualArg<ContextOf<A>>): Promise<M>;
|
|
42
48
|
statement(name: string, ...args: MaybeContextualArg<ContextOf<A>>): Promise<any>;
|
|
43
49
|
request<R>(details: Q, ...args: MaybeContextualArg<ContextOf<A>>): Promise<R>;
|
|
44
50
|
}
|