blixify-server 0.2.22 → 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;IAe3D,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,mBA8CD;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;IAiN5B,QAAQ,QAAe,GAAG,OAAO,GAAG;;;;;mBAgQlC;IAEF,IAAI,YA+EF;CACH"}
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
  }
@@ -15,6 +15,7 @@ export interface Log {
15
15
  userId?: string;
16
16
  userRole?: string;
17
17
  organisationId?: string;
18
+ [key: string]: any;
18
19
  }
19
20
  export {};
20
21
  //# sourceMappingURL=Log.d.ts.map
@@ -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;CACzB"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blixify-server",
3
- "version": "0.2.22",
3
+ "version": "0.2.24",
4
4
  "license": "MIT",
5
5
  "main": "dist/apis/index.js",
6
6
  "private": false,
@@ -40,7 +40,6 @@
40
40
  "dependencies": {
41
41
  "@types/uuid": "^9.0.7",
42
42
  "axios": "^1.4.0",
43
- "blixify-ui-web": "^0.3.53",
44
43
  "crypto-js": "^4.2.0",
45
44
  "mime": "^3.0.0",
46
45
  "moment": "^2.29.4",