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,22 @@
1
+ export declare const kInjectionKeys: {
2
+ data: {
3
+ utils: string;
4
+ };
5
+ semantic: {
6
+ utils: string;
7
+ };
8
+ encryption: string;
9
+ suppliedConfig: string;
10
+ runtimeConfig: string;
11
+ secretsManager: string;
12
+ fileProviderResolver: string;
13
+ asyncLocalStorage: string;
14
+ session: string;
15
+ dbConnection: string;
16
+ email: string;
17
+ promises: string;
18
+ locks: string;
19
+ disposables: string;
20
+ usageLogic: string;
21
+ logger: string;
22
+ };
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.kInjectionKeys = void 0;
4
+ function dataKey(name) {
5
+ return `data_${name}`;
6
+ }
7
+ function semanticKey(name) {
8
+ return `semantic_${name}`;
9
+ }
10
+ exports.kInjectionKeys = {
11
+ data: {
12
+ utils: dataKey('utils'),
13
+ },
14
+ semantic: {
15
+ utils: semanticKey('utils'),
16
+ },
17
+ encryption: 'encryption',
18
+ // config: 'config',
19
+ suppliedConfig: 'suppliedConfig',
20
+ runtimeConfig: 'runtimeConfig',
21
+ secretsManager: 'secretsManager',
22
+ fileProviderResolver: 'fileProviderResolver',
23
+ asyncLocalStorage: 'asyncLocalStorage',
24
+ session: 'session',
25
+ dbConnection: 'dbConnection',
26
+ email: 'email',
27
+ promises: 'promises',
28
+ locks: 'locks',
29
+ disposables: 'disposables',
30
+ usageLogic: 'usageLogic',
31
+ logger: 'logger',
32
+ };
33
+ //# sourceMappingURL=keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../../src/contexts/injection/keys.ts"],"names":[],"mappings":";;;AAAA,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,QAAQ,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,YAAY,IAAI,EAAE,CAAC;AAC5B,CAAC;AAEY,QAAA,cAAc,GAAG;IAC5B,IAAI,EAAE;QACJ,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC;KACxB;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC;KAC5B;IACD,UAAU,EAAE,YAAY;IACxB,oBAAoB;IACpB,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,oBAAoB,EAAE,sBAAsB;IAC5C,iBAAiB,EAAE,mBAAmB;IACtC,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;CACjB,CAAC"}
@@ -0,0 +1,33 @@
1
+ import 'reflect-metadata';
2
+ import { DisposablesStore, LockStore, PromiseStore } from 'softkave-js-utils';
3
+ import { DbConnection } from '../../mongodb/connection';
4
+ import { SessionContextType } from '../SessionContext';
5
+ import { AsyncLocalStorageUtils } from '../asyncLocalStorage';
6
+ import { FimidaraSuppliedConfig } from '../config';
7
+ import { DataProviderUtils } from '../data/types';
8
+ import { IEmailProviderContext } from '../email/types';
9
+ import { SecretsManagerProvider } from '../encryption/types';
10
+ import { Logger } from '../logger/types';
11
+ import { SemanticProviderUtils } from '../semantic/types';
12
+ export declare const kRegisterSemanticModels: {
13
+ utils: (item: SemanticProviderUtils) => void;
14
+ };
15
+ export declare const kRegisterDataModels: {
16
+ utils: (item: DataProviderUtils) => void;
17
+ };
18
+ export declare const kRegisterUtilsInjectables: {
19
+ suppliedConfig: (item: FimidaraSuppliedConfig) => void;
20
+ secretsManager: (item: SecretsManagerProvider) => void;
21
+ asyncLocalStorage: (item: AsyncLocalStorageUtils) => void;
22
+ session: (item: SessionContextType) => void;
23
+ mongoConnection: (item: DbConnection) => void;
24
+ email: (item: IEmailProviderContext) => void;
25
+ promises: (item: PromiseStore) => void;
26
+ locks: (item: LockStore) => void;
27
+ disposables: (item: DisposablesStore) => void;
28
+ logger: (item: Logger) => void;
29
+ };
30
+ export declare function registerDataModelInjectables(): void;
31
+ export declare function registerSemanticModelInjectables(): void;
32
+ export declare function registerUtilsInjectables(): void;
33
+ export declare function registerInjectables(): void;
@@ -0,0 +1,107 @@
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.registerInjectables = exports.registerUtilsInjectables = exports.registerSemanticModelInjectables = exports.registerDataModelInjectables = exports.kRegisterUtilsInjectables = exports.kRegisterDataModels = exports.kRegisterSemanticModels = void 0;
7
+ require("reflect-metadata");
8
+ const assert_1 = __importDefault(require("assert"));
9
+ const lodash_1 = require("lodash");
10
+ const softkave_js_utils_1 = require("softkave-js-utils");
11
+ const tsyringe_1 = require("tsyringe");
12
+ const connection_1 = require("../../mongodb/connection");
13
+ const NoopEmailProviderContext_1 = __importDefault(require("../../testUtils/context/email/NoopEmailProviderContext"));
14
+ const SessionContext_1 = __importDefault(require("../SessionContext"));
15
+ const asyncLocalStorage_1 = require("../asyncLocalStorage");
16
+ const config_1 = require("../config");
17
+ const MongoDataProviderUtils_1 = require("../data/MongoDataProviderUtils");
18
+ const SESEmailProviderContext_1 = require("../email/SESEmailProviderContext");
19
+ const AWSSecretsManagerProvider_1 = require("../encryption/AWSSecretsManagerProvider");
20
+ const MemorySecretsManagerProvider_1 = require("../encryption/MemorySecretsManagerProvider");
21
+ const utils_1 = require("../logger/utils");
22
+ const utils_2 = require("../semantic/utils");
23
+ const injectables_1 = require("./injectables");
24
+ const keys_1 = require("./keys");
25
+ function registerToken(token, item, use = 'value') {
26
+ if (use === 'factory') {
27
+ (0, assert_1.default)((0, lodash_1.isFunction)(item));
28
+ tsyringe_1.container.register(token, { useFactory: item });
29
+ }
30
+ else {
31
+ if ((0, lodash_1.isFunction)(item === null || item === void 0 ? void 0 : item.dispose)) {
32
+ injectables_1.kUtilsInjectables.disposables().add(item);
33
+ }
34
+ tsyringe_1.container.register(token, { useValue: item });
35
+ }
36
+ }
37
+ exports.kRegisterSemanticModels = {
38
+ utils: (item) => registerToken(keys_1.kInjectionKeys.semantic.utils, item),
39
+ };
40
+ exports.kRegisterDataModels = {
41
+ utils: (item) => registerToken(keys_1.kInjectionKeys.data.utils, item),
42
+ };
43
+ exports.kRegisterUtilsInjectables = {
44
+ // config: (item: FimidaraConfig) => register(kInjectionKeys.config, item),
45
+ suppliedConfig: (item) => registerToken(keys_1.kInjectionKeys.suppliedConfig, item),
46
+ secretsManager: (item) => registerToken(keys_1.kInjectionKeys.secretsManager, item),
47
+ asyncLocalStorage: (item) => registerToken(keys_1.kInjectionKeys.asyncLocalStorage, item),
48
+ session: (item) => registerToken(keys_1.kInjectionKeys.session, item),
49
+ mongoConnection: (item) => registerToken(keys_1.kInjectionKeys.dbConnection, item),
50
+ email: (item) => registerToken(keys_1.kInjectionKeys.email, item),
51
+ promises: (item) => registerToken(keys_1.kInjectionKeys.promises, item),
52
+ locks: (item) => registerToken(keys_1.kInjectionKeys.locks, item),
53
+ disposables: (item) => registerToken(keys_1.kInjectionKeys.disposables, item),
54
+ logger: (item) => registerToken(keys_1.kInjectionKeys.logger, item),
55
+ };
56
+ function registerDataModelInjectables() {
57
+ const connection = injectables_1.kUtilsInjectables.dbConnection().get();
58
+ (0, assert_1.default)((0, connection_1.isMongoConnection)(connection));
59
+ exports.kRegisterDataModels.utils(new MongoDataProviderUtils_1.MongoDataProviderUtils());
60
+ }
61
+ exports.registerDataModelInjectables = registerDataModelInjectables;
62
+ function registerSemanticModelInjectables() {
63
+ exports.kRegisterSemanticModels.utils(new utils_2.DataSemanticProviderUtils());
64
+ }
65
+ exports.registerSemanticModelInjectables = registerSemanticModelInjectables;
66
+ function registerUtilsInjectables() {
67
+ var _a, _b, _c, _d, _e, _f;
68
+ const suppliedConfig = (0, config_1.getSuppliedConfig)();
69
+ const promiseStore = new softkave_js_utils_1.PromiseStore();
70
+ exports.kRegisterUtilsInjectables.suppliedConfig(suppliedConfig);
71
+ exports.kRegisterUtilsInjectables.promises(promiseStore);
72
+ exports.kRegisterUtilsInjectables.disposables(new softkave_js_utils_1.DisposablesStore(promiseStore));
73
+ exports.kRegisterUtilsInjectables.asyncLocalStorage(asyncLocalStorage_1.kAsyncLocalStorageUtils);
74
+ exports.kRegisterUtilsInjectables.locks(new softkave_js_utils_1.LockStore());
75
+ exports.kRegisterUtilsInjectables.session(new SessionContext_1.default());
76
+ exports.kRegisterUtilsInjectables.logger((0, utils_1.getLogger)(suppliedConfig.loggerType));
77
+ (0, assert_1.default)(suppliedConfig.mongoDbURI);
78
+ (0, assert_1.default)(suppliedConfig.mongoDbDatabaseName);
79
+ exports.kRegisterUtilsInjectables.mongoConnection(new connection_1.MongoDbConnection(suppliedConfig.mongoDbURI, suppliedConfig.mongoDbDatabaseName));
80
+ if (suppliedConfig.emailProvider === config_1.kFimidaraConfigEmailProvider.ses) {
81
+ (0, assert_1.default)((_a = suppliedConfig.awsConfig) === null || _a === void 0 ? void 0 : _a.accessKeyId);
82
+ (0, assert_1.default)((_b = suppliedConfig.awsConfig) === null || _b === void 0 ? void 0 : _b.region);
83
+ (0, assert_1.default)((_c = suppliedConfig.awsConfig) === null || _c === void 0 ? void 0 : _c.secretAccessKey);
84
+ exports.kRegisterUtilsInjectables.email(new SESEmailProviderContext_1.SESEmailProviderContext(suppliedConfig.awsConfig));
85
+ }
86
+ else {
87
+ exports.kRegisterUtilsInjectables.email(new NoopEmailProviderContext_1.default());
88
+ }
89
+ if (suppliedConfig.secretsManagerProvider ===
90
+ config_1.kFimidaraConfigSecretsManagerProvider.awsSecretsManager) {
91
+ (0, assert_1.default)((_d = suppliedConfig.awsConfig) === null || _d === void 0 ? void 0 : _d.accessKeyId);
92
+ (0, assert_1.default)((_e = suppliedConfig.awsConfig) === null || _e === void 0 ? void 0 : _e.region);
93
+ (0, assert_1.default)((_f = suppliedConfig.awsConfig) === null || _f === void 0 ? void 0 : _f.secretAccessKey);
94
+ exports.kRegisterUtilsInjectables.secretsManager(new AWSSecretsManagerProvider_1.AWSSecretsManagerProvider(suppliedConfig.awsConfig));
95
+ }
96
+ else {
97
+ exports.kRegisterUtilsInjectables.secretsManager(new MemorySecretsManagerProvider_1.MemorySecretsManagerProvider());
98
+ }
99
+ }
100
+ exports.registerUtilsInjectables = registerUtilsInjectables;
101
+ function registerInjectables() {
102
+ registerUtilsInjectables();
103
+ registerDataModelInjectables();
104
+ registerSemanticModelInjectables();
105
+ }
106
+ exports.registerInjectables = registerInjectables;
107
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../../src/contexts/injection/register.ts"],"names":[],"mappings":";;;;;;AAAA,4BAA0B;AAE1B,oDAA4B;AAC5B,mCAAkC;AAClC,yDAM2B;AAC3B,uCAAmC;AACnC,yDAIkC;AAClC,sHAA8F;AAC9F,uEAAqE;AACrE,4DAG8B;AAC9B,sCAKmB;AACnB,2EAAsE;AAEtE,8EAAyE;AAEzE,uFAAkF;AAClF,6FAAwF;AAGxF,2CAA0C;AAE1C,6CAA4D;AAC5D,+CAAgD;AAChD,iCAAsC;AAEtC,SAAS,aAAa,CACpB,KAAa,EACb,IAAa,EACb,MAA2B,OAAO;IAElC,IAAI,GAAG,KAAK,SAAS,EAAE;QACrB,IAAA,gBAAM,EAAC,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC,CAAC;QACzB,oBAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAC,UAAU,EAAE,IAAa,EAAC,CAAC,CAAC;KACxD;SAAM;QACL,IAAI,IAAA,mBAAU,EAAE,IAAuC,aAAvC,IAAI,uBAAJ,IAAI,CAAqC,OAAO,CAAC,EAAE;YACjE,+BAAiB,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,IAA0B,CAAC,CAAC;SACjE;QAED,oBAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;KAC7C;AACH,CAAC;AAEY,QAAA,uBAAuB,GAAG;IACrC,KAAK,EAAE,CAAC,IAA2B,EAAE,EAAE,CACrC,aAAa,CAAC,qBAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;CACrD,CAAC;AAEW,QAAA,mBAAmB,GAAG;IACjC,KAAK,EAAE,CAAC,IAAuB,EAAE,EAAE,CACjC,aAAa,CAAC,qBAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;CACjD,CAAC;AAEW,QAAA,yBAAyB,GAAG;IACvC,2EAA2E;IAC3E,cAAc,EAAE,CAAC,IAA4B,EAAE,EAAE,CAC/C,aAAa,CAAC,qBAAc,CAAC,cAAc,EAAE,IAAI,CAAC;IACpD,cAAc,EAAE,CAAC,IAA4B,EAAE,EAAE,CAC/C,aAAa,CAAC,qBAAc,CAAC,cAAc,EAAE,IAAI,CAAC;IACpD,iBAAiB,EAAE,CAAC,IAA4B,EAAE,EAAE,CAClD,aAAa,CAAC,qBAAc,CAAC,iBAAiB,EAAE,IAAI,CAAC;IACvD,OAAO,EAAE,CAAC,IAAwB,EAAE,EAAE,CACpC,aAAa,CAAC,qBAAc,CAAC,OAAO,EAAE,IAAI,CAAC;IAC7C,eAAe,EAAE,CAAC,IAAkB,EAAE,EAAE,CACtC,aAAa,CAAC,qBAAc,CAAC,YAAY,EAAE,IAAI,CAAC;IAClD,KAAK,EAAE,CAAC,IAA2B,EAAE,EAAE,CACrC,aAAa,CAAC,qBAAc,CAAC,KAAK,EAAE,IAAI,CAAC;IAC3C,QAAQ,EAAE,CAAC,IAAkB,EAAE,EAAE,CAC/B,aAAa,CAAC,qBAAc,CAAC,QAAQ,EAAE,IAAI,CAAC;IAC9C,KAAK,EAAE,CAAC,IAAe,EAAE,EAAE,CAAC,aAAa,CAAC,qBAAc,CAAC,KAAK,EAAE,IAAI,CAAC;IACrE,WAAW,EAAE,CAAC,IAAsB,EAAE,EAAE,CACtC,aAAa,CAAC,qBAAc,CAAC,WAAW,EAAE,IAAI,CAAC;IACjD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,aAAa,CAAC,qBAAc,CAAC,MAAM,EAAE,IAAI,CAAC;CACrE,CAAC;AAEF,SAAgB,4BAA4B;IAC1C,MAAM,UAAU,GAAG,+BAAiB,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC;IAC1D,IAAA,gBAAM,EAAC,IAAA,8BAAiB,EAAC,UAAU,CAAC,CAAC,CAAC;IACtC,2BAAmB,CAAC,KAAK,CAAC,IAAI,+CAAsB,EAAE,CAAC,CAAC;AAC1D,CAAC;AAJD,oEAIC;AAED,SAAgB,gCAAgC;IAC9C,+BAAuB,CAAC,KAAK,CAAC,IAAI,iCAAyB,EAAE,CAAC,CAAC;AACjE,CAAC;AAFD,4EAEC;AAED,SAAgB,wBAAwB;;IACtC,MAAM,cAAc,GAAG,IAAA,0BAAiB,GAAE,CAAC;IAE3C,MAAM,YAAY,GAAG,IAAI,gCAAY,EAAE,CAAC;IACxC,iCAAyB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IACzD,iCAAyB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjD,iCAAyB,CAAC,WAAW,CAAC,IAAI,oCAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1E,iCAAyB,CAAC,iBAAiB,CAAC,2CAAuB,CAAC,CAAC;IACrE,iCAAyB,CAAC,KAAK,CAAC,IAAI,6BAAS,EAAE,CAAC,CAAC;IACjD,iCAAyB,CAAC,OAAO,CAAC,IAAI,wBAAc,EAAE,CAAC,CAAC;IACxD,iCAAyB,CAAC,MAAM,CAAC,IAAA,iBAAS,EAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvE,IAAA,gBAAM,EAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAClC,IAAA,gBAAM,EAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAC3C,iCAAyB,CAAC,eAAe,CACvC,IAAI,8BAAiB,CACnB,cAAc,CAAC,UAAU,EACzB,cAAc,CAAC,mBAAmB,CACnC,CACF,CAAC;IAEF,IAAI,cAAc,CAAC,aAAa,KAAK,qCAA4B,CAAC,GAAG,EAAE;QACrE,IAAA,gBAAM,EAAC,MAAA,cAAc,CAAC,SAAS,0CAAE,WAAW,CAAC,CAAC;QAC9C,IAAA,gBAAM,EAAC,MAAA,cAAc,CAAC,SAAS,0CAAE,MAAM,CAAC,CAAC;QACzC,IAAA,gBAAM,EAAC,MAAA,cAAc,CAAC,SAAS,0CAAE,eAAe,CAAC,CAAC;QAClD,iCAAyB,CAAC,KAAK,CAC7B,IAAI,iDAAuB,CAAC,cAAc,CAAC,SAAS,CAAC,CACtD,CAAC;KACH;SAAM;QACL,iCAAyB,CAAC,KAAK,CAAC,IAAI,kCAAwB,EAAE,CAAC,CAAC;KACjE;IAED,IACE,cAAc,CAAC,sBAAsB;QACrC,8CAAqC,CAAC,iBAAiB,EACvD;QACA,IAAA,gBAAM,EAAC,MAAA,cAAc,CAAC,SAAS,0CAAE,WAAW,CAAC,CAAC;QAC9C,IAAA,gBAAM,EAAC,MAAA,cAAc,CAAC,SAAS,0CAAE,MAAM,CAAC,CAAC;QACzC,IAAA,gBAAM,EAAC,MAAA,cAAc,CAAC,SAAS,0CAAE,eAAe,CAAC,CAAC;QAClD,iCAAyB,CAAC,cAAc,CACtC,IAAI,qDAAyB,CAAC,cAAc,CAAC,SAAS,CAAC,CACxD,CAAC;KACH;SAAM;QACL,iCAAyB,CAAC,cAAc,CACtC,IAAI,2DAA4B,EAAE,CACnC,CAAC;KACH;AACH,CAAC;AA/CD,4DA+CC;AAED,SAAgB,mBAAmB;IACjC,wBAAwB,EAAE,CAAC;IAC3B,4BAA4B,EAAE,CAAC;IAC/B,gCAAgC,EAAE,CAAC;AACrC,CAAC;AAJD,kDAIC"}
@@ -0,0 +1,5 @@
1
+ import { Logger } from './types';
2
+ export declare class NoopLogger implements Logger {
3
+ log: (...args: unknown[]) => void;
4
+ error: (...args: unknown[]) => void;
5
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NoopLogger = void 0;
4
+ const lodash_1 = require("lodash");
5
+ class NoopLogger {
6
+ constructor() {
7
+ this.log = lodash_1.noop;
8
+ this.error = lodash_1.noop;
9
+ }
10
+ }
11
+ exports.NoopLogger = NoopLogger;
12
+ //# sourceMappingURL=noop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noop.js","sourceRoot":"","sources":["../../../../src/contexts/logger/noop.ts"],"names":[],"mappings":";;;AAAA,mCAA4B;AAG5B,MAAa,UAAU;IAAvB;QACE,QAAG,GAAiC,aAAI,CAAC;QACzC,UAAK,GAAiC,aAAI,CAAC;IAC7C,CAAC;CAAA;AAHD,gCAGC"}
@@ -0,0 +1,11 @@
1
+ import { DisposableResource } from 'softkave-js-utils';
2
+ import { ValueOf } from 'type-fest';
3
+ export interface Logger extends DisposableResource {
4
+ log: (...args: unknown[]) => void;
5
+ error: (...args: unknown[]) => void;
6
+ }
7
+ export declare const kLoggerTypes: {
8
+ readonly console: "console";
9
+ readonly noop: "noop";
10
+ };
11
+ export type LoggerType = ValueOf<typeof kLoggerTypes>;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.kLoggerTypes = void 0;
4
+ exports.kLoggerTypes = {
5
+ console: 'console',
6
+ noop: 'noop',
7
+ };
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/contexts/logger/types.ts"],"names":[],"mappings":";;;AAQa,QAAA,YAAY,GAAG;IAC1B,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;CACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Logger, LoggerType } from './types';
2
+ export declare function getLogger(type?: LoggerType): Logger;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLogger = void 0;
4
+ const noop_1 = require("./noop");
5
+ const types_1 = require("./types");
6
+ function getLogger(type = types_1.kLoggerTypes.noop) {
7
+ switch (type) {
8
+ case types_1.kLoggerTypes.console:
9
+ return console;
10
+ case types_1.kLoggerTypes.noop:
11
+ return new noop_1.NoopLogger();
12
+ }
13
+ }
14
+ exports.getLogger = getLogger;
15
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/contexts/logger/utils.ts"],"names":[],"mappings":";;;AAAA,iCAAkC;AAClC,mCAAyD;AAEzD,SAAgB,SAAS,CAAC,OAAmB,oBAAY,CAAC,IAAI;IAC5D,QAAQ,IAAI,EAAE;QACZ,KAAK,oBAAY,CAAC,OAAO;YACvB,OAAO,OAAO,CAAC;QACjB,KAAK,oBAAY,CAAC,IAAI;YACpB,OAAO,IAAI,iBAAU,EAAE,CAAC;KAC3B;AACH,CAAC;AAPD,8BAOC"}
@@ -0,0 +1,28 @@
1
+ import { AnyObject } from 'softkave-js-utils';
2
+ import { Agent } from '../../definitions/agent';
3
+ import { Resource } from '../../definitions/resource';
4
+ import { BaseDataProvider, DataQuery } from '../data/types';
5
+ import { SemanticBaseProviderType, SemanticProviderMutationOpOptions, SemanticProviderMutationTxnOptions, SemanticProviderOpOptions, SemanticProviderQueryListRunOptions, SemanticProviderQueryRunOptions } from './types';
6
+ export declare class DataSemanticBaseProvider<T extends Resource> implements SemanticBaseProviderType<T> {
7
+ protected data: BaseDataProvider<T, DataQuery<T>>;
8
+ protected assertFn: (item?: T | null) => asserts item;
9
+ constructor(data: BaseDataProvider<T, DataQuery<T>>, assertFn: (item?: T | null) => asserts item);
10
+ insertItem(item: T | T[], opts: SemanticProviderMutationTxnOptions): Promise<void>;
11
+ getOneById(id: string, opts?: SemanticProviderQueryRunOptions<T> | undefined): Promise<T | null>;
12
+ existsById(id: string, opts?: SemanticProviderOpOptions | undefined): Promise<boolean>;
13
+ updateOneById(id: string, update: Partial<T>, opts: SemanticProviderMutationOpOptions): Promise<void>;
14
+ updateManyByQuery(query: DataQuery<T>, update: Partial<T>, opts: SemanticProviderMutationOpOptions): Promise<void>;
15
+ getAndUpdateOneById(id: string, update: Partial<T>, opts: SemanticProviderMutationOpOptions & SemanticProviderQueryRunOptions<T>): Promise<T | null>;
16
+ deleteManyByIdList(idList: string[], opts: SemanticProviderMutationTxnOptions): Promise<void>;
17
+ softDeleteManyByIdList(idList: string[], agent: Agent, opts: SemanticProviderMutationTxnOptions): Promise<void>;
18
+ deleteOneById(id: string, opts: SemanticProviderMutationTxnOptions): Promise<void>;
19
+ countManyByIdList(idList: string[], opts?: SemanticProviderOpOptions | undefined): Promise<number>;
20
+ getManyByIdList(idList: string[], opts?: SemanticProviderQueryListRunOptions<T> | undefined): Promise<T[]>;
21
+ countByQuery(query: DataQuery<T>, opts?: SemanticProviderOpOptions | undefined): Promise<number>;
22
+ getManyByQuery(query: DataQuery<T>, opts?: SemanticProviderQueryListRunOptions<T> | undefined): Promise<T[]>;
23
+ assertGetOneByQuery(query: DataQuery<T>, opts?: SemanticProviderQueryRunOptions<T> | undefined): Promise<T>;
24
+ existsByQuery(query: DataQuery<T>, opts?: SemanticProviderOpOptions | undefined): Promise<boolean>;
25
+ getOneByQuery(query: DataQuery<T>, opts?: SemanticProviderQueryRunOptions<T> | undefined): Promise<T | null>;
26
+ deleteManyByQuery(query: DataQuery<T>, opts: SemanticProviderMutationTxnOptions): Promise<void>;
27
+ protected softDeleteManyByQuery(query: DataQuery<AnyObject>, agent: Agent, opts: SemanticProviderMutationTxnOptions): Promise<void>;
28
+ }
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataSemanticBaseProvider = void 0;
4
+ const lodash_1 = require("lodash");
5
+ const softkave_js_utils_1 = require("softkave-js-utils");
6
+ function mergeIsDeletedIntoQuery(q01, includeDeleted, isDeleted) {
7
+ var _a;
8
+ return (0, lodash_1.merge)({}, q01, {
9
+ isDeleted: (_a = q01.isDeleted) !== null && _a !== void 0 ? _a : ((0, lodash_1.isUndefined)(includeDeleted) ? isDeleted !== null && isDeleted !== void 0 ? isDeleted : false : isDeleted),
10
+ });
11
+ }
12
+ function mergeIsDeletedIntoQueryList(qList, includeDeleted, isDeleted) {
13
+ return qList === null || qList === void 0 ? void 0 : qList.map(q02 => {
14
+ return mergeIsDeletedIntoQuery(q02, includeDeleted, isDeleted);
15
+ });
16
+ }
17
+ function addIsDeletedIntoQuery(q01, includeDeleted, isDeleted) {
18
+ const hasLogicalOps = !!(q01.$and || q01.$nor || q01.$or);
19
+ let q00 = { ...q01 };
20
+ if (hasLogicalOps) {
21
+ q00.$and = mergeIsDeletedIntoQueryList(q01.$and);
22
+ q00.$nor = mergeIsDeletedIntoQueryList(q01.$nor);
23
+ q00.$or = mergeIsDeletedIntoQueryList(q01.$or);
24
+ }
25
+ else {
26
+ q00 = mergeIsDeletedIntoQuery(q00, includeDeleted, isDeleted);
27
+ }
28
+ return q00;
29
+ }
30
+ class DataSemanticBaseProvider {
31
+ constructor(data, assertFn) {
32
+ this.data = data;
33
+ this.assertFn = assertFn;
34
+ }
35
+ async insertItem(item, opts) {
36
+ await this.data.insertList((0, softkave_js_utils_1.convertToArray)(item), opts);
37
+ }
38
+ async getOneById(id, opts) {
39
+ const query = mergeIsDeletedIntoQuery({ resourceId: id }, opts === null || opts === void 0 ? void 0 : opts.includeDeleted, opts === null || opts === void 0 ? void 0 : opts.isDeleted);
40
+ return (await this.data.getOneByQuery(query, opts));
41
+ }
42
+ async existsById(id, opts) {
43
+ const query = mergeIsDeletedIntoQuery({ resourceId: id }, opts === null || opts === void 0 ? void 0 : opts.includeDeleted, opts === null || opts === void 0 ? void 0 : opts.isDeleted);
44
+ return await this.data.existsByQuery(query, opts);
45
+ }
46
+ async updateOneById(id, update, opts) {
47
+ const query = mergeIsDeletedIntoQuery({ resourceId: id }, opts === null || opts === void 0 ? void 0 : opts.includeDeleted, opts === null || opts === void 0 ? void 0 : opts.isDeleted);
48
+ return await this.data.updateOneByQuery(query, update, opts);
49
+ }
50
+ async updateManyByQuery(query, update, opts) {
51
+ query = addIsDeletedIntoQuery(query, opts === null || opts === void 0 ? void 0 : opts.includeDeleted, opts === null || opts === void 0 ? void 0 : opts.isDeleted);
52
+ return await this.data.updateManyByQuery(query, update, opts);
53
+ }
54
+ async getAndUpdateOneById(id, update, opts) {
55
+ const query = mergeIsDeletedIntoQuery({ resourceId: id }, opts === null || opts === void 0 ? void 0 : opts.includeDeleted, opts === null || opts === void 0 ? void 0 : opts.isDeleted);
56
+ const item = await this.data.getAndUpdateOneByQuery(query, update, opts);
57
+ this.assertFn(item);
58
+ return item;
59
+ }
60
+ async deleteManyByIdList(idList, opts) {
61
+ const query = { resourceId: { $in: idList } };
62
+ await this.data.deleteManyByQuery(query, opts);
63
+ }
64
+ async softDeleteManyByIdList(idList, agent, opts) {
65
+ const query = { resourceId: { $in: idList } };
66
+ await this.softDeleteManyByQuery(query, agent, opts);
67
+ }
68
+ async deleteOneById(id, opts) {
69
+ const query = { resourceId: id };
70
+ await this.data.deleteOneByQuery(query, opts);
71
+ }
72
+ async countManyByIdList(idList, opts) {
73
+ const query = mergeIsDeletedIntoQuery({ resourceId: { $in: idList } }, opts === null || opts === void 0 ? void 0 : opts.includeDeleted, opts === null || opts === void 0 ? void 0 : opts.isDeleted);
74
+ return await this.data.countByQuery(query, opts);
75
+ }
76
+ async getManyByIdList(idList, opts) {
77
+ const query = mergeIsDeletedIntoQuery({ resourceId: { $in: idList } }, opts === null || opts === void 0 ? void 0 : opts.includeDeleted, opts === null || opts === void 0 ? void 0 : opts.isDeleted);
78
+ return (await this.data.getManyByQuery(query, opts));
79
+ }
80
+ async countByQuery(query, opts) {
81
+ query = addIsDeletedIntoQuery(query, opts === null || opts === void 0 ? void 0 : opts.includeDeleted, opts === null || opts === void 0 ? void 0 : opts.isDeleted);
82
+ return await this.data.countByQuery(query, opts);
83
+ }
84
+ async getManyByQuery(query, opts) {
85
+ query = addIsDeletedIntoQuery(query, opts === null || opts === void 0 ? void 0 : opts.includeDeleted, opts === null || opts === void 0 ? void 0 : opts.isDeleted);
86
+ return (await this.data.getManyByQuery(query, opts));
87
+ }
88
+ async assertGetOneByQuery(query, opts) {
89
+ query = addIsDeletedIntoQuery(query, opts === null || opts === void 0 ? void 0 : opts.includeDeleted, opts === null || opts === void 0 ? void 0 : opts.isDeleted);
90
+ const item = await this.data.getOneByQuery(query, opts);
91
+ this.assertFn(item);
92
+ return item;
93
+ }
94
+ async existsByQuery(query, opts) {
95
+ query = addIsDeletedIntoQuery(query, opts === null || opts === void 0 ? void 0 : opts.includeDeleted, opts === null || opts === void 0 ? void 0 : opts.isDeleted);
96
+ return await this.data.existsByQuery(query, opts);
97
+ }
98
+ async getOneByQuery(query, opts) {
99
+ query = addIsDeletedIntoQuery(query, opts === null || opts === void 0 ? void 0 : opts.includeDeleted, opts === null || opts === void 0 ? void 0 : opts.isDeleted);
100
+ return (await this.data.getOneByQuery(query, opts));
101
+ }
102
+ async deleteManyByQuery(query, opts) {
103
+ await this.data.deleteManyByQuery(query, opts);
104
+ }
105
+ async softDeleteManyByQuery(query, agent, opts) {
106
+ const update = {
107
+ isDeleted: true,
108
+ deletedAt: Date.now(),
109
+ deletedBy: agent,
110
+ };
111
+ await this.data.updateManyByQuery(query, update, opts);
112
+ }
113
+ }
114
+ exports.DataSemanticBaseProvider = DataSemanticBaseProvider;
115
+ //# sourceMappingURL=DataSemanticDataAccessBaseProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataSemanticDataAccessBaseProvider.js","sourceRoot":"","sources":["../../../../src/contexts/semantic/DataSemanticDataAccessBaseProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { AnyFn } from 'softkave-js-utils';
2
+ import { Agent } from '../../definitions/agent';
3
+ import { Resource } from '../../definitions/resource';
4
+ import { DataProviderOpParams, DataProviderQueryListParams, DataProviderQueryParams, DataQuery } from '../data/types';
5
+ export interface SemanticProviderTxnOptions {
6
+ txn?: unknown;
7
+ }
8
+ export interface SemanticProviderMutationTxnOptions {
9
+ txn: unknown;
10
+ }
11
+ export interface SemanticProviderOpOptions extends SemanticProviderTxnOptions, DataProviderOpParams {
12
+ includeDeleted?: boolean;
13
+ isDeleted?: boolean;
14
+ }
15
+ export interface SemanticProviderMutationOpOptions extends Omit<SemanticProviderOpOptions, 'txn'>, SemanticProviderMutationTxnOptions {
16
+ }
17
+ export interface SemanticProviderQueryRunOptions<TResource extends Partial<Resource>> extends SemanticProviderOpOptions, DataProviderQueryParams<TResource> {
18
+ }
19
+ export interface SemanticProviderQueryListRunOptions<TResource extends Resource> extends SemanticProviderOpOptions, DataProviderQueryListParams<TResource> {
20
+ }
21
+ export interface SemanticBaseProviderType<TResource extends Resource> {
22
+ insertItem(item: TResource | TResource[], opts: SemanticProviderMutationTxnOptions): Promise<void>;
23
+ getOneById(id: string, opts?: SemanticProviderQueryRunOptions<TResource>): Promise<TResource | null>;
24
+ getManyByIdList(idList: string[], options?: SemanticProviderQueryListRunOptions<TResource>): Promise<TResource[]>;
25
+ countManyByIdList(idList: string[], opts?: SemanticProviderOpOptions): Promise<number>;
26
+ existsById(id: string, opts?: SemanticProviderOpOptions): Promise<boolean>;
27
+ updateOneById(id: string, update: Partial<TResource>, opts: SemanticProviderMutationOpOptions): Promise<void>;
28
+ updateManyByQuery(query: DataQuery<TResource>, update: Partial<TResource>, opts: SemanticProviderMutationOpOptions): Promise<void>;
29
+ getAndUpdateOneById(id: string, update: Partial<TResource>, opts: SemanticProviderMutationOpOptions & SemanticProviderQueryRunOptions<TResource>): Promise<TResource | null>;
30
+ deleteOneById(id: string, opts: SemanticProviderMutationTxnOptions): Promise<void>;
31
+ deleteManyByIdList(idList: string[], opts: SemanticProviderMutationTxnOptions): Promise<void>;
32
+ softDeleteManyByIdList(idList: string[], agent: Agent, opts: SemanticProviderMutationTxnOptions): Promise<void>;
33
+ getOneByQuery(query: DataQuery<TResource>, opts?: SemanticProviderQueryRunOptions<TResource>): Promise<TResource | null>;
34
+ getManyByQuery(query: DataQuery<TResource>, options?: SemanticProviderQueryListRunOptions<TResource>): Promise<TResource[]>;
35
+ countByQuery(query: DataQuery<TResource>, opts?: SemanticProviderOpOptions): Promise<number>;
36
+ assertGetOneByQuery(query: DataQuery<TResource>, opts?: SemanticProviderQueryRunOptions<TResource>): Promise<TResource>;
37
+ existsByQuery(query: DataQuery<TResource>, opts?: SemanticProviderOpOptions): Promise<boolean>;
38
+ deleteManyByQuery(query: DataQuery<TResource>, opts: SemanticProviderMutationTxnOptions): Promise<void>;
39
+ }
40
+ export type SemanticWorkspaceResourceProviderBaseType = Resource & {
41
+ name?: string;
42
+ };
43
+ export interface SemanticProviderUtils {
44
+ useTxnId(txn: unknown): string | undefined;
45
+ withTxn<TResult>(fn: AnyFn<[SemanticProviderMutationTxnOptions], Promise<TResult>>,
46
+ /** Whether or not to reuse an existing txn from async local storage. */
47
+ reuseAsyncLocalTxn: boolean, opts?: SemanticProviderMutationTxnOptions): Promise<TResult>;
48
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/contexts/semantic/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { AnyFn, AnyObject, OrArray, StringKeysOnly } from 'softkave-js-utils';
2
+ import { ComparisonLiteralFieldQueryOps, DataQuery } from '../data/types';
3
+ import { SemanticProviderMutationTxnOptions, SemanticProviderUtils } from './types';
4
+ export declare class DataSemanticProviderUtils implements SemanticProviderUtils {
5
+ useTxnId(txn: unknown): string | undefined;
6
+ withTxn<TResult>(fn: AnyFn<[SemanticProviderMutationTxnOptions], Promise<TResult>>, reuseAsyncLocalTxn?: boolean, opts?: SemanticProviderMutationTxnOptions): Promise<TResult>;
7
+ }
8
+ export declare function getStringListQuery<TData extends AnyObject>(stringList: string[], prefix: keyof TData, op?: '$regex' | '$eq', includeSizeOp?: boolean): DataQuery<TData>;
9
+ export declare function getInAndNinQuery<TData extends Record<string, any>, TKey extends StringKeysOnly<TData> = StringKeysOnly<TData>>(prefix: TKey,
10
+ /** `null` or `undefined` will not go into query. To explicitly handle them,
11
+ * pass `[null]` or `[undefined]` */
12
+ inList: OrArray<TData[TKey]> | undefined,
13
+ /** `null` or `undefined` will not go into query. To explicitly handle them,
14
+ * pass `[null]` or `[undefined]` */
15
+ ninList?: OrArray<TData[TKey]> | undefined): DataQuery<TData>;
16
+ export declare function getIgnoreCaseDataQueryRegExp(str: string): ComparisonLiteralFieldQueryOps<string>;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getIgnoreCaseDataQueryRegExp = exports.getInAndNinQuery = exports.getStringListQuery = exports.DataSemanticProviderUtils = void 0;
4
+ const lodash_1 = require("lodash");
5
+ const softkave_js_utils_1 = require("softkave-js-utils");
6
+ const assertion_1 = require("../../utils/assertion");
7
+ const injectables_1 = require("../injection/injectables");
8
+ class DataSemanticProviderUtils {
9
+ useTxnId(txn) {
10
+ if (!txn) {
11
+ return undefined;
12
+ }
13
+ const id = txn.__fimidaraTxnId;
14
+ (0, assertion_1.appAssert)(id);
15
+ return id;
16
+ }
17
+ async withTxn(fn, reuseAsyncLocalTxn = true, opts) {
18
+ return await injectables_1.kDataModels.utils().withTxn(async (txn) => {
19
+ if (!txn.__fimidaraTxnId) {
20
+ txn.__fimidaraTxnId = 'txn_' + (0, softkave_js_utils_1.getNewId)();
21
+ }
22
+ return await fn({ txn });
23
+ }, reuseAsyncLocalTxn, opts === null || opts === void 0 ? void 0 : opts.txn);
24
+ }
25
+ }
26
+ exports.DataSemanticProviderUtils = DataSemanticProviderUtils;
27
+ function getStringListQuery(stringList, prefix, op = '$eq', includeSizeOp = false) {
28
+ const query = {};
29
+ if (stringList.length === 0) {
30
+ // MongoDB array queries with `{$all: [], $size: 0}` do not work, so using
31
+ // `{$eq: []}` instead, since that works
32
+ query[prefix] = { $eq: [] };
33
+ return query;
34
+ }
35
+ stringList.reduce((map, name, index) => {
36
+ const key = `${prefix}.${index}`;
37
+ const q = op === '$eq' ? { $eq: name } : getIgnoreCaseDataQueryRegExp(name);
38
+ map[key] = q;
39
+ return map;
40
+ }, query);
41
+ if (includeSizeOp) {
42
+ query[prefix] = { $size: stringList.length };
43
+ }
44
+ return query;
45
+ }
46
+ exports.getStringListQuery = getStringListQuery;
47
+ function getInAndNinQuery(prefix,
48
+ /** `null` or `undefined` will not go into query. To explicitly handle them,
49
+ * pass `[null]` or `[undefined]` */
50
+ inList,
51
+ /** `null` or `undefined` will not go into query. To explicitly handle them,
52
+ * pass `[null]` or `[undefined]` */
53
+ ninList) {
54
+ const inKey = `${prefix}.$in`;
55
+ const ninKey = `${prefix}.$nin`;
56
+ const query = {};
57
+ if (!(0, lodash_1.isNil)(inList))
58
+ (0, lodash_1.set)(query, inKey, (0, softkave_js_utils_1.convertToArray)(inList));
59
+ if (!(0, lodash_1.isNil)(ninList))
60
+ (0, lodash_1.set)(query, ninKey, (0, softkave_js_utils_1.convertToArray)(ninList));
61
+ return query;
62
+ }
63
+ exports.getInAndNinQuery = getInAndNinQuery;
64
+ function getIgnoreCaseDataQueryRegExp(str) {
65
+ return { $regex: `^${str}$`, $options: 'i' };
66
+ }
67
+ exports.getIgnoreCaseDataQueryRegExp = getIgnoreCaseDataQueryRegExp;
68
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/contexts/semantic/utils.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAClC,yDAO2B;AAC3B,qDAAgD;AAMhD,0DAAqD;AAUrD,MAAa,yBAAyB;IACpC,QAAQ,CAAC,GAAY;QACnB,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,EAAE,GAAI,GAA4B,CAAC,eAAe,CAAC;QACzD,IAAA,qBAAS,EAAC,EAAE,CAAC,CAAC;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,OAAO,CACX,EAAiE,EACjE,kBAAkB,GAAG,IAAI,EACzB,IAAyC;QAEzC,OAAO,MAAM,yBAAW,CAAC,KAAK,EAAE,CAAC,OAAO,CACtC,KAAK,EAAC,GAAG,EAAC,EAAE;YACV,IAAI,CAAE,GAA4B,CAAC,eAAe,EAAE;gBACjD,GAA4B,CAAC,eAAe,GAAG,MAAM,GAAG,IAAA,4BAAQ,GAAE,CAAC;aACrE;YAED,OAAO,MAAM,EAAE,CAAC,EAAC,GAAG,EAAC,CAAC,CAAC;QACzB,CAAC,EACD,kBAAkB,EAClB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CACV,CAAC;IACJ,CAAC;CACF;AA5BD,8DA4BC;AAED,SAAgB,kBAAkB,CAChC,UAAoB,EACpB,MAAmB,EACnB,KAAuB,KAAK,EAC5B,aAAa,GAAG,KAAK;IAErB,MAAM,KAAK,GAAyB,EAAE,CAAC;IAEvC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,0EAA0E;QAC1E,wCAAwC;QACxC,KAAK,CAAC,MAAgB,CAAC,GAAG,EAAC,GAAG,EAAE,EAAE,EAAC,CAAC;QACpC,OAAO,KAAK,CAAC;KACd;IAED,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,GAAG,MAAgB,IAAI,KAAK,EAAE,CAAC;QAC3C,MAAM,CAAC,GACL,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,EAAC,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;QAClE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,IAAI,aAAa,EAAE;QACjB,KAAK,CAAC,MAAgB,CAAC,GAAG,EAAC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAC,CAAC;KACtD;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AA5BD,gDA4BC;AAED,SAAgB,gBAAgB,CAK9B,MAAY;AACZ;oCACoC;AACpC,MAAwC;AACxC;oCACoC;AACpC,OAA0C;IAE1C,MAAM,KAAK,GACT,GAAG,MAAM,MAAe,CAAC;IAC3B,MAAM,MAAM,GACV,GAAG,MAAM,OAAgB,CAAC;IAC5B,MAAM,KAAK,GAAqB,EAAE,CAAC;IAEnC,IAAI,CAAC,IAAA,cAAK,EAAC,MAAM,CAAC;QAAE,IAAA,YAAG,EAAC,KAAK,EAAE,KAAK,EAAE,IAAA,kCAAc,EAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,IAAA,cAAK,EAAC,OAAO,CAAC;QAAE,IAAA,YAAG,EAAC,KAAK,EAAE,MAAM,EAAE,IAAA,kCAAc,EAAC,OAAO,CAAC,CAAC,CAAC;IAEjE,OAAO,KAAK,CAAC;AACf,CAAC;AAvBD,4CAuBC;AAED,SAAgB,4BAA4B,CAC1C,GAAW;IAEX,OAAO,EAAC,MAAM,EAAE,IAAI,GAAG,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAC,CAAC;AAC7C,CAAC;AAJD,oEAIC"}
@@ -0,0 +1,6 @@
1
+ import { Request } from 'express';
2
+ import { BaseTokenData } from '../definitions/token';
3
+ export interface ServerRequest extends Request {
4
+ /** decoded JWT token using the expressJWT middleware */
5
+ auth?: BaseTokenData;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/contexts/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { AnyObject } from 'softkave-js-utils';
2
+ export interface Agent {
3
+ agentId: string;
4
+ agentType: string;
5
+ agentTokenId: string;
6
+ }
7
+ export type PublicAgent = Pick<Agent, 'agentId' | 'agentType'>;
8
+ export type ConvertAgentToPublicAgent<T> = {
9
+ [K in keyof T]: NonNullable<T[K]> extends Agent ? PublicAgent : NonNullable<T[K]> extends AnyObject ? ConvertAgentToPublicAgent<NonNullable<T[K]>> : T[K];
10
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=agent.js.map