@sera4/essentia 3.0.11 → 3.0.13-rc.1

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.
Files changed (75) hide show
  1. package/dist/cache/index.d.ts +22 -0
  2. package/dist/cache/index.js +166 -0
  3. package/dist/cache/index.js.map +1 -0
  4. package/dist/constants/index.d.ts +6 -0
  5. package/dist/constants/index.js +9 -0
  6. package/dist/constants/index.js.map +1 -0
  7. package/dist/formatter/index.d.ts +37 -0
  8. package/dist/formatter/index.js +75 -0
  9. package/dist/formatter/index.js.map +1 -0
  10. package/dist/hal/index.d.ts +5 -0
  11. package/dist/hal/index.js +69 -0
  12. package/dist/hal/index.js.map +1 -0
  13. package/dist/health/health-logger.d.ts +9 -0
  14. package/dist/health/health-logger.js +34 -0
  15. package/dist/health/health-logger.js.map +1 -0
  16. package/dist/health/index.d.ts +19 -0
  17. package/dist/health/index.js +175 -0
  18. package/dist/health/index.js.map +1 -0
  19. package/dist/helpers/index.d.ts +1 -0
  20. package/dist/helpers/index.js +2 -0
  21. package/dist/helpers/index.js.map +1 -0
  22. package/dist/helpers/test-server-wrapper.d.ts +120 -0
  23. package/dist/helpers/test-server-wrapper.js +165 -0
  24. package/dist/helpers/test-server-wrapper.js.map +1 -0
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.js +17 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/last-commit.d.ts +1 -0
  29. package/dist/last-commit.js.map +1 -0
  30. package/dist/last_commit/index.d.ts +7 -0
  31. package/dist/last_commit/index.js +83 -0
  32. package/dist/last_commit/index.js.map +1 -0
  33. package/dist/paginator/s4-pagination.d.ts +9 -0
  34. package/dist/paginator/s4-pagination.js +49 -0
  35. package/dist/paginator/s4-pagination.js.map +1 -0
  36. package/dist/paginator/sql-pagination.d.ts +27 -0
  37. package/dist/paginator/sql-pagination.js +166 -0
  38. package/dist/paginator/sql-pagination.js.map +1 -0
  39. package/dist/paper-trail/helpers.d.ts +11 -0
  40. package/dist/paper-trail/helpers.js +74 -0
  41. package/dist/paper-trail/helpers.js.map +1 -0
  42. package/dist/paper-trail/index.d.ts +13 -0
  43. package/dist/paper-trail/index.js +662 -0
  44. package/dist/paper-trail/index.js.map +1 -0
  45. package/dist/prompts/index.d.ts +14 -0
  46. package/dist/prompts/index.js +63 -0
  47. package/dist/prompts/index.js.map +1 -0
  48. package/dist/queue/index.d.ts +166 -0
  49. package/dist/queue/index.js +371 -0
  50. package/dist/queue/index.js.map +1 -0
  51. package/dist/queue/publisher.d.ts +31 -0
  52. package/dist/queue/publisher.js +84 -0
  53. package/dist/queue/publisher.js.map +1 -0
  54. package/dist/queue/queue-logger.d.ts +9 -0
  55. package/dist/queue/queue-logger.js +35 -0
  56. package/dist/queue/queue-logger.js.map +1 -0
  57. package/dist/queue/subscriber.d.ts +39 -0
  58. package/dist/queue/subscriber.js +97 -0
  59. package/dist/queue/subscriber.js.map +1 -0
  60. package/dist/safe_proxy/index.d.ts +13 -0
  61. package/dist/safe_proxy/index.js +54 -0
  62. package/dist/safe_proxy/index.js.map +1 -0
  63. package/dist/serializer/index.d.ts +5 -0
  64. package/dist/serializer/index.js +83 -0
  65. package/dist/serializer/index.js.map +1 -0
  66. package/dist/ts/logger/s4-logger.js +2 -0
  67. package/dist/ts/logger/s4-logger.js.map +1 -1
  68. package/dist/ts/queue/index.js +54 -65
  69. package/dist/ts/queue/index.js.map +1 -1
  70. package/dist/ts/task-scheduler/index.d.ts +130 -0
  71. package/dist/ts/task-scheduler/index.js +259 -0
  72. package/dist/ts/task-scheduler/index.js.map +1 -0
  73. package/package.json +9 -3
  74. package/scripts/publish.sh +46 -0
  75. package/package.tar.gz +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../health/index.js"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from "./test-server-wrapper.js";
