softkave-node-utils 0.1.1 → 0.3.0

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 (266) hide show
  1. package/README.md +0 -2
  2. package/package.json +41 -47
  3. package/build/src/contexts/SessionContext.d.ts +0 -15
  4. package/build/src/contexts/SessionContext.js +0 -70
  5. package/build/src/contexts/SessionContext.js.map +0 -1
  6. package/build/src/contexts/asyncLocalStorage.d.ts +0 -27
  7. package/build/src/contexts/asyncLocalStorage.js +0 -115
  8. package/build/src/contexts/asyncLocalStorage.js.map +0 -1
  9. package/build/src/contexts/config.d.ts +0 -49
  10. package/build/src/contexts/config.js +0 -25
  11. package/build/src/contexts/config.js.map +0 -1
  12. package/build/src/contexts/data/BaseMongoDataProvider.d.ts +0 -21
  13. package/build/src/contexts/data/BaseMongoDataProvider.js +0 -157
  14. package/build/src/contexts/data/BaseMongoDataProvider.js.map +0 -1
  15. package/build/src/contexts/data/MongoDataProviderUtils.d.ts +0 -6
  16. package/build/src/contexts/data/MongoDataProviderUtils.js +0 -35
  17. package/build/src/contexts/data/MongoDataProviderUtils.js.map +0 -1
  18. package/build/src/contexts/data/dataQueryToMongoQuery.d.ts +0 -3
  19. package/build/src/contexts/data/dataQueryToMongoQuery.js +0 -85
  20. package/build/src/contexts/data/dataQueryToMongoQuery.js.map +0 -1
  21. package/build/src/contexts/data/index.d.ts +0 -5
  22. package/build/src/contexts/data/index.js +0 -22
  23. package/build/src/contexts/data/index.js.map +0 -1
  24. package/build/src/contexts/data/types.d.ts +0 -114
  25. package/build/src/contexts/data/types.js +0 -15
  26. package/build/src/contexts/data/types.js.map +0 -1
  27. package/build/src/contexts/data/utils.d.ts +0 -2
  28. package/build/src/contexts/data/utils.js +0 -24
  29. package/build/src/contexts/data/utils.js.map +0 -1
  30. package/build/src/contexts/email/SESEmailProviderContext.d.ts +0 -9
  31. package/build/src/contexts/email/SESEmailProviderContext.js +0 -49
  32. package/build/src/contexts/email/SESEmailProviderContext.js.map +0 -1
  33. package/build/src/contexts/email/index.d.ts +0 -2
  34. package/build/src/contexts/email/index.js +0 -19
  35. package/build/src/contexts/email/index.js.map +0 -1
  36. package/build/src/contexts/email/types.d.ts +0 -13
  37. package/build/src/contexts/email/types.js +0 -3
  38. package/build/src/contexts/email/types.js.map +0 -1
  39. package/build/src/contexts/encryption/AWSSecretsManagerProvider.d.ts +0 -12
  40. package/build/src/contexts/encryption/AWSSecretsManagerProvider.js +0 -51
  41. package/build/src/contexts/encryption/AWSSecretsManagerProvider.js.map +0 -1
  42. package/build/src/contexts/encryption/MemorySecretsManagerProvider.d.ts +0 -12
  43. package/build/src/contexts/encryption/MemorySecretsManagerProvider.js +0 -35
  44. package/build/src/contexts/encryption/MemorySecretsManagerProvider.js.map +0 -1
  45. package/build/src/contexts/encryption/index.d.ts +0 -3
  46. package/build/src/contexts/encryption/index.js +0 -20
  47. package/build/src/contexts/encryption/index.js.map +0 -1
  48. package/build/src/contexts/encryption/types.d.ts +0 -29
  49. package/build/src/contexts/encryption/types.js +0 -3
  50. package/build/src/contexts/encryption/types.js.map +0 -1
  51. package/build/src/contexts/globalUtils.d.ts +0 -2
  52. package/build/src/contexts/globalUtils.js +0 -17
  53. package/build/src/contexts/globalUtils.js.map +0 -1
  54. package/build/src/contexts/index.d.ts +0 -11
  55. package/build/src/contexts/index.js +0 -28
  56. package/build/src/contexts/index.js.map +0 -1
  57. package/build/src/contexts/injection/index.d.ts +0 -3
  58. package/build/src/contexts/injection/index.js +0 -20
  59. package/build/src/contexts/injection/index.js.map +0 -1
  60. package/build/src/contexts/injection/injectables.d.ts +0 -56
  61. package/build/src/contexts/injection/injectables.js +0 -26
  62. package/build/src/contexts/injection/injectables.js.map +0 -1
  63. package/build/src/contexts/injection/keys.d.ts +0 -22
  64. package/build/src/contexts/injection/keys.js +0 -33
  65. package/build/src/contexts/injection/keys.js.map +0 -1
  66. package/build/src/contexts/injection/register.d.ts +0 -33
  67. package/build/src/contexts/injection/register.js +0 -107
  68. package/build/src/contexts/injection/register.js.map +0 -1
  69. package/build/src/contexts/logger/index.d.ts +0 -3
  70. package/build/src/contexts/logger/index.js +0 -20
  71. package/build/src/contexts/logger/index.js.map +0 -1
  72. package/build/src/contexts/logger/noop.d.ts +0 -5
  73. package/build/src/contexts/logger/noop.js +0 -12
  74. package/build/src/contexts/logger/noop.js.map +0 -1
  75. package/build/src/contexts/logger/types.d.ts +0 -11
  76. package/build/src/contexts/logger/types.js +0 -8
  77. package/build/src/contexts/logger/types.js.map +0 -1
  78. package/build/src/contexts/logger/utils.d.ts +0 -2
  79. package/build/src/contexts/logger/utils.js +0 -15
  80. package/build/src/contexts/logger/utils.js.map +0 -1
  81. package/build/src/contexts/semantic/DataSemanticDataAccessBaseProvider.d.ts +0 -28
  82. package/build/src/contexts/semantic/DataSemanticDataAccessBaseProvider.js +0 -115
  83. package/build/src/contexts/semantic/DataSemanticDataAccessBaseProvider.js.map +0 -1
  84. package/build/src/contexts/semantic/index.d.ts +0 -3
  85. package/build/src/contexts/semantic/index.js +0 -20
  86. package/build/src/contexts/semantic/index.js.map +0 -1
  87. package/build/src/contexts/semantic/types.d.ts +0 -48
  88. package/build/src/contexts/semantic/types.js +0 -3
  89. package/build/src/contexts/semantic/types.js.map +0 -1
  90. package/build/src/contexts/semantic/utils.d.ts +0 -16
  91. package/build/src/contexts/semantic/utils.js +0 -68
  92. package/build/src/contexts/semantic/utils.js.map +0 -1
  93. package/build/src/contexts/types.d.ts +0 -6
  94. package/build/src/contexts/types.js +0 -3
  95. package/build/src/contexts/types.js.map +0 -1
  96. package/build/src/definitions/agent.d.ts +0 -10
  97. package/build/src/definitions/agent.js +0 -3
  98. package/build/src/definitions/agent.js.map +0 -1
  99. package/build/src/definitions/index.d.ts +0 -4
  100. package/build/src/definitions/index.js +0 -21
  101. package/build/src/definitions/index.js.map +0 -1
  102. package/build/src/definitions/resource.d.ts +0 -17
  103. package/build/src/definitions/resource.js +0 -3
  104. package/build/src/definitions/resource.js.map +0 -1
  105. package/build/src/definitions/resourceTypes.d.ts +0 -10
  106. package/build/src/definitions/resourceTypes.js +0 -19
  107. package/build/src/definitions/resourceTypes.js.map +0 -1
  108. package/build/src/definitions/token.d.ts +0 -17
  109. package/build/src/definitions/token.js +0 -10
  110. package/build/src/definitions/token.js.map +0 -1
  111. package/build/src/endpoints/RequestData.d.ts +0 -20
  112. package/build/src/endpoints/RequestData.js +0 -52
  113. package/build/src/endpoints/RequestData.js.map +0 -1
  114. package/build/src/endpoints/constants.d.ts +0 -20
  115. package/build/src/endpoints/constants.js +0 -24
  116. package/build/src/endpoints/constants.js.map +0 -1
  117. package/build/src/endpoints/endpoints.d.ts +0 -7
  118. package/build/src/endpoints/endpoints.js +0 -33
  119. package/build/src/endpoints/endpoints.js.map +0 -1
  120. package/build/src/endpoints/endpoints.mddoc.d.ts +0 -62
  121. package/build/src/endpoints/endpoints.mddoc.js +0 -437
  122. package/build/src/endpoints/endpoints.mddoc.js.map +0 -1
  123. package/build/src/endpoints/extractors.d.ts +0 -9
  124. package/build/src/endpoints/extractors.js +0 -24
  125. package/build/src/endpoints/extractors.js.map +0 -1
  126. package/build/src/endpoints/index.d.ts +0 -10
  127. package/build/src/endpoints/index.js +0 -27
  128. package/build/src/endpoints/index.js.map +0 -1
  129. package/build/src/endpoints/jobs/index.d.ts +0 -1
  130. package/build/src/endpoints/jobs/index.js +0 -18
  131. package/build/src/endpoints/jobs/index.js.map +0 -1
  132. package/build/src/endpoints/jobs/types.d.ts +0 -6
  133. package/build/src/endpoints/jobs/types.js +0 -3
  134. package/build/src/endpoints/jobs/types.js.map +0 -1
  135. package/build/src/endpoints/pagination.d.ts +0 -3
  136. package/build/src/endpoints/pagination.js +0 -27
  137. package/build/src/endpoints/pagination.js.map +0 -1
  138. package/build/src/endpoints/types.d.ts +0 -68
  139. package/build/src/endpoints/types.js +0 -13
  140. package/build/src/endpoints/types.js.map +0 -1
  141. package/build/src/endpoints/utils.d.ts +0 -23
  142. package/build/src/endpoints/utils.js +0 -131
  143. package/build/src/endpoints/utils.js.map +0 -1
  144. package/build/src/endpoints/validation.d.ts +0 -47
  145. package/build/src/endpoints/validation.js +0 -73
  146. package/build/src/endpoints/validation.js.map +0 -1
  147. package/build/src/errors/OperationError.d.ts +0 -20
  148. package/build/src/errors/OperationError.js +0 -38
  149. package/build/src/errors/OperationError.js.map +0 -1
  150. package/build/src/errors/commonErrors.d.ts +0 -24
  151. package/build/src/errors/commonErrors.js +0 -72
  152. package/build/src/errors/commonErrors.js.map +0 -1
  153. package/build/src/errors/endpointErrors.d.ts +0 -31
  154. package/build/src/errors/endpointErrors.js +0 -83
  155. package/build/src/errors/endpointErrors.js.map +0 -1
  156. package/build/src/errors/index.d.ts +0 -6
  157. package/build/src/errors/index.js +0 -23
  158. package/build/src/errors/index.js.map +0 -1
  159. package/build/src/errors/messages.d.ts +0 -11
  160. package/build/src/errors/messages.js +0 -27
  161. package/build/src/errors/messages.js.map +0 -1
  162. package/build/src/errors/reusableErrors.d.ts +0 -12
  163. package/build/src/errors/reusableErrors.js +0 -25
  164. package/build/src/errors/reusableErrors.js.map +0 -1
  165. package/build/src/errors/sessionErrors.d.ts +0 -18
  166. package/build/src/errors/sessionErrors.js +0 -60
  167. package/build/src/errors/sessionErrors.js.map +0 -1
  168. package/build/src/index.d.ts +0 -8
  169. package/build/src/index.js +0 -25
  170. package/build/src/index.js.map +0 -1
  171. package/build/src/mddoc/index.d.ts +0 -4
  172. package/build/src/mddoc/index.js +0 -21
  173. package/build/src/mddoc/index.js.map +0 -1
  174. package/build/src/mddoc/jsSdkCodeGen.d.ts +0 -7
  175. package/build/src/mddoc/jsSdkCodeGen.js +0 -546
  176. package/build/src/mddoc/jsSdkCodeGen.js.map +0 -1
  177. package/build/src/mddoc/mddoc.d.ts +0 -206
  178. package/build/src/mddoc/mddoc.js +0 -142
  179. package/build/src/mddoc/mddoc.js.map +0 -1
  180. package/build/src/mddoc/restApiEndpointsInfoGen.d.ts +0 -10
  181. package/build/src/mddoc/restApiEndpointsInfoGen.js +0 -92
  182. package/build/src/mddoc/restApiEndpointsInfoGen.js.map +0 -1
  183. package/build/src/mddoc/restApiTableOfContentGen.d.ts +0 -2
  184. package/build/src/mddoc/restApiTableOfContentGen.js +0 -51
  185. package/build/src/mddoc/restApiTableOfContentGen.js.map +0 -1
  186. package/build/src/mongodb/connection.d.ts +0 -26
  187. package/build/src/mongodb/connection.js +0 -50
  188. package/build/src/mongodb/connection.js.map +0 -1
  189. package/build/src/mongodb/constants.d.ts +0 -4
  190. package/build/src/mongodb/constants.js +0 -7
  191. package/build/src/mongodb/constants.js.map +0 -1
  192. package/build/src/mongodb/index.d.ts +0 -3
  193. package/build/src/mongodb/index.js +0 -20
  194. package/build/src/mongodb/index.js.map +0 -1
  195. package/build/src/mongodb/utils.d.ts +0 -20
  196. package/build/src/mongodb/utils.js +0 -26
  197. package/build/src/mongodb/utils.js.map +0 -1
  198. package/build/src/testUtils/context/email/MockTestEmailProviderContext.d.ts +0 -6
  199. package/build/src/testUtils/context/email/MockTestEmailProviderContext.js +0 -10
  200. package/build/src/testUtils/context/email/MockTestEmailProviderContext.js.map +0 -1
  201. package/build/src/testUtils/context/email/NoopEmailProviderContext.d.ts +0 -6
  202. package/build/src/testUtils/context/email/NoopEmailProviderContext.js +0 -11
  203. package/build/src/testUtils/context/email/NoopEmailProviderContext.js.map +0 -1
  204. package/build/src/testUtils/context/email/TestSESEmailProviderContext.d.ts +0 -8
  205. package/build/src/testUtils/context/email/TestSESEmailProviderContext.js +0 -14
  206. package/build/src/testUtils/context/email/TestSESEmailProviderContext.js.map +0 -1
  207. package/build/src/testUtils/context/email/index.d.ts +0 -3
  208. package/build/src/testUtils/context/email/index.js +0 -20
  209. package/build/src/testUtils/context/email/index.js.map +0 -1
  210. package/build/src/testUtils/context/index.d.ts +0 -2
  211. package/build/src/testUtils/context/index.js +0 -19
  212. package/build/src/testUtils/context/index.js.map +0 -1
  213. package/build/src/testUtils/context/types.d.ts +0 -9
  214. package/build/src/testUtils/context/types.js +0 -3
  215. package/build/src/testUtils/context/types.js.map +0 -1
  216. package/build/src/testUtils/generate/index.d.ts +0 -1
  217. package/build/src/testUtils/generate/index.js +0 -18
  218. package/build/src/testUtils/generate/index.js.map +0 -1
  219. package/build/src/testUtils/generate/utils.d.ts +0 -37
  220. package/build/src/testUtils/generate/utils.js +0 -79
  221. package/build/src/testUtils/generate/utils.js.map +0 -1
  222. package/build/src/testUtils/helpers/assertion.d.ts +0 -25
  223. package/build/src/testUtils/helpers/assertion.js +0 -63
  224. package/build/src/testUtils/helpers/assertion.js.map +0 -1
  225. package/build/src/testUtils/helpers/binary.d.ts +0 -4
  226. package/build/src/testUtils/helpers/binary.js +0 -19
  227. package/build/src/testUtils/helpers/binary.js.map +0 -1
  228. package/build/src/testUtils/helpers/error.d.ts +0 -3
  229. package/build/src/testUtils/helpers/error.js +0 -43
  230. package/build/src/testUtils/helpers/error.js.map +0 -1
  231. package/build/src/testUtils/helpers/index.d.ts +0 -8
  232. package/build/src/testUtils/helpers/index.js +0 -25
  233. package/build/src/testUtils/helpers/index.js.map +0 -1
  234. package/build/src/testUtils/helpers/mock.d.ts +0 -2
  235. package/build/src/testUtils/helpers/mock.js +0 -15
  236. package/build/src/testUtils/helpers/mock.js.map +0 -1
  237. package/build/src/testUtils/helpers/mongodb.d.ts +0 -3
  238. package/build/src/testUtils/helpers/mongodb.js +0 -17
  239. package/build/src/testUtils/helpers/mongodb.js.map +0 -1
  240. package/build/src/testUtils/helpers/request.d.ts +0 -7
  241. package/build/src/testUtils/helpers/request.js +0 -29
  242. package/build/src/testUtils/helpers/request.js.map +0 -1
  243. package/build/src/testUtils/helpers/response.d.ts +0 -2
  244. package/build/src/testUtils/helpers/response.js +0 -12
  245. package/build/src/testUtils/helpers/response.js.map +0 -1
  246. package/build/src/testUtils/helpers/testFns.d.ts +0 -33
  247. package/build/src/testUtils/helpers/testFns.js +0 -105
  248. package/build/src/testUtils/helpers/testFns.js.map +0 -1
  249. package/build/src/testUtils/index.d.ts +0 -3
  250. package/build/src/testUtils/index.js +0 -20
  251. package/build/src/testUtils/index.js.map +0 -1
  252. package/build/src/testUtils/testUtils.d.ts +0 -13
  253. package/build/src/testUtils/testUtils.js +0 -50
  254. package/build/src/testUtils/testUtils.js.map +0 -1
  255. package/build/src/utils/assertion.d.ts +0 -2
  256. package/build/src/utils/assertion.js +0 -31
  257. package/build/src/utils/assertion.js.map +0 -1
  258. package/build/src/utils/aws.d.ts +0 -5
  259. package/build/src/utils/aws.js +0 -3
  260. package/build/src/utils/aws.js.map +0 -1
  261. package/build/src/utils/index.d.ts +0 -3
  262. package/build/src/utils/index.js +0 -20
  263. package/build/src/utils/index.js.map +0 -1
  264. package/build/src/utils/streamToBuffer.d.ts +0 -4
  265. package/build/src/utils/streamToBuffer.js +0 -19
  266. package/build/src/utils/streamToBuffer.js.map +0 -1
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./types"), exports);
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/endpoints/jobs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
@@ -1,6 +0,0 @@
1
- export interface LongRunningJobResult {
2
- jobId?: string;
3
- }
4
- export interface MultipleLongRunningJobResult {
5
- jobIds: string[];
6
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/endpoints/jobs/types.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- import { PaginationQuery } from './types';
2
- export declare function applyDefaultEndpointPaginationOptions(data: PaginationQuery): PaginationQuery;
3
- export declare function getEndpointPageFromInput(p: PaginationQuery, defaultPage?: number): number;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getEndpointPageFromInput = exports.applyDefaultEndpointPaginationOptions = void 0;
4
- const lodash_1 = require("lodash");
5
- const constants_1 = require("./constants");
6
- const utils_1 = require("../contexts/data/utils");
7
- function applyDefaultEndpointPaginationOptions(data) {
8
- if (data.page === undefined) {
9
- data.page = constants_1.kEndpointConstants.minPage;
10
- }
11
- else {
12
- data.page = Math.max(constants_1.kEndpointConstants.minPage, data.page);
13
- }
14
- if (data.pageSize === undefined) {
15
- data.pageSize = constants_1.kEndpointConstants.maxPageSize;
16
- }
17
- else {
18
- data.pageSize = Math.max(constants_1.kEndpointConstants.minPageSize, data.pageSize);
19
- }
20
- return data;
21
- }
22
- exports.applyDefaultEndpointPaginationOptions = applyDefaultEndpointPaginationOptions;
23
- function getEndpointPageFromInput(p, defaultPage = 0) {
24
- return (0, lodash_1.defaultTo)((0, utils_1.getPage)(p.page), defaultPage);
25
- }
26
- exports.getEndpointPageFromInput = getEndpointPageFromInput;
27
- //# sourceMappingURL=pagination.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/endpoints/pagination.ts"],"names":[],"mappings":";;;AAAA,mCAAiC;AACjC,2CAA+C;AAE/C,kDAA+C;AAE/C,SAAgB,qCAAqC,CAAC,IAAqB;IACzE,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;QAC3B,IAAI,CAAC,IAAI,GAAG,8BAAkB,CAAC,OAAO,CAAC;KACxC;SAAM;QACL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,8BAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;KAC7D;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;QAC/B,IAAI,CAAC,QAAQ,GAAG,8BAAkB,CAAC,WAAW,CAAC;KAChD;SAAM;QACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,8BAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KACzE;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAdD,sFAcC;AAED,SAAgB,wBAAwB,CACtC,CAAkB,EAClB,WAAW,GAAG,CAAC;IAEf,OAAO,IAAA,kBAAS,EAAC,IAAA,eAAO,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;AACjD,CAAC;AALD,4DAKC"}
@@ -1,68 +0,0 @@
1
- import { Request, RequestHandler, Response } from 'express';
2
- import { AnyObject, OrPromise } from 'softkave-js-utils';
3
- import { ValueOf } from 'type-fest';
4
- import { FimidaraExternalError } from '../errors/OperationError';
5
- import { HttpEndpointDefinitionType, MddocHttpEndpointDefinition } from '../mddoc/mddoc';
6
- import RequestData from './RequestData';
7
- export interface BaseEndpointResult {
8
- errors?: FimidaraExternalError[];
9
- }
10
- export type Endpoint<TParams = any, TResult = void> = (instData: RequestData<TParams>) => Promise<TResult extends void ? void | BaseEndpointResult : TResult & BaseEndpointResult>;
11
- export type InferEndpointResult<TEndpoint> = TEndpoint extends Endpoint<any, infer InferedResult> ? InferedResult extends AnyObject ? InferedResult : any : any;
12
- export type InferEndpointParams<TEndpoint> = TEndpoint extends Endpoint<infer InferedParams, any> ? InferedParams : AnyObject;
13
- export declare const ServerRecommendedActionsMap: {
14
- readonly LoginAgain: "loginAgain";
15
- readonly Logout: "logout";
16
- readonly RequestChangePassword: "requestChangePassword";
17
- };
18
- export type ServerRecommendedActions = ValueOf<typeof ServerRecommendedActionsMap>;
19
- export type PaginationQuery = {
20
- pageSize?: number;
21
- page?: number;
22
- };
23
- export interface PaginatedResult {
24
- page: number;
25
- }
26
- export interface CountItemsEndpointResult {
27
- count: number;
28
- }
29
- export type PaginatedEndpointCountParams<T extends PaginationQuery> = Omit<T, keyof PaginationQuery>;
30
- export type HttpEndpointRequestHeaders_AuthOptional = {
31
- Authorization?: string;
32
- };
33
- export type HttpEndpointRequestHeaders_AuthRequired = Required<HttpEndpointRequestHeaders_AuthOptional>;
34
- export type HttpEndpointRequestHeaders_ContentType = {
35
- 'Content-Type': string;
36
- };
37
- export type HttpEndpointRequestHeaders_AuthOptional_ContentType = HttpEndpointRequestHeaders_ContentType & HttpEndpointRequestHeaders_AuthOptional;
38
- export type HttpEndpointRequestHeaders_AuthRequired_ContentType = Required<HttpEndpointRequestHeaders_AuthOptional_ContentType>;
39
- export type HttpEndpointResponseHeaders_ContentType_ContentLength = {
40
- 'Content-Type': string;
41
- 'Content-Length': string;
42
- };
43
- export type ExportedHttpEndpoint_GetDataFromReqFn = (req: Request) => OrPromise<unknown>;
44
- export type ExportedHttpEndpoint_HandleResponse = (res: Response, data: any) => OrPromise<void>;
45
- /** return `true` to defer error handling to server, allowing the function to
46
- * only augment `processedErrors` instead. This can be useful for adding
47
- * additional errors or fields to processed errors. */
48
- export type ExportedHttpEndpoint_HandleErrorFn = (res: Response, processedErrors: FimidaraExternalError[], caughtErrors: unknown) => true | void;
49
- export type ExportedHttpEndpoint_Cleanup = (req: Request, res: Response) => OrPromise<void>;
50
- export type ExportedHttpEndpointWithMddocDefinition<TEndpoint extends Endpoint = Endpoint, TRequestHeaders extends AnyObject = HttpEndpointRequestHeaders_AuthRequired_ContentType, TPathParameters extends AnyObject = AnyObject, TQuery extends AnyObject = AnyObject, TRequestBody extends AnyObject = InferEndpointParams<TEndpoint>, TResponseHeaders extends AnyObject = HttpEndpointResponseHeaders_ContentType_ContentLength, TResponseBody extends AnyObject = InferEndpointResult<TEndpoint>, TSdkParams extends AnyObject = TRequestBody> = {
51
- fn: TEndpoint;
52
- mddocHttpDefinition: MddocHttpEndpointDefinition<TRequestHeaders, TPathParameters, TQuery, TRequestBody, TResponseHeaders, TResponseBody, TSdkParams>;
53
- getDataFromReq?: (req: Request) => OrPromise<InferEndpointParams<TEndpoint>>;
54
- handleResponse?: (res: Response, data: InferEndpointResult<TEndpoint>) => OrPromise<void>;
55
- handleError?: ExportedHttpEndpoint_HandleErrorFn;
56
- cleanup?: ExportedHttpEndpoint_Cleanup | Array<ExportedHttpEndpoint_Cleanup>;
57
- expressRouteMiddleware?: RequestHandler;
58
- };
59
- export type InferMddocHttpEndpointFromMddocEndpointDefinition<T> = T extends ExportedHttpEndpointWithMddocDefinition<any, infer T0, infer T1, infer T2, infer T3, infer T4, infer T5, infer T6> ? HttpEndpointDefinitionType<T0, T1, T2, T3, T4, T5, T6> : never;
60
- export declare const kEndpointResultNoteCodeMap: {
61
- readonly unknown: "unknown";
62
- };
63
- export type EndpointResultNoteCode = ValueOf<typeof kEndpointResultNoteCodeMap>;
64
- export declare const kEndpointResultNotesToMessageMap: {};
65
- export interface EndpointResultNote {
66
- code: EndpointResultNoteCode;
67
- message: string;
68
- }
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.kEndpointResultNotesToMessageMap = exports.kEndpointResultNoteCodeMap = exports.ServerRecommendedActionsMap = void 0;
4
- exports.ServerRecommendedActionsMap = {
5
- LoginAgain: 'loginAgain',
6
- Logout: 'logout',
7
- RequestChangePassword: 'requestChangePassword',
8
- };
9
- exports.kEndpointResultNoteCodeMap = {
10
- unknown: 'unknown',
11
- };
12
- exports.kEndpointResultNotesToMessageMap = {};
13
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/endpoints/types.ts"],"names":[],"mappings":";;;AA2Ca,QAAA,2BAA2B,GAAG;IACzC,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,qBAAqB,EAAE,uBAAuB;CACtC,CAAC;AAsHE,QAAA,0BAA0B,GAAG;IACxC,OAAO,EAAE,SAAS;CACV,CAAC;AAIE,QAAA,gCAAgC,GAAG,EAAE,CAAC"}
@@ -1,23 +0,0 @@
1
- import { Express, Request, Response } from 'express';
2
- import { AnyObject } from 'softkave-js-utils';
3
- import { Agent } from '../definitions/agent';
4
- import OperationError, { FimidaraExternalError } from '../errors/OperationError';
5
- import { Endpoint, ExportedHttpEndpointWithMddocDefinition, ExportedHttpEndpoint_Cleanup, ExportedHttpEndpoint_GetDataFromReqFn, ExportedHttpEndpoint_HandleErrorFn, ExportedHttpEndpoint_HandleResponse } from './types';
6
- export declare function extractExternalEndpointError(errorItem: OperationError): FimidaraExternalError;
7
- export declare function getPublicErrors(inputError: unknown): FimidaraExternalError[];
8
- export declare function prepareResponseError(error: unknown): {
9
- statusCode: 500;
10
- preppedErrors: FimidaraExternalError[];
11
- };
12
- export declare const wrapEndpointREST: <EndpointType extends Endpoint>(endpoint: EndpointType, handleResponse?: ExportedHttpEndpoint_HandleResponse, handleError?: ExportedHttpEndpoint_HandleErrorFn, getData?: ExportedHttpEndpoint_GetDataFromReqFn, cleanup?: ExportedHttpEndpoint_Cleanup | Array<ExportedHttpEndpoint_Cleanup>) => (req: Request, res: Response) => unknown;
13
- export declare function throwNotFound(): void;
14
- export type ResourceWithoutAssignedAgent<T> = Omit<T, 'assignedAt' | 'assignedBy'>;
15
- type AssignedAgent = {
16
- assignedBy: Agent;
17
- assignedAt: number;
18
- };
19
- export declare function withAssignedAgent<T extends AnyObject>(agent: Agent, item: T): T & AssignedAgent;
20
- export declare function withAssignedAgentList<T extends AnyObject>(agent: Agent, items?: T[]): Array<T & AssignedAgent>;
21
- export declare function endpointDecodeURIComponent(component?: unknown): string | undefined;
22
- export declare function registerExpressRouteFromEndpoint(endpoint: ExportedHttpEndpointWithMddocDefinition<any>, app: Express): void;
23
- export {};
@@ -1,131 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.registerExpressRouteFromEndpoint = exports.endpointDecodeURIComponent = exports.withAssignedAgentList = exports.withAssignedAgent = exports.throwNotFound = exports.wrapEndpointREST = exports.prepareResponseError = exports.getPublicErrors = exports.extractExternalEndpointError = void 0;
7
- const lodash_1 = require("lodash");
8
- const softkave_js_utils_1 = require("softkave-js-utils");
9
- const injectables_1 = require("../contexts/injection/injectables");
10
- const commonErrors_1 = require("../errors/commonErrors");
11
- const endpointErrors_1 = require("../errors/endpointErrors");
12
- const RequestData_1 = __importDefault(require("./RequestData"));
13
- const constants_1 = require("./constants");
14
- function extractExternalEndpointError(errorItem) {
15
- return {
16
- name: errorItem.name,
17
- message: errorItem.message,
18
- action: errorItem.action,
19
- field: errorItem.field,
20
- notes: errorItem.notes,
21
- };
22
- }
23
- exports.extractExternalEndpointError = extractExternalEndpointError;
24
- function getPublicErrors(inputError) {
25
- const errors = Array.isArray(inputError)
26
- ? inputError
27
- : [inputError];
28
- // We are mapping errors cause some values don't show if we don't
29
- // or was it errors, not sure anymore, this is old code.
30
- // TODO: Feel free to look into it, cause it could help performance.
31
- const preppedErrors = [];
32
- errors.forEach(errorItem => (errorItem === null || errorItem === void 0 ? void 0 : errorItem.isPublicError) &&
33
- preppedErrors.push(extractExternalEndpointError(errorItem)));
34
- if (preppedErrors.length === 0) {
35
- const serverError = new commonErrors_1.ServerError();
36
- preppedErrors.push(extractExternalEndpointError(serverError));
37
- }
38
- return preppedErrors;
39
- }
40
- exports.getPublicErrors = getPublicErrors;
41
- function prepareResponseError(error) {
42
- injectables_1.kUtilsInjectables.logger().error(error);
43
- let statusCode = constants_1.kEndpointConstants.httpStatusCode.serverError;
44
- const errors = Array.isArray(error) ? error : [error];
45
- const preppedErrors = getPublicErrors(errors);
46
- if (errors.length > 0 && errors[0].statusCode) {
47
- statusCode = errors[0].statusCode;
48
- }
49
- return { statusCode, preppedErrors };
50
- }
51
- exports.prepareResponseError = prepareResponseError;
52
- const wrapEndpointREST = (endpoint, handleResponse, handleError, getData, cleanup) => {
53
- return async (req, res) => {
54
- await injectables_1.kUtilsInjectables.asyncLocalStorage().run(async () => {
55
- try {
56
- const data = await (getData ? getData(req) : req.body);
57
- const instData = RequestData_1.default.fromExpressRequest(req, data);
58
- const result = await endpoint(instData);
59
- if (handleResponse) {
60
- await handleResponse(res, result);
61
- }
62
- else {
63
- res.status(constants_1.kEndpointConstants.httpStatusCode.ok).json(result !== null && result !== void 0 ? result : {});
64
- }
65
- }
66
- catch (error) {
67
- const { statusCode, preppedErrors } = prepareResponseError(error);
68
- if (handleError) {
69
- const deferHandling = handleError(res, preppedErrors, error);
70
- if (deferHandling !== true) {
71
- return;
72
- }
73
- }
74
- const result = { errors: preppedErrors };
75
- res.status(statusCode).json(result);
76
- }
77
- finally {
78
- (0, softkave_js_utils_1.toCompactArray)(cleanup).forEach(fn => injectables_1.kUtilsInjectables.promises().forget(fn(req, res)));
79
- }
80
- });
81
- };
82
- };
83
- exports.wrapEndpointREST = wrapEndpointREST;
84
- function throwNotFound() {
85
- throw new endpointErrors_1.NotFoundError();
86
- }
87
- exports.throwNotFound = throwNotFound;
88
- function withAssignedAgent(agent, item) {
89
- return {
90
- ...item,
91
- assignedAt: Date.now(),
92
- assignedBy: {
93
- agentId: agent.agentId,
94
- agentType: agent.agentType,
95
- agentTokenId: agent.agentTokenId,
96
- },
97
- };
98
- }
99
- exports.withAssignedAgent = withAssignedAgent;
100
- function withAssignedAgentList(agent, items = []) {
101
- return items.map(item => ({
102
- ...item,
103
- assignedAt: Date.now(),
104
- assignedBy: {
105
- agentId: agent.agentId,
106
- agentType: agent.agentType,
107
- agentTokenId: agent.agentTokenId,
108
- },
109
- }));
110
- }
111
- exports.withAssignedAgentList = withAssignedAgentList;
112
- function endpointDecodeURIComponent(component) {
113
- return component && (0, lodash_1.isString)(component)
114
- ? decodeURIComponent(component)
115
- : undefined;
116
- }
117
- exports.endpointDecodeURIComponent = endpointDecodeURIComponent;
118
- function registerExpressRouteFromEndpoint(
119
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
120
- endpoint, app) {
121
- const p = endpoint.mddocHttpDefinition.assertGetBasePathname();
122
- const expressPath = endpoint.mddocHttpDefinition.getPathParamaters()
123
- ? `${p}*`
124
- : p;
125
- app[endpoint.mddocHttpDefinition.assertGetMethod()](expressPath, ...(0, lodash_1.compact)([
126
- endpoint.expressRouteMiddleware,
127
- (0, exports.wrapEndpointREST)(endpoint.fn, endpoint.handleResponse, endpoint.handleError, endpoint.getDataFromReq, endpoint.cleanup),
128
- ]));
129
- }
130
- exports.registerExpressRouteFromEndpoint = registerExpressRouteFromEndpoint;
131
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/endpoints/utils.ts"],"names":[],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- import Joi, { SchemaMap } from 'joi';
2
- import { PaginationQuery } from './types';
3
- export type JoiSchemaParts<T> = Required<SchemaMap<T>>;
4
- export declare const endpointValidationSchemas: {
5
- page: Joi.NumberSchema<number>;
6
- pageSize: Joi.NumberSchema<number>;
7
- paginationParts: Required<Joi.PartialSchemaMap<PaginationQuery>>;
8
- op: (schema: Joi.Schema) => Joi.AlternativesSchema<any>;
9
- comparisonOps: (schema: Joi.Schema) => {
10
- $eq: Joi.Schema<any>;
11
- $in: Joi.ArraySchema<any[]>;
12
- $ne: Joi.Schema<any>;
13
- $nin: Joi.ArraySchema<any[]>;
14
- $exists: Joi.BooleanSchema<boolean>;
15
- };
16
- numberLiteralOps: (schema: Joi.Schema) => {
17
- $gt: Joi.Schema<any>;
18
- $gte: Joi.Schema<any>;
19
- $lt: Joi.Schema<any>;
20
- $lte: Joi.Schema<any>;
21
- };
22
- fullLiteralOps: (schema: Joi.Schema) => {
23
- $gt: Joi.Schema<any>;
24
- $gte: Joi.Schema<any>;
25
- $lt: Joi.Schema<any>;
26
- $lte: Joi.Schema<any>;
27
- } & {
28
- $eq: Joi.Schema<any>;
29
- $in: Joi.ArraySchema<any[]>;
30
- $ne: Joi.Schema<any>;
31
- $nin: Joi.ArraySchema<any[]>;
32
- $exists: Joi.BooleanSchema<boolean>;
33
- };
34
- objectOps: (schema: Joi.Schema) => {
35
- $objMatch: Joi.Schema<any>;
36
- };
37
- arrayOps: (schema: Joi.Schema) => {
38
- $size: Joi.NumberSchema<number>;
39
- $all: Joi.ArraySchema<any[]>;
40
- $elemMatch: Joi.ObjectSchema<any>;
41
- };
42
- comparisonOpsSchema: (schema: Joi.Schema) => Joi.ObjectSchema<any>;
43
- numberLiteralOpsSchema: (schema: Joi.Schema) => Joi.ObjectSchema<any>;
44
- fullLiteralOpsSchema: (schema: Joi.Schema) => Joi.ObjectSchema<any>;
45
- objectOpsSchema: (schema: Joi.Schema) => Joi.ObjectSchema<any>;
46
- arrayOpsSchema: (schema: Joi.Schema) => Joi.ObjectSchema<any>;
47
- };
@@ -1,73 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.endpointValidationSchemas = void 0;
7
- const joi_1 = __importDefault(require("joi"));
8
- const softkave_js_utils_1 = require("softkave-js-utils");
9
- const constants_1 = require("./constants");
10
- const comparisonOps = (schema) => ({
11
- $eq: schema,
12
- $in: joi_1.default.array().items(schema).max(constants_1.kEndpointConstants.inputListMax),
13
- $ne: schema,
14
- $nin: joi_1.default.array().items(schema).max(constants_1.kEndpointConstants.inputListMax),
15
- $exists: joi_1.default.boolean(),
16
- // we do not export $regex op
17
- });
18
- const numberLiteralOps = (schema) => ({
19
- $gt: schema,
20
- $gte: schema,
21
- $lt: schema,
22
- $lte: schema,
23
- });
24
- const fullLiteralOps = (schema) => (0, softkave_js_utils_1.mergeObjects)(numberLiteralOps(schema), comparisonOps(schema), {
25
- arrayUpdateStrategy: 'replace',
26
- });
27
- const objectOps = (schema) => ({
28
- $objMatch: schema,
29
- });
30
- const comparisonOpsSchema = (schema) => joi_1.default.object(comparisonOps(schema)).unknown(false);
31
- const numberLiteralOpsSchema = (schema) => joi_1.default.object(numberLiteralOps(schema)).unknown(false);
32
- const fullLiteralOpsSchema = (schema) => joi_1.default.object(fullLiteralOps(schema)).unknown(false);
33
- const objectOpsSchema = (schema) => joi_1.default.object(objectOps(schema)).unknown(false);
34
- const arrayOps = (schema) => ({
35
- $size: joi_1.default.number().integer(),
36
- $all: joi_1.default.array().items(schema).max(constants_1.kEndpointConstants.inputListMax),
37
- $elemMatch: schema.type === 'object'
38
- ? objectOpsSchema(schema)
39
- : schema.type === 'number'
40
- ? fullLiteralOpsSchema(schema)
41
- : comparisonOpsSchema(schema),
42
- });
43
- const arrayOpsSchema = (schema) => joi_1.default.object(arrayOps(schema)).unknown(false);
44
- const op = (schema) => joi_1.default.alternatives().try(schema, schema.type === 'array'
45
- ? arrayOpsSchema(schema)
46
- : schema.type === 'object'
47
- ? objectOpsSchema(schema)
48
- : schema.type === 'number'
49
- ? fullLiteralOpsSchema(schema)
50
- : comparisonOpsSchema(schema));
51
- const page = joi_1.default.number().integer();
52
- const pageSize = joi_1.default.number().integer();
53
- const paginationParts = {
54
- page,
55
- pageSize,
56
- };
57
- exports.endpointValidationSchemas = {
58
- page,
59
- pageSize,
60
- paginationParts,
61
- op,
62
- comparisonOps,
63
- numberLiteralOps,
64
- fullLiteralOps,
65
- objectOps,
66
- arrayOps,
67
- comparisonOpsSchema,
68
- numberLiteralOpsSchema,
69
- fullLiteralOpsSchema,
70
- objectOpsSchema,
71
- arrayOpsSchema,
72
- };
73
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/endpoints/validation.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import { EndpointResultNote } from '../endpoints/types';
2
- export interface OperationErrorParameters {
3
- message?: string;
4
- field?: string;
5
- action?: string;
6
- value?: unknown;
7
- }
8
- export default class OperationError extends Error {
9
- message: string;
10
- field?: string;
11
- action?: string;
12
- value?: string;
13
- statusCode?: number;
14
- isPublicError: boolean;
15
- notes?: EndpointResultNote[];
16
- constructor(props?: OperationErrorParameters | string);
17
- }
18
- export type FimidaraExternalError = Pick<OperationError, 'name' | 'message' | 'action' | 'field' | 'notes'>;
19
- export declare function getErrorMessageFromParams(props?: OperationErrorParameters | string, defaultMessage?: string): string;
20
- export declare function isOperationError(error: unknown): error is OperationError;
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isOperationError = exports.getErrorMessageFromParams = void 0;
4
- const lodash_1 = require("lodash");
5
- class OperationError extends Error {
6
- constructor(props) {
7
- super();
8
- this.message = 'An error occurred';
9
- this.isPublicError = true;
10
- if ((0, lodash_1.isObject)(props)) {
11
- this.field = props.field;
12
- this.action = props.action;
13
- if (props.value)
14
- this.value = JSON.stringify(props.value);
15
- if (props.message)
16
- this.message = props.message;
17
- }
18
- else if (props) {
19
- this.message = props;
20
- }
21
- }
22
- }
23
- exports.default = OperationError;
24
- function getErrorMessageFromParams(props, defaultMessage = '') {
25
- if ((0, lodash_1.isString)(props)) {
26
- return props;
27
- }
28
- else if (props === null || props === void 0 ? void 0 : props.message) {
29
- return props.message;
30
- }
31
- return defaultMessage;
32
- }
33
- exports.getErrorMessageFromParams = getErrorMessageFromParams;
34
- function isOperationError(error) {
35
- return !!(error === null || error === void 0 ? void 0 : error.message);
36
- }
37
- exports.isOperationError = isOperationError;
38
- //# sourceMappingURL=OperationError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OperationError.js","sourceRoot":"","sources":["../../../src/errors/OperationError.ts"],"names":[],"mappings":";;;AAAA,mCAA0C;AAU1C,MAAqB,cAAe,SAAQ,KAAK;IAU/C,YAAY,KAAyC;QACnD,KAAK,EAAE,CAAC;QAVV,YAAO,GAAG,mBAAmB,CAAC;QAM9B,kBAAa,GAAG,IAAI,CAAC;QAMnB,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAE3B,IAAI,KAAK,CAAC,KAAK;gBAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,KAAK,CAAC,OAAO;gBAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;SACjD;aAAM,IAAI,KAAK,EAAE;YAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;IACH,CAAC;CACF;AAvBD,iCAuBC;AAOD,SAAgB,yBAAyB,CACvC,KAAyC,EACzC,cAAc,GAAG,EAAE;IAEnB,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;QACnB,OAAO,KAAK,CAAC;KACd;SAAM,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE;QACzB,OAAO,KAAK,CAAC,OAAO,CAAC;KACtB;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAXD,8DAWC;AAED,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,OAAO,CAAC,CAAC,CAAC,KAA2B,aAA3B,KAAK,uBAAL,KAAK,CAAwB,OAAO,CAAA,CAAC;AACjD,CAAC;AAFD,4CAEC"}
@@ -1,24 +0,0 @@
1
- import OperationError, { OperationErrorParameters } from './OperationError';
2
- export declare class ServerError extends OperationError {
3
- name: string;
4
- statusCode: 500;
5
- constructor(props?: OperationErrorParameters | string);
6
- }
7
- export declare class TimeoutError extends OperationError {
8
- name: string;
9
- statusCode: 500;
10
- constructor(props?: OperationErrorParameters | string);
11
- }
12
- export declare class ValidationError extends OperationError {
13
- name: string;
14
- statusCode: 400;
15
- }
16
- export declare class ServerStateConflictError extends OperationError {
17
- name: string;
18
- statusCode: 409;
19
- }
20
- export declare class InternalError extends OperationError {
21
- name: string;
22
- isPublicError: boolean;
23
- statusCode: 500;
24
- }
@@ -1,72 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.InternalError = exports.ServerStateConflictError = exports.ValidationError = exports.TimeoutError = exports.ServerError = void 0;
27
- const constants_1 = require("../endpoints/constants");
28
- const OperationError_1 = __importStar(require("./OperationError"));
29
- class ServerError extends OperationError_1.default {
30
- constructor(props) {
31
- super(props);
32
- this.name = 'ServerError';
33
- this.statusCode = constants_1.kEndpointConstants.httpStatusCode.serverError;
34
- this.message = (0, OperationError_1.getErrorMessageFromParams)(props, 'Server error');
35
- }
36
- }
37
- exports.ServerError = ServerError;
38
- class TimeoutError extends OperationError_1.default {
39
- constructor(props) {
40
- super(props);
41
- this.name = 'TimeoutError';
42
- this.statusCode = constants_1.kEndpointConstants.httpStatusCode.serverError;
43
- this.message = (0, OperationError_1.getErrorMessageFromParams)(props, 'Request timed out');
44
- }
45
- }
46
- exports.TimeoutError = TimeoutError;
47
- class ValidationError extends OperationError_1.default {
48
- constructor() {
49
- super(...arguments);
50
- this.name = 'ValidationError';
51
- this.statusCode = constants_1.kEndpointConstants.httpStatusCode.badRequest;
52
- }
53
- }
54
- exports.ValidationError = ValidationError;
55
- class ServerStateConflictError extends OperationError_1.default {
56
- constructor() {
57
- super(...arguments);
58
- this.name = 'ServerStateConflictError';
59
- this.statusCode = constants_1.kEndpointConstants.httpStatusCode.conflict;
60
- }
61
- }
62
- exports.ServerStateConflictError = ServerStateConflictError;
63
- class InternalError extends OperationError_1.default {
64
- constructor() {
65
- super(...arguments);
66
- this.name = 'InternalError';
67
- this.isPublicError = false;
68
- this.statusCode = constants_1.kEndpointConstants.httpStatusCode.serverError;
69
- }
70
- }
71
- exports.InternalError = InternalError;
72
- //# sourceMappingURL=commonErrors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commonErrors.js","sourceRoot":"","sources":["../../../src/errors/commonErrors.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA0D;AAC1D,mEAG0B;AAE1B,MAAa,WAAY,SAAQ,wBAAc;IAI7C,YAAY,KAAyC;QACnD,KAAK,CAAC,KAAK,CAAC,CAAC;QAJf,SAAI,GAAG,aAAa,CAAC;QACrB,eAAU,GAAG,8BAAkB,CAAC,cAAc,CAAC,WAAW,CAAC;QAIzD,IAAI,CAAC,OAAO,GAAG,IAAA,0CAAyB,EAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAClE,CAAC;CACF;AARD,kCAQC;AAED,MAAa,YAAa,SAAQ,wBAAc;IAI9C,YAAY,KAAyC;QACnD,KAAK,CAAC,KAAK,CAAC,CAAC;QAJf,SAAI,GAAG,cAAc,CAAC;QACtB,eAAU,GAAG,8BAAkB,CAAC,cAAc,CAAC,WAAW,CAAC;QAIzD,IAAI,CAAC,OAAO,GAAG,IAAA,0CAAyB,EAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IACvE,CAAC;CACF;AARD,oCAQC;AAED,MAAa,eAAgB,SAAQ,wBAAc;IAAnD;;QACE,SAAI,GAAG,iBAAiB,CAAC;QACzB,eAAU,GAAG,8BAAkB,CAAC,cAAc,CAAC,UAAU,CAAC;IAC5D,CAAC;CAAA;AAHD,0CAGC;AAED,MAAa,wBAAyB,SAAQ,wBAAc;IAA5D;;QACE,SAAI,GAAG,0BAA0B,CAAC;QAClC,eAAU,GAAG,8BAAkB,CAAC,cAAc,CAAC,QAAQ,CAAC;IAC1D,CAAC;CAAA;AAHD,4DAGC;AAED,MAAa,aAAc,SAAQ,wBAAc;IAAjD;;QACE,SAAI,GAAG,eAAe,CAAC;QACvB,kBAAa,GAAG,KAAK,CAAC;QACtB,eAAU,GAAG,8BAAkB,CAAC,cAAc,CAAC,WAAW,CAAC;IAC7D,CAAC;CAAA;AAJD,sCAIC"}