softkave-node-utils 0.1.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 (203) hide show
  1. package/README.md +3 -0
  2. package/build/src/contexts/SessionContext.d.ts +15 -0
  3. package/build/src/contexts/SessionContext.js +70 -0
  4. package/build/src/contexts/SessionContext.js.map +1 -0
  5. package/build/src/contexts/asyncLocalStorage.d.ts +27 -0
  6. package/build/src/contexts/asyncLocalStorage.js +115 -0
  7. package/build/src/contexts/asyncLocalStorage.js.map +1 -0
  8. package/build/src/contexts/config.d.ts +49 -0
  9. package/build/src/contexts/config.js +25 -0
  10. package/build/src/contexts/config.js.map +1 -0
  11. package/build/src/contexts/data/BaseMongoDataProvider.d.ts +21 -0
  12. package/build/src/contexts/data/BaseMongoDataProvider.js +157 -0
  13. package/build/src/contexts/data/BaseMongoDataProvider.js.map +1 -0
  14. package/build/src/contexts/data/MongoDataProviderUtils.d.ts +6 -0
  15. package/build/src/contexts/data/MongoDataProviderUtils.js +35 -0
  16. package/build/src/contexts/data/MongoDataProviderUtils.js.map +1 -0
  17. package/build/src/contexts/data/dataQueryToMongoQuery.d.ts +3 -0
  18. package/build/src/contexts/data/dataQueryToMongoQuery.js +85 -0
  19. package/build/src/contexts/data/dataQueryToMongoQuery.js.map +1 -0
  20. package/build/src/contexts/data/types.d.ts +114 -0
  21. package/build/src/contexts/data/types.js +15 -0
  22. package/build/src/contexts/data/types.js.map +1 -0
  23. package/build/src/contexts/data/utils.d.ts +2 -0
  24. package/build/src/contexts/data/utils.js +24 -0
  25. package/build/src/contexts/data/utils.js.map +1 -0
  26. package/build/src/contexts/email/SESEmailProviderContext.d.ts +9 -0
  27. package/build/src/contexts/email/SESEmailProviderContext.js +49 -0
  28. package/build/src/contexts/email/SESEmailProviderContext.js.map +1 -0
  29. package/build/src/contexts/email/types.d.ts +13 -0
  30. package/build/src/contexts/email/types.js +3 -0
  31. package/build/src/contexts/email/types.js.map +1 -0
  32. package/build/src/contexts/encryption/AWSSecretsManagerProvider.d.ts +12 -0
  33. package/build/src/contexts/encryption/AWSSecretsManagerProvider.js +51 -0
  34. package/build/src/contexts/encryption/AWSSecretsManagerProvider.js.map +1 -0
  35. package/build/src/contexts/encryption/MemorySecretsManagerProvider.d.ts +12 -0
  36. package/build/src/contexts/encryption/MemorySecretsManagerProvider.js +35 -0
  37. package/build/src/contexts/encryption/MemorySecretsManagerProvider.js.map +1 -0
  38. package/build/src/contexts/encryption/types.d.ts +29 -0
  39. package/build/src/contexts/encryption/types.js +3 -0
  40. package/build/src/contexts/encryption/types.js.map +1 -0
  41. package/build/src/contexts/globalUtils.d.ts +2 -0
  42. package/build/src/contexts/globalUtils.js +17 -0
  43. package/build/src/contexts/globalUtils.js.map +1 -0
  44. package/build/src/contexts/injection/injectables.d.ts +56 -0
  45. package/build/src/contexts/injection/injectables.js +26 -0
  46. package/build/src/contexts/injection/injectables.js.map +1 -0
  47. package/build/src/contexts/injection/keys.d.ts +22 -0
  48. package/build/src/contexts/injection/keys.js +33 -0
  49. package/build/src/contexts/injection/keys.js.map +1 -0
  50. package/build/src/contexts/injection/register.d.ts +33 -0
  51. package/build/src/contexts/injection/register.js +107 -0
  52. package/build/src/contexts/injection/register.js.map +1 -0
  53. package/build/src/contexts/logger/noop.d.ts +5 -0
  54. package/build/src/contexts/logger/noop.js +12 -0
  55. package/build/src/contexts/logger/noop.js.map +1 -0
  56. package/build/src/contexts/logger/types.d.ts +11 -0
  57. package/build/src/contexts/logger/types.js +8 -0
  58. package/build/src/contexts/logger/types.js.map +1 -0
  59. package/build/src/contexts/logger/utils.d.ts +2 -0
  60. package/build/src/contexts/logger/utils.js +15 -0
  61. package/build/src/contexts/logger/utils.js.map +1 -0
  62. package/build/src/contexts/semantic/DataSemanticDataAccessBaseProvider.d.ts +28 -0
  63. package/build/src/contexts/semantic/DataSemanticDataAccessBaseProvider.js +115 -0
  64. package/build/src/contexts/semantic/DataSemanticDataAccessBaseProvider.js.map +1 -0
  65. package/build/src/contexts/semantic/types.d.ts +48 -0
  66. package/build/src/contexts/semantic/types.js +3 -0
  67. package/build/src/contexts/semantic/types.js.map +1 -0
  68. package/build/src/contexts/semantic/utils.d.ts +16 -0
  69. package/build/src/contexts/semantic/utils.js +68 -0
  70. package/build/src/contexts/semantic/utils.js.map +1 -0
  71. package/build/src/contexts/types.d.ts +6 -0
  72. package/build/src/contexts/types.js +3 -0
  73. package/build/src/contexts/types.js.map +1 -0
  74. package/build/src/definitions/agent.d.ts +10 -0
  75. package/build/src/definitions/agent.js +3 -0
  76. package/build/src/definitions/agent.js.map +1 -0
  77. package/build/src/definitions/resource.d.ts +17 -0
  78. package/build/src/definitions/resource.js +3 -0
  79. package/build/src/definitions/resource.js.map +1 -0
  80. package/build/src/definitions/resourceTypes.d.ts +10 -0
  81. package/build/src/definitions/resourceTypes.js +19 -0
  82. package/build/src/definitions/resourceTypes.js.map +1 -0
  83. package/build/src/definitions/token.d.ts +17 -0
  84. package/build/src/definitions/token.js +10 -0
  85. package/build/src/definitions/token.js.map +1 -0
  86. package/build/src/endpoints/RequestData.d.ts +20 -0
  87. package/build/src/endpoints/RequestData.js +52 -0
  88. package/build/src/endpoints/RequestData.js.map +1 -0
  89. package/build/src/endpoints/constants.d.ts +20 -0
  90. package/build/src/endpoints/constants.js +24 -0
  91. package/build/src/endpoints/constants.js.map +1 -0
  92. package/build/src/endpoints/endpoints.d.ts +7 -0
  93. package/build/src/endpoints/endpoints.js +33 -0
  94. package/build/src/endpoints/endpoints.js.map +1 -0
  95. package/build/src/endpoints/endpoints.mddoc.d.ts +62 -0
  96. package/build/src/endpoints/endpoints.mddoc.js +437 -0
  97. package/build/src/endpoints/endpoints.mddoc.js.map +1 -0
  98. package/build/src/endpoints/extractors.d.ts +9 -0
  99. package/build/src/endpoints/extractors.js +24 -0
  100. package/build/src/endpoints/extractors.js.map +1 -0
  101. package/build/src/endpoints/jobs/types.d.ts +6 -0
  102. package/build/src/endpoints/jobs/types.js +3 -0
  103. package/build/src/endpoints/jobs/types.js.map +1 -0
  104. package/build/src/endpoints/pagination.d.ts +3 -0
  105. package/build/src/endpoints/pagination.js +27 -0
  106. package/build/src/endpoints/pagination.js.map +1 -0
  107. package/build/src/endpoints/types.d.ts +68 -0
  108. package/build/src/endpoints/types.js +13 -0
  109. package/build/src/endpoints/types.js.map +1 -0
  110. package/build/src/endpoints/utils.d.ts +23 -0
  111. package/build/src/endpoints/utils.js +131 -0
  112. package/build/src/endpoints/utils.js.map +1 -0
  113. package/build/src/endpoints/validation.d.ts +47 -0
  114. package/build/src/endpoints/validation.js +73 -0
  115. package/build/src/endpoints/validation.js.map +1 -0
  116. package/build/src/errors/OperationError.d.ts +20 -0
  117. package/build/src/errors/OperationError.js +38 -0
  118. package/build/src/errors/OperationError.js.map +1 -0
  119. package/build/src/errors/commonErrors.d.ts +24 -0
  120. package/build/src/errors/commonErrors.js +72 -0
  121. package/build/src/errors/commonErrors.js.map +1 -0
  122. package/build/src/errors/endpointErrors.d.ts +31 -0
  123. package/build/src/errors/endpointErrors.js +83 -0
  124. package/build/src/errors/endpointErrors.js.map +1 -0
  125. package/build/src/errors/messages.d.ts +11 -0
  126. package/build/src/errors/messages.js +27 -0
  127. package/build/src/errors/messages.js.map +1 -0
  128. package/build/src/errors/reusableErrors.d.ts +12 -0
  129. package/build/src/errors/reusableErrors.js +25 -0
  130. package/build/src/errors/reusableErrors.js.map +1 -0
  131. package/build/src/errors/sessionErrors.d.ts +18 -0
  132. package/build/src/errors/sessionErrors.js +60 -0
  133. package/build/src/errors/sessionErrors.js.map +1 -0
  134. package/build/src/index.d.ts +0 -0
  135. package/build/src/index.js +2 -0
  136. package/build/src/index.js.map +1 -0
  137. package/build/src/mddoc/jsSdkCodeGen.d.ts +7 -0
  138. package/build/src/mddoc/jsSdkCodeGen.js +546 -0
  139. package/build/src/mddoc/jsSdkCodeGen.js.map +1 -0
  140. package/build/src/mddoc/mddoc.d.ts +206 -0
  141. package/build/src/mddoc/mddoc.js +142 -0
  142. package/build/src/mddoc/mddoc.js.map +1 -0
  143. package/build/src/mddoc/restApiEndpointsInfoGen.d.ts +10 -0
  144. package/build/src/mddoc/restApiEndpointsInfoGen.js +92 -0
  145. package/build/src/mddoc/restApiEndpointsInfoGen.js.map +1 -0
  146. package/build/src/mddoc/restApiTableOfContentGen.d.ts +2 -0
  147. package/build/src/mddoc/restApiTableOfContentGen.js +51 -0
  148. package/build/src/mddoc/restApiTableOfContentGen.js.map +1 -0
  149. package/build/src/mongodb/connection.d.ts +26 -0
  150. package/build/src/mongodb/connection.js +50 -0
  151. package/build/src/mongodb/connection.js.map +1 -0
  152. package/build/src/mongodb/constants.d.ts +4 -0
  153. package/build/src/mongodb/constants.js +7 -0
  154. package/build/src/mongodb/constants.js.map +1 -0
  155. package/build/src/mongodb/utils.d.ts +20 -0
  156. package/build/src/mongodb/utils.js +26 -0
  157. package/build/src/mongodb/utils.js.map +1 -0
  158. package/build/src/testUtils/context/email/MockTestEmailProviderContext.d.ts +6 -0
  159. package/build/src/testUtils/context/email/MockTestEmailProviderContext.js +10 -0
  160. package/build/src/testUtils/context/email/MockTestEmailProviderContext.js.map +1 -0
  161. package/build/src/testUtils/context/email/NoopEmailProviderContext.d.ts +6 -0
  162. package/build/src/testUtils/context/email/NoopEmailProviderContext.js +11 -0
  163. package/build/src/testUtils/context/email/NoopEmailProviderContext.js.map +1 -0
  164. package/build/src/testUtils/context/email/TestSESEmailProviderContext.d.ts +8 -0
  165. package/build/src/testUtils/context/email/TestSESEmailProviderContext.js +14 -0
  166. package/build/src/testUtils/context/email/TestSESEmailProviderContext.js.map +1 -0
  167. package/build/src/testUtils/context/types.d.ts +9 -0
  168. package/build/src/testUtils/context/types.js +3 -0
  169. package/build/src/testUtils/context/types.js.map +1 -0
  170. package/build/src/testUtils/generate/utils.d.ts +37 -0
  171. package/build/src/testUtils/generate/utils.js +79 -0
  172. package/build/src/testUtils/generate/utils.js.map +1 -0
  173. package/build/src/testUtils/helpers/assertion.d.ts +25 -0
  174. package/build/src/testUtils/helpers/assertion.js +63 -0
  175. package/build/src/testUtils/helpers/assertion.js.map +1 -0
  176. package/build/src/testUtils/helpers/binary.d.ts +4 -0
  177. package/build/src/testUtils/helpers/binary.js +19 -0
  178. package/build/src/testUtils/helpers/binary.js.map +1 -0
  179. package/build/src/testUtils/helpers/error.d.ts +3 -0
  180. package/build/src/testUtils/helpers/error.js +43 -0
  181. package/build/src/testUtils/helpers/error.js.map +1 -0
  182. package/build/src/testUtils/helpers/mock.d.ts +2 -0
  183. package/build/src/testUtils/helpers/mock.js +15 -0
  184. package/build/src/testUtils/helpers/mock.js.map +1 -0
  185. package/build/src/testUtils/helpers/mongodb.d.ts +3 -0
  186. package/build/src/testUtils/helpers/mongodb.js +17 -0
  187. package/build/src/testUtils/helpers/mongodb.js.map +1 -0
  188. package/build/src/testUtils/helpers/testFns.d.ts +30 -0
  189. package/build/src/testUtils/helpers/testFns.js +96 -0
  190. package/build/src/testUtils/helpers/testFns.js.map +1 -0
  191. package/build/src/testUtils/testUtils.d.ts +13 -0
  192. package/build/src/testUtils/testUtils.js +50 -0
  193. package/build/src/testUtils/testUtils.js.map +1 -0
  194. package/build/src/utils/assertion.d.ts +2 -0
  195. package/build/src/utils/assertion.js +31 -0
  196. package/build/src/utils/assertion.js.map +1 -0
  197. package/build/src/utils/aws.d.ts +5 -0
  198. package/build/src/utils/aws.js +3 -0
  199. package/build/src/utils/aws.js.map +1 -0
  200. package/build/src/utils/streamToBuffer.d.ts +4 -0
  201. package/build/src/utils/streamToBuffer.js +19 -0
  202. package/build/src/utils/streamToBuffer.js.map +1 -0
  203. package/package.json +72 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/definitions/agent.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import { Agent, ConvertAgentToPublicAgent } from './agent';
