@common-stack/server-core 7.2.1-alpha.47 → 7.2.1-alpha.49

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 (82) hide show
  1. package/lib/__tests__/connector-inngest-arrays.test.d.ts +1 -0
  2. package/lib/connector/__tests__/container-connector.test.d.ts +2 -0
  3. package/lib/connector/__tests__/context-connector.test.d.ts +1 -0
  4. package/lib/connector/__tests__/fixtures/preferenfces/sample-settings.d.ts +98 -0
  5. package/lib/connector/__tests__/fixtures/sample-roles-permissions/account-api/permission-contribution.d.ts +90 -0
  6. package/lib/connector/__tests__/graphql-middleware.test.d.ts +1 -0
  7. package/lib/connector/__tests__/permissions.test.d.ts +1 -0
  8. package/lib/connector/__tests__/policies.test.d.ts +1 -0
  9. package/lib/connector/__tests__/preferences.test.d.ts +1 -0
  10. package/lib/connector/__tests__/roles-update-connector.test.d.ts +1 -0
  11. package/lib/connector/__tests__/rules-connector.test.d.ts +1 -0
  12. package/lib/connector/__tests__/samples/graphql/types/person_entity_type.d.ts +2 -0
  13. package/lib/connector/__tests__/samples/graphql/types/person_search_type.d.ts +2 -0
  14. package/lib/connector/__tests__/samples/graphql/types/vendor_type.d.ts +2 -0
  15. package/lib/connector/__tests__/schema-connector.test.d.ts +1 -0
  16. package/lib/connector/__tests__/service-connector.test.d.ts +2 -0
  17. package/lib/connector/__tests__/websocket-connector.test.d.ts +1 -0
  18. package/lib/connector/connector.d.ts +619 -0
  19. package/lib/connector/connector.js +470 -0
  20. package/lib/connector/connector.js.map +1 -0
  21. package/lib/connector/index.d.ts +1 -0
  22. package/lib/constants/directives.d.ts +1 -0
  23. package/lib/constants/directives.js +1 -0
  24. package/lib/constants/directives.js.map +1 -0
  25. package/lib/constants/index.d.ts +2 -0
  26. package/lib/constants/types.d.ts +8 -0
  27. package/lib/constants/types.js +8 -0
  28. package/lib/constants/types.js.map +1 -0
  29. package/lib/index.d.ts +6 -0
  30. package/lib/index.js +1 -0
  31. package/lib/index.js.map +1 -0
  32. package/lib/interfaces/connector.d.ts +36 -0
  33. package/lib/interfaces/datasource.d.ts +14 -0
  34. package/lib/interfaces/index.d.ts +7 -0
  35. package/lib/interfaces/mongo-migration.d.ts +17 -0
  36. package/lib/interfaces/permissions.d.ts +5 -0
  37. package/lib/interfaces/policies.d.ts +5 -0
  38. package/lib/interfaces/roles.d.ts +8 -0
  39. package/lib/interfaces/rules.d.ts +12 -0
  40. package/lib/interfaces/rules.js +6 -0
  41. package/lib/interfaces/rules.js.map +1 -0
  42. package/lib/interfaces/store.d.ts +3 -0
  43. package/lib/logger/index.d.ts +1 -0
  44. package/lib/logger/logger.d.ts +2 -0
  45. package/lib/logger/logger.js +5 -0
  46. package/lib/logger/logger.js.map +1 -0
  47. package/lib/moleculer-generation/__tests__/integration-proxy-moleculer.test.d.ts +6 -0
  48. package/lib/moleculer-generation/__tests__/moleculerEventHandler.test.d.ts +5 -0
  49. package/lib/moleculer-generation/__tests__/serviceGenerationUtils.test.d.ts +5 -0
  50. package/lib/moleculer-generation/__tests__/typedMoleculerService.test.d.ts +5 -0
  51. package/lib/moleculer-generation/__tests__/typedProxyService.test.d.ts +5 -0
  52. package/lib/moleculer-generation/generateAllServiceSchemas.cjs +628 -0
  53. package/lib/moleculer-generation/index.d.ts +16 -0
  54. package/lib/moleculer-generation/moleculerEventHandler.d.ts +73 -0
  55. package/lib/moleculer-generation/moleculerEventHandler.js +91 -0
  56. package/lib/moleculer-generation/moleculerEventHandler.js.map +1 -0
  57. package/lib/moleculer-generation/serviceGenerationUtils.d.ts +100 -0
  58. package/lib/moleculer-generation/serviceGenerationUtils.js +156 -0
  59. package/lib/moleculer-generation/serviceGenerationUtils.js.map +1 -0
  60. package/lib/moleculer-generation/typedMoleculerService.d.ts +502 -0
  61. package/lib/moleculer-generation/typedMoleculerService.js +685 -0
  62. package/lib/moleculer-generation/typedMoleculerService.js.map +1 -0
  63. package/lib/moleculer-generation/typedProxyService.d.ts +119 -0
  64. package/lib/moleculer-generation/typedProxyService.js +226 -0
  65. package/lib/moleculer-generation/typedProxyService.js.map +1 -0
  66. package/lib/moleculer-generation/zodToMoleculer.d.ts +45 -0
  67. package/lib/moleculer-generation/zodToMoleculer.js +120 -0
  68. package/lib/moleculer-generation/zodToMoleculer.js.map +1 -0
  69. package/lib/utils/extract-tenant-id.d.ts +1 -0
  70. package/lib/utils/extract-tenant-id.js +4 -0
  71. package/lib/utils/extract-tenant-id.js.map +1 -0
  72. package/lib/utils/generate-query-cache-key.d.ts +11 -0
  73. package/lib/utils/generate-query-cache-key.js +13 -0
  74. package/lib/utils/generate-query-cache-key.js.map +1 -0
  75. package/lib/utils/get-directive-args-from-schema.d.ts +13 -0
  76. package/lib/utils/get-directive-args-from-schema.js +25 -0
  77. package/lib/utils/get-directive-args-from-schema.js.map +1 -0
  78. package/lib/utils/index.d.ts +4 -0
  79. package/lib/utils/preferences.d.ts +87 -0
  80. package/lib/utils/preferences.js +40 -0
  81. package/lib/utils/preferences.js.map +1 -0
  82. package/package.json +3 -3
