blixify-server 0.2.23 → 0.2.24
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.
|
@@ -16,9 +16,10 @@ export declare class MongoWrapper {
|
|
|
16
16
|
tableId: string;
|
|
17
17
|
logId: string;
|
|
18
18
|
logWorkflow: any;
|
|
19
|
+
logCollectIds: string[];
|
|
19
20
|
debug: any;
|
|
20
21
|
modelChecker: (obj: any) => boolean;
|
|
21
|
-
constructor(mongoDB: any, collection: string, isProd: boolean, config: SecurityConfig, modelChecker: (obj: any, ignore?: boolean) => boolean, lib: WrapperLib, tableId?: string, logId?: string, logWorkflow?: (data: any) => Promise<any>, debug?: (reqBody: any, curBody: any, errMsg: any) => void);
|
|
22
|
+
constructor(mongoDB: any, collection: string, isProd: boolean, config: SecurityConfig, modelChecker: (obj: any, ignore?: boolean) => boolean, lib: WrapperLib, tableId?: string, logId?: string, logWorkflow?: (data: any) => Promise<any>, logCollectIds?: string[], debug?: (reqBody: any, curBody: any, errMsg: any) => void);
|
|
22
23
|
parseModel: (data: any) => any;
|
|
23
24
|
handleLogging: (mongoId: any, type: "create" | "update" | "delete", req: any, value?: {
|
|
24
25
|
new?: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongoWrapper.d.ts","sourceRoot":"","sources":["../../src/apis/mongoWrapper.ts"],"names":[],"mappings":"AASA,OAAO,cAAc,MAAM,yBAAyB,CAAC;AAGrD,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAgJD;;;;GAIG;AACH,qBAAa,YAAY;IACvB,OAAO,EAAE,GAAG,CAAM;IAClB,UAAU,SAAM;IAChB,MAAM,UAAS;IACf,MAAM,EAAE,cAAc,CAQpB;IACF,GAAG,EAAE,UAAU,CAAC;IAChB,OAAO,SAAM;IACb,KAAK,SAAM;IACX,WAAW,EAAE,GAAG,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;IAEX,YAAY,QAAS,GAAG,aAEtB;gBAGA,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,EACrD,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACzC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI;
|
|
1
|
+
{"version":3,"file":"mongoWrapper.d.ts","sourceRoot":"","sources":["../../src/apis/mongoWrapper.ts"],"names":[],"mappings":"AASA,OAAO,cAAc,MAAM,yBAAyB,CAAC;AAGrD,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAgJD;;;;GAIG;AACH,qBAAa,YAAY;IACvB,OAAO,EAAE,GAAG,CAAM;IAClB,UAAU,SAAM;IAChB,MAAM,UAAS;IACf,MAAM,EAAE,cAAc,CAQpB;IACF,GAAG,EAAE,UAAU,CAAC;IAChB,OAAO,SAAM;IACb,KAAK,SAAM;IACX,WAAW,EAAE,GAAG,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAM;IAC7B,KAAK,EAAE,GAAG,CAAC;IAEX,YAAY,QAAS,GAAG,aAEtB;gBAGA,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,EACrD,GAAG,EAAE,UAAU,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACzC,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI;IAgB3D,UAAU,SAAU,GAAG,SAIrB;IAEF,aAAa,YACF,GAAG,QACN,QAAQ,GAAG,QAAQ,GAAG,QAAQ,OAC/B,GAAG,UACA;QACN,GAAG,CAAC,EAAE,GAAG,CAAC;QACV,GAAG,CAAC,EAAE,GAAG,CAAC;KACX,mBA0DD;IAEF,eAAe,QACR,GAAG,OACH,GAAG,yBACc,GAAG,EAAE,KAAK,QAAQ,GAAG,CAAC;;mBAyE5C;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAkDtC;IAEF,OAAO,QAAe,GAAG,OAAO,GAAG;;mBAuCjC;IAEF,eAAe,QACR,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAgKtC;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAqGtC;IAEF,eAAe,QACR,GAAG,OACH,GAAG,yBACc,GAAG,EAAE,KAAK,QAAQ,GAAG,CAAC;;mBA0I5C;IAEF,UAAU,QACH,GAAG,OACH,GAAG,qBACU,GAAG,KAAK,QAAQ,GAAG,CAAC;;mBAwCtC;IAEF,mBAAmB,CAAC,GAAG,EAAE,GAAG;IA8N5B,QAAQ,QAAe,GAAG,OAAO,GAAG;;;;;mBAgQlC;IAEF,IAAI,YAgFF;CACH"}
|
|
@@ -168,7 +168,7 @@ const handleParseQueryFilter = (queryList, prefix) => {
|
|
|
168
168
|
*
|
|
169
169
|
*/
|
|
170
170
|
class MongoWrapper {
|
|
171
|
-
constructor(mongoDB, collection, isProd, config, modelChecker, lib, tableId, logId, logWorkflow, debug) {
|
|
171
|
+
constructor(mongoDB, collection, isProd, config, modelChecker, lib, tableId, logId, logWorkflow, logCollectIds, debug) {
|
|
172
172
|
this.mongoDB = "";
|
|
173
173
|
this.collection = "";
|
|
174
174
|
this.isProd = false;
|
|
@@ -183,6 +183,7 @@ class MongoWrapper {
|
|
|
183
183
|
};
|
|
184
184
|
this.tableId = "";
|
|
185
185
|
this.logId = "";
|
|
186
|
+
this.logCollectIds = [];
|
|
186
187
|
// eslint-disable-next-line
|
|
187
188
|
this.modelChecker = (obj) => {
|
|
188
189
|
return false;
|
|
@@ -228,6 +229,14 @@ class MongoWrapper {
|
|
|
228
229
|
userRole,
|
|
229
230
|
organisationId,
|
|
230
231
|
};
|
|
232
|
+
if ((type === "create" || type === "update") &&
|
|
233
|
+
this.logCollectIds.length > 0) {
|
|
234
|
+
this.logCollectIds.forEach((collectId) => {
|
|
235
|
+
if (dataDoc[collectId] !== undefined) {
|
|
236
|
+
logItem[collectId] = dataDoc[collectId];
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
}
|
|
231
240
|
const mongoLogCollection = this.mongoDB
|
|
232
241
|
.db(this.tableId)
|
|
233
242
|
.collection(this.logId);
|
|
@@ -1055,6 +1064,7 @@ class MongoWrapper {
|
|
|
1055
1064
|
* limit - number (Optional)
|
|
1056
1065
|
* sort - Array Sort or Sort interface (Optional)
|
|
1057
1066
|
* stopLimit - boolean to retreive all data (Optional)
|
|
1067
|
+
* uniqueLabel - string to ensure uniqueness of a field across returned documents (Optional)
|
|
1058
1068
|
*/
|
|
1059
1069
|
router.post("/list", (req, res) => {
|
|
1060
1070
|
this.initList(req, res);
|
|
@@ -1071,12 +1081,13 @@ class MongoWrapper {
|
|
|
1071
1081
|
this.tableId = tableId ? `${tableId}-${tableSuffix}` : tableSuffix;
|
|
1072
1082
|
this.logId = logId !== null && logId !== void 0 ? logId : "";
|
|
1073
1083
|
this.logWorkflow = logWorkflow;
|
|
1084
|
+
this.logCollectIds = logCollectIds !== null && logCollectIds !== void 0 ? logCollectIds : [];
|
|
1074
1085
|
this.debug = debug;
|
|
1075
1086
|
}
|
|
1076
1087
|
handleBuildPipeline(req) {
|
|
1077
1088
|
const pipelineList = [];
|
|
1078
1089
|
const addedForeignLookups = new Map();
|
|
1079
|
-
const { query, sort, cursor, limit, stopLimit, pipeline } = req.body;
|
|
1090
|
+
const { query, sort, cursor, limit, stopLimit, pipeline, uniqueLabel } = req.body;
|
|
1080
1091
|
try {
|
|
1081
1092
|
if (Array.isArray(pipeline) && pipeline.length > 0) {
|
|
1082
1093
|
pipeline.forEach((link) => {
|
|
@@ -1227,6 +1238,17 @@ class MongoWrapper {
|
|
|
1227
1238
|
pipelineList.push(sortStage);
|
|
1228
1239
|
}
|
|
1229
1240
|
}
|
|
1241
|
+
if (uniqueLabel) {
|
|
1242
|
+
pipelineList.push({
|
|
1243
|
+
$group: {
|
|
1244
|
+
_id: `$${uniqueLabel}`,
|
|
1245
|
+
doc: { $first: "$$ROOT" },
|
|
1246
|
+
},
|
|
1247
|
+
});
|
|
1248
|
+
pipelineList.push({
|
|
1249
|
+
$replaceRoot: { newRoot: "$doc" },
|
|
1250
|
+
});
|
|
1251
|
+
}
|
|
1230
1252
|
if (cursor) {
|
|
1231
1253
|
pipelineList.push({ $skip: Number.parseInt(cursor) });
|
|
1232
1254
|
}
|
package/dist/model/Log.d.ts
CHANGED
package/dist/model/Log.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Log.d.ts","sourceRoot":"","sources":["../../src/model/Log.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,GACT,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,SAAS,GACT,MAAM,GACN,QAAQ,GACR,SAAS,GACT,OAAO,GACP,MAAM,GACN,eAAe,GACf,cAAc,GACd,WAAW,GACX,QAAQ,GACR,SAAS,GACT,cAAc,GACd,MAAM,GACN,eAAe,GACf,YAAY,GACZ,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,QAAQ,CAAC;CACvB;AACD,MAAM,WAAW,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Log.d.ts","sourceRoot":"","sources":["../../src/model/Log.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,GACT,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,SAAS,GACT,MAAM,GACN,QAAQ,GACR,SAAS,GACT,OAAO,GACP,MAAM,GACN,eAAe,GACf,cAAc,GACd,WAAW,GACX,QAAQ,GACR,SAAS,GACT,cAAc,GACd,MAAM,GACN,eAAe,GACf,YAAY,GACZ,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,QAAQ,CAAC;CACvB;AACD,MAAM,WAAW,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
|