@@ -0,0 +1,2 @@
1
+ export * from "./test-server-wrapper.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../helpers/index.js"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * A small wrapper around an express js server
3
+ * meant to be used in unit tests
4
+ */
5
+ export class TestServerWrapper {
6
+ constructor(apiPrefix: any, expressServer: any, defaultHeaders: any, oldAuthToken: any, routePrinter: any, chai: any, factory: any);
7
+ server: any;
8
+ defaultHeaders: any;
9
+ apiPrefix: any;
10
+ routePrinter: any;
11
+ chai: any;
12
+ mobileDomain: string;
13
+ webDomain: string;
14
+ factory: any;
15
+ v1: {
16
+ get: (url: any) => any;
17
+ post: (url: any) => any;
18
+ put: (url: any) => any;
19
+ delete: (url: any) => any;
20
+ };
21
+ /**
22
+ * Adds a leading slash to the url if missing
23
+ * @param {String} url the url to sanitize
24
+ * @returns sanitized url
25
+ */
26
+ sanitizeUrl(url: string): string;
27
+ /**
28
+ * Apply given headers to the request object
29
+ * @param {Object} request
30
+ * @param {Object} headers
31
+ */
32
+ applyHeaders(request: any, headers: any): void;
33
+ get(url: any, options: any): any;
34
+ getWithPrefix(prefix: any, url: any, options: any): any;
35
+ post(url: any, options: any): any;
36
+ postWithPrefix(prefix: any, url: any, options: any): any;
37
+ put(url: any, options: any): any;
38
+ putWithPrefix(prefix: any, url: any, options: any): any;
39
+ delete(url: any, options: any): any;
40
+ deleteWithPrefix(prefix: any, url: any, options: any): any;
41
+ upload(url: any, fields: any, file: any, options: any): any;
42
+ uploadWithPrefix(prefix: any, url: any, fields: any, file: any, options: any): any;
43
+ stop(): void;
44
+ allRoutes(): any;
45
+ withHeaders(headers: any): {
46
+ get: (url: any, options: any) => any;
47
+ post: (url: any, options: any) => any;
48
+ put: (url: any, options: any) => any;
49
+ delete: (url: any, options: any) => any;
50
+ upload: (url: any, fields: any, file: any, options: any) => any;
51
+ stop: () => void;
52
+ allRoutes: () => any;
53
+ v1: {
54
+ get: (url: any) => any;
55
+ post: (url: any) => any;
56
+ put: (url: any) => any;
57
+ delete: (url: any) => any;
58
+ };
59
+ };
60
+ setMembership(membership: any, addlHeaders: any): Promise<{
61
+ get: (url: any, options: any) => any;
62
+ post: (url: any, options: any) => any;
63
+ put: (url: any, options: any) => any;
64
+ delete: (url: any, options: any) => any;
65
+ upload: (url: any, fields: any, file: any, options: any) => any;
66
+ stop: () => void;
67
+ allRoutes: () => any;
68
+ v1: {
69
+ get: (url: any) => any;
70
+ post: (url: any) => any;
71
+ put: (url: any) => any;
72
+ delete: (url: any) => any;
73
+ };
74
+ }>;
75
+ withMembership(m: any): {
76
+ get: (url: any, options: any) => any;
77
+ post: (url: any, options: any) => any;
78
+ put: (url: any, options: any) => any;
79
+ delete: (url: any, options: any) => any;
80
+ upload: (url: any, fields: any, file: any, options: any) => any;
81
+ stop: () => void;
82
+ allRoutes: () => any;
83
+ v1: {
84
+ get: (url: any) => any;
85
+ post: (url: any) => any;
86
+ put: (url: any) => any;
87
+ delete: (url: any) => any;
88
+ };
89
+ };
90
+ withS4(): {
91
+ get: (url: any, options: any) => any;
92
+ post: (url: any, options: any) => any;
93
+ put: (url: any, options: any) => any;
94
+ delete: (url: any, options: any) => any;
95
+ upload: (url: any, fields: any, file: any, options: any) => any;
96
+ stop: () => void;
97
+ allRoutes: () => any;
98
+ v1: {
99
+ get: (url: any) => any;
100
+ post: (url: any) => any;
101
+ put: (url: any) => any;
102
+ delete: (url: any) => any;
103
+ };
104
+ };
105
+ withTap(): {
106
+ get: (url: any, options: any) => any;
107
+ post: (url: any, options: any) => any;
108
+ put: (url: any, options: any) => any;
109
+ delete: (url: any, options: any) => any;
110
+ upload: (url: any, fields: any, file: any, options: any) => any;
111
+ stop: () => void;
112
+ allRoutes: () => any;
113
+ v1: {
114
+ get: (url: any) => any;
115
+ post: (url: any) => any;
116
+ put: (url: any) => any;
117
+ delete: (url: any) => any;
118
+ };
119
+ };
120
+ }
@@ -0,0 +1,165 @@
1
+ import { v4 as uuidv4 } from 'uuid';
2
+ import fs from "fs";
3
+ const s4Domain = "sera4.com";
4
+ const mobileDomain = "tws-mob." + s4Domain;
5
+ const webDomain = "tws-web." + s4Domain;
6
+ /**
7
+ * A small wrapper around an express js server
8
+ * meant to be used in unit tests
9
+ */
10
+ export class TestServerWrapper {
11
+ constructor(apiPrefix, expressServer, defaultHeaders, oldAuthToken, routePrinter, chai, factory) {
12
+ this.server = expressServer;
13
+ this.defaultHeaders = defaultHeaders;
14
+ this.apiPrefix = apiPrefix;
15
+ this.routePrinter = routePrinter;
16
+ this.chai = chai;
17
+ this.mobileDomain = mobileDomain;
18
+ this.webDomain = webDomain;
19
+ this.factory = factory;
20
+ // Support for older/deprecated apis
21
+ const oldAuthHeaders = { headers: { "Authorization": `Token organization_token=${oldAuthToken}` } };
22
+ this.v1 = {
23
+ get: (url) => this.getWithPrefix("/v1", url, oldAuthHeaders),
24
+ post: (url) => this.postWithPrefix("/v1", url, oldAuthHeaders),
25
+ put: (url) => this.putWithPrefix("/v1", url, oldAuthHeaders),
26
+ delete: (url) => this.deleteWithPrefix("/v1", url, oldAuthHeaders)
27
+ };
28
+ }
29
+ /**
30
+ * Adds a leading slash to the url if missing
31
+ * @param {String} url the url to sanitize
32
+ * @returns sanitized url
33
+ */
34
+ sanitizeUrl(url) {
35
+ // add leading slash if missing
36
+ if (!url.startsWith("/")) {
37
+ return "/" + url;
38
+ }
39
+ else {
40
+ return url;
41
+ }
42
+ }
43
+ /**
44
+ * Apply given headers to the request object
45
+ * @param {Object} request
46
+ * @param {Object} headers
47
+ */
48
+ applyHeaders(request, headers) {
49
+ Object.keys(headers).map(k => {
50
+ request.set(k, headers[k]);
51
+ });
52
+ }
53
+ get(url, options) {
54
+ return this.getWithPrefix(this.apiPrefix, url, options);
55
+ }
56
+ getWithPrefix(prefix, url, options) {
57
+ const sanitizedUrl = this.sanitizeUrl(url);
58
+ const request = this.chai.request(this.server).get(`${prefix}${sanitizedUrl}`);
59
+ this.applyHeaders(request, this.defaultHeaders);
60
+ if (options?.headers) {
61
+ this.applyHeaders(request, options.headers);
62
+ }
63
+ if (options?.body) {
64
+ request.send(options.body);
65
+ }
66
+ return request;
67
+ }
68
+ post(url, options) {
69
+ return this.postWithPrefix(this.apiPrefix, url, options);
70
+ }
71
+ postWithPrefix(prefix, url, options) {
72
+ const sanitizedUrl = this.sanitizeUrl(url);
73
+ const request = this.chai.request(this.server).post(`${prefix}${sanitizedUrl}`);
74
+ this.applyHeaders(request, this.defaultHeaders);
75
+ if (options?.headers) {
76
+ this.applyHeaders(request, options.headers);
77
+ }
78
+ return request;
79
+ }
80
+ put(url, options) {
81
+ return this.putWithPrefix(this.apiPrefix, url, options);
82
+ }
83
+ putWithPrefix(prefix, url, options) {
84
+ const sanitizedUrl = this.sanitizeUrl(url);
85
+ const request = this.chai.request(this.server).put(`${prefix}${sanitizedUrl}`);
86
+ this.applyHeaders(request, this.defaultHeaders);
87
+ if (options?.headers) {
88
+ this.applyHeaders(request, options.headers);
89
+ }
90
+ return request;
91
+ }
92
+ delete(url, options) {
93
+ return this.deleteWithPrefix(this.apiPrefix, url, options);
94
+ }
95
+ deleteWithPrefix(prefix, url, options) {
96
+ const sanitizedUrl = this.sanitizeUrl(url);
97
+ const request = this.chai.request(this.server).delete(`${prefix}${sanitizedUrl}`);
98
+ this.applyHeaders(request, this.defaultHeaders);
99
+ if (options?.headers) {
100
+ this.applyHeaders(request, options.headers);
101
+ }
102
+ return request;
103
+ }
104
+ upload(url, fields, file, options) {
105
+ return this.uploadWithPrefix(this.apiPrefix, url, fields, file, options);
106
+ }
107
+ uploadWithPrefix(prefix, url, fields, file, options) {
108
+ const sanitizedUrl = this.sanitizeUrl(url);
109
+ const request = this.chai.request(this.server).post(`${prefix}${sanitizedUrl}`);
110
+ this.applyHeaders(request, this.defaultHeaders);
111
+ if (options?.headers) {
112
+ this.applyHeaders(request, options.headers);
113
+ }
114
+ request.attach("data", fs.readFileSync(file), { filename: "data" });
115
+ const keys = Object.keys(fields);
116
+ keys.forEach(k => {
117
+ request.field(k, fields[k]);
118
+ });
119
+ return request;
120
+ }
121
+ stop() {
122
+ this.server.close();
123
+ }
124
+ allRoutes() {
125
+ return this.routePrinter.getAll();
126
+ }
127
+ withHeaders(headers) {
128
+ return {
129
+ get: (url, options) => this.get(url, { headers, ...options }),
130
+ post: (url, options) => this.post(url, { headers, ...options }),
131
+ put: (url, options) => this.put(url, { headers, ...options }),
132
+ delete: (url, options) => this.delete(url, { headers, ...options }),
133
+ upload: (url, fields, file, options) => this.upload(url, fields, file, { headers, ...options }),
134
+ stop: this.stop,
135
+ allRoutes: this.allRoutes,
136
+ v1: this.v1
137
+ };
138
+ }
139
+ // setup
140
+ async setMembership(membership, addlHeaders) {
141
+ let headers;
142
+ if (membership) {
143
+ headers = { "tws-account-id": membership.account_id, "tws-membership-id": membership.id, "tws-tenant-id": membership.tenant_id };
144
+ }
145
+ else {
146
+ // auto create an s4 user
147
+ const m = await this.factory.create("membership", { s4Admin: true });
148
+ headers = { "tws-account-id": m.account_id, "tws-membership-id": m.id, "tws-tenant-id": m.tenant_id };
149
+ }
150
+ headers = { ...headers, "tws-request-host": this.webDomain, ...addlHeaders };
151
+ return this.withHeaders(headers);
152
+ }
153
+ ;
154
+ withMembership(m) {
155
+ const h = { "tws-membership": JSON.stringify(m) };
156
+ return this.withHeaders(h);
157
+ }
158
+ withS4() {
159
+ return this.withMembership({ s4_role: 1, id: uuidv4(), account_id: uuidv4(), tenant_id: uuidv4() });
160
+ }
161
+ withTap() {
162
+ return this.withMembership({ s4_role: 2, id: uuidv4(), account_id: uuidv4(), tenant_id: uuidv4() });
163
+ }
164
+ }
165
+ //# sourceMappingURL=test-server-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-server-wrapper.js","sourceRoot":"","sources":["../../helpers/test-server-wrapper.js"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
package/dist/index.js ADDED
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+ export * from "./constants/index.js";
3
+ export { default as paginator } from "./paginator/s4-pagination.js";
4
+ export { default as sqlPaginator } from "./paginator/sql-pagination.js";
5
+ export { default as logger } from "./logger/s4-logger.js";
6
+ export { default as lastCommit } from "./last_commit/index.js";
7
+ export { default as halDecorator } from "./hal/index.js";
8
+ export { default as formatter } from "./formatter/index.js";
9
+ export { HealthCheck as healthCheck } from "./health/index.js";
10
+ export { default as queue } from "./queue/index.js";
11
+ export { default as paperTrail } from "./paper-trail/index.js";
12
+ export { default as serializer } from "./serializer/index.js";
13
+ export * from "./utils/index.js";
14
+ export * from "./safe_proxy/index.js";
15
+ export * from "./helpers/index.js";
16
+ export * from "./prompts/index.js";
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC9D,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"last-commit.js","sourceRoot":"","sources":["../last-commit.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAE/C,UAAU,CAAC,eAAe,EAAE;KAC3B,IAAI,CAAC,CAAC,CAAC,EAAE;IACR,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACrC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,CAAC,EAAE;IACT,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC7C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ export default lastCommit;
2
+ declare namespace lastCommit {
3
+ function parseLastCommit(): Promise<any>;
4
+ function getLastCommit(): Promise<any>;
5
+ function getLastCommitSync(): any;
6
+ function writeLastCommit(): Promise<any>;
7
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ import git from "git-rev";
3
+ import fs from "fs";
4
+ import async from "async";
5
+ import { dirname } from 'path';
6
+ import { fileURLToPath } from 'url';
7
+ const appDir = dirname(fileURLToPath(import.meta.url));
8
+ const commitFile = `${appDir}/last-commit.json`;
9
+ const lastCommit = {
10
+ parseLastCommit() {
11
+ return new Promise((resolve, reject) => {
12
+ async.waterfall([
13
+ (next) => {
14
+ var commit = {};
15
+ git.branch((str) => {
16
+ commit["branch"] = str;
17
+ next(null, commit);
18
+ });
19
+ },
20
+ (commit, next) => {
21
+ git.long((str) => {
22
+ commit["commmit"] = str;
23
+ next(null, commit);
24
+ });
25
+ }
26
+ ], (err, commit) => {
27
+ if (err) {
28
+ reject(err);
29
+ }
30
+ else {
31
+ resolve(commit);
32
+ }
33
+ });
34
+ });
35
+ },
36
+ getLastCommit() {
37
+ return new Promise((resolve, reject) => {
38
+ fs.readFile(commitFile, 'utf8', (err, data) => {
39
+ if (err) {
40
+ reject(err);
41
+ }
42
+ else {
43
+ try {
44
+ var commit = JSON.parse(data);
45
+ resolve(commit);
46
+ }
47
+ catch (e) {
48
+ reject(e);
49
+ }
50
+ }
51
+ });
52
+ });
53
+ },
54
+ getLastCommitSync() {
55
+ var data = fs.readFileSync(commitFile, 'utf8');
56
+ return JSON.parse(data);
57
+ },
58
+ writeLastCommit() {
59
+ return new Promise((resolve, reject) => {
60
+ async.waterfall([
61
+ (next) => {
62
+ this.parseLastCommit()
63
+ .then((commit) => next(null, commit))
64
+ .catch(e => next(e));
65
+ },
66
+ (commit, next) => {
67
+ fs.writeFile(commitFile, JSON.stringify(commit, null, 2), 'utf8', (err) => {
68
+ next(err, commit);
69
+ });
70
+ }
71
+ ], (err, commit) => {
72
+ if (err) {
73
+ reject(err);
74
+ }
75
+ else {
76
+ resolve(commit);
77
+ }
78
+ });
79
+ });
80
+ }
81
+ };
82
+ export default lastCommit;
83
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../last_commit/index.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export default paginator;
2
+ declare const paginator: S4Pagination;
3
+ declare class S4Pagination {
4
+ createPaginator(req: any, res: any, next: any): {
5
+ page: any;
6
+ page_size: any;
7
+ reply: (data: any) => void;
8
+ };
9
+ }
@@ -0,0 +1,49 @@
1
+ const default_page = 1;
2
+ const default_size = 5;
3
+ function parseRequest(req, item, default_value) {
4
+ if (!req || !req.query) {
5
+ return default_value;
6
+ }
7
+ var r = parseInt(req.query[item]);
8
+ if (isNaN(r) || r < default_value) {
9
+ r = default_value;
10
+ }
11
+ return r;
12
+ }
13
+ class S4Pagination {
14
+ createPaginator(req, res, next) {
15
+ var paginator = {
16
+ page: parseRequest(req, "page", default_page),
17
+ page_size: parseRequest(req, "page_size", default_size),
18
+ reply: function (data) {
19
+ if (!data) {
20
+ res.status(500).end();
21
+ return;
22
+ }
23
+ var pagination = {
24
+ total: data.total,
25
+ total_pages: data.pages,
26
+ current_page: data.page,
27
+ first_page: data.page === 1,
28
+ last_page: data.offset === data.pages,
29
+ page_size: data.limit,
30
+ out_of_bounds: data.docs.length === 0
31
+ };
32
+ if (!pagination.out_of_bounds) {
33
+ if (pagination.current_page > 1) {
34
+ pagination.previous_page = pagination.current_page - 1;
35
+ }
36
+ if (pagination.current_page < pagination.total_pages) {
37
+ pagination.next_page = pagination.current_page + 1;
38
+ }
39
+ }
40
+ res.set("s4-pagination", JSON.stringify(pagination));
41
+ res.json(data.docs);
42
+ }
43
+ };
44
+ return paginator;
45
+ }
46
+ }
47
+ const paginator = new S4Pagination();
48
+ export default paginator;
49
+ //# sourceMappingURL=s4-pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s4-pagination.js","sourceRoot":"","sources":["../../paginator/s4-pagination.js"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,SAAS,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa;IAC5C,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,aAAa,EAAE,CAAC;QAClC,CAAC,GAAG,aAAa,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,YAAY;IAChB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;QAC5B,IAAI,SAAS,GAAG;YACd,IAAI,EAAG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC;YAC9C,SAAS,EAAG,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,YAAY,CAAC;YACxD,KAAK,EAAG,UAAS,IAAI;gBACnB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBACtB,OAAO;gBACT,CAAC;gBACD,IAAI,UAAU,GAAG;oBACf,KAAK,EAAG,IAAI,CAAC,KAAK;oBAClB,WAAW,EAAG,IAAI,CAAC,KAAK;oBACxB,YAAY,EAAG,IAAI,CAAC,IAAI;oBACxB,UAAU,EAAG,IAAI,CAAC,IAAI,KAAK,CAAC;oBAC5B,SAAS,EAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK;oBACtC,SAAS,EAAG,IAAI,CAAC,KAAK;oBACtB,aAAa,EAAG,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;iBACvC,CAAA;gBACD,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;oBAC9B,IAAI,UAAU,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;wBAChC,UAAU,CAAC,aAAa,GAAG,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC;oBACzD,CAAC;oBACD,IAAI,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;wBACrD,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;gBACD,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;gBACrD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;SACF,CAAA;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,MAAM,SAAS,GAAG,IAAI,YAAY,EAAE,CAAC;AACrC,eAAe,SAAS,CAAC"}
@@ -0,0 +1,27 @@
1
+ export default sqlPaginator;
2
+ declare const sqlPaginator: SequelizePaginator;
3
+ declare class SequelizePaginator {
4
+ paginateIn: {
5
+ size: string;
6
+ index: string;
7
+ };
8
+ paginateOut: {
9
+ current_page: string;
10
+ first_page: string;
11
+ last_page: string;
12
+ next_page: string;
13
+ out_of_bounds: string;
14
+ page_size: string;
15
+ previous_page: string;
16
+ total_pages: string;
17
+ total_size: string;
18
+ links: string;
19
+ };
20
+ zeroBasedOffset: boolean;
21
+ paginationHeader: string;
22
+ headersOnly: boolean;
23
+ paginationTag: string;
24
+ collectionTag: string;
25
+ paginate(Model: any, resource?: string): void;
26
+ configure(options: any): void;
27
+ }