storemw-core-api 1.0.21 → 1.0.23

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.
Files changed (69) hide show
  1. package/dist/controllers/index.d.ts +1 -1
  2. package/dist/controllers/index.js +2 -2
  3. package/dist/controllers/index.js.map +1 -1
  4. package/dist/controllers/injection_field/injectionFieldController.d.ts +2 -2
  5. package/dist/controllers/injection_field/injectionFieldController.js +52 -31
  6. package/dist/controllers/injection_field/injectionFieldController.js.map +1 -1
  7. package/dist/models/ModelFactory.d.ts +2 -1
  8. package/dist/models/ModelFactory.js +12 -6
  9. package/dist/models/ModelFactory.js.map +1 -1
  10. package/dist/models/account/AccountModel.d.ts +2 -1
  11. package/dist/models/branch/BranchModel.d.ts +2 -1
  12. package/dist/models/branch_user/BranchUserModel.d.ts +2 -1
  13. package/dist/models/business/BusinessModel.d.ts +2 -1
  14. package/dist/models/group/GroupModel.d.ts +2 -1
  15. package/dist/models/group/GroupOwnerModel.d.ts +2 -1
  16. package/dist/models/injection_field/DocumentInjectionFieldModel.d.ts +2 -1
  17. package/dist/models/injection_field/InjectionFieldModel.d.ts +2 -1
  18. package/dist/models/injection_field/ItemInjectionFieldModel.d.ts +11 -2
  19. package/dist/models/injection_field/LogisticInjectionFieldModel.d.ts +2 -1
  20. package/dist/models/injection_field/RepositoryInjectionFieldModel.d.ts +2 -1
  21. package/dist/models/injection_field/UserInjectionFieldModel.d.ts +2 -1
  22. package/dist/models/item/BrandModel.d.ts +2 -1
  23. package/dist/models/item/CategoryModel.d.ts +2 -1
  24. package/dist/models/item/ItemModel.d.ts +2 -1
  25. package/dist/models/item/ProductModel.d.ts +2 -1
  26. package/dist/models/item/UomModel.d.ts +2 -1
  27. package/dist/models/location/LocationModel.d.ts +2 -1
  28. package/dist/models/location/LocationRackModel.d.ts +2 -1
  29. package/dist/models/location/LocationSlotModel.d.ts +2 -1
  30. package/dist/models/region/AreaModel.d.ts +2 -1
  31. package/dist/models/region/CountryModel.d.ts +2 -1
  32. package/dist/models/region/StateModel.d.ts +2 -1
  33. package/dist/models/user/AdministratorModel.d.ts +2 -1
  34. package/dist/models/user/CustomerModel.d.ts +2 -1
  35. package/dist/models/user/RetailerModel.d.ts +2 -1
  36. package/dist/models/user/UserModel.d.ts +2 -1
  37. package/dist/models/user/UserPropModel.d.ts +2 -1
  38. package/dist/models/user/UserStatusModel.d.ts +2 -1
  39. package/dist/models/user/WorkerModel.d.ts +2 -1
  40. package/dist/routes/injection_field/injectionFieldRoutes.js +1 -3
  41. package/dist/routes/injection_field/injectionFieldRoutes.js.map +1 -1
  42. package/dist/routes/injection_field/injectionFieldsRoutes.js +2 -0
  43. package/dist/routes/injection_field/injectionFieldsRoutes.js.map +1 -1
  44. package/dist/schema/payload/injection_field/schemaInjectionField.d.ts +509 -33
  45. package/dist/schema/payload/injection_field/schemaInjectionField.js +53 -23
  46. package/dist/schema/payload/injection_field/schemaInjectionField.js.map +1 -1
  47. package/dist/services/injection_field/DocumentInjectionFieldService.d.ts +1 -53
  48. package/dist/services/injection_field/DocumentInjectionFieldService.js +21 -4
  49. package/dist/services/injection_field/DocumentInjectionFieldService.js.map +1 -1
  50. package/dist/services/injection_field/ItemInjectionFieldService.d.ts +5 -54
  51. package/dist/services/injection_field/ItemInjectionFieldService.js +54 -12
  52. package/dist/services/injection_field/ItemInjectionFieldService.js.map +1 -1
  53. package/dist/services/injection_field/LogisticInjectionFieldService.d.ts +1 -14
  54. package/dist/services/injection_field/LogisticInjectionFieldService.js +21 -4
  55. package/dist/services/injection_field/LogisticInjectionFieldService.js.map +1 -1
  56. package/dist/services/injection_field/RepositoryInjectionFieldService.d.ts +1 -19
  57. package/dist/services/injection_field/RepositoryInjectionFieldService.js +21 -4
  58. package/dist/services/injection_field/RepositoryInjectionFieldService.js.map +1 -1
  59. package/dist/services/injection_field/UserInjectionFieldService.d.ts +1 -29
  60. package/dist/services/injection_field/UserInjectionFieldService.js +21 -4
  61. package/dist/services/injection_field/UserInjectionFieldService.js.map +1 -1
  62. package/dist/utils/index.d.ts +1 -1
  63. package/dist/utils/index.js +2 -1
  64. package/dist/utils/index.js.map +1 -1
  65. package/dist/utils/schemaUtils.d.ts +1 -0
  66. package/dist/utils/schemaUtils.js +14 -1
  67. package/dist/utils/schemaUtils.js.map +1 -1
  68. package/package.json +1 -1
  69. package/prisma/schema.prisma +17 -9