@@ -0,0 +1,470 @@
1
+ import {merge,castArray,without,union,map}from'lodash-es';import {Container}from'inversify';import {transformPrefsToArray,getCurrentPreferences}from'../utils/preferences.js';import'crypto';import'graphql/language/index.js';import'@graphql-tools/utils';import'graphql';const featureCatalog = {};
2
+ const combine = (features, extractor) => without(union(...map(features, (res) => castArray(extractor(res)))), undefined);
3
+ class Feature {
4
+ schema;
5
+ createRemoteSchemas;
6
+ createDirectivesFunc;
7
+ createResolversFunc;
8
+ createContextFunc;
9
+ createServiceFunc;
10
+ createContainerFunc;
11
+ postBindContainerFunc;
12
+ postBindMicroServiceContainerFunc;
13
+ /**
14
+ * @deprecated Use postBindMicroServiceContainerFunc instead
15
+ */
16
+ postBindHemraContainerFunc;
17
+ federation;
18
+ createMicroServiceContainerFunc;
19
+ /**
20
+ * @deprecated Use createMicroServiceContainerFunc instead
21
+ */
22
+ createHemeraContainerFunc;
23
+ createAsyncContainerFunc;
24
+ createAsyncMicroServiceContainerFunc;
25
+ /**
26
+ * @deprecated Use createAsyncMicroServiceContainerFunc instead
27
+ */
28
+ createAsyncHemeraContainerFunc;
29
+ createDataSourceFunc;
30
+ preCreateServiceFunc;
31
+ postCreateServiceFunc;
32
+ preStartFunc;
33
+ postStartFunc;
34
+ microservicePreStartFunc;
35
+ microservicePostStartFunc;
36
+ addBrokerServiceClass;
37
+ /**
38
+ * @deprecated Use addBrokerServiceClass instead
39
+ */
40
+ addBrokerMainServiceClass;
41
+ /**
42
+ * @deprecated Use addBrokerServiceClass instead
43
+ */
44
+ addMainBrokerServiceClass;
45
+ addMicroserviceBrokerServiceClass;
46
+ /**
47
+ * @deprecated Use addMicroserviceBrokerServiceClass instead
48
+ */
49
+ addBrokerClientServiceClass;
50
+ disposeFunc;
51
+ updateContainerFunc;
52
+ beforeware;
53
+ middleware;
54
+ graphqlMiddleware;
55
+ registerExpressMiddlewareFunc;
56
+ apolloCacheKeyGeneratorFunc;
57
+ apolloInvalidateCacheKeyGeneratorFunc;
58
+ createWebsocketConfig;
59
+ createPreference;
60
+ addPermissions;
61
+ addPolicies;
62
+ rolesUpdate;
63
+ overwritePreference;
64
+ overwriteRole;
65
+ migrations;
66
+ graphqlPlugins;
67
+ inngestFunctions;
68
+ _rules;
69
+ services;
70
+ container;
71
+ hemeraContainer;
72
+ dataSources;
73
+ constructor(feature, ...features) {
74
+ const args = [feature, ...features];
75
+ combine(args, (arg) => arg.catalogInfo).forEach((info) => Object.keys(info).forEach((key) => (featureCatalog[key] = info[key])));
76
+ this.schema = combine(args, (arg) => arg.schema);
77
+ this.createDirectivesFunc = combine(args, (arg) => arg.createDirectivesFunc);
78
+ this.createResolversFunc = combine(args, (arg) => arg.createResolversFunc);
79
+ this.createContextFunc = combine(args, (arg) => arg.createContextFunc);
80
+ this.postBindContainerFunc = combine(args, (arg) => arg.postBindContainerFunc);
81
+ // Handle backward compatibility for postBindMicroServiceContainerFunc
82
+ const postBindMicroServiceFuncs = combine(args, (arg) => arg.postBindMicroServiceContainerFunc);
83
+ const oldPostBindHemeraFuncs = combine(args, (arg) => arg.postBindHemraContainerFunc);
84
+ if (oldPostBindHemeraFuncs.length > 0) {
85
+ console.warn('[DEPRECATION WARNING] postBindHemraContainerFunc is deprecated. Please use postBindMicroServiceContainerFunc instead.');
86
+ }
87
+ this.postBindMicroServiceContainerFunc = [...postBindMicroServiceFuncs, ...oldPostBindHemeraFuncs];
88
+ this.postBindHemraContainerFunc = this.postBindMicroServiceContainerFunc; // Keep reference for backward compatibility
89
+ this.createServiceFunc = combine(args, (arg) => arg.createServiceFunc);
90
+ this.preCreateServiceFunc = combine(args, (arg) => arg.preCreateServiceFunc);
91
+ this.postCreateServiceFunc = combine(args, (arg) => arg.postCreateServiceFunc);
92
+ this.preStartFunc = combine(args, (arg) => arg.preStartFunc);
93
+ this.postStartFunc = combine(args, (arg) => arg.postStartFunc);
94
+ this.microservicePreStartFunc = combine(args, (arg) => arg.microservicePreStartFunc);
95
+ this.microservicePostStartFunc = combine(args, (arg) => arg.microservicePostStartFunc);
96
+ // Handle backward compatibility for broker service classes
97
+ const brokerServiceFuncs = combine(args, (arg) => arg.addBrokerServiceClass);
98
+ const oldMainBrokerFuncs = combine(args, (arg) => arg.addBrokerMainServiceClass);
99
+ const oldMainBrokerFuncs2 = combine(args, (arg) => arg.addMainBrokerServiceClass);
100
+ if (oldMainBrokerFuncs.length > 0) {
101
+ console.warn('[DEPRECATION WARNING] addBrokerMainServiceClass is deprecated. Please use addBrokerServiceClass instead.');
102
+ }
103
+ if (oldMainBrokerFuncs2.length > 0) {
104
+ console.warn('[DEPRECATION WARNING] addMainBrokerServiceClass is deprecated. Please use addBrokerServiceClass instead.');
105
+ }
106
+ this.addBrokerServiceClass = [...brokerServiceFuncs, ...oldMainBrokerFuncs, ...oldMainBrokerFuncs2];
107
+ this.addBrokerMainServiceClass = this.addBrokerServiceClass; // Keep reference for backward compatibility
108
+ this.addMainBrokerServiceClass = this.addBrokerServiceClass; // Keep reference for backward compatibility
109
+ const microserviceBrokerFuncs = combine(args, (arg) => arg.addMicroserviceBrokerServiceClass);
110
+ const oldClientBrokerFuncs = combine(args, (arg) => arg.addBrokerClientServiceClass);
111
+ if (oldClientBrokerFuncs.length > 0) {
112
+ console.warn('[DEPRECATION WARNING] addBrokerClientServiceClass is deprecated. Please use addMicroserviceBrokerServiceClass instead.');
113
+ }
114
+ this.addMicroserviceBrokerServiceClass = [...microserviceBrokerFuncs, ...oldClientBrokerFuncs];
115
+ this.addBrokerClientServiceClass = this.addMicroserviceBrokerServiceClass; // Keep reference for backward compatibility
116
+ this.disposeFunc = combine(args, (arg) => arg.disposeFunc);
117
+ this.federation = combine(args, (arg) => arg.federation);
118
+ this.migrations = combine(args, (arg) => arg);
119
+ this.createContainerFunc = combine(args, (arg) => arg.createContainerFunc);
120
+ // Handle backward compatibility for createHemeraContainerFunc -> createMicroServiceContainerFunc
121
+ const microServiceFuncs = combine(args, (arg) => arg.createMicroServiceContainerFunc);
122
+ const hemeraFuncs = combine(args, (arg) => arg.createHemeraContainerFunc);
123
+ if (hemeraFuncs.length > 0) {
124
+ console.warn('[DEPRECATION WARNING] createHemeraContainerFunc is deprecated. Please use createMicroServiceContainerFunc instead.');
125
+ }
126
+ // Merge both old and new function arrays and deduplicate by reference
127
+ const merged = [...microServiceFuncs, ...hemeraFuncs];
128
+ // Use Set to deduplicate function references (handles case where same Feature appears multiple times in args)
129
+ this.createMicroServiceContainerFunc = [...new Set(merged)];
130
+ this.createHemeraContainerFunc = this.createMicroServiceContainerFunc; // Keep reference for backward compatibility
131
+ this.createAsyncContainerFunc = combine(args, (arg) => arg.createAsyncContainerFunc);
132
+ // Handle backward compatibility for createAsyncMicroServiceContainerFunc
133
+ const asyncMicroServiceFuncs = combine(args, (arg) => arg.createAsyncMicroServiceContainerFunc);
134
+ const oldAsyncHemeraFuncs = combine(args, (arg) => arg.createAsyncHemeraContainerFunc);
135
+ if (oldAsyncHemeraFuncs.length > 0) {
136
+ console.warn('[DEPRECATION WARNING] createAsyncHemeraContainerFunc is deprecated. Please use createAsyncMicroServiceContainerFunc instead.');
137
+ }
138
+ // Merge both old and new async function arrays and deduplicate by reference
139
+ const mergedAsync = [...asyncMicroServiceFuncs, ...oldAsyncHemeraFuncs];
140
+ this.createAsyncMicroServiceContainerFunc = [...new Set(mergedAsync)];
141
+ this.createAsyncHemeraContainerFunc = this.createAsyncMicroServiceContainerFunc; // Keep reference for backward compatibility
142
+ this.updateContainerFunc = combine(args, (arg) => arg.updateContainerFunc);
143
+ this.createDataSourceFunc = combine(args, (arg) => arg.createDataSourceFunc);
144
+ this.beforeware = combine(args, (arg) => arg.beforeware);
145
+ this.middleware = combine(args, (arg) => arg.middleware);
146
+ this.graphqlMiddleware = combine(args, (arg) => arg.graphqlMiddleware);
147
+ this.createWebsocketConfig = combine(args, (arg) => arg.createWebsocketConfig);
148
+ this.createPreference = combine(args, (arg) => arg.createPreference);
149
+ this.addPermissions = {
150
+ createPermissions: combine(args, (arg) => arg.addPermissions && arg.addPermissions.createPermissions),
151
+ overwritePermissions: combine(args, (arg) => arg.addPermissions && arg.addPermissions.overwritePermissions),
152
+ };
153
+ this.addPolicies = {
154
+ createPolicies: combine(args, (arg) => arg.addPolicies && arg.addPolicies.createPolicies),
155
+ overwritePolicies: combine(args, (arg) => arg.addPolicies && arg.addPolicies.overwritePolicies),
156
+ };
157
+ this.rolesUpdate = {
158
+ createRoles: combine(args, (arg) => arg.rolesUpdate && arg.rolesUpdate.createRoles),
159
+ overwriteRolesPermissions: combine(args, (arg) => arg.rolesUpdate && arg.rolesUpdate.overwriteRolesPermissions),
160
+ };
161
+ this.overwritePreference = combine(args, (arg) => arg.overwritePreference);
162
+ this._rules = combine(args, (arg) => arg.rules);
163
+ this.registerExpressMiddlewareFunc = combine(args, (arg) => {
164
+ return arg.registerExpressMiddlewareFunc;
165
+ });
166
+ this.apolloCacheKeyGeneratorFunc = combine(args, (arg) => {
167
+ return arg.apolloCacheKeyGeneratorFunc;
168
+ });
169
+ this.apolloInvalidateCacheKeyGeneratorFunc = combine(args, (arg) => {
170
+ return arg.apolloInvalidateCacheKeyGeneratorFunc;
171
+ });
172
+ this.graphqlPlugins = combine(args, (args) => args.graphqlPlugins);
173
+ this.inngestFunctions = combine(args, (arg) => arg.inngestFunctions);
174
+ }
175
+ get rules() {
176
+ return this._rules.reduce((acc, curr) => merge(acc, curr), {});
177
+ }
178
+ get schemas() {
179
+ return this.schema;
180
+ }
181
+ /**
182
+ * Creates context
183
+ * @param req
184
+ * @param connectionParams
185
+ * @param webSocket
186
+ * @deprecated
187
+ */
188
+ async createContext(req, connectionParams, webSocket) {
189
+ const results = await Promise.all(this.createContextFunc.map((createContext) => createContext(req, connectionParams, webSocket)));
190
+ return merge({}, ...results);
191
+ }
192
+ /**
193
+ * If you need to attach service to Graphql Context, you can use this function.
194
+ * It should be called twice to get the context.
195
+ */
196
+ createServiceContext(options, updateOptions) {
197
+ return async (req, connectionParams, webSocket) => {
198
+ await this.createService(options, updateOptions);
199
+ const results = await Promise.all(this.createContextFunc.map((createContext) => createContext(req, connectionParams, webSocket)));
200
+ return merge({}, ...results, { ...this.services });
201
+ };
202
+ }
203
+ /**
204
+ * Its wrapper to container to get services
205
+ * @param container
206
+ */
207
+ async createService(options, updateOptions) {
208
+ try {
209
+ if (this.container) {
210
+ this.updateContainers(options, updateOptions);
211
+ }
212
+ else {
213
+ await this.createContainers(options);
214
+ await Promise.all(this.preCreateServiceFunc.map(async (createService) => await createService(this.container)));
215
+ }
216
+ this.services = merge({}, ...this.createServiceFunc.map((createService) => createService(this.container)));
217
+ await Promise.all(this.postCreateServiceFunc.map(async (createService) => await createService(this.container)));
218
+ return this.services;
219
+ }
220
+ catch (err) {
221
+ throw err;
222
+ }
223
+ }
224
+ /**
225
+ * Pre start action will be executed there.
226
+ *
227
+ */
228
+ async preStart(options) {
229
+ return await Promise.all(this.preStartFunc.map(async (preStart) => await preStart(this.container, options)));
230
+ }
231
+ /**
232
+ * Post start actions will be executed here.
233
+ */
234
+ async postStart(options) {
235
+ return await Promise.all(this.postStartFunc.map(async (postStart) => await postStart(this.container, options)));
236
+ }
237
+ /**
238
+ * Pre start action will be executed there.
239
+ *
240
+ */
241
+ async microservicePreStart(options) {
242
+ return await Promise.all(this.microservicePreStartFunc.map(async (preStart) => await preStart(this.container, options)));
243
+ }
244
+ /**
245
+ * Post start actions will be executed here.
246
+ */
247
+ async microservicePostStart(options) {
248
+ return await Promise.all(this.microservicePostStartFunc.map(async (postStart) => await postStart(this.container, options)));
249
+ }
250
+ createDataSource(options) {
251
+ this.dataSources = merge({}, ...this.createDataSourceFunc.map((createDataSource) => createDataSource({
252
+ services: this.services,
253
+ ...options,
254
+ })));
255
+ return this.dataSources;
256
+ }
257
+ createResolvers(options) {
258
+ return merge({}, ...this.createResolversFunc.map((createResolvers) => createResolvers(options)));
259
+ }
260
+ createDirectives(options) {
261
+ return merge({}, ...this.createDirectivesFunc.map((createDirectives) => createDirectives(options)));
262
+ }
263
+ async createContainers(options, containerOptions = { skipBaseClassChecks: true }) {
264
+ this.container = new Container(containerOptions);
265
+ this.createContainerFunc.map((createModule) => {
266
+ this.container.load(createModule(options));
267
+ });
268
+ await Promise.all(this.createAsyncContainerFunc.map(async (asyncCreateModule) => {
269
+ await this.container.loadAsync(asyncCreateModule(options));
270
+ }));
271
+ this.container.bind('IDefaultSettings').toConstantValue(this.getPreferences());
272
+ this.container.bind('IDefaultSettingsObj').toConstantValue(this.getPreferencesObj());
273
+ // permissions
274
+ this.container.bind('IDefaultPermissions').toConstantValue(this.getPermissionPreferences());
275
+ this.container.bind('IDefaultPermissionsObj').toConstantValue(this.getPermissionPreferencesObj());
276
+ this.container.bind('IDefaultRoles').toConstantValue(this.getRoles());
277
+ this.container.bind('IDefaultPoliciesObj').toConstantValue(this.getPolicyPreferencesObj());
278
+ this.postBindContainerFunc.map((bindModule) => {
279
+ this.container.load(bindModule(this.container));
280
+ });
281
+ return this.container;
282
+ }
283
+ /**
284
+ * Use createMicroserviceContainers instead
285
+ * @param options
286
+ * @deprecated Use createMicroserviceContainers instead
287
+ */
288
+ async createHemeraContainers(options) {
289
+ console.warn('[DEPRECATION WARNING] createHemeraContainers() is deprecated. Please use createMicroserviceContainers() instead.');
290
+ return this.createMicroserviceContainers(options);
291
+ }
292
+ /**
293
+ * Creates container for the microservice
294
+ *
295
+ * @param options
296
+ */
297
+ async createMicroserviceContainers(options) {
298
+ this.hemeraContainer = new Container();
299
+ this.createMicroServiceContainerFunc.map((createModule) => {
300
+ this.hemeraContainer.load(createModule(options));
301
+ });
302
+ await Promise.all(this.createAsyncMicroServiceContainerFunc.map(async (asyncCreateModule) => {
303
+ await this.hemeraContainer.loadAsync(asyncCreateModule(options));
304
+ }));
305
+ this.postBindMicroServiceContainerFunc.map((bindModule) => {
306
+ this.hemeraContainer.load(bindModule(this.hemeraContainer));
307
+ });
308
+ return this.hemeraContainer;
309
+ }
310
+ updateContainers(options, updateOptions) {
311
+ const mergedModules = merge({}, ...this.updateContainerFunc);
312
+ const matchingModules = [];
313
+ if (updateOptions) {
314
+ updateOptions.forEach((option) => {
315
+ const dispose = this.disposeFunc.find((el) => el.container === option);
316
+ if (dispose) {
317
+ this.services[dispose.ctx].dispose();
318
+ }
319
+ const searchModule = mergedModules[option];
320
+ if (searchModule) {
321
+ matchingModules.push(searchModule);
322
+ }
323
+ });
324
+ }
325
+ matchingModules.map((createModule) => this.container.load(createModule(options)));
326
+ }
327
+ loadMainMoleculerService({ container, broker, settings, }) {
328
+ this.addBrokerServiceClass.map((serviceClass) => broker.createService(serviceClass, { container, settings }));
329
+ }
330
+ loadClientMoleculerService({ container, broker, settings, }) {
331
+ this.addMicroserviceBrokerServiceClass.map((serviceClass) => broker.createService(serviceClass, { container, settings }));
332
+ }
333
+ createDefaultPreferences() {
334
+ return transformPrefsToArray(merge([], ...this.createPreference));
335
+ }
336
+ get beforewares() {
337
+ return this.beforeware;
338
+ }
339
+ get middlewares() {
340
+ return this.middleware;
341
+ }
342
+ get graphqlMiddlewares() {
343
+ return this.graphqlMiddleware;
344
+ }
345
+ getPreferences() {
346
+ return transformPrefsToArray(this.getPreferencesObj());
347
+ }
348
+ getPreferencesObj() {
349
+ const defaultPrefs = merge([], ...this.createPreference);
350
+ const overwritePrefs = merge([], ...this.overwritePreference);
351
+ return getCurrentPreferences(defaultPrefs, overwritePrefs);
352
+ }
353
+ // @deprecated
354
+ getPermissionPreferences() {
355
+ return transformPrefsToArray(this.getPermissionPreferencesObj());
356
+ }
357
+ // @deprecated
358
+ getPermissionPreferencesObj() {
359
+ const { createPermissions = [], overwritePermissions = [] } = this.addPermissions;
360
+ const defaultPrefs = merge([], ...castArray(createPermissions));
361
+ const overwritePrefs = merge([], ...castArray(overwritePermissions));
362
+ return getCurrentPreferences(defaultPrefs, overwritePrefs);
363
+ }
364
+ // @deprecated
365
+ getPolicyPreferences() {
366
+ return transformPrefsToArray(this.getPolicyPreferencesObj());
367
+ }
368
+ // @deprecated
369
+ getPolicyPreferencesObj() {
370
+ const { createPolicies = [], overwritePolicies = [] } = this.addPolicies;
371
+ const defaultPrefs = merge([], ...castArray(createPolicies));
372
+ const overwritePrefs = merge([], ...castArray(overwritePolicies));
373
+ return getCurrentPreferences(defaultPrefs, overwritePrefs);
374
+ }
375
+ // @deprecated
376
+ getRoles() {
377
+ const { createRoles, overwriteRolesPermissions } = this.rolesUpdate;
378
+ const mergedRoles = merge({}, ...castArray(createRoles));
379
+ const mergedOverwriteRolesPermissions = merge({}, ...castArray(overwriteRolesPermissions));
380
+ let result = {};
381
+ for (const role in mergedRoles) {
382
+ const rolePermission = mergedOverwriteRolesPermissions[role]
383
+ ? merge({}, mergedRoles[role].permissions, mergedOverwriteRolesPermissions[role])
384
+ : mergedRoles[role].permissions;
385
+ const mmm = {
386
+ ...mergedRoles[role],
387
+ permissions: { ...rolePermission },
388
+ };
389
+ result = merge({}, result, { [role]: mmm });
390
+ }
391
+ return result;
392
+ }
393
+ // @deprecated
394
+ getRolesObj() {
395
+ const { createRoles } = this.rolesUpdate;
396
+ const defaultPrefs = merge([], ...castArray(createRoles));
397
+ const overwritePrefs = merge([], ...castArray(createRoles));
398
+ return getCurrentPreferences(defaultPrefs, overwritePrefs);
399
+ }
400
+ getWebsocketConfig() {
401
+ return this.createWebsocketConfig.reduce((pre, curr) => merge(pre, curr), {});
402
+ }
403
+ convertArrayToObject(arrayObject) {
404
+ return arrayObject.reduce((pre, curr) => merge(pre, curr), {});
405
+ }
406
+ async registerExpressMiddleware(app, container) {
407
+ return this.registerExpressMiddlewareFunc.map((registerExpressMiddleware) => registerExpressMiddleware(app, container));
408
+ }
409
+ apolloCacheKeyGenerator(context, defaultCacheKey) {
410
+ return this.apolloCacheKeyGeneratorFunc.reduce((result, currentFunc) => currentFunc(context, result), defaultCacheKey);
411
+ }
412
+ apolloInvalidateCacheKeyGenerator(requestContext, responseContext, defaultCacheKey) {
413
+ return this.apolloInvalidateCacheKeyGeneratorFunc.reduce((result, currentFunc) => currentFunc(requestContext, responseContext, result), defaultCacheKey);
414
+ }
415
+ /**
416
+ * Load and register Inngest functions from all modules
417
+ * Similar to loadClientMoleculerService pattern
418
+ *
419
+ * @returns Array of all Inngest function instances ready for registration
420
+ */
421
+ loadInngestFunctions({ container, inngest, settings, }) {
422
+ const allFunctions = [];
423
+ this.inngestFunctions.forEach((functionFactory) => {
424
+ try {
425
+ const functionsCollections = functionFactory({ container, inngest, settings });
426
+ // Handle different return formats
427
+ if (Array.isArray(functionsCollections)) {
428
+ // If factory returns an array of functions
429
+ allFunctions.push(...functionsCollections);
430
+ }
431
+ else if (typeof functionsCollections === 'object' && functionsCollections !== null) {
432
+ // If factory returns an object of functions (most common pattern)
433
+ // Extract function instances from the object
434
+ const functionInstances = Object.values(functionsCollections);
435
+ allFunctions.push(...functionInstances);
436
+ }
437
+ else if (functionsCollections) {
438
+ // Single function instance
439
+ allFunctions.push(functionsCollections);
440
+ }
441
+ }
442
+ catch (error) {
443
+ console.warn('Error loading Inngest functions from factory:', error.message);
444
+ }
445
+ });
446
+ return allFunctions;
447
+ }
448
+ /**
449
+ * Get a flat list of all Inngest functions for registration
450
+ * This is the main method used by the setup to register with Inngest
451
+ *
452
+ * @returns Flattened array of Inngest function instances
453
+ */
454
+ getInngestFunctionsForRegistration({ container, inngest, settings, }) {
455
+ const functions = this.loadInngestFunctions({ container, inngest, settings });
456
+ // Flatten nested arrays if any
457
+ const flattenedFunctions = functions.reduce((acc, curr) => {
458
+ if (Array.isArray(curr)) {
459
+ return [...acc, ...curr];
460
+ }
461
+ return [...acc, curr];
462
+ }, []);
463
+ // Filter out any placeholder or invalid functions
464
+ return flattenedFunctions.filter((fn) => {
465
+ // Ensure it's a valid Inngest function
466
+ // You can add more validation here based on Inngest's function structure
467
+ return fn && typeof fn === 'object' && fn.id;
468
+ });
469
+ }
470
+ }export{Feature,featureCatalog};//# sourceMappingURL=connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector.js","sources":["../../src/connector/connector.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './connector';
@@ -0,0 +1 @@
1
+ export declare const CACHE_CONTROL_DIRECTIVE = "cacheControl";
@@ -0,0 +1 @@
1
+ const CACHE_CONTROL_DIRECTIVE = 'cacheControl';export{CACHE_CONTROL_DIRECTIVE};//# sourceMappingURL=directives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directives.js","sources":["../../src/constants/directives.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAO,MAAM,uBAAuB,GAAG"}
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ export * from './directives';
@@ -0,0 +1,8 @@
1
+ export declare const TYPES: {
2
+ IHemeraSettings: symbol;
3
+ IDefaultSettings: symbol;
4
+ IDefaultSettingsObj: symbol;
5
+ IDefaultPermissions: symbol;
6
+ IDefaultPermissionsObj: symbol;
7
+ IDefaultRolesObj: symbol;
8
+ };
@@ -0,0 +1,8 @@
1
+ const TYPES = {
2
+ IHemeraSettings: Symbol.for('IHemeraSettings'),
3
+ IDefaultSettings: Symbol.for('IDefaultSettings'),
4
+ IDefaultSettingsObj: Symbol.for('IDefaultSettingsObj'),
5
+ IDefaultPermissions: Symbol.for('IDefaultPermissions'),
6
+ IDefaultPermissionsObj: Symbol.for('IDefaultPermissionsObj'),
7
+ IDefaultRolesObj: Symbol.for('IDefaultRolesObj'),
8
+ };export{TYPES};//# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../../src/constants/types.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAa,MAAA,KAAK,GAAG;AACjB,IAAA,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;AAE9C,IAAA,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAChD,IAAA,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC;AACtD,IAAA,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC;AACtD,IAAA,sBAAsB,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC;AAC5D,IAAA,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ export * from './connector';
2
+ export * from './interfaces';
3
+ export * from './constants';
4
+ export * from './logger';
5
+ export * from './utils';
6
+ export * from './moleculer-generation';
package/lib/index.js ADDED
@@ -0,0 +1 @@
1
+ export{Feature,featureCatalog}from'./connector/connector.js';export{GraphqlRootType}from'./interfaces/rules.js';export{TYPES}from'./constants/types.js';export{CACHE_CONTROL_DIRECTIVE}from'./constants/directives.js';export{logger}from'./logger/logger.js';export{getCurrentPreferences,transformPrefsToArray}from'./utils/preferences.js';export{generateQueryCacheKey}from'./utils/generate-query-cache-key.js';export{extractTenantId}from'./utils/extract-tenant-id.js';export{getDirectiveArgsFromSchema}from'./utils/get-directive-args-from-schema.js';export{buildActionPath,getActionName,getAllMethodNames,isExcludedMethod,toPascalCase}from'./moleculer-generation/serviceGenerationUtils.js';export{Moleculer}from'./moleculer-generation/moleculerEventHandler.js';export{createTypedAction,debugServiceParams,generateAutoInferredServiceActions,generateServiceActions,generateServiceActionsAndEvents,generateTypeSafeServiceActions,printServiceParams,verifyAllParamsDefined}from'./moleculer-generation/typedMoleculerService.js';export{ProxyService,generateProxyMethods}from'./moleculer-generation/typedProxyService.js';export{zodSchemasToMoleculer,zodToMoleculerParams}from'./moleculer-generation/zodToMoleculer.js';//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ import { CdmLogger } from '@cdm-logger/core';
2
+ export interface IResolverOptions {
3
+ pubsub: any;
4
+ logger?: CdmLogger.ILogger;
5
+ [key: string]: any;
6
+ }
7
+ export interface IWebsocketConfig {
8
+ [key: string]: any;
9
+ }
10
+ export interface IPreferencesData<T = any> {
11
+ type?: string | string[];
12
+ default?: string | boolean | number | any;
13
+ description?: string;
14
+ overridable?: boolean;
15
+ scope?: T;
16
+ settings?: string;
17
+ enum?: any;
18
+ enumDescriptions?: string[];
19
+ permissions?: {
20
+ [key: string]: string | boolean | unknown;
21
+ };
22
+ [key: string]: any;
23
+ }
24
+ export interface IPreferences<T = any> {
25
+ [key: string]: IPreferencesData<T>;
26
+ }
27
+ /**
28
+ * Formatted preferences data
29
+ */
30
+ export interface IPreferncesTransformed<T = any> {
31
+ type: string;
32
+ data: IPreferencesData<T>;
33
+ }
34
+ export interface IOverwritePreference {
35
+ [key: string]: string | boolean | number | any;
36
+ }
@@ -0,0 +1,14 @@
1
+ import type { KeyValueCache } from '@apollo/utils.keyvaluecache';
2
+ import type { Logger } from '@apollo/utils.logger';
3
+ import type { Fetcher } from '@apollo/utils.fetcher';
4
+ import { CdmLogger } from '@cdm-logger/core';
5
+ export interface IDataSourceConfig<TContext = unknown> {
6
+ context: TContext;
7
+ cache?: KeyValueCache;
8
+ fetch?: Fetcher;
9
+ logger?: Logger;
10
+ }
11
+ export interface IDirectiveOptions<T = unknown> extends Omit<IDataSourceConfig<T>, 'context'> {
12
+ [key: string]: any;
13
+ logger?: CdmLogger.ILogger;
14
+ }
@@ -0,0 +1,7 @@
1
+ export * from './connector';
2
+ export * from './mongo-migration';
3
+ export * from './rules';
4
+ export * from './roles';
5
+ export * from './permissions';
6
+ export * from './policies';
7
+ export * from './datasource';
@@ -0,0 +1,17 @@
1
+ export interface IMongoMigration {
2
+ up(): Promise<void>;
3
+ down(): Promise<void>;
4
+ }
5
+ export interface IDatabaseMigration {
6
+ /**
7
+ * ID of the migration, and it should be changed inorder to overwrite previous migration
8
+ * In format <string>_<date yyyymmdd>
9
+ */
10
+ id: string;
11
+ /**
12
+ * Name of the template
13
+ */
14
+ name: string;
15
+ up?(): Promise<void>;
16
+ down?(): Promise<void>;
17
+ }
@@ -0,0 +1,5 @@
1
+ import { IPreferences } from "./connector";
2
+ export interface IAddPermissions<T> {
3
+ createPermissions?: IPreferences<T>[] | IPreferences<T>;
4
+ overwritePermissions?: IPreferences<T>[] | IPreferences<T>;
5
+ }