@breautek/storm 9.0.4 → 9.0.5
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/CHANGELOG.md +6 -0
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/Application.html +17 -17
- package/docs/classes/ConfigLoader.html +3 -3
- package/docs/classes/Database.html +2 -2
- package/docs/classes/DatabaseCastObject.html +2 -2
- package/docs/classes/DatabaseConnection.html +21 -21
- package/docs/classes/DatabaseQueryError.html +6 -6
- package/docs/classes/DeadLockError.html +6 -6
- package/docs/classes/DiskSpaceError.html +5 -5
- package/docs/classes/DropTemporaryTableQuery.html +7 -7
- package/docs/classes/DuplicateEntryError.html +5 -5
- package/docs/classes/EntityNotFoundError.html +5 -5
- package/docs/classes/ExpiredTokenError.html +5 -5
- package/docs/classes/Handler.html +2 -2
- package/docs/classes/InternalError.html +5 -5
- package/docs/classes/InvalidCredentialsError.html +5 -5
- package/docs/classes/InvalidValueError.html +5 -5
- package/docs/classes/LineString.html +2 -2
- package/docs/classes/LockWaitTimeoutError.html +6 -6
- package/docs/classes/ManagedDatabaseConnection.html +5 -5
- package/docs/classes/Middleware.html +2 -2
- package/docs/classes/MissingConfigError.html +5 -5
- package/docs/classes/MissingParameterError.html +5 -5
- package/docs/classes/MySQLConnection.html +25 -25
- package/docs/classes/MySQLDatabase.html +2 -2
- package/docs/classes/NotImplementedError.html +5 -5
- package/docs/classes/Point.html +2 -2
- package/docs/classes/Polygon.html +2 -2
- package/docs/classes/Query.html +7 -7
- package/docs/classes/RawError.html +5 -5
- package/docs/classes/RawQuery.html +7 -7
- package/docs/classes/Request.html +6 -2
- package/docs/classes/Response.html +2 -2
- package/docs/classes/ResponseData.html +5 -2
- package/docs/classes/ServiceProvider.html +2 -2
- package/docs/classes/ServiceResponse.html +2 -2
- package/docs/classes/SetSessionVariableQuery.html +7 -7
- package/docs/classes/StormError.html +5 -5
- package/docs/classes/TemporaryTableQuery.html +7 -7
- package/docs/classes/TimeoutError.html +5 -5
- package/docs/classes/Token.html +2 -2
- package/docs/classes/TokenManager.html +2 -2
- package/docs/classes/Transaction.html +2 -2
- package/docs/classes/UnauthorizedAccessError.html +5 -5
- package/docs/enums/ErrorCode.html +2 -2
- package/docs/enums/ExitCode.html +2 -2
- package/docs/enums/HTTPMethod.html +2 -2
- package/docs/enums/IsolationLevel.html +2 -2
- package/docs/enums/JWTError.html +2 -2
- package/docs/enums/StatusCode.html +2 -2
- package/docs/enums/TransactionAccessLevel.html +2 -2
- package/docs/functions/getInstance.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/interfaces/IAdditionalErrorDetails.html +1 -1
- package/docs/interfaces/ICloudwatchConfig.html +2 -2
- package/docs/interfaces/ICloudwatchCredentials.html +2 -2
- package/docs/interfaces/ICloudwatchStreamConfig.html +2 -2
- package/docs/interfaces/IConfig.html +2 -2
- package/docs/interfaces/IDatabaseConfig.html +2 -2
- package/docs/interfaces/IDatabaseConnection.html +5 -5
- package/docs/interfaces/IDatabasePosition.html +2 -2
- package/docs/interfaces/IErrorResponse.html +2 -2
- package/docs/interfaces/IFormData.html +2 -2
- package/docs/interfaces/IInsertQueryResult.html +2 -2
- package/docs/interfaces/IJWTVerifyOptions.html +2 -2
- package/docs/interfaces/IOKPacket.html +2 -2
- package/docs/interfaces/IParameterMap.html +1 -1
- package/docs/interfaces/IQueryable.html +2 -2
- package/docs/interfaces/IRequestResponse.html +2 -2
- package/docs/interfaces/ISetSessionVariableQueryInput.html +2 -2
- package/docs/interfaces/IStormCLIArgs.html +2 -2
- package/docs/interfaces/ITemporaryTableQueryInput.html +2 -2
- package/docs/interfaces/IUpdateQueryResult.html +2 -2
- package/docs/interfaces/formidable.FileJSON.html +1 -1
- package/docs/interfaces/formidable.Part.html +1 -1
- package/docs/types/IDeleteQueryResult.html +1 -1
- package/docs/types/IStoredProcedureResult.html +1 -1
- package/docs/types/TCoordinate.html +1 -1
- package/docs/types/TSerializableResponse.html +1 -1
- package/docs/types/TSupportedResponsePrimitives.html +1 -1
- package/docs/types/TSupportedResponseTypes.html +1 -1
- package/jest.config.js +2 -0
- package/lib/Request.d.ts +10 -1
- package/lib/Request.js +29 -0
- package/lib/Request.js.map +1 -1
- package/lib/ResponseData.d.ts +8 -0
- package/lib/ResponseData.js +16 -0
- package/lib/ResponseData.js.map +1 -1
- package/package.json +1 -1
- package/src/Request.ts +38 -1
- package/src/ResponseData.ts +20 -0
package/lib/Request.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { IncomingHttpHeaders } from 'http';
|
|
|
3
3
|
import { Writable } from 'stream';
|
|
4
4
|
import { IFormData } from './IFormData';
|
|
5
5
|
import { IAuthTokenData } from './IAuthTokenData';
|
|
6
|
+
import { IDatabasePosition } from './IDatabasePosition';
|
|
6
7
|
export interface IParameterMap {
|
|
7
8
|
[key: string]: string;
|
|
8
9
|
}
|
|
@@ -22,8 +23,16 @@ export declare class Request<TBody = any, TAuthToken extends IAuthTokenData = IA
|
|
|
22
23
|
getMethod(): string;
|
|
23
24
|
getURL(): string;
|
|
24
25
|
isSecure(): boolean;
|
|
25
|
-
pipe(destination: Writable):
|
|
26
|
+
pipe(destination: Writable): Writable;
|
|
26
27
|
unpipe(source: Writable): void;
|
|
27
28
|
getRequestSource(): express.Request;
|
|
29
|
+
/**
|
|
30
|
+
* Reads the Page/Position DB headers if present
|
|
31
|
+
* Will return null if headers are not parseable.
|
|
32
|
+
*
|
|
33
|
+
* @since 9.1.0
|
|
34
|
+
* @returns {IDatabasePosition}
|
|
35
|
+
*/
|
|
36
|
+
getDatabasePosition(): IDatabasePosition;
|
|
28
37
|
getAuthenticationToken(): Promise<TAuthToken>;
|
|
29
38
|
}
|
package/lib/Request.js
CHANGED
|
@@ -96,6 +96,35 @@ class Request {
|
|
|
96
96
|
getRequestSource() {
|
|
97
97
|
return this.$request;
|
|
98
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Reads the Page/Position DB headers if present
|
|
101
|
+
* Will return null if headers are not parseable.
|
|
102
|
+
*
|
|
103
|
+
* @since 9.1.0
|
|
104
|
+
* @returns {IDatabasePosition}
|
|
105
|
+
*/
|
|
106
|
+
getDatabasePosition() {
|
|
107
|
+
let pageStr = this.getHeader('X-DATABASE-PAGE');
|
|
108
|
+
let positionStr = this.getHeader('X-DATABASE-POSITION');
|
|
109
|
+
let page = null;
|
|
110
|
+
let position = null;
|
|
111
|
+
let out = null;
|
|
112
|
+
if (pageStr && positionStr) {
|
|
113
|
+
page = parseInt(pageStr);
|
|
114
|
+
position = parseInt(positionStr);
|
|
115
|
+
if (isNaN(page) || isNaN(position)) {
|
|
116
|
+
page = null;
|
|
117
|
+
position = null;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (page && position) {
|
|
121
|
+
out = {
|
|
122
|
+
page,
|
|
123
|
+
position
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
return out;
|
|
127
|
+
}
|
|
99
128
|
async getAuthenticationToken() {
|
|
100
129
|
let authHeader = (0, instance_1.getInstance)().getConfig().authentication_header;
|
|
101
130
|
let tdata = null;
|
package/lib/Request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../src/Request.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;;AASF,oEAAoC;AAGpC,yCAAyC;AACzC,mCAAgC;AAChC,yCAAsC;AACtC,iDAA8C;AAC9C,6CAAwC;AACxC,mDAAgD;
|
|
1
|
+
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../src/Request.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;;AASF,oEAAoC;AAGpC,yCAAyC;AACzC,mCAAgC;AAChC,yCAAsC;AACtC,iDAA8C;AAC9C,6CAAwC;AACxC,mDAAgD;AAShD,MAAa,OAAO;IAGhB,YAAmB,OAAwB;QACvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,CAAC,GAAoB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACjD,IAAI,IAAI,GAAiB,IAAA,oBAAU,EAAC;gBAChC,aAAa,EAAE,KAAK;aACvB,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAU,EAAE,MAAc,EAAE,KAAY,EAAO,EAAE;gBAC5D,IAAI,KAAK,EAAE,CAAC;oBACR,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;gBAED,OAAO,OAAO,CAAC;oBACX,MAAM;oBACN,KAAK,EAAE,KAAK;iBACf,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;IACjC,CAAC;IAEM,SAAS,CAAC,IAAY;QACzB,IAAI,KAAK,GAAsB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACzE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACjB,CAAC;aACI,CAAC;YACF,OAAO,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,CAAC;IACL,CAAC;IAEM,iBAAiB;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC/B,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAChC,CAAC;IAEM,QAAQ,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC5B,CAAC;IAEM,cAAc;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC7C,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAClC,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAChC,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACrC,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAChC,CAAC;IAEM,IAAI,CAAC,WAAqB;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAEM,MAAM,CAAC,MAAgB;QAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAEM,gBAAgB;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACI,mBAAmB;QACtB,IAAI,OAAO,GAAW,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACxD,IAAI,WAAW,GAAW,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAEhE,IAAI,IAAI,GAAW,IAAI,CAAC;QACxB,IAAI,QAAQ,GAAW,IAAI,CAAC;QAE5B,IAAI,GAAG,GAAsB,IAAI,CAAC;QAElC,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;YACzB,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzB,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;YAEjC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,IAAI,GAAG,IAAI,CAAC;gBACZ,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;QACL,CAAC;QAED,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;YACnB,GAAG,GAAG;gBACF,IAAI;gBACJ,QAAQ;aACX,CAAC;QACN,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,sBAAsB;QAC/B,IAAI,UAAU,GAAW,IAAA,sBAAW,GAAE,CAAC,SAAS,EAAE,CAAC,qBAAqB,CAAC;QACzE,IAAI,KAAK,GAAe,IAAI,CAAC;QAC7B,IAAI,CAAC;YACD,KAAK,GAAG,CAAC,MAAM,IAAA,sBAAW,GAAE,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,IAAI,aAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAe,CAAC;QAChH,CAAC;QACD,OAAO,EAAE,EAAE,CAAC;YACR,IAAI,KAAK,GAAiB,IAAI,CAAC;YAC/B,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;oBACd,KAAK,mBAAQ,CAAC,WAAW;wBACrB,KAAK,GAAG,IAAI,2BAAY,CAAC,uBAAU,CAAC,gBAAgB,EAAE;4BAClD,IAAI,EAAE,EAAE,CAAC,IAAI;4BACb,MAAM,EAAE,EAAE,CAAC,OAAO;yBACrB,CAAC,CAAC;wBACH,MAAM;oBACV,KAAK,mBAAQ,CAAC,WAAW;wBACrB,KAAK,GAAG,IAAI,2BAAY,CAAC,uBAAU,CAAC,gBAAgB,EAAE;4BAClD,IAAI,EAAE,EAAE,CAAC,IAAI;4BACb,MAAM,EAAG,EAAE,CAAC,OAAO;yBACtB,CAAC,CAAC;wBACH,MAAM;gBACd,CAAC;YACL,CAAC;YAED,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,IAAI,EAAE,GAAkB,IAAI,6BAAa,CAAC,EAAE,CAAC,CAAC;gBAC9C,KAAK,GAAG,IAAI,2BAAY,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE;oBACvC,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE;oBAClB,MAAM,EAAE,EAAE,CAAC,UAAU,EAAE;iBAC1B,CAAC,CAAC;YACP,CAAC;YAED,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAvKD,0BAuKC"}
|
package/lib/ResponseData.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { IDatabasePosition } from './IDatabasePosition';
|
|
1
2
|
import { StatusCode } from './StatusCode';
|
|
2
3
|
export declare class ResponseData<TData = any> {
|
|
3
4
|
private $status;
|
|
@@ -5,6 +6,13 @@ export declare class ResponseData<TData = any> {
|
|
|
5
6
|
private $headers;
|
|
6
7
|
private $redirect;
|
|
7
8
|
constructor(status: StatusCode, data?: TData);
|
|
9
|
+
/**
|
|
10
|
+
* Sets the DB position response headers
|
|
11
|
+
*
|
|
12
|
+
* @since 9.1.0
|
|
13
|
+
* @param pos
|
|
14
|
+
*/
|
|
15
|
+
setDatabasePosition(pos: IDatabasePosition | null): void;
|
|
8
16
|
setHeader(name: string, value: string): void;
|
|
9
17
|
getHeaders(): Map<string, string>;
|
|
10
18
|
getStatus(): StatusCode;
|
package/lib/ResponseData.js
CHANGED
|
@@ -23,6 +23,22 @@ class ResponseData {
|
|
|
23
23
|
this.$data = data;
|
|
24
24
|
this.$redirect = null;
|
|
25
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Sets the DB position response headers
|
|
28
|
+
*
|
|
29
|
+
* @since 9.1.0
|
|
30
|
+
* @param pos
|
|
31
|
+
*/
|
|
32
|
+
setDatabasePosition(pos) {
|
|
33
|
+
let page = '0';
|
|
34
|
+
let position = '0';
|
|
35
|
+
if (pos) {
|
|
36
|
+
page = pos.page.toString();
|
|
37
|
+
position = pos.position.toString();
|
|
38
|
+
}
|
|
39
|
+
this.setHeader('X-DATABASE-PAGE', page);
|
|
40
|
+
this.setHeader('X-DATABASE-POSITION', position);
|
|
41
|
+
}
|
|
26
42
|
setHeader(name, value) {
|
|
27
43
|
this.$headers.set(name, value);
|
|
28
44
|
}
|
package/lib/ResponseData.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseData.js","sourceRoot":"","sources":["../src/ResponseData.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;
|
|
1
|
+
{"version":3,"file":"ResponseData.js","sourceRoot":"","sources":["../src/ResponseData.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAKF,MAAa,YAAY;IAMrB,YAAmB,MAAkB,EAAE,IAAY;QAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACI,mBAAmB,CAAC,GAA6B;QACpD,IAAI,IAAI,GAAW,GAAG,CAAC;QACvB,IAAI,QAAQ,GAAW,GAAG,CAAC;QAE3B,IAAI,GAAG,EAAE,CAAC;YACN,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAEM,SAAS,CAAC,IAAY,EAAE,KAAa;QACxC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAEM,QAAQ,CAAC,GAAW;QACvB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IACzB,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CACJ;AAvDD,oCAuDC"}
|
package/package.json
CHANGED
package/src/Request.ts
CHANGED
|
@@ -32,6 +32,7 @@ import {StatusCode} from './StatusCode';
|
|
|
32
32
|
import { InternalError } from './InternalError';
|
|
33
33
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
34
34
|
import IncomingForm = require('formidable/Formidable');
|
|
35
|
+
import { IDatabasePosition } from './IDatabasePosition';
|
|
35
36
|
|
|
36
37
|
export interface IParameterMap {
|
|
37
38
|
[key: string]: string;
|
|
@@ -118,7 +119,7 @@ export class Request<TBody = any, TAuthToken extends IAuthTokenData = IAuthToken
|
|
|
118
119
|
return this.$request.secure;
|
|
119
120
|
}
|
|
120
121
|
|
|
121
|
-
public pipe(destination: Writable):
|
|
122
|
+
public pipe(destination: Writable): Writable {
|
|
122
123
|
return this.$request.pipe(destination);
|
|
123
124
|
}
|
|
124
125
|
|
|
@@ -130,6 +131,42 @@ export class Request<TBody = any, TAuthToken extends IAuthTokenData = IAuthToken
|
|
|
130
131
|
return this.$request;
|
|
131
132
|
}
|
|
132
133
|
|
|
134
|
+
/**
|
|
135
|
+
* Reads the Page/Position DB headers if present
|
|
136
|
+
* Will return null if headers are not parseable.
|
|
137
|
+
*
|
|
138
|
+
* @since 9.1.0
|
|
139
|
+
* @returns {IDatabasePosition}
|
|
140
|
+
*/
|
|
141
|
+
public getDatabasePosition(): IDatabasePosition {
|
|
142
|
+
let pageStr: string = this.getHeader('X-DATABASE-PAGE');
|
|
143
|
+
let positionStr: string = this.getHeader('X-DATABASE-POSITION');
|
|
144
|
+
|
|
145
|
+
let page: number = null;
|
|
146
|
+
let position: number = null;
|
|
147
|
+
|
|
148
|
+
let out: IDatabasePosition = null;
|
|
149
|
+
|
|
150
|
+
if (pageStr && positionStr) {
|
|
151
|
+
page = parseInt(pageStr);
|
|
152
|
+
position = parseInt(positionStr);
|
|
153
|
+
|
|
154
|
+
if (isNaN(page) || isNaN(position)) {
|
|
155
|
+
page = null;
|
|
156
|
+
position = null;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
if (page && position) {
|
|
161
|
+
out = {
|
|
162
|
+
page,
|
|
163
|
+
position
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
return out;
|
|
168
|
+
}
|
|
169
|
+
|
|
133
170
|
public async getAuthenticationToken(): Promise<TAuthToken> {
|
|
134
171
|
let authHeader: string = getInstance().getConfig().authentication_header;
|
|
135
172
|
let tdata: TAuthToken = null;
|
package/src/ResponseData.ts
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
+
import { IDatabasePosition } from './IDatabasePosition';
|
|
17
18
|
import {StatusCode} from './StatusCode';
|
|
18
19
|
|
|
19
20
|
export class ResponseData<TData = any> {
|
|
@@ -29,6 +30,25 @@ export class ResponseData<TData = any> {
|
|
|
29
30
|
this.$redirect = null;
|
|
30
31
|
}
|
|
31
32
|
|
|
33
|
+
/**
|
|
34
|
+
* Sets the DB position response headers
|
|
35
|
+
*
|
|
36
|
+
* @since 9.1.0
|
|
37
|
+
* @param pos
|
|
38
|
+
*/
|
|
39
|
+
public setDatabasePosition(pos: IDatabasePosition | null): void {
|
|
40
|
+
let page: string = '0';
|
|
41
|
+
let position: string = '0';
|
|
42
|
+
|
|
43
|
+
if (pos) {
|
|
44
|
+
page = pos.page.toString();
|
|
45
|
+
position = pos.position.toString();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
this.setHeader('X-DATABASE-PAGE', page);
|
|
49
|
+
this.setHeader('X-DATABASE-POSITION', position);
|
|
50
|
+
}
|
|
51
|
+
|
|
32
52
|
public setHeader(name: string, value: string): void {
|
|
33
53
|
this.$headers.set(name, value);
|
|
34
54
|
}
|