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.
- package/dist/controllers/index.d.ts +1 -1
- package/dist/controllers/index.js +2 -2
- package/dist/controllers/index.js.map +1 -1
- package/dist/controllers/injection_field/injectionFieldController.d.ts +2 -2
- package/dist/controllers/injection_field/injectionFieldController.js +52 -31
- package/dist/controllers/injection_field/injectionFieldController.js.map +1 -1
- package/dist/models/ModelFactory.d.ts +2 -1
- package/dist/models/ModelFactory.js +12 -6
- package/dist/models/ModelFactory.js.map +1 -1
- package/dist/models/account/AccountModel.d.ts +2 -1
- package/dist/models/branch/BranchModel.d.ts +2 -1
- package/dist/models/branch_user/BranchUserModel.d.ts +2 -1
- package/dist/models/business/BusinessModel.d.ts +2 -1
- package/dist/models/group/GroupModel.d.ts +2 -1
- package/dist/models/group/GroupOwnerModel.d.ts +2 -1
- package/dist/models/injection_field/DocumentInjectionFieldModel.d.ts +2 -1
- package/dist/models/injection_field/InjectionFieldModel.d.ts +2 -1
- package/dist/models/injection_field/ItemInjectionFieldModel.d.ts +11 -2
- package/dist/models/injection_field/LogisticInjectionFieldModel.d.ts +2 -1
- package/dist/models/injection_field/RepositoryInjectionFieldModel.d.ts +2 -1
- package/dist/models/injection_field/UserInjectionFieldModel.d.ts +2 -1
- package/dist/models/item/BrandModel.d.ts +2 -1
- package/dist/models/item/CategoryModel.d.ts +2 -1
- package/dist/models/item/ItemModel.d.ts +2 -1
- package/dist/models/item/ProductModel.d.ts +2 -1
- package/dist/models/item/UomModel.d.ts +2 -1
- package/dist/models/location/LocationModel.d.ts +2 -1
- package/dist/models/location/LocationRackModel.d.ts +2 -1
- package/dist/models/location/LocationSlotModel.d.ts +2 -1
- package/dist/models/region/AreaModel.d.ts +2 -1
- package/dist/models/region/CountryModel.d.ts +2 -1
- package/dist/models/region/StateModel.d.ts +2 -1
- package/dist/models/user/AdministratorModel.d.ts +2 -1
- package/dist/models/user/CustomerModel.d.ts +2 -1
- package/dist/models/user/RetailerModel.d.ts +2 -1
- package/dist/models/user/UserModel.d.ts +2 -1
- package/dist/models/user/UserPropModel.d.ts +2 -1
- package/dist/models/user/UserStatusModel.d.ts +2 -1
- package/dist/models/user/WorkerModel.d.ts +2 -1
- package/dist/routes/injection_field/injectionFieldRoutes.js +1 -3
- package/dist/routes/injection_field/injectionFieldRoutes.js.map +1 -1
- package/dist/routes/injection_field/injectionFieldsRoutes.js +2 -0
- package/dist/routes/injection_field/injectionFieldsRoutes.js.map +1 -1
- package/dist/schema/payload/injection_field/schemaInjectionField.d.ts +509 -33
- package/dist/schema/payload/injection_field/schemaInjectionField.js +53 -23
- package/dist/schema/payload/injection_field/schemaInjectionField.js.map +1 -1
- package/dist/services/injection_field/DocumentInjectionFieldService.d.ts +1 -53
- package/dist/services/injection_field/DocumentInjectionFieldService.js +21 -4
- package/dist/services/injection_field/DocumentInjectionFieldService.js.map +1 -1
- package/dist/services/injection_field/ItemInjectionFieldService.d.ts +5 -54
- package/dist/services/injection_field/ItemInjectionFieldService.js +54 -12
- package/dist/services/injection_field/ItemInjectionFieldService.js.map +1 -1
- package/dist/services/injection_field/LogisticInjectionFieldService.d.ts +1 -14
- package/dist/services/injection_field/LogisticInjectionFieldService.js +21 -4
- package/dist/services/injection_field/LogisticInjectionFieldService.js.map +1 -1
- package/dist/services/injection_field/RepositoryInjectionFieldService.d.ts +1 -19
- package/dist/services/injection_field/RepositoryInjectionFieldService.js +21 -4
- package/dist/services/injection_field/RepositoryInjectionFieldService.js.map +1 -1
- package/dist/services/injection_field/UserInjectionFieldService.d.ts +1 -29
- package/dist/services/injection_field/UserInjectionFieldService.js +21 -4
- package/dist/services/injection_field/UserInjectionFieldService.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +2 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/schemaUtils.d.ts +1 -0
- package/dist/utils/schemaUtils.js +14 -1
- package/dist/utils/schemaUtils.js.map +1 -1
- package/package.json +1 -1
- 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,
|
|
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.
|
|
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, "
|
|
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,
|
|
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
|
-
/**
|
|
5
|
-
export declare const
|
|
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.
|
|
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
|
-
/**
|
|
60
|
-
const
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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 (
|
|
90
|
-
|
|
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 (
|
|
102
|
-
|
|
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;
|