@sera4/essentia 1.1.66-rc.1 → 3.0.6

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 (194) hide show
  1. package/README.md +352 -8
  2. package/dist/ts/index.d.ts +1 -2
  3. package/dist/ts/index.js +1 -3
  4. package/dist/ts/index.js.map +1 -1
  5. package/dist/ts/logger/s4-logger.js +0 -2
  6. package/dist/ts/logger/s4-logger.js.map +1 -1
  7. package/dist/ts/queue/index.d.ts +2 -38
  8. package/dist/ts/queue/index.js +67 -136
  9. package/dist/ts/queue/index.js.map +1 -1
  10. package/package.json +51 -12
  11. package/package.tar.gz +0 -0
  12. package/cache/index.js +0 -188
  13. package/constants/index.js +0 -9
  14. package/coverage/base.css +0 -224
  15. package/coverage/block-navigation.js +0 -87
  16. package/coverage/configurations/index.html +0 -116
  17. package/coverage/configurations/server-config.ts.html +0 -94
  18. package/coverage/dns/DnsCache.ts.html +0 -598
  19. package/coverage/dns/index.html +0 -131
  20. package/coverage/dns/index.ts.html +0 -94
  21. package/coverage/favicon.png +0 -0
  22. package/coverage/health/index.html +0 -116
  23. package/coverage/health/index.ts.html +0 -778
  24. package/coverage/index.html +0 -161
  25. package/coverage/lcov-report/base.css +0 -224
  26. package/coverage/lcov-report/block-navigation.js +0 -87
  27. package/coverage/lcov-report/configurations/index.html +0 -116
  28. package/coverage/lcov-report/configurations/server-config.ts.html +0 -94
  29. package/coverage/lcov-report/dns/DnsCache.ts.html +0 -598
  30. package/coverage/lcov-report/dns/index.html +0 -131
  31. package/coverage/lcov-report/dns/index.ts.html +0 -94
  32. package/coverage/lcov-report/favicon.png +0 -0
  33. package/coverage/lcov-report/health/index.html +0 -116
  34. package/coverage/lcov-report/health/index.ts.html +0 -778
  35. package/coverage/lcov-report/index.html +0 -161
  36. package/coverage/lcov-report/logger/index.html +0 -131
  37. package/coverage/lcov-report/logger/index.ts.html +0 -94
  38. package/coverage/lcov-report/logger/s4-logger.ts.html +0 -514
  39. package/coverage/lcov-report/prettify.css +0 -1
  40. package/coverage/lcov-report/prettify.js +0 -2
  41. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  42. package/coverage/lcov-report/sorter.js +0 -196
  43. package/coverage/lcov.info +0 -747
  44. package/coverage/logger/index.html +0 -131
  45. package/coverage/logger/index.ts.html +0 -94
  46. package/coverage/logger/s4-logger.ts.html +0 -514
  47. package/coverage/prettify.css +0 -1
  48. package/coverage/prettify.js +0 -2
  49. package/coverage/sort-arrow-sprite.png +0 -0
  50. package/coverage/sorter.js +0 -196
  51. package/coverage/tmp/coverage-24302-1746472691313-0.json +0 -1
  52. package/coverage/tmp/coverage-24302-1746472691366-1.json +0 -1
  53. package/dist/cache/index.d.ts +0 -22
  54. package/dist/cache/index.js +0 -166
  55. package/dist/cache/index.js.map +0 -1
  56. package/dist/constants/index.d.ts +0 -6
  57. package/dist/constants/index.js +0 -9
  58. package/dist/constants/index.js.map +0 -1
  59. package/dist/coverage/block-navigation.d.ts +0 -1
  60. package/dist/coverage/block-navigation.js +0 -70
  61. package/dist/coverage/block-navigation.js.map +0 -1
  62. package/dist/coverage/lcov-report/block-navigation.d.ts +0 -1
  63. package/dist/coverage/lcov-report/block-navigation.js +0 -70
  64. package/dist/coverage/lcov-report/block-navigation.js.map +0 -1
  65. package/dist/coverage/lcov-report/prettify.d.ts +0 -0
  66. package/dist/coverage/lcov-report/prettify.js +0 -477
  67. package/dist/coverage/lcov-report/prettify.js.map +0 -1
  68. package/dist/coverage/lcov-report/sorter.d.ts +0 -1
  69. package/dist/coverage/lcov-report/sorter.js +0 -163
  70. package/dist/coverage/lcov-report/sorter.js.map +0 -1
  71. package/dist/coverage/prettify.d.ts +0 -0
  72. package/dist/coverage/prettify.js +0 -477
  73. package/dist/coverage/prettify.js.map +0 -1
  74. package/dist/coverage/sorter.d.ts +0 -1
  75. package/dist/coverage/sorter.js +0 -163
  76. package/dist/coverage/sorter.js.map +0 -1
  77. package/dist/formatter/index.d.ts +0 -37
  78. package/dist/formatter/index.js +0 -75
  79. package/dist/formatter/index.js.map +0 -1
  80. package/dist/hal/index.d.ts +0 -5
  81. package/dist/hal/index.js +0 -69
  82. package/dist/hal/index.js.map +0 -1
  83. package/dist/health/health-logger.d.ts +0 -9
  84. package/dist/health/health-logger.js +0 -34
  85. package/dist/health/health-logger.js.map +0 -1
  86. package/dist/health/index.d.ts +0 -19
  87. package/dist/health/index.js +0 -175
  88. package/dist/health/index.js.map +0 -1
  89. package/dist/helpers/index.d.ts +0 -1
  90. package/dist/helpers/index.js +0 -2
  91. package/dist/helpers/index.js.map +0 -1
  92. package/dist/helpers/test-server-wrapper.d.ts +0 -120
  93. package/dist/helpers/test-server-wrapper.js +0 -165
  94. package/dist/helpers/test-server-wrapper.js.map +0 -1
  95. package/dist/index.d.ts +0 -1
  96. package/dist/index.js +0 -17
  97. package/dist/index.js.map +0 -1
  98. package/dist/last-commit.d.ts +0 -1
  99. package/dist/last-commit.js +0 -12
  100. package/dist/last-commit.js.map +0 -1
  101. package/dist/last_commit/index.d.ts +0 -7
  102. package/dist/last_commit/index.js +0 -83
  103. package/dist/last_commit/index.js.map +0 -1
  104. package/dist/paginator/s4-pagination.d.ts +0 -9
  105. package/dist/paginator/s4-pagination.js +0 -49
  106. package/dist/paginator/s4-pagination.js.map +0 -1
  107. package/dist/paginator/sql-pagination.d.ts +0 -27
  108. package/dist/paginator/sql-pagination.js +0 -166
  109. package/dist/paginator/sql-pagination.js.map +0 -1
  110. package/dist/paper-trail/helpers.d.ts +0 -11
  111. package/dist/paper-trail/helpers.js +0 -74
  112. package/dist/paper-trail/helpers.js.map +0 -1
  113. package/dist/paper-trail/index.d.ts +0 -13
  114. package/dist/paper-trail/index.js +0 -662
  115. package/dist/paper-trail/index.js.map +0 -1
  116. package/dist/prompts/index.d.ts +0 -14
  117. package/dist/prompts/index.js +0 -63
  118. package/dist/prompts/index.js.map +0 -1
  119. package/dist/queue/index.d.ts +0 -166
  120. package/dist/queue/index.js +0 -371
  121. package/dist/queue/index.js.map +0 -1
  122. package/dist/queue/publisher.d.ts +0 -31
  123. package/dist/queue/publisher.js +0 -84
  124. package/dist/queue/publisher.js.map +0 -1
  125. package/dist/queue/queue-logger.d.ts +0 -9
  126. package/dist/queue/queue-logger.js +0 -35
  127. package/dist/queue/queue-logger.js.map +0 -1
  128. package/dist/queue/subscriber.d.ts +0 -39
  129. package/dist/queue/subscriber.js +0 -97
  130. package/dist/queue/subscriber.js.map +0 -1
  131. package/dist/safe_proxy/index.d.ts +0 -13
  132. package/dist/safe_proxy/index.js +0 -54
  133. package/dist/safe_proxy/index.js.map +0 -1
  134. package/dist/serializer/index.d.ts +0 -5
  135. package/dist/serializer/index.js +0 -83
  136. package/dist/serializer/index.js.map +0 -1
  137. package/dist/test/debug-array.d.ts +0 -0
  138. package/dist/test/debug-array.js +0 -1
  139. package/dist/test/debug-array.js.map +0 -1
  140. package/dist/test/debug-setJSONB.d.ts +0 -0
  141. package/dist/test/debug-setJSONB.js +0 -1
  142. package/dist/test/debug-setJSONB.js.map +0 -1
  143. package/dist/test/prompt.test.d.ts +0 -1
  144. package/dist/test/prompt.test.js +0 -74
  145. package/dist/test/prompt.test.js.map +0 -1
  146. package/dist/test/s4-formatter.spec.d.ts +0 -1
  147. package/dist/test/s4-formatter.spec.js +0 -67
  148. package/dist/test/s4-formatter.spec.js.map +0 -1
  149. package/dist/test/s4-pagination.spec.d.ts +0 -1
  150. package/dist/test/s4-pagination.spec.js +0 -170
  151. package/dist/test/s4-pagination.spec.js.map +0 -1
  152. package/dist/test/safe-proxy.spec.d.ts +0 -1
  153. package/dist/test/safe-proxy.spec.js +0 -252
  154. package/dist/test/safe-proxy.spec.js.map +0 -1
  155. package/dist/test/serializer.spec.d.ts +0 -1
  156. package/dist/test/serializer.spec.js +0 -27
  157. package/dist/test/serializer.spec.js.map +0 -1
  158. package/dist/test/utils.spec.d.ts +0 -1
  159. package/dist/test/utils.spec.js +0 -446
  160. package/dist/test/utils.spec.js.map +0 -1
  161. package/dist/ts/task-scheduler/index.d.ts +0 -130
  162. package/dist/ts/task-scheduler/index.js +0 -259
  163. package/dist/ts/task-scheduler/index.js.map +0 -1
  164. package/formatter/index.js +0 -81
  165. package/hal/README.md +0 -54
  166. package/hal/index.js +0 -75
  167. package/health/health-logger.js +0 -40
  168. package/health/index.js +0 -188
  169. package/helpers/index.js +0 -1
  170. package/helpers/test-server-wrapper.js +0 -196
  171. package/last-commit.js +0 -12
  172. package/last_commit/index.js +0 -82
  173. package/logger/s4-logger.js +0 -128
  174. package/paginator/README.md +0 -183
  175. package/paginator/s4-pagination.js +0 -51
  176. package/paginator/sql-pagination.js +0 -178
  177. package/paper-trail/README.md +0 -68
  178. package/paper-trail/helpers.js +0 -99
  179. package/paper-trail/index.js +0 -843
  180. package/prompts/index.js +0 -78
  181. package/queue/index.js +0 -402
  182. package/queue/publisher.js +0 -96
  183. package/queue/queue-logger.js +0 -40
  184. package/queue/subscriber.js +0 -107
  185. package/safe_proxy/index.js +0 -61
  186. package/scripts/publish.sh +0 -46
  187. package/serializer/index.js +0 -90
  188. package/test/health.spec.js +0 -213
  189. package/test/prompt.test.js +0 -91
  190. package/test/s4-formatter.spec.js +0 -80
  191. package/test/s4-pagination.spec.js +0 -196
  192. package/test/serializer.spec.js +0 -34
  193. package/test/utils.spec.js +0 -145
  194. package/utils/index.js +0 -74
