@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
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Repository, } from "@decaf-ts/core";
|
|
1
|
+
import { Context, Repository, } from "@decaf-ts/core";
|
|
2
2
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
|
-
import {
|
|
3
|
+
import { PreparedStatementKeys } from "@decaf-ts/core";
|
|
4
4
|
/**
|
|
5
5
|
* @description Repository for REST API interactions
|
|
6
6
|
* @summary A specialized repository implementation for interacting with REST APIs.
|
|
@@ -33,35 +33,50 @@ import { Context } from "@decaf-ts/db-decorators";
|
|
|
33
33
|
export class RestRepository extends Repository {
|
|
34
34
|
constructor(adapter, clazz) {
|
|
35
35
|
super(adapter, clazz);
|
|
36
|
+
this._overrides = Object.assign({}, super["_overrides"], {
|
|
37
|
+
allowRawStatements: false,
|
|
38
|
+
forcePrepareSimpleQueries: true,
|
|
39
|
+
forcePrepareComplexQueries: true,
|
|
40
|
+
});
|
|
36
41
|
}
|
|
37
42
|
url(tableName, pathParams, queryParams) {
|
|
38
43
|
return this.adapter.url(tableName, pathParams, queryParams);
|
|
39
44
|
}
|
|
40
45
|
async paginateBy(key, order, size, ...args) {
|
|
41
|
-
const contextArgs = await Context.args(
|
|
46
|
+
const contextArgs = await Context.args(PreparedStatementKeys.PAGE_BY, this.class, args, this.adapter, this._overrides || {});
|
|
42
47
|
const { log, ctxArgs } = this.logCtx(contextArgs.args, this.paginateBy);
|
|
43
48
|
log.verbose(`paginating ${Model.tableName(this.class)} with page size ${size}`);
|
|
44
|
-
return
|
|
49
|
+
return this.select()
|
|
50
|
+
.orderBy([key, order])
|
|
51
|
+
.paginate(size, ...ctxArgs);
|
|
45
52
|
}
|
|
46
53
|
async listBy(key, order, ...args) {
|
|
47
54
|
const contextArgs = await Context.args("list", this.class, args, this.adapter, this._overrides || {});
|
|
48
55
|
const { log, ctxArgs } = this.logCtx(contextArgs.args, this.listBy);
|
|
49
56
|
log.verbose(`listing ${Model.tableName(this.class)} by ${key} ${order}`);
|
|
50
|
-
return (await this.statement(this.listBy.name, key, order, ...ctxArgs));
|
|
57
|
+
return (await this.statement(this.listBy.name, key, { direction: order }, ...ctxArgs));
|
|
58
|
+
}
|
|
59
|
+
async findBy(key, value, ...args) {
|
|
60
|
+
const contextArgs = await Context.args(PreparedStatementKeys.FIND_BY, this.class, args, this.adapter, this._overrides || {});
|
|
61
|
+
const { log, ctxArgs } = this.logCtx(contextArgs.args, this.findBy);
|
|
62
|
+
log.verbose(`finding all ${Model.tableName(this.class)} with ${key} ${value}`);
|
|
63
|
+
return (await this.statement(this.findBy.name, key, value, {}, ...ctxArgs));
|
|
51
64
|
}
|
|
52
65
|
async findOneBy(key, value, ...args) {
|
|
53
|
-
const contextArgs = await Context.args(
|
|
66
|
+
const contextArgs = await Context.args(PreparedStatementKeys.FIND_ONE_BY, this.class, args, this.adapter, this._overrides || {});
|
|
54
67
|
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));
|
|
68
|
+
log.verbose(`finding One ${Model.tableName(this.class)} with ${key} ${value}`);
|
|
69
|
+
return (await this.statement(this.findOneBy.name, key, value, {}, ...ctxArgs));
|
|
57
70
|
}
|
|
58
71
|
async statement(name, ...args) {
|
|
59
72
|
const contextArgs = await Context.args("statement", this.class, args, this.adapter, this._overrides || {});
|
|
60
73
|
const { log, ctxArgs, ctx } = this.logCtx(contextArgs.args, this.statement);
|
|
74
|
+
const params = args.pop();
|
|
61
75
|
const query = {
|
|
62
76
|
class: this.class,
|
|
63
77
|
args: args,
|
|
64
78
|
method: name,
|
|
79
|
+
params: params,
|
|
65
80
|
};
|
|
66
81
|
const req = this.adapter.toRequest(query, ctx);
|
|
67
82
|
log.verbose(`Executing prepared statement ${name}`);
|
|
@@ -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.
|
|
@@ -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/esm/adapter.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
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";
|
|
9
10
|
/**
|
|
10
11
|
* @description Abstract HTTP adapter for REST API interactions
|
|
11
12
|
* @summary Provides a base implementation for HTTP adapters with methods for CRUD operations,
|
|
@@ -44,18 +45,18 @@ export class HttpAdapter extends Adapter {
|
|
|
44
45
|
}
|
|
45
46
|
/**
|
|
46
47
|
* @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
|
|
48
|
+
* @summary Extends the base flags method to ensure HTTP headers exist on the flags payload.
|
|
50
49
|
* @template M - The model type
|
|
51
|
-
* @param {OperationKeys
|
|
52
|
-
* @param {Constructor
|
|
53
|
-
* @param {Partial<
|
|
54
|
-
* @
|
|
50
|
+
* @param {OperationKeys|string} operation - The type of operation being performed
|
|
51
|
+
* @param {Constructor | Constructor[]} model - The target model constructor(s)
|
|
52
|
+
* @param {Partial<FlagsOf<C>>} overrides - Optional flag overrides
|
|
53
|
+
* @param {...any[]} args - Additional arguments forwarded to the base implementation
|
|
54
|
+
* @return {Promise<FlagsOf<C>>} The flags object with headers
|
|
55
55
|
*/
|
|
56
|
-
async flags(operation, model, overrides) {
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
async flags(operation, model, overrides, ...args) {
|
|
57
|
+
const flags = await super.flags(operation, model, overrides, ...args);
|
|
58
|
+
return Object.assign({}, flags, {
|
|
59
|
+
headers: flags.headers ?? {},
|
|
59
60
|
});
|
|
60
61
|
}
|
|
61
62
|
/**
|
|
@@ -202,8 +203,11 @@ export class HttpAdapter extends Adapter {
|
|
|
202
203
|
* @return {Statement<Q, M, any>} A statement object for building queries
|
|
203
204
|
* @throws {UnsupportedError} Always throws as this method is not supported by default
|
|
204
205
|
*/
|
|
205
|
-
Statement() {
|
|
206
|
-
return new HttpStatement(this);
|
|
206
|
+
Statement(overrides) {
|
|
207
|
+
return new HttpStatement(this, overrides);
|
|
208
|
+
}
|
|
209
|
+
Paginator(query, size, clazz) {
|
|
210
|
+
return new HttpPaginator(this, query, size, clazz);
|
|
207
211
|
}
|
|
208
212
|
/**
|
|
209
213
|
* @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":"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"}
|
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.
|
package/lib/esm/axios/axios.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { HttpAdapter } from "./../adapter.js";
|
|
2
2
|
import { Axios } from "axios";
|
|
3
|
-
import { Context } from "@decaf-ts/
|
|
4
|
-
import { PersistenceKeys, } from "@decaf-ts/core";
|
|
3
|
+
import { Context, PersistenceKeys, } from "@decaf-ts/core";
|
|
5
4
|
import { AxiosFlavour } from "./constants.js";
|
|
6
5
|
/**
|
|
7
6
|
* @description Axios implementation of the HTTP adapter
|
|
@@ -82,7 +81,7 @@ export class AxiosHttpAdapter extends HttpAdapter {
|
|
|
82
81
|
}
|
|
83
82
|
if (query) {
|
|
84
83
|
req.method = "GET";
|
|
85
|
-
req.url = this.url(query.class, [PersistenceKeys.STATEMENT, query.method, ...query.args], query.params);
|
|
84
|
+
req.url = this.url(query.class, [PersistenceKeys.STATEMENT, query.method, ...(query.args || [])], query.params);
|
|
86
85
|
}
|
|
87
86
|
return req;
|
|
88
87
|
}
|
|
@@ -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
|
@@ -9,6 +9,8 @@ import "@decaf-ts/core";
|
|
|
9
9
|
*/
|
|
10
10
|
export * from "./axios";
|
|
11
11
|
export * from "./adapter";
|
|
12
|
+
export * from "./HttpPaginator";
|
|
13
|
+
export * from "./HttpStatement";
|
|
12
14
|
export * from "./RestRepository";
|
|
13
15
|
export * from "./RestService";
|
|
14
16
|
export * from "./types";
|
|
@@ -17,4 +19,5 @@ export * from "./types";
|
|
|
17
19
|
* @summary Version identifier for the module
|
|
18
20
|
* @const VERSION
|
|
19
21
|
*/
|
|
20
|
-
export declare const VERSION = "0.3.
|
|
22
|
+
export declare const VERSION = "0.3.11";
|
|
23
|
+
export declare const PACKAGE_NAME = "@decaf-ts/for-http";
|
package/lib/esm/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import "@decaf-ts/core";
|
|
2
|
+
import { Metadata } from "@decaf-ts/decoration";
|
|
2
3
|
/**
|
|
3
4
|
* @description HTTP client module for REST API interactions
|
|
4
5
|
* @summary This module provides classes and utilities for interacting with REST APIs.
|
|
@@ -9,6 +10,8 @@ import "@decaf-ts/core";
|
|
|
9
10
|
*/
|
|
10
11
|
export * from "./axios/index.js";
|
|
11
12
|
export * from "./adapter.js";
|
|
13
|
+
export * from "./HttpPaginator.js";
|
|
14
|
+
export * from "./HttpStatement.js";
|
|
12
15
|
export * from "./RestRepository.js";
|
|
13
16
|
export * from "./RestService.js";
|
|
14
17
|
export * from "./types.js";
|
|
@@ -17,5 +20,7 @@ export * from "./types.js";
|
|
|
17
20
|
* @summary Version identifier for the module
|
|
18
21
|
* @const VERSION
|
|
19
22
|
*/
|
|
20
|
-
export const VERSION = "0.3.
|
|
23
|
+
export const VERSION = "0.3.11";
|
|
24
|
+
export const PACKAGE_NAME = "@decaf-ts/for-http";
|
|
25
|
+
Metadata.registerLibrary(PACKAGE_NAME, VERSION);
|
|
21
26
|
//# 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;
|
|
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"}
|
package/lib/esm/types.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ModelConstructor } from "@decaf-ts/decorator-validation";
|
|
1
|
+
import { AdapterFlags } from "@decaf-ts/core";
|
|
3
2
|
/**
|
|
4
3
|
* @description HTTP configuration type
|
|
5
4
|
* @summary Configuration type for HTTP connections specifying protocol and host
|
|
@@ -19,12 +18,6 @@ export type HttpConfig = {
|
|
|
19
18
|
* @property {Record<string, string>} [headers] - Optional HTTP headers to include with requests
|
|
20
19
|
* @memberOf module:for-http
|
|
21
20
|
*/
|
|
22
|
-
export interface HttpFlags extends
|
|
21
|
+
export interface HttpFlags extends AdapterFlags {
|
|
23
22
|
headers?: Record<string, string>;
|
|
24
23
|
}
|
|
25
|
-
export type HttpQuery = {
|
|
26
|
-
class: ModelConstructor<any> | string;
|
|
27
|
-
method: string;
|
|
28
|
-
args: any[];
|
|
29
|
-
params?: Record<"limit" | "skip", number>;
|
|
30
|
-
};
|
package/lib/index.cjs
CHANGED
|
@@ -14,8 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.VERSION = void 0;
|
|
17
|
+
exports.PACKAGE_NAME = exports.VERSION = void 0;
|
|
18
18
|
require("@decaf-ts/core");
|
|
19
|
+
const decoration_1 = require("@decaf-ts/decoration");
|
|
19
20
|
/**
|
|
20
21
|
* @description HTTP client module for REST API interactions
|
|
21
22
|
* @summary This module provides classes and utilities for interacting with REST APIs.
|
|
@@ -26,6 +27,8 @@ require("@decaf-ts/core");
|
|
|
26
27
|
*/
|
|
27
28
|
__exportStar(require("./axios/index.cjs"), exports);
|
|
28
29
|
__exportStar(require("./adapter.cjs"), exports);
|
|
30
|
+
__exportStar(require("./HttpPaginator.cjs"), exports);
|
|
31
|
+
__exportStar(require("./HttpStatement.cjs"), exports);
|
|
29
32
|
__exportStar(require("./RestRepository.cjs"), exports);
|
|
30
33
|
__exportStar(require("./RestService.cjs"), exports);
|
|
31
34
|
__exportStar(require("./types.cjs"), exports);
|
|
@@ -34,5 +37,7 @@ __exportStar(require("./types.cjs"), exports);
|
|
|
34
37
|
* @summary Version identifier for the module
|
|
35
38
|
* @const VERSION
|
|
36
39
|
*/
|
|
37
|
-
exports.VERSION = "0.3.
|
|
40
|
+
exports.VERSION = "0.3.11";
|
|
41
|
+
exports.PACKAGE_NAME = "@decaf-ts/for-http";
|
|
42
|
+
decoration_1.Metadata.registerLibrary(exports.PACKAGE_NAME, exports.VERSION);
|
|
38
43
|
//# sourceMappingURL=index.js.map
|
package/lib/index.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ import "@decaf-ts/core";
|
|
|
9
9
|
*/
|
|
10
10
|
export * from "./axios";
|
|
11
11
|
export * from "./adapter";
|
|
12
|
+
export * from "./HttpPaginator";
|
|
13
|
+
export * from "./HttpStatement";
|
|
12
14
|
export * from "./RestRepository";
|
|
13
15
|
export * from "./RestService";
|
|
14
16
|
export * from "./types";
|
|
@@ -17,4 +19,5 @@ export * from "./types";
|
|
|
17
19
|
* @summary Version identifier for the module
|
|
18
20
|
* @const VERSION
|
|
19
21
|
*/
|
|
20
|
-
export declare const VERSION = "0.3.
|
|
22
|
+
export declare const VERSION = "0.3.11";
|
|
23
|
+
export declare const PACKAGE_NAME = "@decaf-ts/for-http";
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0BAAwB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0BAAwB;AACxB,qDAAgD;AAEhD;;;;;;;GAOG;AACH,oDAAwB;AACxB,gDAA0B;AAC1B,sDAAgC;AAChC,sDAAgC;AAChC,uDAAiC;AACjC,oDAA8B;AAC9B,8CAAwB;AAExB;;;;GAIG;AACU,QAAA,OAAO,GAAG,aAAa,CAAC;AAExB,QAAA,YAAY,GAAG,aAAa,CAAC;AAE1C,qBAAQ,CAAC,eAAe,CAAC,oBAAY,EAAE,eAAO,CAAC,CAAC"}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ModelConstructor } from "@decaf-ts/decorator-validation";
|
|
1
|
+
import { AdapterFlags } from "@decaf-ts/core";
|
|
3
2
|
/**
|
|
4
3
|
* @description HTTP configuration type
|
|
5
4
|
* @summary Configuration type for HTTP connections specifying protocol and host
|
|
@@ -19,12 +18,6 @@ export type HttpConfig = {
|
|
|
19
18
|
* @property {Record<string, string>} [headers] - Optional HTTP headers to include with requests
|
|
20
19
|
* @memberOf module:for-http
|
|
21
20
|
*/
|
|
22
|
-
export interface HttpFlags extends
|
|
21
|
+
export interface HttpFlags extends AdapterFlags {
|
|
23
22
|
headers?: Record<string, string>;
|
|
24
23
|
}
|
|
25
|
-
export type HttpQuery = {
|
|
26
|
-
class: ModelConstructor<any> | string;
|
|
27
|
-
method: string;
|
|
28
|
-
args: any[];
|
|
29
|
-
params?: Record<"limit" | "skip", number>;
|
|
30
|
-
};
|