@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.
- package/lib/__tests__/connector-inngest-arrays.test.d.ts +1 -0
- package/lib/connector/__tests__/container-connector.test.d.ts +2 -0
- package/lib/connector/__tests__/context-connector.test.d.ts +1 -0
- package/lib/connector/__tests__/fixtures/preferenfces/sample-settings.d.ts +98 -0
- package/lib/connector/__tests__/fixtures/sample-roles-permissions/account-api/permission-contribution.d.ts +90 -0
- package/lib/connector/__tests__/graphql-middleware.test.d.ts +1 -0
- package/lib/connector/__tests__/permissions.test.d.ts +1 -0
- package/lib/connector/__tests__/policies.test.d.ts +1 -0
- package/lib/connector/__tests__/preferences.test.d.ts +1 -0
- package/lib/connector/__tests__/roles-update-connector.test.d.ts +1 -0
- package/lib/connector/__tests__/rules-connector.test.d.ts +1 -0
- package/lib/connector/__tests__/samples/graphql/types/person_entity_type.d.ts +2 -0
- package/lib/connector/__tests__/samples/graphql/types/person_search_type.d.ts +2 -0
- package/lib/connector/__tests__/samples/graphql/types/vendor_type.d.ts +2 -0
- package/lib/connector/__tests__/schema-connector.test.d.ts +1 -0
- package/lib/connector/__tests__/service-connector.test.d.ts +2 -0
- package/lib/connector/__tests__/websocket-connector.test.d.ts +1 -0
- package/lib/connector/connector.d.ts +619 -0
- package/lib/connector/connector.js +470 -0
- package/lib/connector/connector.js.map +1 -0
- package/lib/connector/index.d.ts +1 -0
- package/lib/constants/directives.d.ts +1 -0
- package/lib/constants/directives.js +1 -0
- package/lib/constants/directives.js.map +1 -0
- package/lib/constants/index.d.ts +2 -0
- package/lib/constants/types.d.ts +8 -0
- package/lib/constants/types.js +8 -0
- package/lib/constants/types.js.map +1 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -0
- package/lib/interfaces/connector.d.ts +36 -0
- package/lib/interfaces/datasource.d.ts +14 -0
- package/lib/interfaces/index.d.ts +7 -0
- package/lib/interfaces/mongo-migration.d.ts +17 -0
- package/lib/interfaces/permissions.d.ts +5 -0
- package/lib/interfaces/policies.d.ts +5 -0
- package/lib/interfaces/roles.d.ts +8 -0
- package/lib/interfaces/rules.d.ts +12 -0
- package/lib/interfaces/rules.js +6 -0
- package/lib/interfaces/rules.js.map +1 -0
- package/lib/interfaces/store.d.ts +3 -0
- package/lib/logger/index.d.ts +1 -0
- package/lib/logger/logger.d.ts +2 -0
- package/lib/logger/logger.js +5 -0
- package/lib/logger/logger.js.map +1 -0
- package/lib/moleculer-generation/__tests__/integration-proxy-moleculer.test.d.ts +6 -0
- package/lib/moleculer-generation/__tests__/moleculerEventHandler.test.d.ts +5 -0
- package/lib/moleculer-generation/__tests__/serviceGenerationUtils.test.d.ts +5 -0
- package/lib/moleculer-generation/__tests__/typedMoleculerService.test.d.ts +5 -0
- package/lib/moleculer-generation/__tests__/typedProxyService.test.d.ts +5 -0
- package/lib/moleculer-generation/generateAllServiceSchemas.cjs +628 -0
- package/lib/moleculer-generation/index.d.ts +16 -0
- package/lib/moleculer-generation/moleculerEventHandler.d.ts +73 -0
- package/lib/moleculer-generation/moleculerEventHandler.js +91 -0
- package/lib/moleculer-generation/moleculerEventHandler.js.map +1 -0
- package/lib/moleculer-generation/serviceGenerationUtils.d.ts +100 -0
- package/lib/moleculer-generation/serviceGenerationUtils.js +156 -0
- package/lib/moleculer-generation/serviceGenerationUtils.js.map +1 -0
- package/lib/moleculer-generation/typedMoleculerService.d.ts +502 -0
- package/lib/moleculer-generation/typedMoleculerService.js +685 -0
- package/lib/moleculer-generation/typedMoleculerService.js.map +1 -0
- package/lib/moleculer-generation/typedProxyService.d.ts +119 -0
- package/lib/moleculer-generation/typedProxyService.js +226 -0
- package/lib/moleculer-generation/typedProxyService.js.map +1 -0
- package/lib/moleculer-generation/zodToMoleculer.d.ts +45 -0
- package/lib/moleculer-generation/zodToMoleculer.js +120 -0
- package/lib/moleculer-generation/zodToMoleculer.js.map +1 -0
- package/lib/utils/extract-tenant-id.d.ts +1 -0
- package/lib/utils/extract-tenant-id.js +4 -0
- package/lib/utils/extract-tenant-id.js.map +1 -0
- package/lib/utils/generate-query-cache-key.d.ts +11 -0
- package/lib/utils/generate-query-cache-key.js +13 -0
- package/lib/utils/generate-query-cache-key.js.map +1 -0
- package/lib/utils/get-directive-args-from-schema.d.ts +13 -0
- package/lib/utils/get-directive-args-from-schema.js +25 -0
- package/lib/utils/get-directive-args-from-schema.js.map +1 -0
- package/lib/utils/index.d.ts +4 -0
- package/lib/utils/preferences.d.ts +87 -0
- package/lib/utils/preferences.js +40 -0
- package/lib/utils/preferences.js.map +1 -0
- 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,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
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
|
package/lib/index.js.map
ADDED
|
@@ -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,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
|
+
}
|