@@ -1,175 +0,0 @@
1
- "use strict";
2
- import pathHelper from "path";
3
- import logger from "./health-logger.js";
4
- import morgan from "morgan";
5
- class HealthCheckError extends Error {
6
- }
7
- /* Health Checking router + controller for use in all of our modules
8
- * Example use: Place the following code in your routes file
9
- *
10
- * import { healthCheck } from "@sera4/essentia";
11
- * const router = require('express').Router();
12
- *
13
- * ....
14
- *
15
- * const checkRedis = async () => { await cache.ping(); }
16
- * hc.setupCheck({ name: "redis", checkResult: false, critical: true, healthFunction: checkRedis });
17
- * app.use(hc.defaultPath(serverConfigs.api_prefix), hc.routes(router));
18
- *
19
- */
20
- class HealthCheck {
21
- constructor(appendData = {}, enableLogging = true) {
22
- logger.setEnabled(enableLogging);
23
- this.defaultResponse = {
24
- ...appendData,
25
- status: 200,
26
- errors: {}
27
- };
28
- this.defaultPathRoute = `health_check\(.*\)?`;
29
- this.suppressLogs = false;
30
- this.lastCallId = 0; // default start point/integer
31
- this.pathPrefix = "";
32
- this.healthChecks = [];
33
- }
34
- /* Deprecated and replaced by setupCheck
35
- * call this with an async function, must support wait capability
36
- *
37
- * const dbCheck = async () => {
38
- * return { name: "db", "result": "success", critical: false };
39
- * }
40
- */
41
- addCheck(fcn) {
42
- this.healthChecks.push(fcn);
43
- }
44
- setPrefix(prefix) {
45
- this.pathPrefix = prefix;
46
- }
47
- defaultPath(prefix = "") {
48
- if (prefix === "") {
49
- prefix = this.pathPrefix; // maybe setup manually
50
- }
51
- return `${prefix}/${this.defaultPathRoute}`;
52
- }
53
- routes(router) {
54
- if (!router) {
55
- throw new HealthCheckError("missing_express_router");
56
- }
57
- /* definition of all routes, rooted at defaultPath */
58
- router.get('/', (req, res) => {
59
- this.checkHealth(req, res);
60
- });
61
- return router;
62
- }
63
- suppressHealthCheckLog(app) {
64
- // Custom morgan skip function to ignore health check logging
65
- console.log("skip: ", this.defaultPath());
66
- app.use(morgan('combined', {
67
- skip: (req) => req.path === defaultPath()
68
- }));
69
- }
70
- // v2 version of health check, replaced addCheck
71
- // example:
72
- // const checkRedisFcn = async () => { await cache.ping().then(() => true) }
73
- // setupCheck({ name: "redis", checkResult: false, critical: false, healthFunction: checkRedisFcn });
74
- setupCheck(config) {
75
- this.healthChecks.push(config);
76
- }
77
- /* performs health checks and returns 200 if true and 500 if not */
78
- async checkHealth(req, res) {
79
- const checkFormat = pathHelper.extname(req.baseUrl);
80
- const result = await Promise.all(this.healthChecks.map(async (hc) => {
81
- if (typeof (hc) === "function") {
82
- try {
83
- return await hc();
84
- }
85
- catch (e) {
86
- return { name: "unknown", result: 'fail', status: e.status };
87
- }
88
- }
89
- else {
90
- let res = { name: hc.name, critical: hc.critical };
91
- try {
92
- const result = await hc.healthFunction();
93
- if (typeof (result) === "boolean") {
94
- if (result === false) {
95
- res = { "result": "fail", ...res };
96
- }
97
- else {
98
- res = { "result": "success", ...res };
99
- }
100
- }
101
- else {
102
- res = { "result": "success", ...res };
103
- }
104
- return res;
105
- }
106
- catch (e) {
107
- const appendStatus = e.status ? ` (${e.status})` : "";
108
- logger.warn(`${hc.name} service failed${appendStatus}`);
109
- return { ...res, "result": "fail", status: e.status };
110
- }
111
- }
112
- }));
113
- try {
114
- let callId = ++this.lastCallId;
115
- // start the counter over
116
- if ((callId % (1 << 30)) === 0) {
117
- callId = this.lastCallId = 1;
118
- }
119
- let status = this.defaultResponse.status;
120
- let nonCriticalFail = false;
121
- let criticalFail = false;
122
- result.some(e => {
123
- if (e.result.match(/fail/)) {
124
- if (e.critical === false) {
125
- nonCriticalFail = true;
126
- }
127
- else {
128
- criticalFail = true;
129
- status = 500;
130
- return true; // break
131
- }
132
- }
133
- });
134
- // set this in the header no matter what
135
- res.setHeader('check', callId);
136
- if (checkFormat === ".json") {
137
- const payload = { "check": callId, healthy: "true", message: "success" };
138
- if (criticalFail) {
139
- res.status(status).json({
140
- ...payload,
141
- "healthy": false,
142
- "message": "fail",
143
- "services": result
144
- });
145
- }
146
- else if (nonCriticalFail) {
147
- res.status(status).json({
148
- ...payload,
149
- "message": "fail",
150
- "services": result
151
- });
152
- }
153
- else if (status === 200) {
154
- res.status(status).json(payload);
155
- }
156
- }
157
- else {
158
- let status_message;
159
- if (criticalFail) {
160
- status_message = "fail";
161
- }
162
- else if ((status === 200) || nonCriticalFail) {
163
- status_message = "success";
164
- }
165
- res.status(status).send(status_message);
166
- }
167
- }
168
- catch (error) {
169
- console.warn("error: ", error);
170
- res.status(500).send();
171
- }
172
- }
173
- }
174
- export { HealthCheck };
175
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../health/index.js"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export * from "./test-server-wrapper.js";
@@ -1,2 +0,0 @@
1
- export * from "./test-server-wrapper.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../helpers/index.js"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
@@ -1,120 +0,0 @@
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
- }
@@ -1,165 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-server-wrapper.js","sourceRoot":"","sources":["../../helpers/test-server-wrapper.js"],"names":[],"mappings":"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"}
package/dist/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export {};
package/dist/index.js DELETED
@@ -1,17 +0,0 @@
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
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,12 +0,0 @@
1
- "use strict";
2
- import lastCommit from "./last_commit/index.js";
3
- lastCommit.writeLastCommit()
4
- .then(c => {
5
- console.debug("Last commit written");
6
- console.debug(c);
7
- })
8
- .catch(e => {
9
- console.error("Failed to write last commit");
10
- console.error(e);
11
- });
12
- //# sourceMappingURL=last-commit.js.map
@@ -1 +0,0 @@
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"}
@@ -1,7 +0,0 @@
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
- }
@@ -1,83 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../last_commit/index.js"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
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
- }