@@ -3,4 +3,4 @@ export { createUser, updateUser, getUser, listUsers, deleteUsers, getUserDataTyp
3
3
  export { createRegion, updateRegion, getRegion, listRegions, deleteRegions, getRegionDataTypes } from '../controllers/region/regionController';
4
4
  export { createLocation, updateLocation, getLocation, listLocations, deleteLocations, getLocationDataTypes } from '../controllers/location/locationController';
5
5
  export { createItem, updateItem, getItem, listItems, deleteItems, getItemDataTypes } from '../controllers/item/itemController';
6
- export { listInjectionFields, getInjectionField, replaceInjectionField, createInjectionField, deleteInjectionFields } from '../controllers/injection_field/injectionFieldController';
6
+ export { listInjectionFields, getInjectionField, replaceInjectionFields, createInjectionField, deleteInjectionFields } from '../controllers/injection_field/injectionFieldController';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deleteInjectionFields = exports.createInjectionField = exports.replaceInjectionField = exports.getInjectionField = exports.listInjectionFields = exports.getItemDataTypes = exports.deleteItems = exports.listItems = exports.getItem = exports.updateItem = exports.createItem = exports.getLocationDataTypes = exports.deleteLocations = exports.listLocations = exports.getLocation = exports.updateLocation = exports.createLocation = exports.getRegionDataTypes = exports.deleteRegions = exports.listRegions = exports.getRegion = exports.updateRegion = exports.createRegion = exports.getUserDataTypes = exports.deleteUsers = exports.listUsers = exports.getUser = exports.updateUser = exports.createUser = exports.getAuthToken = void 0;
3
+ exports.deleteInjectionFields = exports.createInjectionField = exports.replaceInjectionFields = exports.getInjectionField = exports.listInjectionFields = exports.getItemDataTypes = exports.deleteItems = exports.listItems = exports.getItem = exports.updateItem = exports.createItem = exports.getLocationDataTypes = exports.deleteLocations = exports.listLocations = exports.getLocation = exports.updateLocation = exports.createLocation = exports.getRegionDataTypes = exports.deleteRegions = exports.listRegions = exports.getRegion = exports.updateRegion = exports.createRegion = exports.getUserDataTypes = exports.deleteUsers = exports.listUsers = exports.getUser = exports.updateUser = exports.createUser = exports.getAuthToken = void 0;
4
4
  var authController_1 = require("../controllers/auth/authController");
5
5
  Object.defineProperty(exports, "getAuthToken", { enumerable: true, get: function () { return authController_1.getAuthToken; } });
6
6
  var userController_1 = require("../controllers/user/userController");
@@ -34,7 +34,7 @@ Object.defineProperty(exports, "getItemDataTypes", { enumerable: true, get: func
34
34
  var injectionFieldController_1 = require("../controllers/injection_field/injectionFieldController");
35
35
  Object.defineProperty(exports, "listInjectionFields", { enumerable: true, get: function () { return injectionFieldController_1.listInjectionFields; } });
36
36
  Object.defineProperty(exports, "getInjectionField", { enumerable: true, get: function () { return injectionFieldController_1.getInjectionField; } });
37
- Object.defineProperty(exports, "replaceInjectionField", { enumerable: true, get: function () { return injectionFieldController_1.replaceInjectionField; } });
37
+ Object.defineProperty(exports, "replaceInjectionFields", { enumerable: true, get: function () { return injectionFieldController_1.replaceInjectionFields; } });
38
38
  Object.defineProperty(exports, "createInjectionField", { enumerable: true, get: function () { return injectionFieldController_1.createInjectionField; } });
39
39
  Object.defineProperty(exports, "deleteInjectionFields", { enumerable: true, get: function () { return injectionFieldController_1.deleteInjectionFields; } });
40
40
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controllers/index.ts"],"names":[],"mappings":";;;AAAA,oEAAiE;AAAxD,8GAAA,YAAY,OAAA;AACrB,oEAA8H;AAArH,4GAAA,UAAU,OAAA;AAAE,4GAAA,UAAU,OAAA;AAAE,yGAAA,OAAO,OAAA;AAAE,2GAAA,SAAS,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AAClF,0EAA8I;AAArI,gHAAA,YAAY,OAAA;AAAE,gHAAA,YAAY,OAAA;AAAE,6GAAA,SAAS,OAAA;AAAE,+GAAA,WAAW,OAAA;AAAE,iHAAA,aAAa,OAAA;AAAE,sHAAA,kBAAkB,OAAA;AAC9F,gFAA8J;AAArJ,oHAAA,cAAc,OAAA;AAAE,oHAAA,cAAc,OAAA;AAAE,iHAAA,WAAW,OAAA;AAAE,mHAAA,aAAa,OAAA;AAAE,qHAAA,eAAe,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AAC1G,oEAA8H;AAArH,4GAAA,UAAU,OAAA;AAAE,4GAAA,UAAU,OAAA;AAAE,yGAAA,OAAO,OAAA;AAAE,2GAAA,SAAS,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AAClF,mGAAoL;AAA3K,+HAAA,mBAAmB,OAAA;AAAE,6HAAA,iBAAiB,OAAA;AAAE,iIAAA,qBAAqB,OAAA;AAAE,gIAAA,oBAAoB,OAAA;AAAE,iIAAA,qBAAqB,OAAA","sourcesContent":["export { getAuthToken } from '@/controllers/auth/authController';\nexport { createUser, updateUser, getUser, listUsers, deleteUsers, getUserDataTypes } from '@/controllers/user/userController';\nexport { createRegion, updateRegion, getRegion, listRegions, deleteRegions, getRegionDataTypes } from '@/controllers/region/regionController';\nexport { createLocation, updateLocation, getLocation, listLocations, deleteLocations, getLocationDataTypes } from '@/controllers/location/locationController';\nexport { createItem, updateItem, getItem, listItems, deleteItems, getItemDataTypes } from '@/controllers/item/itemController';\nexport { listInjectionFields, getInjectionField, replaceInjectionField, createInjectionField, deleteInjectionFields } from '@/controllers/injection_field/injectionFieldController';"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controllers/index.ts"],"names":[],"mappings":";;;AAAA,oEAAiE;AAAxD,8GAAA,YAAY,OAAA;AACrB,oEAA8H;AAArH,4GAAA,UAAU,OAAA;AAAE,4GAAA,UAAU,OAAA;AAAE,yGAAA,OAAO,OAAA;AAAE,2GAAA,SAAS,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AAClF,0EAA8I;AAArI,gHAAA,YAAY,OAAA;AAAE,gHAAA,YAAY,OAAA;AAAE,6GAAA,SAAS,OAAA;AAAE,+GAAA,WAAW,OAAA;AAAE,iHAAA,aAAa,OAAA;AAAE,sHAAA,kBAAkB,OAAA;AAC9F,gFAA8J;AAArJ,oHAAA,cAAc,OAAA;AAAE,oHAAA,cAAc,OAAA;AAAE,iHAAA,WAAW,OAAA;AAAE,mHAAA,aAAa,OAAA;AAAE,qHAAA,eAAe,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AAC1G,oEAA8H;AAArH,4GAAA,UAAU,OAAA;AAAE,4GAAA,UAAU,OAAA;AAAE,yGAAA,OAAO,OAAA;AAAE,2GAAA,SAAS,OAAA;AAAE,6GAAA,WAAW,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AAClF,mGAAqL;AAA5K,+HAAA,mBAAmB,OAAA;AAAE,6HAAA,iBAAiB,OAAA;AAAE,kIAAA,sBAAsB,OAAA;AAAE,gIAAA,oBAAoB,OAAA;AAAE,iIAAA,qBAAqB,OAAA","sourcesContent":["export { getAuthToken } from '@/controllers/auth/authController';\nexport { createUser, updateUser, getUser, listUsers, deleteUsers, getUserDataTypes } from '@/controllers/user/userController';\nexport { createRegion, updateRegion, getRegion, listRegions, deleteRegions, getRegionDataTypes } from '@/controllers/region/regionController';\nexport { createLocation, updateLocation, getLocation, listLocations, deleteLocations, getLocationDataTypes } from '@/controllers/location/locationController';\nexport { createItem, updateItem, getItem, listItems, deleteItems, getItemDataTypes } from '@/controllers/item/itemController';\nexport { listInjectionFields, getInjectionField, replaceInjectionFields, createInjectionField, deleteInjectionFields } from '@/controllers/injection_field/injectionFieldController';"]}
@@ -1,8 +1,8 @@
1
1
  import { Request, Response, NextFunction } from "express";
2
2
  /** injection_field : create injection field */
3
3
  export declare const createInjectionField: (req: Request, res: Response, next: NextFunction) => Promise<void>;
4
- /** injection_field : replace injection field */
5
- export declare const replaceInjectionField: (req: Request, res: Response, next: NextFunction) => Promise<void>;
4
+ /** injection_fields : replace injection fields */
5
+ export declare const replaceInjectionFields: (req: Request, res: Response, next: NextFunction) => Promise<void>;
6
6
  /** injection_field/definition/:id : get injection field (registered) */
7
7
  export declare const getInjectionField: (req: Request, res: Response, next: NextFunction) => Promise<any>;
8
8
  /** injection_fields/injection_field : list injection fields registered */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deleteInjectionFields = exports.listInjectionFields = exports.getInjectionField = exports.replaceInjectionField = exports.createInjectionField = void 0;
3
+ exports.deleteInjectionFields = exports.listInjectionFields = exports.getInjectionField = exports.replaceInjectionFields = exports.createInjectionField = void 0;
4
4
  const utils_1 = require("../../utils");
5
5
  const services_1 = require("../../services");
6
6
  const payload_1 = require("../../schema/payload");
@@ -10,6 +10,18 @@ const getRootName = (requestInjectionFieldType, toSingular) => {
10
10
  case "user":
11
11
  rootName = toSingular ? "injection_field" : "injection_fields";
12
12
  break;
13
+ case "item":
14
+ rootName = toSingular ? "injection_field" : "injection_fields";
15
+ break;
16
+ case "document":
17
+ rootName = toSingular ? "injection_field" : "injection_fields";
18
+ break;
19
+ case "repository":
20
+ rootName = toSingular ? "injection_field" : "injection_fields";
21
+ break;
22
+ case "logistic":
23
+ rootName = toSingular ? "injection_field" : "injection_fields";
24
+ break;
13
25
  }
14
26
  return rootName;
15
27
  };
@@ -56,8 +68,8 @@ const createInjectionField = async (req, res, next) => {
56
68
  }
57
69
  };
58
70
  exports.createInjectionField = createInjectionField;
