corebasic 1.0.269 → 1.0.271
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/dist/libs/dip.js +1 -0
- package/dist/libs/elabase.js +3 -0
- package/dist/libs/features.js +16 -0
- package/libs/dip.ts +1 -0
- package/libs/elabase.ts +4 -0
- package/libs/features.ts +19 -0
- package/package.json +1 -1
package/dist/libs/dip.js
CHANGED
|
@@ -17,6 +17,7 @@ export const customMeta = Elabase.customMeta;
|
|
|
17
17
|
export const schema = Elabase.schema;
|
|
18
18
|
export const DipMeta = Elabase.DipMeta;
|
|
19
19
|
export const isDipMeta = Elabase.isDipMeta;
|
|
20
|
+
export const getCollectionEntry = Elabase.getCollectionEntry;
|
|
20
21
|
export const excludeCollectionConfig = Elabase.excludeCollectionConfig;
|
|
21
22
|
export const includeCollectionConfig = Elabase.includeCollectionConfig;
|
|
22
23
|
export const shard_stats = Elabase.shard_stats;
|
package/dist/libs/elabase.js
CHANGED
|
@@ -218,6 +218,9 @@ function init_collections_config() {
|
|
|
218
218
|
}
|
|
219
219
|
if (COLLECTIONS_JSON)
|
|
220
220
|
init_collections_config();
|
|
221
|
+
export function getCollectionEntry(collection) {
|
|
222
|
+
return COLLECTIONS_JSON[collection];
|
|
223
|
+
}
|
|
221
224
|
const EXCLUDED_COLLECTIONS_CONFIG = {};
|
|
222
225
|
export function excludeCollectionConfig(collection) {
|
|
223
226
|
EXCLUDED_COLLECTIONS_CONFIG[collection] = true;
|
package/dist/libs/features.js
CHANGED
|
@@ -234,10 +234,26 @@ const apiHandler = async (req, res) => {
|
|
|
234
234
|
throw { status: 404, message: `Param mut: "*" not allowed when mandatory.` };
|
|
235
235
|
if (feature.mut?.[0] === "*" && !feature.mut?.includes(req.body.params?.mut))
|
|
236
236
|
throw { status: 404, message: `Param mut: "${req.body.params?.mut}" doesn't exist in the mandatory configuration.` };
|
|
237
|
+
const collection_config = Dip.getCollectionEntry(leaf);
|
|
238
|
+
let _dipMeta;
|
|
239
|
+
if (collection_config) {
|
|
240
|
+
const company = typeof collection_config.company === "object" ? meta.company : collection_config.company;
|
|
241
|
+
const outlet = typeof collection_config.outlet === "object" ? meta.outlet : collection_config.outlet;
|
|
242
|
+
if (company === "GLOBAL" && outlet === "GLOBAL")
|
|
243
|
+
_dipMeta = Dip.globalMeta();
|
|
244
|
+
else if (outlet === "GLOBAL" && company)
|
|
245
|
+
_dipMeta = Dip.companyMeta(company);
|
|
246
|
+
else if (company === "GLOBAL" && outlet)
|
|
247
|
+
_dipMeta = Dip.outletMeta(outlet);
|
|
248
|
+
else if (company && outlet)
|
|
249
|
+
_dipMeta = Dip.customMeta(company, outlet);
|
|
250
|
+
}
|
|
251
|
+
const dipMeta = _dipMeta;
|
|
237
252
|
const message = {
|
|
238
253
|
meta,
|
|
239
254
|
data: req.body.data,
|
|
240
255
|
params: featureless ? req.params : req.body.params,
|
|
256
|
+
dipMeta,
|
|
241
257
|
query: req.body.params?.opt && (feature.opt)?.includes(req.body.params?.opt) ? buildQuery(req.body.params?.opt ?? "_id", req.body.params?.id) : req.body.params?.id ? { _id: req.body.params?.id } : undefined,
|
|
242
258
|
update: req.body.params?.mut && (feature.mut)?.includes(req.body.params?.mut) ? { $set: { [req.body.params.mut.split(":")[0]]: req.body.data[req.body.params.mut], ...Dip.updateKeys({ meta }) } } : undefined,
|
|
243
259
|
};
|
package/libs/dip.ts
CHANGED
|
@@ -21,6 +21,7 @@ export const schema = Elabase.schema
|
|
|
21
21
|
export type DipMeta = Elabase.DipMeta;
|
|
22
22
|
export const DipMeta = Elabase.DipMeta;
|
|
23
23
|
export const isDipMeta = Elabase.isDipMeta
|
|
24
|
+
export const getCollectionEntry = Elabase.getCollectionEntry
|
|
24
25
|
export const excludeCollectionConfig = Elabase.excludeCollectionConfig
|
|
25
26
|
export const includeCollectionConfig = Elabase.includeCollectionConfig
|
|
26
27
|
|
package/libs/elabase.ts
CHANGED
|
@@ -299,6 +299,10 @@ function init_collections_config() {
|
|
|
299
299
|
if (COLLECTIONS_JSON)
|
|
300
300
|
init_collections_config()
|
|
301
301
|
|
|
302
|
+
export function getCollectionEntry(collection: string): CollectionConfig {
|
|
303
|
+
return COLLECTIONS_JSON[collection]!
|
|
304
|
+
}
|
|
305
|
+
|
|
302
306
|
const EXCLUDED_COLLECTIONS_CONFIG: Record<string, boolean> = {}
|
|
303
307
|
export function excludeCollectionConfig(collection: string) {
|
|
304
308
|
EXCLUDED_COLLECTIONS_CONFIG[collection] = true
|
package/libs/features.ts
CHANGED
|
@@ -63,6 +63,7 @@ type FeatureMessage<I = unknown, T extends keyof Schema = keyof Schema> = {
|
|
|
63
63
|
meta: FeatureMeta & { topic: T }
|
|
64
64
|
data: I
|
|
65
65
|
params: FeatureParams
|
|
66
|
+
dipMeta: Dip.DipMeta
|
|
66
67
|
query?: unknown // This is the buildQuery not the express query
|
|
67
68
|
update?: unknown // This is the buildUpdate
|
|
68
69
|
|
|
@@ -370,10 +371,28 @@ const apiHandler = async (req: ExpressRequest, res: ExpressResponse) => {
|
|
|
370
371
|
throw { status: 404, message: `Param mut: "${req.body.params?.mut}" doesn't exist in the mandatory configuration.` }
|
|
371
372
|
|
|
372
373
|
|
|
374
|
+
const collection_config = Dip.getCollectionEntry(leaf)
|
|
375
|
+
let _dipMeta
|
|
376
|
+
if (collection_config) {
|
|
377
|
+
const company = typeof collection_config.company === "object" ? meta.company : collection_config.company
|
|
378
|
+
const outlet = typeof collection_config.outlet === "object" ? meta.outlet : collection_config.outlet
|
|
379
|
+
if (company === "GLOBAL" && outlet === "GLOBAL")
|
|
380
|
+
_dipMeta = Dip.globalMeta()
|
|
381
|
+
else if (outlet === "GLOBAL" && company)
|
|
382
|
+
_dipMeta = Dip.companyMeta(company as string)
|
|
383
|
+
else if (company === "GLOBAL" && outlet)
|
|
384
|
+
_dipMeta = Dip.outletMeta(outlet as string)
|
|
385
|
+
else if (company && outlet)
|
|
386
|
+
_dipMeta = Dip.customMeta(company as string, outlet as string)
|
|
387
|
+
}
|
|
388
|
+
const dipMeta = _dipMeta as Dip.DipMeta
|
|
389
|
+
|
|
390
|
+
|
|
373
391
|
const message: FeatureMessage = {
|
|
374
392
|
meta,
|
|
375
393
|
data: req.body.data,
|
|
376
394
|
params: featureless ? req.params : req.body.params!,
|
|
395
|
+
dipMeta,
|
|
377
396
|
query: req.body.params?.opt && (feature.opt!)?.includes(req.body.params?.opt as string) ? buildQuery(req.body.params?.opt ?? "_id", req.body.params?.id) : req.body.params?.id ? {_id: req.body.params?.id} : undefined,
|
|
378
397
|
update: req.body.params?.mut && (feature.mut!)?.includes(req.body.params?.mut as string) ? { $set: { [req.body.params!.mut.split(":")[0] as string]: (req.body.data as Record<string, unknown>)[req.body.params!.mut], ...Dip.updateKeys({meta}) } } : undefined,
|
|
379
398
|
|