@starklabs/forge 1.3.18 → 1.3.20

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.
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/js/crud/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAcpE,QAAA,MAAM,MAAM,GAAI,qDAKb;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAuGzD,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/js/crud/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAcpE,QAAA,MAAM,MAAM,GAAI,qDAKb;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAyGzD,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -40,7 +40,7 @@ const create = ({ modelName, routeName, routeObj, validationsObj, }) => {
40
40
  hashedFields,
41
41
  },
42
42
  };
43
- await runActions(routeObj.actions?.before, {
43
+ let modifiedResponse = await runActions(routeObj.actions?.before, {
44
44
  operation: "create",
45
45
  ...ActionObj,
46
46
  });
@@ -76,14 +76,15 @@ const create = ({ modelName, routeName, routeObj, validationsObj, }) => {
76
76
  details: getErrorDetail(routeObj),
77
77
  });
78
78
  }
79
- await runActions(routeObj.actions?.after, {
79
+ const cleaned = sanitizeOne(newItem.toObject(), routeObj);
80
+ modifiedResponse = await runActions(routeObj.actions?.after, {
80
81
  ...ActionObj,
81
82
  operation: "create",
82
- item: newItem,
83
+ item: cleaned,
83
84
  });
84
85
  appResponse({
85
86
  res,
86
- data: sanitizeOne(newItem.toObject(), routeObj),
87
+ data: modifiedResponse ?? cleaned,
87
88
  message: "Item created successfully!",
88
89
  });
89
90
  };
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/js/crud/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/js/crud/create.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/js/crud/read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAKpE,QAAA,MAAM,IAAI,GAAI,qCAIX;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAiCzD,CAAC;AACF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/js/crud/read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAKpE,QAAA,MAAM,IAAI,GAAI,qCAIX;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAuDzD,CAAC;AACF,eAAe,IAAI,CAAC"}
@@ -1,12 +1,22 @@
1
1
  import getItem from "./utils/getItem.js";
2
2
  import appResponse from "../utils/response.js";
3
3
  import getParam from "./utils/getParam.js";
4
- import getValidationKey from "../utils/validationKeyError.js";
5
4
  import authorizeAccess from "./utils/authorizeAccess.js";
6
5
  import handleDecryption from "./encryption/handleDecryption.js";
6
+ import runActions from "./utils/runActions.js";
7
7
  const read = ({ modelName, routeName, routeObj, }) => {
8
8
  return async (req, res) => {
9
9
  const id = getParam({ req, routeObj });
10
+ const ActionObj = {
11
+ req,
12
+ user: req.user,
13
+ routeName,
14
+ modelName,
15
+ };
16
+ let modifiedResponse = await runActions(routeObj.actions?.before, {
17
+ operation: "read",
18
+ ...ActionObj,
19
+ });
10
20
  const item = await getItem({
11
21
  modelName,
12
22
  routeName,
@@ -20,9 +30,16 @@ const read = ({ modelName, routeName, routeObj, }) => {
20
30
  if (idExcluded)
21
31
  delete item["_id"];
22
32
  const decryption = await handleDecryption(item, routeObj);
33
+ modifiedResponse = await runActions(routeObj.actions?.after, {
34
+ operation: "read",
35
+ ...ActionObj,
36
+ data: {
37
+ decryptedFields: decryption,
38
+ },
39
+ });
23
40
  appResponse({
24
41
  res,
25
- data: { ...item, ...decryption },
42
+ data: modifiedResponse ?? { ...item, ...decryption },
26
43
  message: "Item found successfully!",
27
44
  });
28
45
  };
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/js/crud/read.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAE3C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAEhE,MAAM,IAAI,GAAG,CAAC,EACZ,SAAS,EACT,SAAS,EACT,QAAQ,GAMT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAIvC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,SAAS;YACT,SAAS;YACT,GAAG,EAAE,EAAY;YACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ;SACT,CAAC,CAAC;QAGH,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ;YAChC,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAGtD,MAAM,UAAU,GACd,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,UAAU;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QAGnC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAG1D,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE;YAChC,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/js/crud/read.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAE3C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,IAAI,GAAG,CAAC,EACZ,SAAS,EACT,SAAS,EACT,QAAQ,GAMT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAGvC,MAAM,SAAS,GAAG;YAChB,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS;YACT,SAAS;SACV,CAAC;QAGF,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YAChE,SAAS,EAAE,MAAM;YACjB,GAAG,SAAS;SACb,CAAC,CAAC;QAGH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,SAAS;YACT,SAAS;YACT,GAAG,EAAE,EAAY;YACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ;SACT,CAAC,CAAC;QAGH,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ;YAChC,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAGtD,MAAM,UAAU,GACd,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,UAAU;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QAGnC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAG1D,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE;YAC3D,SAAS,EAAE,MAAM;YACjB,GAAG,SAAS;YACZ,IAAI,EAAE;gBACJ,eAAe,EAAE,UAAU;aAC5B;SACF,CAAC,CAAC;QAGH,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,gBAAgB,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE;YACpD,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,IAAI,CAAC"}
@@ -1,10 +1,9 @@
1
1
  import type { Request, Response } from "express";
2
- import type { Route, ValidationsObj } from "../types/Collection.js";
3
- declare const read: ({ modelName, routeName, routeObj, validationsObj, }: {
2
+ import type { Route } from "../types/Collection.js";
3
+ declare const read: ({ modelName, routeName, routeObj, }: {
4
4
  modelName: string;
5
5
  routeName: string;
6
6
  routeObj: Route;
7
- validationsObj: ValidationsObj;
8
7
  }) => (req: Request, res: Response) => Promise<void>;
9
8
  export default read;
10
9
  //# sourceMappingURL=readAll.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"readAll.d.ts","sourceRoot":"","sources":["../../../src/js/crud/readAll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIpE,QAAA,MAAM,IAAI,GAAI,qDAKX;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CA2CzD,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"readAll.d.ts","sourceRoot":"","sources":["../../../src/js/crud/readAll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAKpD,QAAA,MAAM,IAAI,GAAI,qCAIX;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;CACjB,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAiEzD,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1,9 +1,20 @@
1
1
  import getItem from "./utils/getItem.js";
2
2
  import appResponse from "../utils/response.js";
3
3
  import authorizeAccess from "./utils/authorizeAccess.js";
4
+ import runActions from "./utils/runActions.js";
4
5
  import handleDecryption from "./encryption/handleDecryption.js";
5
- const read = ({ modelName, routeName, routeObj, validationsObj, }) => {
6
+ const read = ({ modelName, routeName, routeObj, }) => {
6
7
  return async (req, res) => {
8
+ const ActionObj = {
9
+ req,
10
+ user: req.user,
11
+ routeName,
12
+ modelName,
13
+ };
14
+ let modifiedResponse = await runActions(routeObj.actions?.before, {
15
+ operation: "readAll",
16
+ ...ActionObj,
17
+ });
7
18
  const items = await getItem({
8
19
  modelName,
9
20
  routeName,
@@ -28,9 +39,15 @@ const read = ({ modelName, routeName, routeObj, validationsObj, }) => {
28
39
  ...decryption,
29
40
  };
30
41
  }));
42
+ modifiedResponse = await runActions(routeObj.actions?.after, {
43
+ operation: "readAll",
44
+ ...ActionObj,
45
+ item: decryptedItems,
46
+ result: decryptedItems,
47
+ });
31
48
  appResponse({
32
49
  res,
33
- data: decryptedItems,
50
+ data: modifiedResponse ?? decryptedItems,
34
51
  message: "Items found successfully!",
35
52
  });
36
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"readAll.js","sourceRoot":"","sources":["../../../src/js/crud/readAll.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAE/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAEhE,MAAM,IAAI,GAAG,CAAC,EACZ,SAAS,EACT,SAAS,EACT,QAAQ,EACR,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;YAC1B,SAAS;YACT,SAAS;YACT,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ;SACT,CAAC,CAAC;QAGH,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACnC,eAAe,CAAC;gBACd,QAAQ;gBACR,SAAS;gBACT,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;QAED,MAAM,UAAU,GACd,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAGjE,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAS,EAAE,EAAE;YAC5B,IAAI,UAAU;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;YAEnC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE1D,OAAO;gBACL,GAAG,IAAI;gBACP,GAAG,UAAU;aACd,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAGF,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,2BAA2B;SACrC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"readAll.js","sourceRoot":"","sources":["../../../src/js/crud/readAll.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAE/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAEhE,MAAM,IAAI,GAAG,CAAC,EACZ,SAAS,EACT,SAAS,EACT,QAAQ,GAKT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,SAAS,GAAG;YAChB,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS;YACT,SAAS;SACV,CAAC;QAGF,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YAChE,SAAS,EAAE,SAAS;YACpB,GAAG,SAAS;SACb,CAAC,CAAC;QAGH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;YAC1B,SAAS;YACT,SAAS;YACT,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ;SACT,CAAC,CAAC;QAGH,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACnC,eAAe,CAAC;gBACd,QAAQ;gBACR,SAAS;gBACT,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;QAED,MAAM,UAAU,GACd,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAGjE,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAS,EAAE,EAAE;YAC5B,IAAI,UAAU;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;YAEnC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE1D,OAAO;gBACL,GAAG,IAAI;gBACP,GAAG,UAAU;aACd,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAGF,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE;YAC3D,SAAS,EAAE,SAAS;YACpB,GAAG,SAAS;YACZ,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;QAGH,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,gBAAgB,IAAI,cAAc;YACxC,OAAO,EAAE,2BAA2B;SACrC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -23,7 +23,7 @@ const remove = ({ modelName, routeName, routeObj, }) => {
23
23
  modelName,
24
24
  Model,
25
25
  };
26
- await runActions(routeObj.actions?.before, {
26
+ let modifiedResponse = await runActions(routeObj.actions?.before, {
27
27
  operation: "remove",
28
28
  ...ActionObj,
29
29
  });
@@ -32,16 +32,16 @@ const remove = ({ modelName, routeName, routeObj, }) => {
32
32
  const idExcluded = routeObj.mongooseConfigObj?.hiddenFieldsArray?.includes("_id");
33
33
  if (idExcluded)
34
34
  delete cleaned["_id"];
35
- await runActions(routeObj.actions?.after, {
35
+ modifiedResponse = await runActions(routeObj.actions?.after, {
36
36
  ...ActionObj,
37
- operation: "create",
38
- item: deletedItem,
37
+ operation: "remove",
38
+ item: cleaned,
39
39
  });
40
40
  appResponse({
41
41
  res,
42
42
  message: "Item deleted successfully!",
43
43
  statusCode: 202,
44
- data: cleaned,
44
+ data: modifiedResponse ?? cleaned,
45
45
  });
46
46
  };
47
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/js/crud/remove.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,MAAM,GAAG,CAAC,EACd,SAAS,EACT,SAAS,EACT,QAAQ,GAKT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAGvC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,SAAS;YACT,SAAS;YACT,GAAG,EAAE,EAAY;YACjB,QAAQ;SACT,CAAC,CAAC;QAGH,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAGpD,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAG3D,MAAM,SAAS,GAAG;YAChB,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS;YACT,SAAS;YACT,KAAK;SACN,CAAC;QAGF,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YACzC,SAAS,EAAE,QAAQ;YACnB,GAAG,SAAS;SACb,CAAC,CAAC;QAGH,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAGtD,MAAM,OAAO,GAAG,WAAW,CAAC,WAAY,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;QAG/D,MAAM,UAAU,GACd,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,UAAU;YAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QAGtC,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE;YACxC,GAAG,SAAS;YACZ,SAAS,EAAE,QAAQ;YACnB,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QAGH,WAAW,CAAC;YACV,GAAG;YACH,OAAO,EAAE,4BAA4B;YACrC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/js/crud/remove.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,MAAM,GAAG,CAAC,EACd,SAAS,EACT,SAAS,EACT,QAAQ,GAKT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAGvC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,SAAS;YACT,SAAS;YACT,GAAG,EAAE,EAAY;YACjB,QAAQ;SACT,CAAC,CAAC;QAGH,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAGpD,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAG3D,MAAM,SAAS,GAAG;YAChB,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS;YACT,SAAS;YACT,KAAK;SACN,CAAC;QAGF,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YAChE,SAAS,EAAE,QAAQ;YACnB,GAAG,SAAS;SACb,CAAC,CAAC;QAGH,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAGtD,MAAM,OAAO,GAAG,WAAW,CAAC,WAAY,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;QAG/D,MAAM,UAAU,GACd,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,UAAU;YAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QAGtC,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE;YAC3D,GAAG,SAAS;YACZ,SAAS,EAAE,QAAQ;YACnB,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;QAGH,WAAW,CAAC;YACV,GAAG;YACH,OAAO,EAAE,4BAA4B;YACrC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,gBAAgB,IAAI,OAAO;SAClC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"removeAll.d.ts","sourceRoot":"","sources":["../../../src/js/crud/removeAll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAC;AAIzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAKpD,QAAA,MAAM,SAAS,GAAI,qCAIhB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;CACjB,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAgCzD,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"removeAll.d.ts","sourceRoot":"","sources":["../../../src/js/crud/removeAll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAC;AAIzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAKpD,QAAA,MAAM,SAAS,GAAI,qCAIhB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;CACjB,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAsDzD,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -3,10 +3,22 @@ import appResponse from "../utils/response.js";
3
3
  import authorizeAccess from "./utils/authorizeAccess.js";
4
4
  import AppError from "../utils/AppError.js";
5
5
  import getErrorDetail from "../utils/getErrorDetail.js";
6
+ import runActions from "./utils/runActions.js";
6
7
  const removeAll = ({ modelName, routeName, routeObj, }) => {
7
8
  return async (req, res) => {
8
9
  authorizeAccess({ routeObj, routeName, req });
9
10
  const Model = getModel({ modelName, routeName, routeObj });
11
+ const ActionObj = {
12
+ req,
13
+ user: req.user,
14
+ routeName,
15
+ modelName,
16
+ Model,
17
+ };
18
+ let modifiedResponse = await runActions(routeObj.actions?.before, {
19
+ operation: "removeAll",
20
+ ...ActionObj,
21
+ });
10
22
  const result = await Model.deleteMany({});
11
23
  const notFound = !result || result.deletedCount === 0;
12
24
  if (notFound) {
@@ -17,9 +29,14 @@ const removeAll = ({ modelName, routeName, routeObj, }) => {
17
29
  details: getErrorDetail(routeObj),
18
30
  });
19
31
  }
32
+ modifiedResponse = await runActions(routeObj.actions?.before, {
33
+ operation: "removeAll",
34
+ ...ActionObj,
35
+ item: result,
36
+ });
20
37
  appResponse({
21
38
  res,
22
- data: {
39
+ data: modifiedResponse ?? {
23
40
  deletedCount: result.deletedCount,
24
41
  },
25
42
  message: "Items deleted successfully!",
@@ -1 +1 @@
1
- {"version":3,"file":"removeAll.js","sourceRoot":"","sources":["../../../src/js/crud/removeAll.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAGxD,MAAM,SAAS,GAAG,CAAC,EACjB,SAAS,EACT,SAAS,EACT,QAAQ,GAKT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAG9C,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAG3D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAG1C,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC;QAEtD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,0BAA0B;gBACnC,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,sCAAsC;gBAC5C,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAGD,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE;gBACJ,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC;YACD,OAAO,EAAE,6BAA6B;YACtC,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"removeAll.js","sourceRoot":"","sources":["../../../src/js/crud/removeAll.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,SAAS,GAAG,CAAC,EACjB,SAAS,EACT,SAAS,EACT,QAAQ,GAKT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAG9C,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAG3D,MAAM,SAAS,GAAG;YAChB,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS;YACT,SAAS;YACT,KAAK;SACN,CAAC;QAGF,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YAChE,SAAS,EAAE,WAAW;YACtB,GAAG,SAAS;SACb,CAAC,CAAC;QAGH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAG1C,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC;QAEtD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,0BAA0B;gBACnC,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,sCAAsC;gBAC5C,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAGD,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YAC5D,SAAS,EAAE,WAAW;YACtB,GAAG,SAAS;YACZ,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QAGH,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,gBAAgB,IAAI;gBACxB,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC;YACD,OAAO,EAAE,6BAA6B;YACtC,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"removeMultiple.d.ts","sourceRoot":"","sources":["../../../src/js/crud/removeMultiple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAC;AAIzD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAMpE,QAAA,MAAM,cAAc,GAAI,qDAKrB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAkDzD,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"removeMultiple.d.ts","sourceRoot":"","sources":["../../../src/js/crud/removeMultiple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAC;AAGzD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAOpE,QAAA,MAAM,cAAc,GAAI,qDAKrB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAwEzD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,14 +1,25 @@
1
1
  import getModel from "../utils/getModel.js";
2
2
  import appResponse from "../utils/response.js";
3
- import authorizeAccess from "./utils/authorizeAccess.js";
4
3
  import AppError from "../utils/AppError.js";
5
4
  import getValidationKey from "../utils/validationKeyError.js";
6
5
  import getErrorDetail from "../utils/getErrorDetail.js";
7
6
  import validate from "../utils/validate.js";
7
+ import runActions from "./utils/runActions.js";
8
8
  const removeMultiple = ({ modelName, routeName, routeObj, validationsObj, }) => {
9
9
  return async (req, res) => {
10
10
  const validationObj = getValidationKey(routeObj, validationsObj);
11
11
  const Model = getModel({ modelName, routeName, routeObj });
12
+ const ActionObj = {
13
+ req,
14
+ user: req.user,
15
+ routeName,
16
+ modelName,
17
+ Model,
18
+ };
19
+ let modifiedResponse = await runActions(routeObj.actions?.before, {
20
+ operation: "removeMultiple",
21
+ ...ActionObj,
22
+ });
12
23
  const body = validate(validationObj, req.body, routeObj);
13
24
  const idsFieldName = routeObj.mongooseConfigObj?.removeMultipleFieldKey;
14
25
  if (!idsFieldName)
@@ -31,9 +42,14 @@ const removeMultiple = ({ modelName, routeName, routeObj, validationsObj, }) =>
31
42
  details: getErrorDetail(routeObj),
32
43
  });
33
44
  }
45
+ modifiedResponse = await runActions(routeObj.actions?.before, {
46
+ operation: "removeMultiple",
47
+ ...ActionObj,
48
+ item: result,
49
+ });
34
50
  appResponse({
35
51
  res,
36
- data: {
52
+ data: modifiedResponse ?? {
37
53
  deletedCount: result.deletedCount,
38
54
  },
39
55
  message: "Items deleted successfully!",
@@ -1 +1 @@
1
- {"version":3,"file":"removeMultiple.js","sourceRoot":"","sources":["../../../src/js/crud/removeMultiple.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,MAAM,cAAc,GAAG,CAAC,EACtB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAKjE,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAG3D,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAGzD,MAAM,YAAY,GAAG,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;QACxE,IAAI,CAAC,YAAY;YACf,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;gBACjC,IAAI,EAAE,sHAAsH;gBAC5H,OAAO,EAAE,wBAAwB;gBACjC,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QAGL,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC;YACpC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE;YAChC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG;SACpB,CAAC,CAAC;QAGH,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC;QAEtD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,0BAA0B;gBACnC,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,kCAAkC,YAAY,qDAAqD;gBACzG,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAGD,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE;gBACJ,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC;YACD,OAAO,EAAE,6BAA6B;YACtC,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"removeMultiple.js","sourceRoot":"","sources":["../../../src/js/crud/removeMultiple.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAE/C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,cAAc,GAAG,CAAC,EACtB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAKjE,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAG3D,MAAM,SAAS,GAAG;YAChB,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS;YACT,SAAS;YACT,KAAK;SACN,CAAC;QAGF,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YAChE,SAAS,EAAE,gBAAgB;YAC3B,GAAG,SAAS;SACb,CAAC,CAAC;QAGH,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAGzD,MAAM,YAAY,GAAG,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;QACxE,IAAI,CAAC,YAAY;YACf,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;gBACjC,IAAI,EAAE,sHAAsH;gBAC5H,OAAO,EAAE,wBAAwB;gBACjC,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QAGL,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC;YACpC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE;YAChC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG;SACpB,CAAC,CAAC;QAGH,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC;QAEtD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,0BAA0B;gBACnC,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,kCAAkC,YAAY,qDAAqD;gBACzG,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAGD,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YAC5D,SAAS,EAAE,gBAAgB;YAC3B,GAAG,SAAS;YACZ,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QAGH,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,gBAAgB,IAAI;gBACxB,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC;YACD,OAAO,EAAE,6BAA6B;YACtC,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -36,7 +36,7 @@ const update = ({ modelName, routeName, routeObj, validationsObj, }) => {
36
36
  hashedFields,
37
37
  },
38
38
  };
39
- await runActions(routeObj.actions?.before, {
39
+ let modifiedResponse = await runActions(routeObj.actions?.before, {
40
40
  operation: "update",
41
41
  ...ActionObj,
42
42
  });
@@ -47,14 +47,14 @@ const update = ({ modelName, routeName, routeObj, validationsObj, }) => {
47
47
  const idExcluded = routeObj.mongooseConfigObj?.hiddenFieldsArray?.includes("_id");
48
48
  if (idExcluded)
49
49
  delete cleaned["_id"];
50
- await runActions(routeObj.actions?.after, {
50
+ modifiedResponse = await runActions(routeObj.actions?.after, {
51
51
  ...ActionObj,
52
- operation: "create",
53
- item: updatedItem,
52
+ operation: "update",
53
+ item: cleaned,
54
54
  });
55
55
  appResponse({
56
56
  res,
57
- data: cleaned,
57
+ data: modifiedResponse ?? cleaned,
58
58
  message: "Item updated successfully!",
59
59
  });
60
60
  };
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/js/crud/update.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,aAAa,MAAM,6BAA6B,CAAC;AACxD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,MAAM,GAAG,CAAC,EACd,SAAS,EACT,SAAS,EACT,QAAQ,EACR,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAGjE,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAGvC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAGzD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,SAAS;YACT,SAAS;YACT,GAAG,EAAE,EAAY;YACjB,QAAQ;SACT,CAAC,CAAC;QAGH,eAAe,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAGpD,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAGnE,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAG7D,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAG3D,MAAM,SAAS,GAAG;YAChB,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS;YACT,SAAS;YACT,KAAK;YACL,IAAI,EAAE;gBACJ,IAAI;gBACJ,eAAe;gBACf,YAAY;aACb;SACF,CAAC;QAGF,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YACzC,SAAS,EAAE,QAAQ;YACnB,GAAG,SAAS;SACb,CAAC,CAAC;QAGH,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAC/C,EAAE,EACF,EAAE,GAAG,IAAI,EAAE,GAAG,eAAe,EAAE,GAAG,YAAY,EAAE,EAChD;YACE,cAAc,EAAE,OAAO;SACxB,CACF,CAAC;QAGF,MAAM,OAAO,GAAG,WAAW,CAAC,WAAY,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;QAG/D,MAAM,UAAU,GACd,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,UAAU;YAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QAGtC,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE;YACxC,GAAG,SAAS;YACZ,SAAS,EAAE,QAAQ;YACnB,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QAGH,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,4BAA4B;SACtC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/js/crud/update.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Action } from "../../types/ActionHandler.js";
2
2
  import type { CreateContext } from "../../types/ActionHandler.js";
3
- declare const runActions: (actions: Action[] | undefined, context: CreateContext) => Promise<void>;
3
+ declare const runActions: (actions: Action[] | undefined, context: CreateContext) => Promise<any>;
4
4
  export default runActions;
5
5
  //# sourceMappingURL=runActions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runActions.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/utils/runActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,QAAA,MAAM,UAAU,GACd,SAAS,MAAM,EAAE,GAAG,SAAS,EAC7B,SAAS,aAAa,kBAWvB,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"runActions.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/utils/runActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,QAAA,MAAM,UAAU,GACd,SAAS,MAAM,EAAE,GAAG,SAAS,EAC7B,SAAS,aAAa,iBAiBvB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,12 +1,18 @@
1
1
  const runActions = async (actions, context) => {
2
+ let result = context.result;
2
3
  if (!actions?.length)
3
4
  return;
4
5
  const handlerMap = {
5
- custom: (item) => item.handler(context),
6
+ custom: async (item) => {
7
+ const output = await item.handler({ ...context, result });
8
+ if (output !== undefined)
9
+ result = output;
10
+ },
6
11
  };
7
12
  for (const item of actions) {
8
13
  await handlerMap[item.type](item);
9
14
  }
15
+ return result;
10
16
  };
11
17
  export default runActions;
12
18
  //# sourceMappingURL=runActions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runActions.js","sourceRoot":"","sources":["../../../../src/js/crud/utils/runActions.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,GAAG,KAAK,EACtB,OAA6B,EAC7B,OAAsB,EACtB,EAAE;IACF,IAAI,CAAC,OAAO,EAAE,MAAM;QAAE,OAAO;IAE7B,MAAM,UAAU,GAAwB;QACtC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;KAChD,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"runActions.js","sourceRoot":"","sources":["../../../../src/js/crud/utils/runActions.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,GAAG,KAAK,EACtB,OAA6B,EAC7B,OAAsB,EACtB,EAAE;IACF,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM;QAAE,OAAO;IAE7B,MAAM,UAAU,GAAwB;QACtC,MAAM,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,GAAG,MAAM,CAAC;QAC5C,CAAC;KACF,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -4,17 +4,19 @@ export interface CreateContext {
4
4
  req: Request;
5
5
  user: Request["user"];
6
6
  routeName: string;
7
- operation: "create" | "update" | "remove";
7
+ operation: "read" | "readAll" | "create" | "update" | "remove" | "removeMultiple" | "removeAll";
8
8
  modelName: string;
9
- Model: any;
9
+ Model?: any;
10
10
  data?: {
11
11
  owner?: string;
12
- body: any;
12
+ body?: any;
13
13
  fileMetaData?: any;
14
14
  encryptedFields?: any;
15
+ decryptedFields?: any;
15
16
  hashedFields?: any;
16
17
  };
17
- item?: Document;
18
+ item?: Document | Document[];
19
+ result?: any;
18
20
  }
19
21
  export interface Action {
20
22
  type: "custom" | "email";
@@ -1 +1 @@
1
- {"version":3,"file":"ActionHandler.d.ts","sourceRoot":"","sources":["../../../src/js/types/ActionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,GAAG,CAAC;IAEX,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,GAAG,CAAC;QACV,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,eAAe,CAAC,EAAE,GAAG,CAAC;QACtB,YAAY,CAAC,EAAE,GAAG,CAAC;KACpB,CAAC;IACF,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzB,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3D"}
1
+ {"version":3,"file":"ActionHandler.d.ts","sourceRoot":"","sources":["../../../src/js/types/ActionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,gBAAgB,GAAG,WAAW,CAAC;IAChG,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,GAAG,CAAC;IAEZ,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,eAAe,CAAC,EAAE,GAAG,CAAC;QACtB,eAAe,CAAC,EAAE,GAAG,CAAC;QACtB,YAAY,CAAC,EAAE,GAAG,CAAC;KACpB,CAAC;IACF,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzB,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@starklabs/forge",
3
- "version": "1.3.18",
3
+ "version": "1.3.20",
4
4
  "description": "A TypeScript-first Express framework for building production-ready APIs with zero boilerplate.",
5
5
  "type": "module",
6
6
  "main": "./dist/js/index.js",