59
- /** injection_field : replace injection field */
60
- const replaceInjectionField = async (req, res, next) => {
71
+ /** injection_fields : replace injection fields */
72
+ const replaceInjectionFields = async (req, res, next) => {
61
73
  try {
62
74
  const requestInjectionFieldType = req.body.scope.target;
63
75
  const injectionFieldService = (0, services_1.InjectionFieldService)({
@@ -67,44 +79,53 @@ const replaceInjectionField = async (req, res, next) => {
67
79
  let reqScope = req.body.scope;
68
80
  let reqPayload = req.body.payload;
69
81
  let response = {};
82
+ let request = payload_1.schemaInjectionFieldReplacePayload.parse({
83
+ scope: {
84
+ target: reqScope.target,
85
+ action: reqScope.action,
86
+ },
87
+ payload: reqPayload
88
+ });
89
+ let groupInjectionFields = [];
70
90
  if (requestInjectionFieldType === "user") {
71
- let request = payload_1.schemaInjectionFieldReplacePayload.parse({
72
- scope: {
73
- target: reqScope.target,
74
- action: reqScope.action,
75
- },
76
- payload: reqPayload
77
- });
78
- let b = (0, payload_1.groupPayloadInjectionFields)(request.payload.injection_fields, {
91
+ groupInjectionFields = (0, payload_1.groupPayloadInjectionFields)(request.payload.injection_fields, {
79
92
  user: "userId",
80
93
  branch: "branchId",
81
94
  });
82
- // console.log('request', JSON.stringify(b))
83
- const responseAll = await Promise.all(b.map(async (i) => {
84
- const payload = {
85
- injectionFieldType: requestInjectionFieldType,
86
- data: i,
87
- };
88
- try {
89
- return injectionFieldService.replaceInjectionField(payload);
90
- }
91
- catch (error) {
92
- // console.log('err', error)
93
- return error;
94
- }
95
- }));
96
- // console.log('responseAll', JSON.stringify(responseAll))
97
- response = {
98
- [`${getRootName(requestInjectionFieldType, true)}`]: responseAll
99
- };
100
95
  }
101
- (0, utils_1.sendSuccess)(res, response, `Injection Field(${requestInjectionFieldType}) replaced successfully`);
96
+ if (requestInjectionFieldType === "item") {
97
+ groupInjectionFields = (0, payload_1.groupPayloadInjectionFields)(request.payload.injection_fields, {}, {
98
+ item: "itemId",
99
+ product: "productId",
100
+ category: "categoryId",
101
+ brand: "brandId",
102
+ uom: "uomId",
103
+ });
104
+ }
105
+ const responseAll = await Promise.all(groupInjectionFields.map(async (i) => {
106
+ const payload = {
107
+ injectionFieldType: requestInjectionFieldType,
108
+ data: i,
109
+ };
110
+ try {
111
+ return injectionFieldService.replaceInjectionField(payload);
112
+ }
113
+ catch (error) {
114
+ // console.log('err', error)
115
+ return error;
116
+ }
117
+ }));
118
+ // console.log('responseAll', JSON.stringify(responseAll))
119
+ response = {
120
+ [`${getRootName(requestInjectionFieldType, false)}`]: responseAll
121
+ };
122
+ (0, utils_1.sendSuccess)(res, response, `Injection Fields(${requestInjectionFieldType}) replaced successfully`);
102
123
  }
103
124
  catch (err) {
104
125
  next(err);
105
126
  }
106
127
  };
107
- exports.replaceInjectionField = replaceInjectionField;
128
+ exports.replaceInjectionFields = replaceInjectionFields;
108
129
  /** injection_field/definition/:id : get injection field (registered) */
109
130
  const getInjectionField = async (req, res, next) => {
110
131
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"injectionFieldController.js","sourceRoot":"","sources":["../../../src/controllers/injection_field/injectionFieldController.ts"],"names":[],"mappings":"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","sourcesContent":["import { Request, Response, NextFunction } from \"express\";\n\nimport { getDefaultServiceProps, sendSuccess, sendError, HTTP_STATUS } from \"@/utils\"\n\nimport { InjectionFieldModuleRef, InjectionFieldService, InjectionFieldListProps, InjectionFieldServiceProps, InjectionFieldCreateProps, InjectionFieldReplaceProps } from \"@/services\"\nimport { schemaInjectionFieldReplacePayload, schemaInjectionFieldCreatePayload, schemaInjectionFieldDeletePayload, groupPayloadInjectionFields } from \"@/schema/payload\";\nimport { QueryList } from \"@/schema/middleware/route\";\n\nconst getRootName = (requestInjectionFieldType: InjectionFieldServiceProps[\"injectionFieldType\"], toSingular: boolean) => {\n\n let rootName: any = ``\n\n switch (requestInjectionFieldType) {\n case \"user\": rootName = toSingular ? \"injection_field\" : \"injection_fields\"; break;\n }\n\n return rootName\n}\n\n/** injection_field : create injection field */\nexport const createInjectionField = async (req: Request, res: Response, next: NextFunction): Promise<void> => {\n try {\n\n // const requestUserType = req.body.scope.target as InjectionFieldServiceProps[\"injectionFieldType\"]\n\n const injectionFieldService = InjectionFieldService({\n ...getDefaultServiceProps(req),\n injectionFieldType: \"user\"\n })\n\n let response: any = {}\n\n let reqScope = req.body.scope\n let reqPayload = req.body.payload\n\n let request = schemaInjectionFieldCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n injection_fields: reqPayload?.injection_fields.map((i: any) => ({\n field_module: `${i.field_module}`,\n field_ref: `${i.field_ref}`,\n field_key: `${i.field_key}`,\n field_type: `${i.field_type}`,\n }))\n }\n })\n\n response = await Promise.all(\n request.payload.injection_fields.map(i => {\n const payload: InjectionFieldCreateProps = {\n data: {\n ...i,\n is_multiple: false,\n merge_multiple_inline: false,\n multiple_count: false,\n },\n };\n\n return injectionFieldService.createInjectionField(payload);\n })\n );\n\n sendSuccess(res, response, `Injection Fields created successfully`, `injection_field`)\n\n } catch (error: any) {\n next(error);\n }\n};\n\n/** injection_field : replace injection field */\nexport const replaceInjectionField = async (req: Request, res: Response, next: NextFunction): Promise<void> => {\n try {\n\n const requestInjectionFieldType = req.body.scope.target as InjectionFieldServiceProps[\"injectionFieldType\"]\n\n const injectionFieldService = InjectionFieldService({\n ...getDefaultServiceProps(req),\n injectionFieldType: requestInjectionFieldType\n })\n\n let reqScope = req.body.scope\n let reqPayload = req.body.payload\n\n let response: any = {}\n\n if (requestInjectionFieldType === \"user\") {\n\n let request = schemaInjectionFieldReplacePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action,\n },\n payload: reqPayload\n })\n\n let b = groupPayloadInjectionFields(request.payload.injection_fields, {\n user: \"userId\",\n branch: \"branchId\",\n });\n\n // console.log('request', JSON.stringify(b))\n\n const responseAll = await Promise.all(\n b.map(async (i) => {\n const payload = {\n injectionFieldType: requestInjectionFieldType,\n data: i as InjectionFieldReplaceProps[\"data\"],\n };\n\n try {\n return injectionFieldService.replaceInjectionField(payload);\n } catch (error) {\n // console.log('err', error)\n return error\n }\n\n })\n );\n\n // console.log('responseAll', JSON.stringify(responseAll))\n\n response = {\n [`${getRootName(requestInjectionFieldType, true)}`]: responseAll\n }\n\n }\n\n sendSuccess(res, response, `Injection Field(${requestInjectionFieldType}) replaced successfully`)\n\n } catch (err: any) {\n next(err);\n }\n};\n\n/** injection_field/definition/:id : get injection field (registered) */\nexport const getInjectionField = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n try {\n\n const { id } = req.params;\n const requestQuery = req.query as unknown as QueryList;\n\n const injectionFieldService = InjectionFieldService({\n ...getDefaultServiceProps(req),\n injectionFieldType: \"user\" // any\n })\n\n const data = await injectionFieldService.getInjectionField({ id: Number(id), datatypes: requestQuery.datatypes })\n\n return sendSuccess(res, data, \"Retrieved successfully\", `injection_field`);\n\n } catch (error: any) {\n next(error);\n }\n}\n\n/** injection_fields/injection_field : list injection fields registered */\nexport const listInjectionFields = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n const requestQuery = req.query as unknown as QueryList;\n // const requestInjectionFieldType = req.params.locationType as InjectionFieldServiceProps[\"injectionFieldType\"];\n\n const injectionFieldService = InjectionFieldService({\n ...getDefaultServiceProps(req),\n injectionFieldType: \"document\" // any\n })\n\n let payload: InjectionFieldListProps = requestQuery\n\n payload = {\n ...requestQuery\n }\n\n\n const { data, total } = await injectionFieldService.listInjectionFields(payload);\n\n let response = {\n [`injection_fields`]: data,\n total,\n }\n\n return sendSuccess(res, response, \"Retrieved successfully\");\n\n } catch (error: any) {\n next(error);\n }\n};\n\n/** injection_fields/delete : delete injection fields */\nexport const deleteInjectionFields = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n const requestInjectionFieldType = req.body.scope.target as InjectionFieldServiceProps[\"injectionFieldType\"]\n // const requestQuery = req.query as unknown as QueryList;\n // const requestFileId = Number(req.params.fileId)\n\n const request = schemaInjectionFieldDeletePayload.parse(req.body)\n\n const injectionFieldService = InjectionFieldService({\n ...getDefaultServiceProps(req),\n injectionFieldType: requestInjectionFieldType\n })\n\n const payload = {\n injectionFieldIds: request.payload.ids.map(i => BigInt(i))\n }\n\n const data = await injectionFieldService.removeInjectionFields(payload);\n\n return sendSuccess(res, data, \"Deleted\", `injection_fields`);\n\n } catch (error: any) {\n next(error);\n }\n};"]}
1
+ {"version":3,"file":"injectionFieldController.js","sourceRoot":"","sources":["../../../src/controllers/injection_field/injectionFieldController.ts"],"names":[],"mappings":"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","sourcesContent":["import { Request, Response, NextFunction } from \"express\";\n\nimport { getDefaultServiceProps, sendSuccess, sendError, HTTP_STATUS } from \"@/utils\"\n\nimport { InjectionFieldModuleRef, InjectionFieldService, InjectionFieldListProps, InjectionFieldServiceProps, InjectionFieldCreateProps, InjectionFieldReplaceProps } from \"@/services\"\nimport { schemaInjectionFieldReplacePayload, schemaInjectionFieldCreatePayload, schemaInjectionFieldDeletePayload, groupPayloadInjectionFields } from \"@/schema/payload\";\nimport { QueryList } from \"@/schema/middleware/route\";\n\nconst getRootName = (requestInjectionFieldType: InjectionFieldServiceProps[\"injectionFieldType\"], toSingular: boolean) => {\n\n let rootName: any = ``\n\n switch (requestInjectionFieldType) {\n case \"user\": rootName = toSingular ? \"injection_field\" : \"injection_fields\"; break;\n case \"item\": rootName = toSingular ? \"injection_field\" : \"injection_fields\"; break;\n case \"document\": rootName = toSingular ? \"injection_field\" : \"injection_fields\"; break;\n case \"repository\": rootName = toSingular ? \"injection_field\" : \"injection_fields\"; break;\n case \"logistic\": rootName = toSingular ? \"injection_field\" : \"injection_fields\"; break;\n }\n\n return rootName\n}\n\n/** injection_field : create injection field */\nexport const createInjectionField = async (req: Request, res: Response, next: NextFunction): Promise<void> => {\n try {\n\n // const requestUserType = req.body.scope.target as InjectionFieldServiceProps[\"injectionFieldType\"]\n\n const injectionFieldService = InjectionFieldService({\n ...getDefaultServiceProps(req),\n injectionFieldType: \"user\"\n })\n\n let response: any = {}\n\n let reqScope = req.body.scope\n let reqPayload = req.body.payload\n\n let request = schemaInjectionFieldCreatePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action\n },\n payload: {\n injection_fields: reqPayload?.injection_fields.map((i: any) => ({\n field_module: `${i.field_module}`,\n field_ref: `${i.field_ref}`,\n field_key: `${i.field_key}`,\n field_type: `${i.field_type}`,\n }))\n }\n })\n\n response = await Promise.all(\n request.payload.injection_fields.map(i => {\n const payload: InjectionFieldCreateProps = {\n data: {\n ...i,\n is_multiple: false,\n merge_multiple_inline: false,\n multiple_count: false,\n },\n };\n\n return injectionFieldService.createInjectionField(payload);\n })\n );\n\n sendSuccess(res, response, `Injection Fields created successfully`, `injection_field`)\n\n } catch (error: any) {\n next(error);\n }\n};\n\n/** injection_fields : replace injection fields */\nexport const replaceInjectionFields = async (req: Request, res: Response, next: NextFunction): Promise<void> => {\n try {\n\n const requestInjectionFieldType = req.body.scope.target as InjectionFieldServiceProps[\"injectionFieldType\"]\n\n const injectionFieldService = InjectionFieldService({\n ...getDefaultServiceProps(req),\n injectionFieldType: requestInjectionFieldType\n })\n\n let reqScope = req.body.scope\n let reqPayload = req.body.payload\n\n let response: any = {}\n\n let request = schemaInjectionFieldReplacePayload.parse({\n scope: {\n target: reqScope.target,\n action: reqScope.action,\n },\n payload: reqPayload\n })\n\n let groupInjectionFields: any = []\n\n if (requestInjectionFieldType === \"user\") {\n\n groupInjectionFields = groupPayloadInjectionFields(request.payload.injection_fields, {\n user: \"userId\",\n branch: \"branchId\",\n });\n\n }\n\n if (requestInjectionFieldType === \"item\") {\n\n groupInjectionFields = groupPayloadInjectionFields(request.payload.injection_fields, {}, {\n item: \"itemId\",\n product: \"productId\",\n category: \"categoryId\",\n brand: \"brandId\",\n uom: \"uomId\",\n });\n\n }\n\n const responseAll = await Promise.all(\n groupInjectionFields.map(async (i: any) => {\n const payload = {\n injectionFieldType: requestInjectionFieldType,\n data: i as InjectionFieldReplaceProps[\"data\"],\n };\n\n try {\n return injectionFieldService.replaceInjectionField(payload);\n } catch (error) {\n // console.log('err', error)\n return error\n }\n\n })\n );\n\n // console.log('responseAll', JSON.stringify(responseAll))\n\n response = {\n [`${getRootName(requestInjectionFieldType, false)}`]: responseAll\n }\n\n sendSuccess(res, response, `Injection Fields(${requestInjectionFieldType}) replaced successfully`)\n\n } catch (err: any) {\n next(err);\n }\n};\n\n/** injection_field/definition/:id : get injection field (registered) */\nexport const getInjectionField = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n try {\n\n const { id } = req.params;\n const requestQuery = req.query as unknown as QueryList;\n\n const injectionFieldService = InjectionFieldService({\n ...getDefaultServiceProps(req),\n injectionFieldType: \"user\" // any\n })\n\n const data = await injectionFieldService.getInjectionField({ id: Number(id), datatypes: requestQuery.datatypes })\n\n return sendSuccess(res, data, \"Retrieved successfully\", `injection_field`);\n\n } catch (error: any) {\n next(error);\n }\n}\n\n/** injection_fields/injection_field : list injection fields registered */\nexport const listInjectionFields = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n const requestQuery = req.query as unknown as QueryList;\n // const requestInjectionFieldType = req.params.locationType as InjectionFieldServiceProps[\"injectionFieldType\"];\n\n const injectionFieldService = InjectionFieldService({\n ...getDefaultServiceProps(req),\n injectionFieldType: \"document\" // any\n })\n\n let payload: InjectionFieldListProps = requestQuery\n\n payload = {\n ...requestQuery\n }\n\n\n const { data, total } = await injectionFieldService.listInjectionFields(payload);\n\n let response = {\n [`injection_fields`]: data,\n total,\n }\n\n return sendSuccess(res, response, \"Retrieved successfully\");\n\n } catch (error: any) {\n next(error);\n }\n};\n\n/** injection_fields/delete : delete injection fields */\nexport const deleteInjectionFields = async (req: Request, res: Response, next: NextFunction): Promise<any> => {\n\n try {\n\n const requestInjectionFieldType = req.body.scope.target as InjectionFieldServiceProps[\"injectionFieldType\"]\n // const requestQuery = req.query as unknown as QueryList;\n // const requestFileId = Number(req.params.fileId)\n\n const request = schemaInjectionFieldDeletePayload.parse(req.body)\n\n const injectionFieldService = InjectionFieldService({\n ...getDefaultServiceProps(req),\n injectionFieldType: requestInjectionFieldType\n })\n\n const payload = {\n injectionFieldIds: request.payload.ids.map(i => BigInt(i))\n }\n\n const data = await injectionFieldService.removeInjectionFields(payload);\n\n return sendSuccess(res, data, \"Deleted\", `injection_fields`);\n\n } catch (error: any) {\n next(error);\n }\n};"]}
@@ -25,10 +25,11 @@ TModel>({ debug, prisma, modelName, primaryKey, accountId, actionUserId, }: {
25
25
  include?: any;
26
26
  }) => Promise<TModel | null>;
27
27
  list: ({ where, orderBy, offset, limit, include }?: any) => Promise<TModel[]>;
28
- update: ({ id, where, data }: {
28
+ update: ({ id, where, data, disableRollback }: {
29
29
  id?: number;
30
30
  where?: Record<string, any>;
31
31
  data: Partial<TModel>;
32
+ disableRollback?: Boolean;
32
33
  }) => Promise<TModel>;
33
34
  trash: ({ ids }: {
34
35
  ids: number[];
@@ -71,7 +71,7 @@ const ModelFactory = ({ debug = false, prisma, modelName, primaryKey = "id", acc
71
71
  include,
72
72
  });
73
73
  };
74
- const update = async ({ id, where, data }) => {
74
+ const update = async ({ id, where, data, disableRollback = false }) => {
75
75
  if (debug) {
76
76
  console.log(`[ModelFactory(data)]: ${JSON.stringify(data)}`);
77
77
  console.log("[ModelFactory:delegate]", JSON.stringify(Object.keys(prisma)));
@@ -86,10 +86,13 @@ const ModelFactory = ({ debug = false, prisma, modelName, primaryKey = "id", acc
86
86
  where: finalWhere,
87
87
  data: { ...data, ...(0, default_1.getDefaultUpdateFields)(actionUserId) },
88
88
  });
89
- if (!result.count)
90
- throw new Error(default_1.errorRecordNotFoundAlreadyDeleted);
89
+ if (disableRollback === false) {
90
+ if (!result.count) {
91
+ throw new Error(default_1.errorRecordNotFoundAlreadyDeleted);
92
+ }
93
+ }
91
94
  // const updatedRecord = await modelTx.findUnique({ where: { [primaryKey]: id } });
92
- let updatedRecord;
95
+ let updatedRecord = null;
93
96
  if (id) {
94
97
  // use findUnique when updating by primary key
95
98
  updatedRecord = await modelTx.findUnique({ where: { [primaryKey]: id } });
@@ -98,8 +101,11 @@ const ModelFactory = ({ debug = false, prisma, modelName, primaryKey = "id", acc
98
101
  // use findFirst when updating by other field(s)
99
102
  updatedRecord = await modelTx.findFirst({ where: finalWhere });
100
103
  }
101
- if (!updatedRecord)
102
- throw new Error(default_1.errorRecordNotFoundAfterUpdated);
104
+ if (disableRollback === false) {
105
+ if (!updatedRecord) {
106
+ throw new Error(default_1.errorRecordNotFoundAfterUpdated);
107
+ }
108
+ }
103
109
  return updatedRecord;
104
110
  });
105
111
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ModelFactory.js","sourceRoot":"","sources":["../../src/models/ModelFactory.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DefaultOmitFields,\n getDefaultCreateFields,\n getDefaultUpdateFields,\n getDefaultTrashFields,\n getDefaultRemoveFields,\n getDefaultGetWhere,\n getDefaultUpdateWhere,\n getDefaultTrashWhere,\n getDefaultRemoveWhere,\n errorRecordNotFoundAlreadyDeleted,\n errorRecordNotFoundAfterUpdated,\n errorRecordNotFoundAfterTrashed,\n errorRecordNotFoundAfterRemoved\n} from \"@/models/default\";\n// import { PrismaClient } from \"@prisma/client\";\nimport type { PrismaClient } from \"@prisma/client\";\n\n// Minimal transaction interface\ntype TxModel<T> = {\n updateMany(args: any): Promise<{ count: number }>;\n findUnique(args: any): Promise<T | null>;\n findMany?(args: any): Promise<T[]>;\n};\n\ntype ColumnInfo = { column_name: string; data_type: string };\ntype Column = { name: string; type: string };\n\n\nexport const ModelFactory = <\n // TModel extends object\n // TClient extends { [k: string]: any }, // generic PrismaClient\n // TModel extends object,\n // TName extends keyof TClient\n TClient extends Record<string, any>, // PrismaClient\n TName extends keyof TClient, // \"plant_clones\"\n TDelegate extends TClient[TName], // PrismaClient[\"plant_clones\"]\n TModel // plant_clones type\n>({\n debug = false,\n prisma,\n modelName,\n primaryKey = \"id\" as keyof TModel,\n accountId,\n actionUserId,\n}: {\n debug?: boolean,\n // prisma: PrismaClient;\n prisma: TClient,\n // modelName: keyof PrismaClient;\n modelName: TName,\n primaryKey?: keyof TModel;\n accountId: number,\n actionUserId: number\n}) => {\n\n // const delegate = prisma[modelName] as any;\n const delegate = prisma[modelName] as unknown as {\n create: (args: any) => Promise<TModel>;\n update: (args: any) => Promise<TModel>;\n delete: (args: any) => Promise<TModel>;\n findUnique: (args: any) => Promise<TModel | null>;\n findFirst: (args: any) => Promise<TModel | null>; // ✅ add this\n findMany: (args: any) => Promise<TModel[]>;\n updateMany: (args: any) => Promise<{ count: number }>; // ✅ useful for update\n };\n\n const getFields = async (\n prefix?: string,\n excludeKeywords: string[] = []\n ): Promise<Column[]> => {\n // 👇 Tell TS exactly what comes back from Prisma\n const fields: ColumnInfo[] = await prisma.$queryRaw<ColumnInfo[]>`\n SELECT column_name, data_type\n FROM information_schema.columns \n WHERE table_name = ${String(modelName)}\n `;\n\n return fields\n .map((f: ColumnInfo): Column => ({\n name: f.column_name,\n type: f.data_type,\n }))\n .filter((c: Column) => !prefix || c.name.startsWith(prefix))\n .filter((c: Column) => !excludeKeywords.some((kw) => c.name.includes(kw)));\n };\n\n // const getFields = async (\n // prefix?: string,\n // excludeKeywords?: string[]\n // ): Promise<{ name: string; type: string }[]> => {\n // const fields = await prisma.$queryRaw<{ column_name: string; data_type: string }[]>`\n // SELECT column_name, data_type\n // FROM information_schema.columns \n // WHERE table_name = ${String(modelName)}\n // `;\n\n // let cols = fields.map(f => ({ name: f.column_name, type: f.data_type }));\n\n // if (prefix) {\n // cols = cols.filter(c => c.name.startsWith(prefix));\n // }\n\n // if (excludeKeywords && excludeKeywords.length > 0) {\n // cols = cols.filter(c => !excludeKeywords.some(kw => c.name.includes(kw)));\n // }\n\n // return cols;\n // };\n\n const create = async ({ data }: { data: Omit<any, DefaultOmitFields> }): Promise<TModel> => {\n\n const _data = { ...data, ...getDefaultCreateFields(actionUserId, accountId) }\n\n if (debug) {\n console.log(`[ModelFactory(data)]: ${JSON.stringify(_data)}`)\n console.log(\"[ModelFactory:delegate]\", JSON.stringify(Object.keys(prisma)));\n }\n\n return delegate.create({\n data: _data,\n });\n };\n\n const get = async ({\n id,\n where,\n include,\n }: {\n id?: number;\n where?: Record<string, any>;\n include?: any;\n }): Promise<TModel | null> => {\n const condition = id ? { [primaryKey]: id } : where ?? {};\n const condition2 = { accountid: accountId }\n\n if (debug) {\n console.log(\"[ModelFactory:delegate]\", JSON.stringify(Object.keys(prisma)));\n }\n\n return delegate.findFirst({\n where: { ...condition, ...condition2, ...getDefaultGetWhere },\n include,\n });\n };\n\n const list = async ({ where, orderBy, offset, limit, include }: any = {}): Promise<TModel[]> => {\n\n if (debug) {\n console.log(\"[ModelFactory:delegate]\", JSON.stringify(Object.keys(prisma)));\n }\n\n return delegate.findMany({\n where,\n orderBy,\n skip: offset,\n take: limit,\n include,\n });\n };\n\n const update = async ({ id, where, data }: {\n id?: number;\n where?: Record<string, any>;\n data: Partial<TModel>\n }): Promise<TModel> => {\n\n if (debug) {\n console.log(`[ModelFactory(data)]: ${JSON.stringify(data)}`)\n console.log(\"[ModelFactory:delegate]\", JSON.stringify(Object.keys(prisma)));\n }\n\n return prisma.$transaction(async (tx: typeof prisma) => {\n const modelTx = (tx as any)[modelName] as TxModel<TModel>;\n\n // prefer primary key if provided, otherwise fall back to custom where\n const finalWhere = id\n ? { [primaryKey]: id, ...getDefaultUpdateWhere }\n : { ...where, ...getDefaultUpdateWhere };\n\n const result = await modelTx.updateMany({\n where: finalWhere,\n data: { ...data, ...getDefaultUpdateFields(actionUserId) },\n });\n\n if (!result.count) throw new Error(errorRecordNotFoundAlreadyDeleted);\n\n // const updatedRecord = await modelTx.findUnique({ where: { [primaryKey]: id } });\n\n let updatedRecord: TModel | null;\n\n if (id) {\n // use findUnique when updating by primary key\n updatedRecord = await modelTx.findUnique({ where: { [primaryKey]: id } });\n } else {\n // use findFirst when updating by other field(s)\n updatedRecord = await (modelTx as any).findFirst({ where: finalWhere });\n }\n\n if (!updatedRecord) throw new Error(errorRecordNotFoundAfterUpdated);\n\n return updatedRecord;\n });\n };\n\n const trash = async ({ ids }: { ids: number[] }): Promise<TModel[]> => {\n\n if (debug) {\n console.log(\"[ModelFactory:delegate]\", JSON.stringify(Object.keys(prisma)));\n }\n\n return prisma.$transaction(async (tx: typeof prisma) => {\n const modelTx = (tx as any)[modelName] as TxModel<TModel>;\n\n const result = await modelTx.updateMany({\n where: { [primaryKey]: { in: ids }, ...getDefaultTrashWhere },\n data: { ...getDefaultTrashFields(actionUserId) },\n });\n\n if (!result.count || result.count !== ids.length)\n throw new Error(errorRecordNotFoundAlreadyDeleted);\n\n const updated = await modelTx.findMany!({ where: { [primaryKey]: { in: ids } } });\n if (!updated.length) throw new Error(errorRecordNotFoundAfterTrashed);\n\n return updated;\n });\n };\n\n const remove = async ({ ids, where }: { ids?: number[], where?: Record<string, any>; }): Promise<TModel[]> => {\n\n if (debug) {\n console.log(\"[ModelFactory:delegate]\", JSON.stringify(Object.keys(prisma)));\n }\n\n return prisma.$transaction(async (tx: typeof prisma) => {\n const modelTx = (tx as any)[modelName] as TxModel<TModel>;\n\n // prefer primary ids if provided, otherwise fall back to custom where\n const finalWhere = ids\n ? { [primaryKey]: { in: ids }, ...getDefaultRemoveWhere }\n : { ...where, ...getDefaultRemoveWhere };\n\n const result = await modelTx.updateMany({\n where: finalWhere,\n data: { ...getDefaultRemoveFields(actionUserId) },\n });\n\n // if (!result.count) throw new Error(errorRecordNotFoundAlreadyDeleted);\n if (!result.count) {\n // no rows touched → just return []\n return [];\n }\n\n let updated: TModel[] | null;\n\n if (ids) {\n updated = await modelTx.findMany!({ where: { [primaryKey]: { in: ids } } });\n } else {\n updated = await modelTx.findMany!({ where });\n }\n\n if (!updated || updated.length === 0) {\n throw new Error(errorRecordNotFoundAfterRemoved);\n }\n\n return updated;\n });\n };\n\n // Used for SELECT queries (read operations)\n const raw = async <T = any>(query: string, params: any[] = []): Promise<T[]> => {\n\n if (debug) {\n console.log(\"[ModelFactory:delegate]\", JSON.stringify(Object.keys(prisma)));\n }\n\n const client = prisma as unknown as PrismaClient;\n // return prisma.$queryRawUnsafe<T[]>(query, ...params);\n return client.$queryRawUnsafe<T[]>(query, ...params);\n };\n\n // Used for mutations (INSERT, UPDATE, DELETE, DDL like CREATE TABLE etc.)\n const rawExec = async (query: string, params: any[] = []): Promise<number> => {\n\n if (debug) {\n console.log(\"[ModelFactory:delegate]\", JSON.stringify(Object.keys(prisma)));\n }\n\n return prisma.$executeRawUnsafe(query, ...params); // returns number of affected rows\n };\n\n return { primaryKey, getFields, create, get, list, update, trash, remove, raw, rawExec };\n};\n"]}
1
+ {"version":3,"file":"ModelFactory.js","sourceRoot":"","sources":["../../src/models/ModelFactory.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DefaultOmitFields,\n getDefaultCreateFields,\n getDefaultUpdateFields,\n getDefaultTrashFields,\n getDefaultRemoveFields,\n getDefaultGetWhere,\n getDefaultUpdateWhere,\n getDefaultTrashWhere,\n getDefaultRemoveWhere,\n errorRecordNotFoundAlreadyDeleted,\n errorRecordNotFoundAfterUpdated,\n errorRecordNotFoundAfterTrashed,\n errorRecordNotFoundAfterRemoved\n} from \"@/models/default\";\n// import { PrismaClient } from \"@prisma/client\";\nimport type { PrismaClient } from \"@prisma/client\";\n\n// Minimal transaction interface\ntype TxModel<T> = {\n updateMany(args: any): Promise<{ count: number }>;\n findUnique(args: any): Promise<T | null>;\n findMany?(args: any): Promise<T[]>;\n};\n\ntype ColumnInfo = { column_name: string; data_type: string };\ntype Column = { name: string; type: string };\n\n\nexport const ModelFactory = <\n // TModel extends object\n // TClient extends { [k: string]: any }, // generic PrismaClient\n // TModel extends object,\n // TName extends keyof TClient\n TClient extends Record<string, any>, // PrismaClient\n TName extends keyof TClient, // \"plant_clones\"\n TDelegate extends TClient[TName], // PrismaClient[\"plant_clones\"]\n TModel // plant_clones type\n>({\n debug = false,\n prisma,\n modelName,\n primaryKey = \"id\" as keyof TModel,\n accountId,\n actionUserId,\n}: {\n debug?: boolean,\n // prisma: PrismaClient;\n prisma: TClient,\n // modelName: keyof PrismaClient;\n modelName: TName,\n primaryKey?: keyof TModel;\n accountId: number,\n actionUserId: number\n}) => {\n\n // const delegate = prisma[modelName] as any;\n const delegate = prisma[modelName] as unknown as {\n create: (args: any) => Promise<TModel>;\n update: (args: any) => Promise<TModel>;\n delete: (args: any) => Promise<TModel>;\n findUnique: (args: any) => Promise<TModel | null>;\n findFirst: (args: any) => Promise<TModel | null>; // ✅ add this\n findMany: (args: any) => Promise<TModel[]>;\n updateMany: (args: any) => Promise<{ count: number }>; // ✅ useful for update\n };\n\n const getFields = async (\n prefix?: string,\n excludeKeywords: string[] = []\n ): Promise<Column[]> => {\n // 👇 Tell TS exactly what comes back from Prisma\n const fields: ColumnInfo[] = await prisma.$queryRaw<ColumnInfo[]>`\n SELECT column_name, data_type\n FROM information_schema.columns \n WHERE table_name = ${String(modelName)}\n `;\n\n return fields\n .map((f: ColumnInfo): Column => ({\n name: f.column_name,\n type: f.data_type,\n }))\n .filter((c: Column) => !prefix || c.name.startsWith(prefix))\n .filter((c: Column) => !excludeKeywords.some((kw) => c.name.includes(kw)));\n };\n\n // const getFields = async (\n // prefix?: string,\n // excludeKeywords?: string[]\n // ): Promise<{ name: string; type: string }[]> => {\n // const fields = await prisma.$queryRaw<{ column_name: string; data_type: string }[]>`\n // SELECT column_name, data_type\n // FROM information_schema.columns \n // WHERE table_name = ${String(modelName)}\n // `;\n\n // let cols = fields.map(f => ({ name: f.column_name, type: f.data_type }));\n\n // if (prefix) {\n // cols = cols.filter(c => c.name.startsWith(prefix));\n // }\n\n // if (excludeKeywords && excludeKeywords.length > 0) {\n // cols = cols.filter(c => !excludeKeywords.some(kw => c.name.includes(kw)));\n // }\n\n // return cols;\n // };\n\n const create = async ({ data }: { data: Omit<any, DefaultOmitFields> }): Promise<TModel> => {\n\n const _data = { ...data, ...getDefaultCreateFields(actionUserId, accountId) }\n\n if (debug) {\n console.log(`[ModelFactory(data)]: ${JSON.stringify(_data)}`)\n console.log(\"[ModelFactory:delegate]\", JSON.stringify(Object.keys(prisma)));\n }\n\n return delegate.create({\n data: _data,\n });\n };\n\n const get = async ({\n id,\n where,\n include,\n }: {\n id?: number;\n where?: Record<string, any>;\n include?: any;\n }): Promise<TModel | null> => {\n const condition = id ? { [primaryKey]: id } : where ?? {};\n const condition2 = { accountid: accountId }\n\n if (debug) {\n console.log(\"[ModelFactory:delegate]\", JSON.stringify(Object.keys(prisma)));\n }\n\n return delegate.findFirst({\n where: { ...condition, ...condition2, ...getDefaultGetWhere },\n include,\n });\n };\n\n const list = async ({ where, orderBy, offset, limit, include }: any = {}): Promise<TModel[]> => {\n\n if (debug) {\n console.log(\"[ModelFactory:delegate]\", JSON.stringify(Object.keys(prisma)));\n }\n\n return delegate.findMany({\n where,\n orderBy,\n skip: offset,\n take: limit,\n include,\n });\n };\n\n const update = async ({ id, where, data, disableRollback = false }: {\n id?: number;\n where?: Record<string, any>;\n data: Partial<TModel>,\n disableRollback?: Boolean\n }): Promise<TModel> => {\n\n if (debug) {\n console.log(`[ModelFactory(data)]: ${JSON.stringify(data)}`)\n console.log(\"[ModelFactory:delegate]\", JSON.stringify(Object.keys(prisma)));\n }\n\n return prisma.$transaction(async (tx: typeof prisma) => {\n const modelTx = (tx as any)[modelName] as TxModel<TModel>;\n\n // prefer primary key if provided, otherwise fall back to custom where\n const finalWhere = id\n ? { [primaryKey]: id, ...getDefaultUpdateWhere }\n : { ...where, ...getDefaultUpdateWhere };\n\n const result = await modelTx.updateMany({\n where: finalWhere,\n data: { ...data, ...getDefaultUpdateFields(actionUserId) },\n });\n\n if (disableRollback === false) {\n if (!result.count) {\n throw new Error(errorRecordNotFoundAlreadyDeleted);\n }\n }\n\n // const updatedRecord = await modelTx.findUnique({ where: { [primaryKey]: id } });\n\n let updatedRecord: TModel | null = null;\n\n if (id) {\n // use findUnique when updating by primary key\n updatedRecord = await modelTx.findUnique({ where: { [primaryKey]: id } });\n } else {\n // use findFirst when updating by other field(s)\n updatedRecord = await (modelTx as any).findFirst({ where: finalWhere });\n }\n\n if (disableRollback === false) {\n if (!updatedRecord) {\n throw new Error(errorRecordNotFoundAfterUpdated);\n }\n }\n\n return updatedRecord;\n });\n };\n\n const trash = async ({ ids }: { ids: number[] }): Promise<TModel[]> => {\n\n if (debug) {\n console.log(\"[ModelFactory:delegate]\", JSON.stringify(Object.keys(prisma)));\n }\n\n return prisma.$transaction(async (tx: typeof prisma) => {\n const modelTx = (tx as any)[modelName] as TxModel<TModel>;\n\n const result = await modelTx.updateMany({\n where: { [primaryKey]: { in: ids }, ...getDefaultTrashWhere },\n data: { ...getDefaultTrashFields(actionUserId) },\n });\n\n if (!result.count || result.count !== ids.length)\n throw new Error(errorRecordNotFoundAlreadyDeleted);\n\n const updated = await modelTx.findMany!({ where: { [primaryKey]: { in: ids } } });\n if (!updated.length) throw new Error(errorRecordNotFoundAfterTrashed);\n\n return updated;\n });\n };\n\n const remove = async ({ ids, where }: { ids?: number[], where?: Record<string, any>; }): Promise<TModel[]> => {\n\n if (debug) {\n console.log(\"[ModelFactory:delegate]\", JSON.stringify(Object.keys(prisma)));\n }\n\n return prisma.$transaction(async (tx: typeof prisma) => {\n const modelTx = (tx as any)[modelName] as TxModel<TModel>;\n\n // prefer primary ids if provided, otherwise fall back to custom where\n const finalWhere = ids\n ? { [primaryKey]: { in: ids }, ...getDefaultRemoveWhere }\n : { ...where, ...getDefaultRemoveWhere };\n\n const result = await modelTx.updateMany({\n where: finalWhere,\n data: { ...getDefaultRemoveFields(actionUserId) },\n });\n\n // if (!result.count) throw new Error(errorRecordNotFoundAlreadyDeleted);\n if (!result.count) {\n // no rows touched → just return []\n return [];\n }\n\n let updated: TModel[] | null;\n\n if (ids) {\n updated = await modelTx.findMany!({ where: { [primaryKey]: { in: ids } } });\n } else {\n updated = await modelTx.findMany!({ where });\n }\n\n if (!updated || updated.length === 0) {\n throw new Error(errorRecordNotFoundAfterRemoved);\n }\n\n return updated;\n });\n };\n\n // Used for SELECT queries (read operations)\n const raw = async <T = any>(query: string, params: any[] = []): Promise<T[]> => {\n\n if (debug) {\n console.log(\"[ModelFactory:delegate]\", JSON.stringify(Object.keys(prisma)));\n }\n\n const client = prisma as unknown as PrismaClient;\n // return prisma.$queryRawUnsafe<T[]>(query, ...params);\n return client.$queryRawUnsafe<T[]>(query, ...params);\n };\n\n // Used for mutations (INSERT, UPDATE, DELETE, DDL like CREATE TABLE etc.)\n const rawExec = async (query: string, params: any[] = []): Promise<number> => {\n\n if (debug) {\n console.log(\"[ModelFactory:delegate]\", JSON.stringify(Object.keys(prisma)));\n }\n\n return prisma.$executeRawUnsafe(query, ...params); // returns number of affected rows\n };\n\n return { primaryKey, getFields, create, get, list, update, trash, remove, raw, rawExec };\n};\n"]}
@@ -93,7 +93,7 @@ export declare const AccountModel: ({ prisma, accountId, actionUserId }: {
93
93
  accountid: bigint;
94
94
  business_id: bigint | null;
95
95
  }[]>;
96
- update: ({ id, where, data }: {
96
+ update: ({ id, where, data, disableRollback }: {
97
97
  id?: number;
98
98
  where?: Record<string, any>;
99
99
  data: Partial<{
@@ -108,6 +108,7 @@ export declare const AccountModel: ({ prisma, accountId, actionUserId }: {
108
108
  accountid: bigint;
109
109
  business_id: bigint | null;
110
110
  }>;
111
+ disableRollback?: Boolean;
111
112
  }) => Promise<{
112
113
  name: string;
113
114
  account_id: bigint;
@@ -157,7 +157,7 @@ export declare const BranchModel: ({ prisma, accountId, actionUserId }: {
157
157
  branch_contact: string | null;
158
158
  branch_email: string | null;
159
159
  }[]>;
160
- update: ({ id, where, data }: {
160
+ update: ({ id, where, data, disableRollback }: {
161
161
  id?: number;
162
162
  where?: Record<string, any>;
163
163
  data: Partial<{
@@ -189,6 +189,7 @@ export declare const BranchModel: ({ prisma, accountId, actionUserId }: {
189
189
  branch_contact: string | null;
190
190
  branch_email: string | null;
191
191
  }>;
192
+ disableRollback?: Boolean;
192
193
  }) => Promise<{
193
194
  type: string | null;
194
195
  status: number | null;
@@ -89,7 +89,7 @@ export declare const BranchUserModel: ({ prisma, accountId, actionUserId }: {
89
89
  branch_user_id: bigint;
90
90
  parent_user_id: bigint | null;
91
91
  }[]>;
92
- update: ({ id, where, data }: {
92
+ update: ({ id, where, data, disableRollback }: {
93
93
  id?: number;
94
94
  where?: Record<string, any>;
95
95
  data: Partial<{
@@ -104,6 +104,7 @@ export declare const BranchUserModel: ({ prisma, accountId, actionUserId }: {
104
104
  branch_user_id: bigint;
105
105
  parent_user_id: bigint | null;
106
106
  }>;
107
+ disableRollback?: Boolean;
107
108
  }) => Promise<{
108
109
  user_id: bigint | null;
109
110
  createdatetime: Date | null;
@@ -133,7 +133,7 @@ export declare const BusinessModel: ({ prisma, accountId, actionUserId }: {
133
133
  website: string | null;
134
134
  company_contact: string | null;
135
135
  }[]>;
136
- update: ({ id, where, data }: {
136
+ update: ({ id, where, data, disableRollback }: {
137
137
  id?: number;
138
138
  where?: Record<string, any>;
139
139
  data: Partial<{
@@ -158,6 +158,7 @@ export declare const BusinessModel: ({ prisma, accountId, actionUserId }: {
158
158
  website: string | null;
159
159
  company_contact: string | null;
160
160
  }>;
161
+ disableRollback?: Boolean;
161
162
  }) => Promise<{
162
163
  status: number;
163
164
  createdatetime: Date | null;
@@ -101,7 +101,7 @@ export declare const GroupModel: ({ prisma, accountId, actionUserId }: {
101
101
  group_description: string | null;
102
102
  group_type: string | null;
103
103
  }[]>;
104
- update: ({ id, where, data }: {
104
+ update: ({ id, where, data, disableRollback }: {
105
105
  id?: number;
106
106
  where?: Record<string, any>;
107
107
  data: Partial<{
@@ -118,6 +118,7 @@ export declare const GroupModel: ({ prisma, accountId, actionUserId }: {
118
118
  group_description: string | null;
119
119
  group_type: string | null;
120
120
  }>;
121
+ disableRollback?: Boolean;
121
122
  }) => Promise<{
122
123
  status: number | null;
123
124
  createdatetime: Date | null;
@@ -97,7 +97,7 @@ export declare const GroupOwnerModel: ({ prisma, accountId, actionUserId }: {
97
97
  group_id: bigint;
98
98
  group_owner_id: bigint;
99
99
  }[]>;
100
- update: ({ id, where, data }: {
100
+ update: ({ id, where, data, disableRollback }: {
101
101
  id?: number;
102
102
  where?: Record<string, any>;
103
103
  data: Partial<{
@@ -113,6 +113,7 @@ export declare const GroupOwnerModel: ({ prisma, accountId, actionUserId }: {
113
113
  group_id: bigint;
114
114
  group_owner_id: bigint;
115
115
  }>;
116
+ disableRollback?: Boolean;
116
117
  }) => Promise<{
117
118
  type: string;
118
119
  user_id: bigint;
@@ -257,7 +257,7 @@ export declare const DocumentInjectionFieldModel: ({ prisma, accountId, actionUs
257
257
  doci_sdn_is_bulk: bigint | null;
258
258
  removed_doci_do_4sdfsdfd7s: Date | null;
259
259
  }[]>;
260
- update: ({ id, where, data }: {
260
+ update: ({ id, where, data, disableRollback }: {
261
261
  id?: number;
262
262
  where?: Record<string, any>;
263
263
  data: Partial<{
@@ -313,6 +313,7 @@ export declare const DocumentInjectionFieldModel: ({ prisma, accountId, actionUs
313
313
  doci_sdn_is_bulk: bigint | null;
314
314
  removed_doci_do_4sdfsdfd7s: Date | null;
315
315
  }>;
316
+ disableRollback?: Boolean;
316
317
  }) => Promise<{
317
318
  createdatetime: Date | null;
318
319
  createuserid: bigint;
@@ -124,7 +124,7 @@ export declare const InjectionFieldModel: ({ prisma, accountId, actionUserId }:
124
124
  multiple_count: bigint | null;
125
125
  merge_multiple_inline: bigint;
126
126
  }[]>;
127
- update: ({ id, where, data }: {
127
+ update: ({ id, where, data, disableRollback }: {
128
128
  id?: number;
129
129
  where?: Record<string, any>;
130
130
  data: Partial<{
@@ -145,6 +145,7 @@ export declare const InjectionFieldModel: ({ prisma, accountId, actionUserId }:
145
145
  multiple_count: bigint | null;
146
146
  merge_multiple_inline: bigint;
147
147
  }>;
148
+ disableRollback?: Boolean;
148
149
  }) => Promise<{
149
150
  createdatetime: Date | null;
150
151
  createuserid: bigint;
@@ -50,6 +50,7 @@ export declare const ModelItemInjectionFieldFields: {
50
50
  itm_brd_samplefield: "itm_brd_samplefield";
51
51
  removed_itm_uom_samplefield: "removed_itm_uom_samplefield";
52
52
  removed_itm_ct_samplefield: "removed_itm_ct_samplefield";
53
+ itm_ct_enable: "itm_ct_enable";
53
54
  };
54
55
  export type ModelItemInjectionField = item_injection_fields;
55
56
  export type ModelItemInjectionFieldOmitFields = typeof primaryKey | DefaultOmitFields;
@@ -84,7 +85,7 @@ export declare const ItemInjectionFieldModel: ({ prisma, accountId, actionUserId
84
85
  accountId: number;
85
86
  actionUserId: number;
86
87
  }) => {
87
- primaryKey: "createdatetime" | "createuserid" | "updatedatetime" | "updateuserid" | "isdelete" | "istrash" | "accountid" | "field_module" | "field_ref" | "item_injection_field_id" | "item_id" | "item_uid_id" | "product_id" | "category_id" | "brand_id" | "uom_id" | "itm_itm_inttest" | "itm_itm_id1" | "itm_itm_value1" | "itm_itm_date1" | "itm_itm_text1_bk_20" | "itm_itm_num1_bk_21" | "itm_itm_inttest123" | "itm_itm_inttest1234" | "itm_itm_inttest12345" | "itm_itm_inttest123456" | "itm_itm_inttest08" | "itm_itm_inttest1234756" | "itm_itm_test123" | "itm_itm_test1234" | "itm_itm_pack_qty" | "itm_prt_pack_qty2" | "itm_itm_test008" | "itm_prt_pack_qty10" | "itm_prt_50" | "itm_prt_500" | "itm_prt_rtdsfsdf_bk_37" | "yes_bk_38" | "itm_itm_customer_marking" | "removed_item_ct_sampleonly" | "removed_item_ct_sampleonly2" | "removed_item_ct_sam3pleonly2" | "removed_item_ct_sam3pleonl22y2" | "item_ct_samplefield" | "item_brd_samplefield" | "itm_brd_samplefield" | "removed_itm_uom_samplefield" | "removed_itm_ct_samplefield";
88
+ primaryKey: "createdatetime" | "createuserid" | "updatedatetime" | "updateuserid" | "isdelete" | "istrash" | "accountid" | "field_module" | "field_ref" | "item_injection_field_id" | "item_id" | "item_uid_id" | "product_id" | "category_id" | "brand_id" | "uom_id" | "itm_itm_inttest" | "itm_itm_id1" | "itm_itm_value1" | "itm_itm_date1" | "itm_itm_text1_bk_20" | "itm_itm_num1_bk_21" | "itm_itm_inttest123" | "itm_itm_inttest1234" | "itm_itm_inttest12345" | "itm_itm_inttest123456" | "itm_itm_inttest08" | "itm_itm_inttest1234756" | "itm_itm_test123" | "itm_itm_test1234" | "itm_itm_pack_qty" | "itm_prt_pack_qty2" | "itm_itm_test008" | "itm_prt_pack_qty10" | "itm_prt_50" | "itm_prt_500" | "itm_prt_rtdsfsdf_bk_37" | "yes_bk_38" | "itm_itm_customer_marking" | "removed_item_ct_sampleonly" | "removed_item_ct_sampleonly2" | "removed_item_ct_sam3pleonly2" | "removed_item_ct_sam3pleonl22y2" | "item_ct_samplefield" | "item_brd_samplefield" | "itm_brd_samplefield" | "removed_itm_uom_samplefield" | "removed_itm_ct_samplefield" | "itm_ct_enable";
88
89
  getFields: (prefix?: string, excludeKeywords?: string[]) => Promise<{
89
90
  name: string;
90
91
  type: string;
@@ -140,6 +141,7 @@ export declare const ItemInjectionFieldModel: ({ prisma, accountId, actionUserId
140
141
  itm_brd_samplefield: string | null;
141
142
  removed_itm_uom_samplefield: string | null;
142
143
  removed_itm_ct_samplefield: string | null;
144
+ itm_ct_enable: string | null;
143
145
  }>;
144
146
  get: ({ id, where, include, }: {
145
147
  id?: number;
@@ -194,6 +196,7 @@ export declare const ItemInjectionFieldModel: ({ prisma, accountId, actionUserId
194
196
  itm_brd_samplefield: string | null;
195
197
  removed_itm_uom_samplefield: string | null;
196
198
  removed_itm_ct_samplefield: string | null;
199
+ itm_ct_enable: string | null;
197
200
  } | null>;
198
201
  list: ({ where, orderBy, offset, limit, include }?: any) => Promise<{
199
202
  createdatetime: Date | null;
@@ -244,8 +247,9 @@ export declare const ItemInjectionFieldModel: ({ prisma, accountId, actionUserId
244
247
  itm_brd_samplefield: string | null;
245
248
  removed_itm_uom_samplefield: string | null;
246
249
  removed_itm_ct_samplefield: string | null;
250
+ itm_ct_enable: string | null;
247
251
  }[]>;
248
- update: ({ id, where, data }: {
252
+ update: ({ id, where, data, disableRollback }: {
249
253
  id?: number;
250
254
  where?: Record<string, any>;
251
255
  data: Partial<{
@@ -297,7 +301,9 @@ export declare const ItemInjectionFieldModel: ({ prisma, accountId, actionUserId
297
301
  itm_brd_samplefield: string | null;
298
302
  removed_itm_uom_samplefield: string | null;
299
303
  removed_itm_ct_samplefield: string | null;
304
+ itm_ct_enable: string | null;
300
305
  }>;
306
+ disableRollback?: Boolean;
301
307
  }) => Promise<{
302
308
  createdatetime: Date | null;
303
309
  createuserid: bigint;
@@ -347,6 +353,7 @@ export declare const ItemInjectionFieldModel: ({ prisma, accountId, actionUserId
347
353
  itm_brd_samplefield: string | null;
348
354
  removed_itm_uom_samplefield: string | null;
349
355
  removed_itm_ct_samplefield: string | null;
356
+ itm_ct_enable: string | null;
350
357
  }>;
351
358
  trash: ({ ids }: {
352
359
  ids: number[];
@@ -399,6 +406,7 @@ export declare const ItemInjectionFieldModel: ({ prisma, accountId, actionUserId
399
406
  itm_brd_samplefield: string | null;
400
407
  removed_itm_uom_samplefield: string | null;
401
408
  removed_itm_ct_samplefield: string | null;
409
+ itm_ct_enable: string | null;
402
410
  }[]>;
403
411
  remove: ({ ids, where }: {
404
412
  ids?: number[];
@@ -452,6 +460,7 @@ export declare const ItemInjectionFieldModel: ({ prisma, accountId, actionUserId
452
460
  itm_brd_samplefield: string | null;
453
461
  removed_itm_uom_samplefield: string | null;
454
462
  removed_itm_ct_samplefield: string | null;
463
+ itm_ct_enable: string | null;
455
464
  }[]>;
456
465
  raw: <T = any>(query: string, params?: any[]) => Promise<T[]>;
457
466
  rawExec: (query: string, params?: any[]) => Promise<number>;
@@ -101,7 +101,7 @@ export declare const LogisticInjectionFieldModel: ({ prisma, accountId, actionUs
101
101
  logistic_id: bigint;
102
102
  lgt_tpt_repo_t3e2s2: Prisma.Decimal | null;
103
103
  }[]>;
104
- update: ({ id, where, data }: {
104
+ update: ({ id, where, data, disableRollback }: {
105
105
  id?: number;
106
106
  where?: Record<string, any>;
107
107
  data: Partial<{
@@ -118,6 +118,7 @@ export declare const LogisticInjectionFieldModel: ({ prisma, accountId, actionUs
118
118
  logistic_id: bigint;
119
119
  lgt_tpt_repo_t3e2s2: Prisma.Decimal | null;
120
120
  }>;
121
+ disableRollback?: Boolean;
121
122
  }) => Promise<{
122
123
  createdatetime: Date | null;
123
124
  createuserid: bigint;