2
+ export interface Resource {
3
+ resourceId: string;
4
+ createdAt: number;
5
+ lastUpdatedAt: number;
6
+ lastUpdatedBy?: Agent;
7
+ createdBy?: Agent;
8
+ deletedBy?: Agent;
9
+ isDeleted: boolean;
10
+ deletedAt?: number;
11
+ }
12
+ export interface ResourceWrapper<T extends Resource = Resource> {
13
+ resourceId: string;
14
+ resourceType: string;
15
+ resource: T;
16
+ }
17
+ export type PublicResource = ConvertAgentToPublicAgent<Resource>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/definitions/resource.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { ValueOf } from 'type-fest';
2
+ export declare const kFimidaraResourceType: {
3
+ readonly All: "*";
4
+ readonly System: "system";
5
+ readonly Public: "public";
6
+ readonly EndpointRequest: "endpointRequest";
7
+ readonly Job: "job";
8
+ };
9
+ export type FimidaraResourceType = ValueOf<typeof kFimidaraResourceType>;
10
+ export declare const kResourceTypeShortNames: Record<FimidaraResourceType, string>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.kResourceTypeShortNames = exports.kFimidaraResourceType = void 0;
4
+ const softkave_js_utils_1 = require("softkave-js-utils");
5
+ exports.kFimidaraResourceType = {
6
+ All: '*',
7
+ System: 'system',
8
+ Public: 'public',
9
+ EndpointRequest: 'endpointRequest',
10
+ Job: 'job',
11
+ };
12
+ exports.kResourceTypeShortNames = {
13
+ [exports.kFimidaraResourceType.All]: (0, softkave_js_utils_1.padIdShortName)('*'),
14
+ [exports.kFimidaraResourceType.System]: (0, softkave_js_utils_1.padIdShortName)('system'),
15
+ [exports.kFimidaraResourceType.Public]: (0, softkave_js_utils_1.padIdShortName)('public'),
16
+ [exports.kFimidaraResourceType.EndpointRequest]: (0, softkave_js_utils_1.padIdShortName)('endrqst'),
17
+ [exports.kFimidaraResourceType.Job]: (0, softkave_js_utils_1.padIdShortName)('job'),
18
+ };
19
+ //# sourceMappingURL=resourceTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourceTypes.js","sourceRoot":"","sources":["../../../src/definitions/resourceTypes.ts"],"names":[],"mappings":";;;AAAA,yDAAiD;AAGpC,QAAA,qBAAqB,GAAG;IACnC,GAAG,EAAE,GAAG;IACR,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,iBAAiB;IAClC,GAAG,EAAE,KAAK;CACF,CAAC;AAIE,QAAA,uBAAuB,GAAyC;IAC3E,CAAC,6BAAqB,CAAC,GAAG,CAAC,EAAE,IAAA,kCAAc,EAAC,GAAG,CAAC;IAChD,CAAC,6BAAqB,CAAC,MAAM,CAAC,EAAE,IAAA,kCAAc,EAAC,QAAQ,CAAC;IACxD,CAAC,6BAAqB,CAAC,MAAM,CAAC,EAAE,IAAA,kCAAc,EAAC,QAAQ,CAAC;IACxD,CAAC,6BAAqB,CAAC,eAAe,CAAC,EAAE,IAAA,kCAAc,EAAC,SAAS,CAAC;IAClE,CAAC,6BAAqB,CAAC,GAAG,CAAC,EAAE,IAAA,kCAAc,EAAC,KAAK,CAAC;CACnD,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { ValueOf } from 'type-fest';
2
+ export declare const kCurrentJWTTokenVersion = 1;
3
+ export declare const kTokenAccessScope: {
4
+ readonly Login: "login";
5
+ readonly ChangePassword: "changePassword";
6
+ readonly ConfirmEmailAddress: "confirmEmail";
7
+ };
8
+ export type TokenAccessScope = ValueOf<typeof kTokenAccessScope>;
9
+ export interface TokenSubjectDefault {
10
+ id: string;
11
+ }
12
+ export interface BaseTokenData<Sub extends TokenSubjectDefault = TokenSubjectDefault> {
13
+ version: number;
14
+ sub: Sub;
15
+ iat: number;
16
+ exp?: number;
17
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.kTokenAccessScope = exports.kCurrentJWTTokenVersion = void 0;
4
+ exports.kCurrentJWTTokenVersion = 1;
5
+ exports.kTokenAccessScope = {
6
+ Login: 'login',
7
+ ChangePassword: 'changePassword',
8
+ ConfirmEmailAddress: 'confirmEmail',
9
+ };
10
+ //# sourceMappingURL=token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/definitions/token.ts"],"names":[],"mappings":";;;AAEa,QAAA,uBAAuB,GAAG,CAAC,CAAC;AAE5B,QAAA,iBAAiB,GAAG;IAC/B,KAAK,EAAE,OAAO;IACd,cAAc,EAAE,gBAAgB;IAChC,mBAAmB,EAAE,cAAc;CAC3B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { ServerRequest } from '../contexts/types';
2
+ import { BaseTokenData } from '../definitions/token';
3
+ export interface IRequestContructorParams<T = any> {
4
+ req?: ServerRequest | null;
5
+ data?: T;
6
+ incomingTokenData?: BaseTokenData | null;
7
+ }
8
+ export default class RequestData<T = any> {
9
+ static fromExpressRequest(req: ServerRequest): RequestData<{}>;
10
+ static fromExpressRequest<DataType = any>(req: ServerRequest, data: DataType): RequestData<DataType>;
11
+ static clone<T = undefined>(from: RequestData, data: T): RequestData<T>;
12
+ static merge<T>(from: RequestData, to: RequestData<T>): RequestData<T>;
13
+ requestId: string;
14
+ req?: ServerRequest | null;
15
+ data?: T;
16
+ incomingTokenData?: BaseTokenData | null;
17
+ constructor(arg?: IRequestContructorParams<T>);
18
+ getIp(): (string | undefined)[];
19
+ getUserAgent(): string | null | undefined;
20
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const softkave_js_utils_1 = require("softkave-js-utils");
4
+ const resourceTypes_1 = require("../definitions/resourceTypes");
5
+ class RequestData {
6
+ static fromExpressRequest(...args) {
7
+ const [req, data] = args;
8
+ const requestData = new RequestData({
9
+ req,
10
+ data,
11
+ incomingTokenData: req.auth,
12
+ });
13
+ return requestData;
14
+ }
15
+ static clone(from, data) {
16
+ return new RequestData({
17
+ data,
18
+ req: from.req,
19
+ incomingTokenData: from.incomingTokenData,
20
+ });
21
+ }
22
+ static merge(from, to) {
23
+ return new RequestData({
24
+ req: from.req,
25
+ data: to.data,
26
+ incomingTokenData: from.incomingTokenData,
27
+ });
28
+ }
29
+ constructor(arg) {
30
+ this.requestId = (0, softkave_js_utils_1.getNewIdWithShortName)(resourceTypes_1.kResourceTypeShortNames.endpointRequest);
31
+ if (!arg) {
32
+ return;
33
+ }
34
+ this.req = arg.req;
35
+ this.data = arg.data;
36
+ this.incomingTokenData = arg.incomingTokenData;
37
+ }
38
+ getIp() {
39
+ if (this.req)
40
+ return Array.isArray(this.req.ips) && this.req.ips.length > 0
41
+ ? this.req.ips
42
+ : [this.req.ip];
43
+ return [];
44
+ }
45
+ getUserAgent() {
46
+ if (this.req)
47
+ return this.req.headers['user-agent'];
48
+ return null;
49
+ }
50
+ }
51
+ exports.default = RequestData;
52
+ //# sourceMappingURL=RequestData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestData.js","sourceRoot":"","sources":["../../../src/endpoints/RequestData.ts"],"names":[],"mappings":";;AAAA,yDAAwD;AAExD,gEAAqE;AASrE,MAAqB,WAAW;IAM9B,MAAM,CAAC,kBAAkB,CACvB,GAAG,IAAiD;QAEpD,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;YAClC,GAAG;YACH,IAAI;YACJ,iBAAiB,EAAE,GAAG,CAAC,IAAI;SAC5B,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,KAAK,CAAgB,IAAiB,EAAE,IAAO;QACpD,OAAO,IAAI,WAAW,CAAC;YACrB,IAAI;YACJ,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAI,IAAiB,EAAE,EAAkB;QACnD,OAAO,IAAI,WAAW,CAAI;YACxB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC,CAAC;IACL,CAAC;IAOD,YAAY,GAAiC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAA,yCAAqB,EACpC,uCAAuB,CAAC,eAAe,CACxC,CAAC;QAEF,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;SACR;QAED,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;IACjD,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,GAAG;YACV,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;gBAC3D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;gBACd,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAlED,8BAkEC"}
@@ -0,0 +1,20 @@
1
+ export declare const kEndpointConstants: {
2
+ maxNameLength: number;
3
+ maxDescriptionLength: number;
4
+ httpStatusCode: {
5
+ readonly ok: 200;
6
+ readonly badRequest: 400;
7
+ readonly unauthorized: 401;
8
+ readonly forbidden: 403;
9
+ readonly notFound: 404;
10
+ readonly conflict: 409;
11
+ readonly tooManyRequests: 429;
12
+ readonly serverError: 500;
13
+ };
14
+ minPage: number;
15
+ minPageSize: number;
16
+ maxPageSize: number;
17
+ providedResourceIdMaxLength: number;
18
+ inputListMax: number;
19
+ apiv1: string;
20
+ };
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.kEndpointConstants = void 0;
4
+ exports.kEndpointConstants = {
5
+ maxNameLength: 150,
6
+ maxDescriptionLength: 700,
7
+ httpStatusCode: {
8
+ ok: 200,
9
+ badRequest: 400,
10
+ unauthorized: 401,
11
+ forbidden: 403,
12
+ notFound: 404,
13
+ conflict: 409,
14
+ tooManyRequests: 429,
15
+ serverError: 500,
16
+ },
17
+ minPage: 0,
18
+ minPageSize: 1,
19
+ maxPageSize: 1000,
20
+ providedResourceIdMaxLength: 50,
21
+ inputListMax: 1000,
22
+ apiv1: '/v1',
23
+ };
24
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/endpoints/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;IAChC,aAAa,EAAE,GAAG;IAClB,oBAAoB,EAAE,GAAG;IACzB,cAAc,EAAE;QACd,EAAE,EAAE,GAAG;QACP,UAAU,EAAE,GAAG;QACf,YAAY,EAAE,GAAG;QACjB,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,GAAG;QACb,eAAe,EAAE,GAAG;QACpB,WAAW,EAAE,GAAG;KACR;IACV,OAAO,EAAE,CAAC;IACV,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,IAAI;IACjB,2BAA2B,EAAE,EAAE;IAC/B,YAAY,EAAE,IAAI;IAClB,KAAK,EAAE,KAAK;CACb,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Express } from 'express';
2
+ import { ExportedHttpEndpointWithMddocDefinition } from './types';
3
+ export type AppExportedHttpEndpoints = Array<ExportedHttpEndpointWithMddocDefinition<any>>;
4
+ type RecordExportedHttpEndpoints = Record<string, ExportedHttpEndpointWithMddocDefinition<any> | Array<ExportedHttpEndpointWithMddocDefinition<any>> | /** RecordExportedHttpEndpoints */ Record<string, any>>;
5
+ export declare function compileEndpoints(endpointsMap: RecordExportedHttpEndpoints): AppExportedHttpEndpoints;
6
+ export declare function setupAppHttpEndpoints(app: Express, endpoints: AppExportedHttpEndpoints): void;
7
+ export {};
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupAppHttpEndpoints = exports.compileEndpoints = void 0;
4
+ const lodash_1 = require("lodash");
5
+ const utils_1 = require("./utils");
6
+ function isExportedHttpEndpoint(item) {
7
+ return (item &&
8
+ item.fn &&
9
+ item.mddocHttpDefinition);
10
+ }
11
+ function compileEndpoints(endpointsMap) {
12
+ let endpoints = [];
13
+ (0, lodash_1.forEach)(endpointsMap, e1 => {
14
+ if (isExportedHttpEndpoint(e1)) {
15
+ endpoints.push(e1);
16
+ }
17
+ else if ((0, lodash_1.isArray)(e1)) {
18
+ endpoints = endpoints.concat(e1);
19
+ }
20
+ else if ((0, lodash_1.isObject)(e1)) {
21
+ endpoints = endpoints.concat(compileEndpoints(e1));
22
+ }
23
+ });
24
+ return endpoints;
25
+ }
26
+ exports.compileEndpoints = compileEndpoints;
27
+ function setupAppHttpEndpoints(app, endpoints) {
28
+ (0, lodash_1.forEach)(endpoints, e1 => {
29
+ (0, utils_1.registerExpressRouteFromEndpoint)(e1, app);
30
+ });
31
+ }
32
+ exports.setupAppHttpEndpoints = setupAppHttpEndpoints;
33
+ //# sourceMappingURL=endpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../../src/endpoints/endpoints.ts"],"names":[],"mappings":";;;AACA,mCAAkD;AAElD,mCAAyD;AAazD,SAAS,sBAAsB,CAC7B,IAAS;IAET,OAAO,CACL,IAAI;QACH,IAAqD,CAAC,EAAE;QACxD,IAAqD,CAAC,mBAAmB,CAC3E,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAC9B,YAAyC;IAEzC,IAAI,SAAS,GAA6B,EAAE,CAAC;IAC7C,IAAA,gBAAO,EAAC,YAAY,EAAE,EAAE,CAAC,EAAE;QACzB,IAAI,sBAAsB,CAAC,EAAE,CAAC,EAAE;YAC9B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACpB;aAAM,IAAI,IAAA,gBAAO,EAAC,EAAE,CAAC,EAAE;YACtB,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SAClC;aAAM,IAAI,IAAA,iBAAQ,EAAC,EAAE,CAAC,EAAE;YACvB,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;SACpD;IACH,CAAC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAdD,4CAcC;AAED,SAAgB,qBAAqB,CACnC,GAAY,EACZ,SAAmC;IAEnC,IAAA,gBAAO,EAAC,SAAS,EAAE,EAAE,CAAC,EAAE;QACtB,IAAA,wCAAgC,EAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAPD,sDAOC"}
@@ -0,0 +1,62 @@
1
+ import { AnyObject } from 'softkave-js-utils';
2
+ import { PublicAgent } from '../definitions/agent';
3
+ import { PublicResource } from '../definitions/resource';
4
+ import { FieldObjectFieldsMap } from '../mddoc/mddoc';
5
+ import { LongRunningJobResult, MultipleLongRunningJobResult } from './jobs/types';
6
+ import { BaseEndpointResult, CountItemsEndpointResult, EndpointResultNote, HttpEndpointRequestHeaders_AuthOptional, HttpEndpointRequestHeaders_AuthOptional_ContentType, HttpEndpointRequestHeaders_ContentType, HttpEndpointResponseHeaders_ContentType_ContentLength } from './types';
7
+ export declare const mddocEndpointStatusCodes: {
8
+ readonly success: "200";
9
+ readonly error: "4XX or 5XX";
10
+ };
11
+ export declare const mddocEndpointHttpHeaderItems: {
12
+ requestHeaderItem_Authorization: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldStringType, never, (...args: any) => any>;
13
+ requestHeaderItem_ContentType: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldStringType, never, (...args: any) => any>;
14
+ responseHeaderItem_JsonContentType: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldStringType, never, (...args: any) => any>;
15
+ requestHeaderItem_JsonContentType: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldStringType, never, (...args: any) => any>;
16
+ requestHeaderItem_MultipartFormdataContentType: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldStringType, never, (...args: any) => any>;
17
+ requestHeaders_AuthRequired_JsonContentType: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldObjectType<Required<HttpEndpointRequestHeaders_AuthOptional_ContentType>>, never, (...args: any) => any>;
18
+ requestHeaders_AuthRequired: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldObjectType<Required<HttpEndpointRequestHeaders_AuthOptional>>, never, (...args: any) => any>;
19
+ requestHeaders_JsonContentType: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldObjectType<HttpEndpointRequestHeaders_ContentType>, never, (...args: any) => any>;
20
+ requestHeaders_AuthOptional: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldObjectType<HttpEndpointRequestHeaders_AuthOptional>, never, (...args: any) => any>;
21
+ requestHeaders_MultipartContentType: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldObjectType<HttpEndpointRequestHeaders_ContentType>, never, (...args: any) => any>;
22
+ requestHeaders_AuthOptional_MultipartContentType: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldObjectType<HttpEndpointRequestHeaders_AuthOptional_ContentType>, never, (...args: any) => any>;
23
+ requestHeaders_AuthRequired_MultipartContentType: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldObjectType<Required<HttpEndpointRequestHeaders_AuthOptional_ContentType>>, never, (...args: any) => any>;
24
+ requestHeaders_AuthOptional_JsonContentType: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldObjectType<HttpEndpointRequestHeaders_AuthOptional_ContentType>, never, (...args: any) => any>;
25
+ responseHeaderItem_ContentLength: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldStringType, never, (...args: any) => any>;
26
+ responseHeaders_JsonContentType: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldObjectType<HttpEndpointResponseHeaders_ContentType_ContentLength>, never, (...args: any) => any>;
27
+ };
28
+ export declare const fReusables: {
29
+ makeAgent: (agentTypeList: string[]) => import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldObjectType<PublicAgent>, never, (...args: any) => any>;
30
+ date: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldNumberType, never, (...args: any) => any>;
31
+ id: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldStringType, never, (...args: any) => any>;
32
+ idList: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldArrayType<string>, never, (...args: any) => any>;
33
+ name: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldStringType, never, (...args: any) => any>;
34
+ description: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldStringType, never, (...args: any) => any>;
35
+ expires: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldNumberType, never, (...args: any) => any>;
36
+ duration: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldNumberType, never, (...args: any) => any>;
37
+ tokenString: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldStringType, never, (...args: any) => any>;
38
+ providedResourceId: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldStringType, never, (...args: any) => any>;
39
+ idOrList: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldOrCombinationType<(import("../mddoc/mddoc").FieldStringType | import("../mddoc/mddoc").FieldArrayType<string>)[]>, never, (...args: any) => any>;
40
+ firstName: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldStringType, never, (...args: any) => any>;
41
+ lastName: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldStringType, never, (...args: any) => any>;
42
+ emailAddress: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldStringType, never, (...args: any) => any>;
43
+ page: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldNumberType, never, (...args: any) => any>;
44
+ pageSize: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldNumberType, never, (...args: any) => any>;
45
+ jobId: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldStringType, never, (...args: any) => any>;
46
+ password: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldStringType, never, (...args: any) => any>;
47
+ providedResourceIdOrNull: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldOrCombinationType<(import("../mddoc/mddoc").FieldStringType | import("../mddoc/mddoc").FieldNullType)[]>, never, (...args: any) => any>;
48
+ dateOrNull: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldOrCombinationType<(import("../mddoc/mddoc").FieldNumberType | import("../mddoc/mddoc").FieldNullType)[]>, never, (...args: any) => any>;
49
+ nullValue: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldNullType>;
50
+ resultNote: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldObjectType<EndpointResultNote>, never, (...args: any) => any>;
51
+ resultNoteCode: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldStringType, never, (...args: any) => any>;
52
+ resultNoteList: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldArrayType<EndpointResultNote>, never, (...args: any) => any>;
53
+ makeResourceParts: (agentTypeList: string[]) => FieldObjectFieldsMap<PublicResource>;
54
+ jobIds: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldArrayType<string>, never, (...args: any) => any>;
55
+ };
56
+ export declare const mddocEndpointHttpResponseItems: {
57
+ errorResponseBody: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldObjectType<BaseEndpointResult>, never, (...args: any) => any>;
58
+ emptySuccessResponseBody: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldObjectType<AnyObject>, never, (...args: any) => any>;
59
+ longRunningJobResponseBody: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldObjectType<LongRunningJobResult>, never, (...args: any) => any>;
60
+ countResponseBody: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldObjectType<CountItemsEndpointResult>, never, (...args: any) => any>;
61
+ multipleLongRunningJobResponseBody: import("js-accessor/build/src/types").WithAccessors<import("../mddoc/mddoc").FieldObjectType<MultipleLongRunningJobResult>, never, (...args: any) => any>;
62
+ };