storemw-core-api 1.0.149 → 1.0.151
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/app.js +3 -1
- package/dist/app.js.map +1 -1
- package/dist/controllers/access_control/accessControlRoleController.d.ts +11 -0
- package/dist/controllers/access_control/accessControlRoleController.js +156 -0
- package/dist/controllers/access_control/accessControlRoleController.js.map +1 -0
- package/dist/controllers/access_control/accessControlUserController.d.ts +7 -0
- package/dist/controllers/access_control/accessControlUserController.js +140 -0
- package/dist/controllers/access_control/accessControlUserController.js.map +1 -0
- package/dist/controllers/index.d.ts +3 -0
- package/dist/controllers/index.js +16 -2
- package/dist/controllers/index.js.map +1 -1
- package/dist/controllers/repository/repositoryController.d.ts +12 -0
- package/dist/controllers/repository/repositoryController.js +249 -0
- package/dist/controllers/repository/repositoryController.js.map +1 -0
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +5 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/query_builder/queryScheduler.d.ts +13 -0
- package/dist/lib/query_builder/queryScheduler.js +56 -0
- package/dist/lib/query_builder/queryScheduler.js.map +1 -0
- package/dist/middlewares/route/index.d.ts +2 -0
- package/dist/middlewares/route/index.js +15 -2
- package/dist/middlewares/route/index.js.map +1 -1
- package/dist/middlewares/route/validateAccessControl.d.ts +7 -0
- package/dist/middlewares/route/validateAccessControl.js +28 -0
- package/dist/middlewares/route/validateAccessControl.js.map +1 -0
- package/dist/middlewares/route/validateRepository.d.ts +4 -0
- package/dist/middlewares/route/validateRepository.js +14 -24
- package/dist/middlewares/route/validateRepository.js.map +1 -1
- package/dist/models/access_control/AccessControlRoleModel.d.ts +228 -0
- package/dist/models/access_control/AccessControlRoleModel.js +13 -0
- package/dist/models/access_control/AccessControlRoleModel.js.map +1 -0
- package/dist/models/access_control/AccessControlRolePolicyModel.d.ts +206 -0
- package/dist/models/access_control/AccessControlRolePolicyModel.js +13 -0
- package/dist/models/access_control/AccessControlRolePolicyModel.js.map +1 -0
- package/dist/models/access_control/AccessControlUserRoleModel.d.ts +206 -0
- package/dist/models/access_control/AccessControlUserRoleModel.js +13 -0
- package/dist/models/access_control/AccessControlUserRoleModel.js.map +1 -0
- package/dist/models/index.d.ts +18 -0
- package/dist/models/index.js +30 -2
- package/dist/models/index.js.map +1 -1
- package/dist/models/repository/RepositoryCartonModel.d.ts +312 -0
- package/dist/models/repository/RepositoryCartonModel.js +13 -0
- package/dist/models/repository/RepositoryCartonModel.js.map +1 -0
- package/dist/models/repository/RepositoryContainerModel.d.ts +268 -0
- package/dist/models/repository/RepositoryContainerModel.js +13 -0
- package/dist/models/repository/RepositoryContainerModel.js.map +1 -0
- package/dist/models/repository/RepositoryModel.d.ts +235 -0
- package/dist/models/repository/RepositoryModel.js +13 -0
- package/dist/models/repository/RepositoryModel.js.map +1 -0
- package/dist/models/repository/RepositoryPackageItemModel.d.ts +334 -0
- package/dist/models/repository/RepositoryPackageItemModel.js +13 -0
- package/dist/models/repository/RepositoryPackageItemModel.js.map +1 -0
- package/dist/models/repository/RepositoryPackageModel.d.ts +323 -0
- package/dist/models/repository/RepositoryPackageModel.js +13 -0
- package/dist/models/repository/RepositoryPackageModel.js.map +1 -0
- package/dist/models/repository/RepositoryPalletModel.d.ts +301 -0
- package/dist/models/repository/RepositoryPalletModel.js +13 -0
- package/dist/models/repository/RepositoryPalletModel.js.map +1 -0
- package/dist/routes/access_control/accessControlPoliciesRoutes.d.ts +2 -0
- package/dist/routes/access_control/accessControlPoliciesRoutes.js +11 -0
- package/dist/routes/access_control/accessControlPoliciesRoutes.js.map +1 -0
- package/dist/routes/access_control/accessControlRoleRoutes.d.ts +2 -0
- package/dist/routes/access_control/accessControlRoleRoutes.js +15 -0
- package/dist/routes/access_control/accessControlRoleRoutes.js.map +1 -0
- package/dist/routes/access_control/accessControlRolesRoutes.d.ts +2 -0
- package/dist/routes/access_control/accessControlRolesRoutes.js +13 -0
- package/dist/routes/access_control/accessControlRolesRoutes.js.map +1 -0
- package/dist/routes/access_control/accessControlRoutes.d.ts +0 -1
- package/dist/routes/access_control/accessControlRoutes.js +8 -5
- package/dist/routes/access_control/accessControlRoutes.js.map +1 -1
- package/dist/routes/access_control/accessControlUsersRoutes.d.ts +3 -0
- package/dist/routes/access_control/accessControlUsersRoutes.js +13 -0
- package/dist/routes/access_control/accessControlUsersRoutes.js.map +1 -0
- package/dist/routes/index.d.ts +2 -0
- package/dist/routes/index.js +5 -1
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/repository/repositoriesRoutes.d.ts +2 -0
- package/dist/routes/repository/repositoriesRoutes.js +13 -0
- package/dist/routes/repository/repositoriesRoutes.js.map +1 -0
- package/dist/routes/repository/repositoryRoutes.d.ts +2 -0
- package/dist/routes/repository/repositoryRoutes.js +15 -0
- package/dist/routes/repository/repositoryRoutes.js.map +1 -0
- package/dist/schema/middleware/route/index.d.ts +2 -2
- package/dist/schema/middleware/route/index.js +2 -1
- package/dist/schema/middleware/route/index.js.map +1 -1
- package/dist/schema/middleware/route/schemaAccessControl.d.ts +3 -0
- package/dist/schema/middleware/route/schemaAccessControl.js +6 -1
- package/dist/schema/middleware/route/schemaAccessControl.js.map +1 -1
- package/dist/schema/middleware/route/schemaRepository.d.ts +2 -2
- package/dist/schema/payload/access_control/schemaAccessControlRole.d.ts +219 -0
- package/dist/schema/payload/access_control/schemaAccessControlRole.js +41 -0
- package/dist/schema/payload/access_control/schemaAccessControlRole.js.map +1 -0
- package/dist/schema/payload/access_control/schemaAccessControlUser.d.ts +54 -0
- package/dist/schema/payload/access_control/schemaAccessControlUser.js +34 -0
- package/dist/schema/payload/access_control/schemaAccessControlUser.js.map +1 -0
- package/dist/schema/payload/business/schemaBusiness.d.ts +16 -1
- package/dist/schema/payload/business/schemaBusiness.js +8 -12
- package/dist/schema/payload/business/schemaBusiness.js.map +1 -1
- package/dist/schema/payload/index.d.ts +8 -0
- package/dist/schema/payload/index.js +18 -2
- package/dist/schema/payload/index.js.map +1 -1
- package/dist/schema/payload/injection_field/schemaInjectionField.d.ts +20 -134
- package/dist/schema/payload/injection_field/schemaInjectionField.js +8 -8
- package/dist/schema/payload/injection_field/schemaInjectionField.js.map +1 -1
- package/dist/schema/payload/repository/schemaRepository.d.ts +66 -0
- package/dist/schema/payload/repository/schemaRepository.js +26 -0
- package/dist/schema/payload/repository/schemaRepository.js.map +1 -0
- package/dist/schema/payload/repository/schemaRepositoryContainer.d.ts +292 -0
- package/dist/schema/payload/repository/schemaRepositoryContainer.js +41 -0
- package/dist/schema/payload/repository/schemaRepositoryContainer.js.map +1 -0
- package/dist/services/access_control/AccessControlRoleService.d.ts +49 -0
- package/dist/services/access_control/AccessControlRoleService.js +249 -0
- package/dist/services/access_control/AccessControlRoleService.js.map +1 -0
- package/dist/services/access_control/AccessControlUserService.d.ts +27 -0
- package/dist/services/access_control/AccessControlUserService.js +260 -0
- package/dist/services/access_control/AccessControlUserService.js.map +1 -0
- package/dist/services/index.d.ts +6 -0
- package/dist/services/index.js +8 -5
- package/dist/services/index.js.map +1 -1
- package/dist/services/injection_field/InjectionFieldService.d.ts +4 -2
- package/dist/services/injection_field/RepositoryInjectionFieldService.d.ts +14 -5
- package/dist/services/injection_field/RepositoryInjectionFieldService.js +6 -2
- package/dist/services/injection_field/RepositoryInjectionFieldService.js.map +1 -1
- package/dist/services/repository/RepositoryContainerService.d.ts +64 -0
- package/dist/services/repository/RepositoryContainerService.js +187 -0
- package/dist/services/repository/RepositoryContainerService.js.map +1 -0
- package/dist/services/repository/RepositoryMainService.d.ts +80 -0
- package/dist/services/repository/RepositoryMainService.js +143 -0
- package/dist/services/repository/RepositoryMainService.js.map +1 -0
- package/dist/services/repository/RepositoryService.d.ts +46 -0
- package/dist/services/repository/RepositoryService.js +133 -0
- package/dist/services/repository/RepositoryService.js.map +1 -0
- package/dist/services/scheduler/SchedulerLogService.d.ts +1 -1
- package/dist/services/scheduler/SchedulerLogService.js +32 -34
- package/dist/services/scheduler/SchedulerLogService.js.map +1 -1
- package/dist/utils/accessControlUtils.d.ts +17 -0
- package/dist/utils/accessControlUtils.js +8 -0
- package/dist/utils/accessControlUtils.js.map +1 -0
- package/dist/utils/index.d.ts +2 -1
- package/dist/utils/index.js +4 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/zodUtils.d.ts +13 -0
- package/dist/utils/zodUtils.js +17 -1
- package/dist/utils/zodUtils.js.map +1 -1
- package/package.json +1 -1
- package/prisma/schema.prisma +188 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RepositoryService = exports.repositoryTypes = void 0;
|
|
4
|
+
const RepositoryMainService_1 = require("./RepositoryMainService");
|
|
5
|
+
const RepositoryContainerService_1 = require("./RepositoryContainerService");
|
|
6
|
+
const utils_1 = require("../../utils");
|
|
7
|
+
exports.repositoryTypes = {
|
|
8
|
+
container: "container",
|
|
9
|
+
pallet: "pallet",
|
|
10
|
+
carton: "carton",
|
|
11
|
+
package: "package",
|
|
12
|
+
package_item: "package_item",
|
|
13
|
+
};
|
|
14
|
+
const RepositoryService = (props) => {
|
|
15
|
+
const { repositoryType = "container", ...rest } = props;
|
|
16
|
+
const repositoryMainService = (0, RepositoryMainService_1.RepositoryMainService)({ ...rest, repositoryType });
|
|
17
|
+
const repositoryContainerService = (0, RepositoryContainerService_1.RepositoryContainerService)({ ...rest });
|
|
18
|
+
const createRepository = async ({ data, repositoryType: overrideRepositoryType }) => {
|
|
19
|
+
const _repositoryType = overrideRepositoryType || repositoryType;
|
|
20
|
+
// create repository
|
|
21
|
+
const repositoryResponse = await repositoryMainService.createRepositoryMain({
|
|
22
|
+
repositoryType: _repositoryType,
|
|
23
|
+
data: {
|
|
24
|
+
repositoryType: _repositoryType,
|
|
25
|
+
...(data?.repositoryNumber ? { repositoryNumber: data.repositoryNumber } : {}),
|
|
26
|
+
...(data?.repositoryDate ? { repositoryDate: data.repositoryDate } : {}),
|
|
27
|
+
...(data?.remark ? { remark: data.remark } : {}),
|
|
28
|
+
...(data?.description ? { description: data.description } : {}),
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
let newRepositoryId = repositoryResponse.repository_id;
|
|
32
|
+
let response = {};
|
|
33
|
+
if (_repositoryType === "container" && "container" in data) {
|
|
34
|
+
let dataRepositoryContainer = {
|
|
35
|
+
data: {
|
|
36
|
+
container: {
|
|
37
|
+
repositoryId: Number(newRepositoryId),
|
|
38
|
+
arrivalDate: data.container.arrivalDate,
|
|
39
|
+
containerDescription: data.container.containerDescription,
|
|
40
|
+
containerNumber: data.container.containerNumber,
|
|
41
|
+
inspectionProviderName: data.container.inspectionProviderName,
|
|
42
|
+
shippingProviderName: data.container.shippingProviderName,
|
|
43
|
+
sealNumber: data.container.sealNumber,
|
|
44
|
+
loadDate: data.container.loadDate
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
// create container
|
|
49
|
+
response = await repositoryContainerService.createRepositoryContainer(dataRepositoryContainer);
|
|
50
|
+
}
|
|
51
|
+
return response;
|
|
52
|
+
};
|
|
53
|
+
const updateRepository = async ({ repositoryId, data, repositoryType: overrideRepositoryType }) => {
|
|
54
|
+
const _repositoryType = overrideRepositoryType || repositoryType;
|
|
55
|
+
// update repository
|
|
56
|
+
const repositoryResponse = await repositoryMainService.updateRepositoryMain({
|
|
57
|
+
repositoryId,
|
|
58
|
+
data: {
|
|
59
|
+
...(data?.repositoryDate ? { repositoryDate: data.repositoryDate } : {}),
|
|
60
|
+
...(data?.remark ? { remark: data.remark } : {}),
|
|
61
|
+
...(data?.description ? { description: data.description } : {}),
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
let response = {};
|
|
65
|
+
if (_repositoryType === "container" && "container" in data) {
|
|
66
|
+
let dataRepositoryContainer = {
|
|
67
|
+
repositoryId: Number(repositoryId),
|
|
68
|
+
data: {
|
|
69
|
+
container: {
|
|
70
|
+
arrivalDate: data.container.arrivalDate,
|
|
71
|
+
containerDescription: data.container.containerDescription,
|
|
72
|
+
containerNumber: data.container.containerNumber,
|
|
73
|
+
inspectionProviderName: data.container.inspectionProviderName,
|
|
74
|
+
shippingProviderName: data.container.shippingProviderName,
|
|
75
|
+
sealNumber: data.container.sealNumber,
|
|
76
|
+
loadDate: data.container.loadDate
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
// update container
|
|
81
|
+
response = await repositoryContainerService.updateRepositoryContainer(dataRepositoryContainer);
|
|
82
|
+
}
|
|
83
|
+
return response;
|
|
84
|
+
};
|
|
85
|
+
const getRepository = async ({ id, datatypes = [] }) => {
|
|
86
|
+
let data = {};
|
|
87
|
+
if (repositoryType === "container") {
|
|
88
|
+
data = await repositoryContainerService.getRepositoryContainer({ repositoryId: id, datatypes: datatypes });
|
|
89
|
+
}
|
|
90
|
+
if (!data) {
|
|
91
|
+
throw new Error(`Invalid id: ${id}`);
|
|
92
|
+
}
|
|
93
|
+
return data;
|
|
94
|
+
};
|
|
95
|
+
const listRepositories = async ({ limit, offset, filters = [], sortfield, sortorder, datatypes }) => {
|
|
96
|
+
let data = [];
|
|
97
|
+
let total = 0;
|
|
98
|
+
if (repositoryType === "container") {
|
|
99
|
+
({ data, total } = await repositoryContainerService.listRepositoryContainers({ limit, offset, filters, sortfield, sortorder, datatypes: datatypes }));
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
data,
|
|
103
|
+
total
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
const removeRepositories = async ({ repositoryIds }) => {
|
|
107
|
+
if (!repositoryIds.length)
|
|
108
|
+
(0, utils_1.throwError)('repositoryIds is required');
|
|
109
|
+
let response = {};
|
|
110
|
+
if (repositoryType === "container") {
|
|
111
|
+
response = await repositoryContainerService.removeRepositoryContainers({ repositoryIds });
|
|
112
|
+
}
|
|
113
|
+
return response;
|
|
114
|
+
};
|
|
115
|
+
const getRepositoryDataTypes = () => {
|
|
116
|
+
let data = [];
|
|
117
|
+
let total = 0;
|
|
118
|
+
if (repositoryType === "container") {
|
|
119
|
+
data = repositoryContainerService.getDataTypes();
|
|
120
|
+
}
|
|
121
|
+
return data;
|
|
122
|
+
};
|
|
123
|
+
return {
|
|
124
|
+
createRepository,
|
|
125
|
+
updateRepository,
|
|
126
|
+
getRepository,
|
|
127
|
+
listRepositories,
|
|
128
|
+
removeRepositories,
|
|
129
|
+
getRepositoryDataTypes
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
exports.RepositoryService = RepositoryService;
|
|
133
|
+
//# sourceMappingURL=RepositoryService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RepositoryService.js","sourceRoot":"","sources":["../../../src/services/repository/RepositoryService.ts"],"names":[],"mappings":"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","sourcesContent":["import { RepositoryMainService, RepositoryMainCreateProps, RepositoryMainUpdateProps } from \"./RepositoryMainService\"\nimport { RepositoryContainerGetProps, RepositoryContainerCreateProps, RepositoryContainerListProps, RepositoryContainerUpdateProps, RepositoryContainerService } from \"./RepositoryContainerService\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps, throwError } from \"@/utils\";\n\nexport const repositoryTypes = {\n container: \"container\",\n pallet: \"pallet\",\n carton: \"carton\",\n package: \"package\",\n package_item: \"package_item\",\n} as const\n\nexport type RepositoryType = typeof repositoryTypes[keyof typeof repositoryTypes]\n\nexport type RepositoryServiceProps = DefaultServiceProps & {\n repositoryType: RepositoryType\n};\n\nexport type RepositoryGetProps = QueryGet & {\n id: number,\n};\n\nexport type RepositoryListProps = QueryList & {\n};\n\nexport type RepositoryRemoveProps = {\n repositoryIds: BigInt[]\n};\n\nexport type RepositoryCreateProps = {\n repositoryType?: RepositoryType,\n data: Omit<RepositoryMainCreateProps[\"data\"], \"repositoryType\"> & (\n // container\n {\n container: Omit<RepositoryContainerCreateProps[\"data\"][\"container\"], \"repositoryId\">,\n }\n // |\n // // deliveryOrder\n // {\n // deliveryOrder: Omit<DeliveryOrderCreateProps[\"data\"], \"\">,\n // }\n )\n}\n\nexport type RepositoryUpdateProps = {\n repositoryId: number,\n repositoryType?: RepositoryType,\n data: Omit<RepositoryMainUpdateProps[\"data\"], \"repositoryNumber\"> & (\n // container\n {\n container: Omit<RepositoryContainerUpdateProps[\"data\"][\"container\"], \"repositoryId\">,\n }\n // |\n // // deliveryOrder\n // {\n // deliveryOrder: Omit<DeliveryOrderUpdateProps[\"data\"], \"\">,\n // }\n )\n}\n\nexport const RepositoryService = (props: RepositoryServiceProps) => {\n\n const {\n repositoryType = \"container\",\n ...rest\n } = props\n\n const repositoryMainService = RepositoryMainService({ ...rest, repositoryType })\n\n const repositoryContainerService = RepositoryContainerService({ ...rest })\n\n const createRepository = async ({ data, repositoryType: overrideRepositoryType }: RepositoryCreateProps) => {\n\n const _repositoryType = overrideRepositoryType || repositoryType\n\n // create repository\n const repositoryResponse = await repositoryMainService.createRepositoryMain({\n repositoryType: _repositoryType,\n data: {\n repositoryType: _repositoryType,\n ...(data?.repositoryNumber ? { repositoryNumber: data.repositoryNumber } : {}),\n ...(data?.repositoryDate ? { repositoryDate: data.repositoryDate } : {}),\n ...(data?.remark ? { remark: data.remark } : {}),\n ...(data?.description ? { description: data.description } : {}),\n }\n })\n\n let newRepositoryId = repositoryResponse.repository_id\n\n let response: any = {}\n\n if (_repositoryType === \"container\" && \"container\" in data) {\n\n let dataRepositoryContainer: RepositoryContainerCreateProps = {\n data: {\n container: {\n repositoryId: Number(newRepositoryId),\n arrivalDate: data.container.arrivalDate,\n containerDescription: data.container.containerDescription,\n containerNumber: data.container.containerNumber,\n inspectionProviderName: data.container.inspectionProviderName,\n shippingProviderName: data.container.shippingProviderName,\n sealNumber: data.container.sealNumber,\n loadDate: data.container.loadDate\n }\n }\n }\n\n // create container\n response = await repositoryContainerService.createRepositoryContainer(dataRepositoryContainer)\n\n }\n\n return response\n }\n\n const updateRepository = async ({ repositoryId, data, repositoryType: overrideRepositoryType }: RepositoryUpdateProps) => {\n\n const _repositoryType = overrideRepositoryType || repositoryType\n\n // update repository\n const repositoryResponse = await repositoryMainService.updateRepositoryMain({\n repositoryId,\n data: {\n ...(data?.repositoryDate ? { repositoryDate: data.repositoryDate } : {}),\n ...(data?.remark ? { remark: data.remark } : {}),\n ...(data?.description ? { description: data.description } : {}),\n }\n })\n\n let response: any = {}\n\n if (_repositoryType === \"container\" && \"container\" in data) {\n\n let dataRepositoryContainer: RepositoryContainerUpdateProps = {\n repositoryId: Number(repositoryId),\n data: {\n container: {\n arrivalDate: data.container.arrivalDate,\n containerDescription: data.container.containerDescription,\n containerNumber: data.container.containerNumber,\n inspectionProviderName: data.container.inspectionProviderName,\n shippingProviderName: data.container.shippingProviderName,\n sealNumber: data.container.sealNumber,\n loadDate: data.container.loadDate\n }\n }\n }\n\n // update container\n response = await repositoryContainerService.updateRepositoryContainer(dataRepositoryContainer)\n\n }\n\n return response\n }\n\n const getRepository = async ({ id, datatypes = [] }: RepositoryGetProps) => {\n\n let data: any = {}\n\n if (repositoryType === \"container\") {\n data = await repositoryContainerService.getRepositoryContainer({ repositoryId: id, datatypes: datatypes as RepositoryContainerGetProps[\"datatypes\"] })\n }\n\n if (!data) {\n throw new Error(`Invalid id: ${id}`);\n }\n\n return data\n };\n\n const listRepositories = async ({ limit, offset, filters = [], sortfield, sortorder, datatypes }: RepositoryListProps) => {\n\n let data: any[] = [];\n let total = 0;\n\n if (repositoryType === \"container\") {\n ({ data, total } = await repositoryContainerService.listRepositoryContainers(\n { limit, offset, filters, sortfield, sortorder, datatypes: datatypes as RepositoryContainerListProps[\"datatypes\"] }\n ))\n }\n\n return {\n data,\n total\n }\n };\n\n const removeRepositories = async ({ repositoryIds }: RepositoryRemoveProps) => {\n\n if (!repositoryIds.length) throwError('repositoryIds is required');\n\n let response: any = {}\n\n if (repositoryType === \"container\") { response = await repositoryContainerService.removeRepositoryContainers({ repositoryIds }) }\n\n return response\n };\n\n const getRepositoryDataTypes = () => {\n\n let data: any[] = [];\n let total = 0;\n\n if (repositoryType === \"container\") { data = repositoryContainerService.getDataTypes() }\n\n return data\n };\n\n return {\n createRepository,\n updateRepository,\n getRepository,\n listRepositories,\n removeRepositories,\n getRepositoryDataTypes\n }\n\n}\n\n"]}
|
|
@@ -95,7 +95,7 @@ export declare const SchedulerLogService: (props: SchedulerLogServiceProps) => {
|
|
|
95
95
|
destination_submit_response: string | null;
|
|
96
96
|
}[]>;
|
|
97
97
|
listSchedulerLoges: ({ limit, offset, filters, sortfield, sortorder }: SchedulerLogListProps) => Promise<{
|
|
98
|
-
data: any
|
|
98
|
+
data: any;
|
|
99
99
|
total: number;
|
|
100
100
|
}>;
|
|
101
101
|
};
|
|
@@ -4,10 +4,12 @@ exports.SchedulerLogService = exports.schedulerLogTypes = void 0;
|
|
|
4
4
|
const utils_1 = require("../../utils");
|
|
5
5
|
const models_1 = require("../../models");
|
|
6
6
|
const lib_1 = require("../../lib");
|
|
7
|
+
const lib_2 = require("../../lib");
|
|
7
8
|
exports.schedulerLogTypes = {
|
|
8
9
|
in: "in",
|
|
9
10
|
out: "out"
|
|
10
11
|
};
|
|
12
|
+
const { relationKeys, sqlRelationMaps } = (0, lib_1.getSchedulerLogSqlRelationMaps)();
|
|
11
13
|
const getCreatePayload = (data) => {
|
|
12
14
|
return {
|
|
13
15
|
[`${models_1.ModelSchedulerLogFields.scheduler_task_id}`]: Number(data.schedulerTaskId),
|
|
@@ -29,35 +31,8 @@ const getCreatePayload = (data) => {
|
|
|
29
31
|
[`${models_1.ModelSchedulerLogFields.log_status}`]: Boolean(data.logStatus),
|
|
30
32
|
};
|
|
31
33
|
};
|
|
32
|
-
let mainSqlSelect =
|
|
33
|
-
|
|
34
|
-
[`slog.${models_1.ModelSchedulerLogFields.scheduler_task_id}`]: "scheduler_task_id",
|
|
35
|
-
[`slog.${models_1.ModelSchedulerLogFields.field_module}`]: "field_module",
|
|
36
|
-
[`slog.${models_1.ModelSchedulerLogFields.field_ref}`]: "field_ref",
|
|
37
|
-
[`slog.${models_1.ModelSchedulerLogFields.flow_type}`]: "flow_type",
|
|
38
|
-
[`slog.${models_1.ModelSchedulerLogFields.destination_type}`]: "destination_type",
|
|
39
|
-
[`slog.${models_1.ModelSchedulerLogFields.destination_entity_id}`]: "destination_entity_id",
|
|
40
|
-
[`slog.${models_1.ModelSchedulerLogFields.destination_entity_label}`]: "destination_entity_label",
|
|
41
|
-
[`slog.${models_1.ModelSchedulerLogFields.destination_submit_payload}`]: "destination_submit_payload",
|
|
42
|
-
[`slog.${models_1.ModelSchedulerLogFields.destination_submit_response}`]: "destination_submit_response",
|
|
43
|
-
[`slog.${models_1.ModelSchedulerLogFields.source_type}`]: "source_type",
|
|
44
|
-
[`slog.${models_1.ModelSchedulerLogFields.source_entity_id}`]: "source_entity_id",
|
|
45
|
-
[`slog.${models_1.ModelSchedulerLogFields.source_entity_label}`]: "source_entity_label",
|
|
46
|
-
[`slog.${models_1.ModelSchedulerLogFields.source_entity_data}`]: "source_entity_data",
|
|
47
|
-
[`slog.${models_1.ModelSchedulerLogFields.log_action}`]: "log_action",
|
|
48
|
-
[`slog.${models_1.ModelSchedulerLogFields.log_label}`]: "log_label",
|
|
49
|
-
[`slog.${models_1.ModelSchedulerLogFields.log_message}`]: "log_message",
|
|
50
|
-
[`slog.${models_1.ModelSchedulerLogFields.log_status}`]: "log_status",
|
|
51
|
-
};
|
|
52
|
-
let defaultSqlSelect = {
|
|
53
|
-
[`slog.${models_1.ModelSchedulerLogFields.createdatetime}`]: "createdatetime",
|
|
54
|
-
[`creator.${models_1.ModelUserFields.login_username}`]: "createusername",
|
|
55
|
-
[`slog.${models_1.ModelSchedulerLogFields.updatedatetime}`]: "updatedatetime",
|
|
56
|
-
[`updater.${models_1.ModelUserFields.login_username}`]: "updateusername",
|
|
57
|
-
[`slog.${models_1.ModelSchedulerLogFields.isdelete}`]: "isdelete",
|
|
58
|
-
[`slog.${models_1.ModelSchedulerLogFields.istrash}`]: "istrash",
|
|
59
|
-
[`slog.${models_1.ModelSchedulerLogFields.accountid}`]: "accountid",
|
|
60
|
-
};
|
|
34
|
+
let mainSqlSelect = (0, lib_2.buildSchedulerLogMainSqlSelect)();
|
|
35
|
+
let defaultSqlSelect = (0, lib_2.buildSchedulerLogDefaultSqlSelect)();
|
|
61
36
|
const SchedulerLogService = (props) => {
|
|
62
37
|
const { ...rest } = props;
|
|
63
38
|
const schedulerLogModel = (0, models_1.SchedulerLogModel)({ ...rest });
|
|
@@ -80,7 +55,7 @@ const SchedulerLogService = (props) => {
|
|
|
80
55
|
return data[0] ?? null;
|
|
81
56
|
};
|
|
82
57
|
const listSchedulerLoges = async ({ limit, offset, filters = [], sortfield, sortorder }) => {
|
|
83
|
-
let data = []
|
|
58
|
+
// let data = []
|
|
84
59
|
let sqlSelect = [
|
|
85
60
|
`COUNT(slog.*) OVER() as filtered_count`,
|
|
86
61
|
(0, lib_1.buildSqlSelect)(``, mainSqlSelect),
|
|
@@ -111,21 +86,44 @@ const SchedulerLogService = (props) => {
|
|
|
111
86
|
];
|
|
112
87
|
let sqlOrderby = (0, lib_1.buildSqlOrderBy)(sortfield, sortorder);
|
|
113
88
|
let sqlLimitOffset = (0, lib_1.buildSqlLimitOffset)(limit, offset);
|
|
114
|
-
const sqlRaw =
|
|
89
|
+
// const sqlRaw = buildSqlRawSelect({
|
|
90
|
+
// tableName: "scheduler_logs",
|
|
91
|
+
// mainAlias: "slog",
|
|
92
|
+
// accountId: rest.accountId,
|
|
93
|
+
// sqlSelect,
|
|
94
|
+
// sqlRelation,
|
|
95
|
+
// sqlWhere,
|
|
96
|
+
// sqlGroupBy,
|
|
97
|
+
// sqlOrderby,
|
|
98
|
+
// sqlLimitOffset
|
|
99
|
+
// })
|
|
100
|
+
// data = await schedulerLogModel.raw(sqlRaw)
|
|
101
|
+
// const response = {
|
|
102
|
+
// data: data.map(({ filtered_count, ...rest }) => rest),
|
|
103
|
+
// total: data.length ? Number(data[0].filtered_count) : 0
|
|
104
|
+
// }
|
|
105
|
+
// get the listing data & count
|
|
106
|
+
const { data, total } = await (0, lib_1.getListWithCount)({
|
|
107
|
+
model: schedulerLogModel,
|
|
115
108
|
tableName: "scheduler_logs",
|
|
116
109
|
mainAlias: "slog",
|
|
110
|
+
countKey: `${models_1.ModelSchedulerLogFields.scheduler_log_id}`,
|
|
117
111
|
accountId: rest.accountId,
|
|
112
|
+
sqlRelationMaps,
|
|
113
|
+
filters,
|
|
114
|
+
filterColumns,
|
|
118
115
|
sqlSelect,
|
|
116
|
+
sqlSelectAgg: [],
|
|
119
117
|
sqlRelation,
|
|
118
|
+
sqlRelationAgg: [],
|
|
120
119
|
sqlWhere,
|
|
121
120
|
sqlGroupBy,
|
|
122
121
|
sqlOrderby,
|
|
123
122
|
sqlLimitOffset
|
|
124
123
|
});
|
|
125
|
-
data = await schedulerLogModel.raw(sqlRaw);
|
|
126
124
|
const response = {
|
|
127
|
-
data
|
|
128
|
-
total
|
|
125
|
+
data,
|
|
126
|
+
total
|
|
129
127
|
};
|
|
130
128
|
return response;
|
|
131
129
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchedulerLogService.js","sourceRoot":"","sources":["../../../src/services/scheduler/SchedulerLogService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n SchedulerLogModel,\n ModelSchedulerLogFields\n} from \"@/models\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { InjectionFieldModuleRef } from \"@/services\"\n\nimport { buildSqlRelation, buildSqlRawSelect, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy } from \"@/lib\";\n\nexport type SchedulerLogModuleRef = InjectionFieldModuleRef\n\nexport type SchedulerLogServiceProps = DefaultServiceProps & {};\n\nexport type SchedulerLogGetProps = Omit<QueryGet, \"datatypes\"> & {\n id: number,\n};\n\nexport type SchedulerLogListProps = Omit<QueryList, \"datatypes\"> & {\n};\n\nexport type SchedulerLogRemoveProps = {\n schedulerLogIds: BigInt[]\n};\n\nexport const schedulerLogTypes = {\n in: \"in\",\n out: \"out\"\n}\n\nexport type SchedulerLogFlowType = keyof typeof schedulerLogTypes\n\nexport type SchedulerLog = {\n schedulerTaskId: number;\n flowType: SchedulerLogFlowType;\n\n sourceType: string;\n sourceEntityId: string;\n sourceEntityLabel: string;\n sourceEntityData: string;\n\n destinationType: string;\n destinationEntityId: string;\n destinationEntityLabel: string;\n destinationSubmitPayload: string;\n destinationSubmitResponse: string;\n\n logAction: string;\n logLabel: string;\n logStatus: boolean;\n logMesssage: string;\n}\n\nexport type SchedulerLogCreateProps = {\n data: SchedulerLog & {\n fieldRef: SchedulerLogModuleRef[\"field_ref\"],\n fieldModule: SchedulerLogModuleRef[\"field_module\"]\n }\n}\n\nconst getCreatePayload = (data: SchedulerLogCreateProps[\"data\"]) => {\n\n return {\n [`${ModelSchedulerLogFields.scheduler_task_id}`]: Number(data.schedulerTaskId),\n [`${ModelSchedulerLogFields.flow_type}`]: data.flowType,\n [`${ModelSchedulerLogFields.log_action}`]: data.logAction,\n\n [`${ModelSchedulerLogFields.field_module}`]: data.fieldRef,\n [`${ModelSchedulerLogFields.field_ref}`]: data.fieldModule,\n\n [`${ModelSchedulerLogFields.source_type}`]: data.sourceType,\n [`${ModelSchedulerLogFields.source_entity_id}`]: data.sourceEntityId,\n [`${ModelSchedulerLogFields.source_entity_label}`]: data.sourceEntityLabel,\n [`${ModelSchedulerLogFields.source_entity_data}`]: data.sourceEntityData,\n\n [`${ModelSchedulerLogFields.destination_type}`]: data.destinationType,\n [`${ModelSchedulerLogFields.destination_entity_id}`]: data.destinationEntityId,\n [`${ModelSchedulerLogFields.destination_entity_label}`]: data.destinationEntityLabel,\n [`${ModelSchedulerLogFields.destination_submit_payload}`]: data.destinationSubmitPayload,\n [`${ModelSchedulerLogFields.destination_submit_response}`]: data.destinationSubmitResponse,\n\n [`${ModelSchedulerLogFields.log_label}`]: data.logLabel,\n [`${ModelSchedulerLogFields.log_message}`]: data.logMesssage,\n [`${ModelSchedulerLogFields.log_status}`]: Boolean(data.logStatus),\n }\n\n}\n\nlet mainSqlSelect = {\n [`slog.${ModelSchedulerLogFields.scheduler_log_id}`]: \"scheduler_log_id\",\n [`slog.${ModelSchedulerLogFields.scheduler_task_id}`]: \"scheduler_task_id\",\n [`slog.${ModelSchedulerLogFields.field_module}`]: \"field_module\",\n [`slog.${ModelSchedulerLogFields.field_ref}`]: \"field_ref\",\n [`slog.${ModelSchedulerLogFields.flow_type}`]: \"flow_type\",\n [`slog.${ModelSchedulerLogFields.destination_type}`]: \"destination_type\",\n [`slog.${ModelSchedulerLogFields.destination_entity_id}`]: \"destination_entity_id\",\n [`slog.${ModelSchedulerLogFields.destination_entity_label}`]: \"destination_entity_label\",\n [`slog.${ModelSchedulerLogFields.destination_submit_payload}`]: \"destination_submit_payload\",\n [`slog.${ModelSchedulerLogFields.destination_submit_response}`]: \"destination_submit_response\",\n [`slog.${ModelSchedulerLogFields.source_type}`]: \"source_type\",\n [`slog.${ModelSchedulerLogFields.source_entity_id}`]: \"source_entity_id\",\n [`slog.${ModelSchedulerLogFields.source_entity_label}`]: \"source_entity_label\",\n [`slog.${ModelSchedulerLogFields.source_entity_data}`]: \"source_entity_data\",\n [`slog.${ModelSchedulerLogFields.log_action}`]: \"log_action\",\n [`slog.${ModelSchedulerLogFields.log_label}`]: \"log_label\",\n [`slog.${ModelSchedulerLogFields.log_message}`]: \"log_message\",\n [`slog.${ModelSchedulerLogFields.log_status}`]: \"log_status\",\n}\n\nlet defaultSqlSelect = {\n [`slog.${ModelSchedulerLogFields.createdatetime}`]: \"createdatetime\",\n [`creator.${ModelUserFields.login_username}`]: \"createusername\",\n [`slog.${ModelSchedulerLogFields.updatedatetime}`]: \"updatedatetime\",\n [`updater.${ModelUserFields.login_username}`]: \"updateusername\",\n [`slog.${ModelSchedulerLogFields.isdelete}`]: \"isdelete\",\n [`slog.${ModelSchedulerLogFields.istrash}`]: \"istrash\",\n [`slog.${ModelSchedulerLogFields.accountid}`]: \"accountid\",\n}\n\nexport const SchedulerLogService = (props: SchedulerLogServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const schedulerLogModel = SchedulerLogModel({ ...rest })\n\n const createSchedulerLog = async ({ data }: SchedulerLogCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create scheduler log payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await schedulerLogModel.create({ data: _data })\n\n return response\n }\n\n const getSchedulerLog = async ({ id }: SchedulerLogGetProps) => {\n\n let { data } = await listSchedulerLoges({\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelSchedulerLogFields.scheduler_log_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelSchedulerLogFields.scheduler_log_id}`,\n sortorder: \"ASC\",\n })\n\n return data[0] ?? null;\n\n };\n\n const listSchedulerLoges = async ({ limit, offset, filters = [], sortfield, sortorder }: SchedulerLogListProps) => {\n\n let data = []\n\n let sqlSelect = [\n `COUNT(slog.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n // buildSqlSelect(``, regionSqlSelect),\n buildSqlSelect(``, defaultSqlSelect)\n ]\n\n let sqlRelation = [\n // buildSqlRelation(\"left\", \"slog\", \"states\", \"slogstate\", [\"slog.state_id = slogstate.state_id\", \"slogstate.isdelete = false\", \"slogstate.istrash = false\"]),\n // buildSqlRelation(\"left\", \"slog\", \"countries\", \"slogcoun\", [\"slog.country_id = slogcoun.country_id\", \"slogcoun.isdelete = false\", \"slogcoun.istrash = false\"]),\n // buildSqlRelation(\"left\", \"slog\", \"areas\", \"slogarea\", [\"slog.area_id = slogarea.area_id\", \"slogarea.isdelete = false\", \"slogarea.istrash = false\"]),\n buildSqlRelation(\"left\", \"slog\", \"users\", \"creator\", [\"slog.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"slog\", \"users\", \"updater\", [\"slog.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n // ...Object.keys(regionSqlSelect), \n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n // ...regionSqlSelect, \n ...defaultSqlSelect\n }\n\n let sqlWhere = [\n `slog.isdelete = false`,\n `slog.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n const sqlRaw = buildSqlRawSelect({\n tableName: \"scheduler_logs\",\n mainAlias: \"slog\",\n accountId: rest.accountId,\n sqlSelect,\n sqlRelation,\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n data = await schedulerLogModel.raw(sqlRaw)\n\n const response = {\n data: data.map(({ filtered_count, ...rest }) => rest),\n total: data.length ? Number(data[0].filtered_count) : 0\n }\n\n return response\n\n };\n\n const removeSchedulerLoges = async ({ schedulerLogIds }: SchedulerLogRemoveProps) => {\n\n if (!schedulerLogIds.length) throwError('schedulerLogIds is required');\n\n const response = await schedulerLogModel.remove({ where: { [`${ModelSchedulerLogFields.scheduler_log_id}`]: { in: schedulerLogIds } } });\n\n return response\n };\n\n return {\n getSchedulerLog,\n createSchedulerLog,\n removeSchedulerLoges,\n listSchedulerLoges\n }\n\n}\n\n"]}
|
|
1
|
+
{"version":3,"file":"SchedulerLogService.js","sourceRoot":"","sources":["../../../src/services/scheduler/SchedulerLogService.ts"],"names":[],"mappings":"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","sourcesContent":["import { logError, throwError } from \"@/utils\";\n\nimport {\n ModelUserFields,\n SchedulerLogModel,\n ModelSchedulerLogFields\n} from \"@/models\";\n\nimport { QueryList, QueryGet } from \"@/schema/common\";\n\nimport { DefaultServiceProps } from \"@/utils\";\n\nimport { InjectionFieldModuleRef } from \"@/services\"\n\nimport { getSchedulerLogSqlRelationMaps, buildSqlRelation, buildSqlWhere, buildSqlSelect, buildSqlLimitOffset, buildSqlOrderBy, getListWithCount } from \"@/lib\";\n\nimport {\n buildSchedulerLogDefaultSqlSelect,\n buildSchedulerLogMainSqlSelect\n} from \"@/lib\";\n\nexport type SchedulerLogModuleRef = InjectionFieldModuleRef\n\nexport type SchedulerLogServiceProps = DefaultServiceProps & {};\n\nexport type SchedulerLogGetProps = Omit<QueryGet, \"datatypes\"> & {\n id: number,\n};\n\nexport type SchedulerLogListProps = Omit<QueryList, \"datatypes\"> & {\n};\n\nexport type SchedulerLogRemoveProps = {\n schedulerLogIds: BigInt[]\n};\n\nexport const schedulerLogTypes = {\n in: \"in\",\n out: \"out\"\n}\n\nexport type SchedulerLogFlowType = keyof typeof schedulerLogTypes\n\nexport type SchedulerLog = {\n schedulerTaskId: number;\n flowType: SchedulerLogFlowType;\n\n sourceType: string;\n sourceEntityId: string;\n sourceEntityLabel: string;\n sourceEntityData: string;\n\n destinationType: string;\n destinationEntityId: string;\n destinationEntityLabel: string;\n destinationSubmitPayload: string;\n destinationSubmitResponse: string;\n\n logAction: string;\n logLabel: string;\n logStatus: boolean;\n logMesssage: string;\n}\n\nexport type SchedulerLogCreateProps = {\n data: SchedulerLog & {\n fieldRef: SchedulerLogModuleRef[\"field_ref\"],\n fieldModule: SchedulerLogModuleRef[\"field_module\"]\n }\n}\n\nconst { relationKeys, sqlRelationMaps } = getSchedulerLogSqlRelationMaps()\n\nconst getCreatePayload = (data: SchedulerLogCreateProps[\"data\"]) => {\n\n return {\n [`${ModelSchedulerLogFields.scheduler_task_id}`]: Number(data.schedulerTaskId),\n [`${ModelSchedulerLogFields.flow_type}`]: data.flowType,\n [`${ModelSchedulerLogFields.log_action}`]: data.logAction,\n\n [`${ModelSchedulerLogFields.field_module}`]: data.fieldRef,\n [`${ModelSchedulerLogFields.field_ref}`]: data.fieldModule,\n\n [`${ModelSchedulerLogFields.source_type}`]: data.sourceType,\n [`${ModelSchedulerLogFields.source_entity_id}`]: data.sourceEntityId,\n [`${ModelSchedulerLogFields.source_entity_label}`]: data.sourceEntityLabel,\n [`${ModelSchedulerLogFields.source_entity_data}`]: data.sourceEntityData,\n\n [`${ModelSchedulerLogFields.destination_type}`]: data.destinationType,\n [`${ModelSchedulerLogFields.destination_entity_id}`]: data.destinationEntityId,\n [`${ModelSchedulerLogFields.destination_entity_label}`]: data.destinationEntityLabel,\n [`${ModelSchedulerLogFields.destination_submit_payload}`]: data.destinationSubmitPayload,\n [`${ModelSchedulerLogFields.destination_submit_response}`]: data.destinationSubmitResponse,\n\n [`${ModelSchedulerLogFields.log_label}`]: data.logLabel,\n [`${ModelSchedulerLogFields.log_message}`]: data.logMesssage,\n [`${ModelSchedulerLogFields.log_status}`]: Boolean(data.logStatus),\n }\n\n}\n\nlet mainSqlSelect = buildSchedulerLogMainSqlSelect()\nlet defaultSqlSelect = buildSchedulerLogDefaultSqlSelect()\n\nexport const SchedulerLogService = (props: SchedulerLogServiceProps) => {\n\n const {\n ...rest\n } = props\n\n const schedulerLogModel = SchedulerLogModel({ ...rest })\n\n const createSchedulerLog = async ({ data }: SchedulerLogCreateProps) => {\n\n const _data = getCreatePayload(data)\n\n if (!_data) {\n throw new Error(`Invalid create scheduler log payload: ${JSON.stringify(_data)}`);\n }\n\n let response = await schedulerLogModel.create({ data: _data })\n\n return response\n }\n\n const getSchedulerLog = async ({ id }: SchedulerLogGetProps) => {\n\n let { data } = await listSchedulerLoges({\n limit: 1,\n offset: 0,\n filters: [{ field: `${ModelSchedulerLogFields.scheduler_log_id}`, operator: \"=\", value: id }],\n sortfield: `${ModelSchedulerLogFields.scheduler_log_id}`,\n sortorder: \"ASC\",\n })\n\n return data[0] ?? null;\n\n };\n\n const listSchedulerLoges = async ({ limit, offset, filters = [], sortfield, sortorder }: SchedulerLogListProps) => {\n\n // let data = []\n\n let sqlSelect = [\n `COUNT(slog.*) OVER() as filtered_count`,\n buildSqlSelect(``, mainSqlSelect),\n // buildSqlSelect(``, regionSqlSelect),\n buildSqlSelect(``, defaultSqlSelect)\n ]\n\n let sqlRelation = [\n // buildSqlRelation(\"left\", \"slog\", \"states\", \"slogstate\", [\"slog.state_id = slogstate.state_id\", \"slogstate.isdelete = false\", \"slogstate.istrash = false\"]),\n // buildSqlRelation(\"left\", \"slog\", \"countries\", \"slogcoun\", [\"slog.country_id = slogcoun.country_id\", \"slogcoun.isdelete = false\", \"slogcoun.istrash = false\"]),\n // buildSqlRelation(\"left\", \"slog\", \"areas\", \"slogarea\", [\"slog.area_id = slogarea.area_id\", \"slogarea.isdelete = false\", \"slogarea.istrash = false\"]),\n buildSqlRelation(\"left\", \"slog\", \"users\", \"creator\", [\"slog.createuserid = creator.user_id\", \"creator.isdelete = false\", \"creator.istrash = false\"]),\n buildSqlRelation(\"left\", \"slog\", \"users\", \"updater\", [\"slog.updateuserid = updater.user_id\", \"updater.isdelete = false\", \"updater.istrash = false\"])\n ]\n\n let sqlGroupBy: string[] = [\n ...Object.keys(mainSqlSelect),\n // ...Object.keys(regionSqlSelect), \n ...Object.keys(defaultSqlSelect)\n ]\n\n let filterColumns = {\n ...mainSqlSelect,\n // ...regionSqlSelect, \n ...defaultSqlSelect\n }\n\n let sqlWhere = [\n `slog.isdelete = false`,\n `slog.istrash = false`,\n ...(filters.length ? [buildSqlWhere(filters, filterColumns)?.where] : []),\n ]\n\n let sqlOrderby = buildSqlOrderBy(sortfield, sortorder)\n let sqlLimitOffset = buildSqlLimitOffset(limit, offset)\n\n // const sqlRaw = buildSqlRawSelect({\n // tableName: \"scheduler_logs\",\n // mainAlias: \"slog\",\n // accountId: rest.accountId,\n // sqlSelect,\n // sqlRelation,\n // sqlWhere,\n // sqlGroupBy,\n // sqlOrderby,\n // sqlLimitOffset\n // })\n\n // data = await schedulerLogModel.raw(sqlRaw)\n\n // const response = {\n // data: data.map(({ filtered_count, ...rest }) => rest),\n // total: data.length ? Number(data[0].filtered_count) : 0\n // }\n\n // get the listing data & count\n const { data, total } = await getListWithCount({\n model: schedulerLogModel,\n tableName: \"scheduler_logs\",\n mainAlias: \"slog\",\n countKey: `${ModelSchedulerLogFields.scheduler_log_id}`,\n accountId: rest.accountId,\n sqlRelationMaps,\n filters,\n filterColumns,\n sqlSelect,\n sqlSelectAgg: [],\n sqlRelation,\n sqlRelationAgg: [],\n sqlWhere,\n sqlGroupBy,\n sqlOrderby,\n sqlLimitOffset\n })\n\n const response = {\n data,\n total\n }\n\n return response\n\n };\n\n const removeSchedulerLoges = async ({ schedulerLogIds }: SchedulerLogRemoveProps) => {\n\n if (!schedulerLogIds.length) throwError('schedulerLogIds is required');\n\n const response = await schedulerLogModel.remove({ where: { [`${ModelSchedulerLogFields.scheduler_log_id}`]: { in: schedulerLogIds } } });\n\n return response\n };\n\n return {\n getSchedulerLog,\n createSchedulerLog,\n removeSchedulerLoges,\n listSchedulerLoges\n }\n\n}\n\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type Action = {
|
|
2
|
+
key: string;
|
|
3
|
+
permission_key: string;
|
|
4
|
+
label: string;
|
|
5
|
+
};
|
|
6
|
+
type Module = {
|
|
7
|
+
key: string;
|
|
8
|
+
label: string;
|
|
9
|
+
actions: Action[];
|
|
10
|
+
};
|
|
11
|
+
type PolicyCategory = {
|
|
12
|
+
key: string;
|
|
13
|
+
label: string;
|
|
14
|
+
modules: Module[];
|
|
15
|
+
};
|
|
16
|
+
export declare const getAllPermissionKeysByPolicies: (policies: PolicyCategory[]) => string[];
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAllPermissionKeysByPolicies = void 0;
|
|
4
|
+
const getAllPermissionKeysByPolicies = (policies) => {
|
|
5
|
+
return policies.flatMap(category => category.modules.flatMap(module => module.actions.map(action => action.permission_key)));
|
|
6
|
+
};
|
|
7
|
+
exports.getAllPermissionKeysByPolicies = getAllPermissionKeysByPolicies;
|
|
8
|
+
//# sourceMappingURL=accessControlUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessControlUtils.js","sourceRoot":"","sources":["../../src/utils/accessControlUtils.ts"],"names":[],"mappings":";;;AAIO,MAAM,8BAA8B,GAAG,CAAC,QAA0B,EAAY,EAAE;IACnF,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAC/B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAC9B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CACtD,CACJ,CAAC;AACN,CAAC,CAAA;AANY,QAAA,8BAA8B,kCAM1C","sourcesContent":["type Action = { key: string; permission_key: string; label: string };\ntype Module = { key: string; label: string; actions: Action[] };\ntype PolicyCategory = { key: string; label: string; modules: Module[] };\n\nexport const getAllPermissionKeysByPolicies = (policies: PolicyCategory[]): string[] => {\n return policies.flatMap(category =>\n category.modules.flatMap(module =>\n module.actions.map(action => action.permission_key)\n )\n );\n}"]}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export { dayjs, getCurrentDateTime, getCurrentDateTimeISO, formatDisplayDateTime
|
|
|
6
6
|
export { validateWithSchema, validateMultipleSchemas, convertPayloadByTableSchema, validateModelFieldsWithData, createPublicScopeSchema, normalizePublicScopeFromBody } from "./schemaUtils";
|
|
7
7
|
export { default as logger } from "./logUtils";
|
|
8
8
|
export { throwError, logError } from "./exceptionUtils";
|
|
9
|
-
export { getFormattedZodErrors, getFormattedZodErrorsIntoString, buildCommonStatusSchema } from "./zodUtils";
|
|
9
|
+
export { getFormattedZodErrors, getFormattedZodErrorsIntoString, buildCommonStatusSchema, zodEnumFromObjectValues } from "./zodUtils";
|
|
10
10
|
export type { DefaultServiceProps } from "./serviceUtils";
|
|
11
11
|
export { getDefaultServiceProps, generateServiceProps } from "./serviceUtils";
|
|
12
12
|
export type { FeatureCallbackProps } from "./featureUtils";
|
|
@@ -16,3 +16,4 @@ export { generateAccessKeyId, generateAccessKeySecret, hashAccessKeySecret, encr
|
|
|
16
16
|
export { loginPasswordFormatSchema, validateLoginPasswordFormat, hashPassword, verifyPassword } from "./passwordUtils";
|
|
17
17
|
export { generateFileThumbnailBuffer } from "./fileThumbnail";
|
|
18
18
|
export { validateFormatEmailAddress, validateFormatMobileNumber } from "./validateFormatUtils";
|
|
19
|
+
export { getAllPermissionKeysByPolicies } from "./accessControlUtils";
|
package/dist/utils/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.validateFormatMobileNumber = exports.validateFormatEmailAddress = exports.generateFileThumbnailBuffer = exports.verifyPassword = exports.hashPassword = exports.validateLoginPasswordFormat = exports.loginPasswordFormatSchema = exports.decryptAccessKeySecret = exports.encryptAccessKeySecret = exports.hashAccessKeySecret = exports.generateAccessKeySecret = exports.generateAccessKeyId = exports.verifyAuthToken = exports.generateAuthToken = exports.groupPayloadInjectionFields = exports.buildFullFieldName = exports.generateServiceProps = exports.getDefaultServiceProps = exports.buildCommonStatusSchema = exports.getFormattedZodErrorsIntoString = exports.getFormattedZodErrors = exports.logError = exports.throwError = exports.logger = exports.normalizePublicScopeFromBody = exports.createPublicScopeSchema = exports.validateModelFieldsWithData = exports.convertPayloadByTableSchema = exports.validateMultipleSchemas = exports.validateWithSchema = exports.formatDisplayDateTime = exports.getCurrentDateTimeISO = exports.getCurrentDateTime = exports.dayjs = exports.sendSuccess = exports.sendError = exports.HTTP_STATUS = exports.sharp = exports._ = exports.getCoreConfiguration = void 0;
|
|
6
|
+
exports.getAllPermissionKeysByPolicies = exports.validateFormatMobileNumber = exports.validateFormatEmailAddress = exports.generateFileThumbnailBuffer = exports.verifyPassword = exports.hashPassword = exports.validateLoginPasswordFormat = exports.loginPasswordFormatSchema = exports.decryptAccessKeySecret = exports.encryptAccessKeySecret = exports.hashAccessKeySecret = exports.generateAccessKeySecret = exports.generateAccessKeyId = exports.verifyAuthToken = exports.generateAuthToken = exports.groupPayloadInjectionFields = exports.buildFullFieldName = exports.generateServiceProps = exports.getDefaultServiceProps = exports.zodEnumFromObjectValues = exports.buildCommonStatusSchema = exports.getFormattedZodErrorsIntoString = exports.getFormattedZodErrors = exports.logError = exports.throwError = exports.logger = exports.normalizePublicScopeFromBody = exports.createPublicScopeSchema = exports.validateModelFieldsWithData = exports.convertPayloadByTableSchema = exports.validateMultipleSchemas = exports.validateWithSchema = exports.formatDisplayDateTime = exports.getCurrentDateTimeISO = exports.getCurrentDateTime = exports.dayjs = exports.sendSuccess = exports.sendError = exports.HTTP_STATUS = exports.sharp = exports._ = exports.getCoreConfiguration = void 0;
|
|
7
7
|
var coreConfigUtils_1 = require("./coreConfigUtils");
|
|
8
8
|
Object.defineProperty(exports, "getCoreConfiguration", { enumerable: true, get: function () { return coreConfigUtils_1.getCoreConfiguration; } });
|
|
9
9
|
var lodash_1 = require("lodash");
|
|
@@ -39,6 +39,7 @@ var zodUtils_1 = require("./zodUtils");
|
|
|
39
39
|
Object.defineProperty(exports, "getFormattedZodErrors", { enumerable: true, get: function () { return zodUtils_1.getFormattedZodErrors; } });
|
|
40
40
|
Object.defineProperty(exports, "getFormattedZodErrorsIntoString", { enumerable: true, get: function () { return zodUtils_1.getFormattedZodErrorsIntoString; } });
|
|
41
41
|
Object.defineProperty(exports, "buildCommonStatusSchema", { enumerable: true, get: function () { return zodUtils_1.buildCommonStatusSchema; } });
|
|
42
|
+
Object.defineProperty(exports, "zodEnumFromObjectValues", { enumerable: true, get: function () { return zodUtils_1.zodEnumFromObjectValues; } });
|
|
42
43
|
var serviceUtils_1 = require("./serviceUtils");
|
|
43
44
|
Object.defineProperty(exports, "getDefaultServiceProps", { enumerable: true, get: function () { return serviceUtils_1.getDefaultServiceProps; } });
|
|
44
45
|
Object.defineProperty(exports, "generateServiceProps", { enumerable: true, get: function () { return serviceUtils_1.generateServiceProps; } });
|
|
@@ -64,4 +65,6 @@ Object.defineProperty(exports, "generateFileThumbnailBuffer", { enumerable: true
|
|
|
64
65
|
var validateFormatUtils_1 = require("./validateFormatUtils");
|
|
65
66
|
Object.defineProperty(exports, "validateFormatEmailAddress", { enumerable: true, get: function () { return validateFormatUtils_1.validateFormatEmailAddress; } });
|
|
66
67
|
Object.defineProperty(exports, "validateFormatMobileNumber", { enumerable: true, get: function () { return validateFormatUtils_1.validateFormatMobileNumber; } });
|
|
68
|
+
var accessControlUtils_1 = require("./accessControlUtils");
|
|
69
|
+
Object.defineProperty(exports, "getAllPermissionKeysByPolicies", { enumerable: true, get: function () { return accessControlUtils_1.getAllPermissionKeysByPolicies; } });
|
|
67
70
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;AAAA,qDAAyD;AAAhD,uHAAA,oBAAoB,OAAA;AAC7B,iCAAsC;AAA7B,4GAAA,OAAO,OAAK;AACrB,+BAAyC;AAAhC,+GAAA,OAAO,OAAS;AACzB,iDAAsE;AAA7D,4GAAA,WAAW,OAAA;AAAE,0GAAA,SAAS,OAAA;AAAE,4GAAA,WAAW,OAAA;AAC5C,yCAAsG;AAA7F,kGAAA,KAAK,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AAAE,kHAAA,qBAAqB,OAAA;AAAE,kHAAA,qBAAqB,OAAA;AAChF,6CAA6L;AAApL,iHAAA,kBAAkB,OAAA;AAAE,sHAAA,uBAAuB,OAAA;AAAE,0HAAA,2BAA2B,OAAA;AAAE,0HAAA,2BAA2B,OAAA;AAAE,sHAAA,uBAAuB,OAAA;AAAE,2HAAA,4BAA4B,OAAA;AACrK,uCAA+C;AAAtC,mHAAA,OAAO,OAAU;AAC1B,mDAAwD;AAA/C,4GAAA,UAAU,OAAA;AAAE,0GAAA,QAAQ,OAAA;AAC7B,2CAA2C;AAC3C,wFAAwF;AACxF,mEAAmE;AACnE,mDAAmD;AACnD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;AAAA,qDAAyD;AAAhD,uHAAA,oBAAoB,OAAA;AAC7B,iCAAsC;AAA7B,4GAAA,OAAO,OAAK;AACrB,+BAAyC;AAAhC,+GAAA,OAAO,OAAS;AACzB,iDAAsE;AAA7D,4GAAA,WAAW,OAAA;AAAE,0GAAA,SAAS,OAAA;AAAE,4GAAA,WAAW,OAAA;AAC5C,yCAAsG;AAA7F,kGAAA,KAAK,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AAAE,kHAAA,qBAAqB,OAAA;AAAE,kHAAA,qBAAqB,OAAA;AAChF,6CAA6L;AAApL,iHAAA,kBAAkB,OAAA;AAAE,sHAAA,uBAAuB,OAAA;AAAE,0HAAA,2BAA2B,OAAA;AAAE,0HAAA,2BAA2B,OAAA;AAAE,sHAAA,uBAAuB,OAAA;AAAE,2HAAA,4BAA4B,OAAA;AACrK,uCAA+C;AAAtC,mHAAA,OAAO,OAAU;AAC1B,mDAAwD;AAA/C,4GAAA,UAAU,OAAA;AAAE,0GAAA,QAAQ,OAAA;AAC7B,2CAA2C;AAC3C,wFAAwF;AACxF,mEAAmE;AACnE,mDAAmD;AACnD,uCAAqI;AAA5H,iHAAA,qBAAqB,OAAA;AAAE,2HAAA,+BAA+B,OAAA;AAAE,mHAAA,uBAAuB,OAAA;AAAE,mHAAA,uBAAuB,OAAA;AAEjH,+CAA6E;AAApE,sHAAA,sBAAsB,OAAA;AAAE,oHAAA,oBAAoB,OAAA;AAErD,6DAAuF;AAA9E,yHAAA,kBAAkB,OAAA;AAAE,kIAAA,2BAA2B,OAAA;AACxD,yCAAgE;AAAvD,8GAAA,iBAAiB,OAAA;AAAE,4GAAA,eAAe,OAAA;AAC3C,mDAAoJ;AAA3I,qHAAA,mBAAmB,OAAA;AAAE,yHAAA,uBAAuB,OAAA;AAAE,qHAAA,mBAAmB,OAAA;AAAE,wHAAA,sBAAsB,OAAA;AAAE,wHAAA,sBAAsB,OAAA;AAC1H,iDAAsH;AAA7G,0HAAA,yBAAyB,OAAA;AAAE,4HAAA,2BAA2B,OAAA;AAAE,6GAAA,YAAY,OAAA;AAAE,+GAAA,cAAc,OAAA;AAC7F,iDAA6D;AAApD,4HAAA,2BAA2B,OAAA;AACpC,6DAA8F;AAArF,iIAAA,0BAA0B,OAAA;AAAE,iIAAA,0BAA0B,OAAA;AAC/D,2DAAqE;AAA5D,oIAAA,8BAA8B,OAAA","sourcesContent":["export { getCoreConfiguration } from \"./coreConfigUtils\";\nexport { default as _ } from \"lodash\";\nexport { default as sharp } from \"sharp\";\nexport { HTTP_STATUS, sendError, sendSuccess } from \"./responseUtils\";\nexport { dayjs, getCurrentDateTime, getCurrentDateTimeISO, formatDisplayDateTime } from \"./dateUtils\";\nexport { validateWithSchema, validateMultipleSchemas, convertPayloadByTableSchema, validateModelFieldsWithData, createPublicScopeSchema, normalizePublicScopeFromBody } from \"./schemaUtils\";\nexport { default as logger } from \"./logUtils\";\nexport { throwError, logError } from \"./exceptionUtils\";\n// export { getSwmAuth } from \"./smwUtils\";\n// export { getRequestHeaderLocCode, checkRequestContentIsEmpty } from \"./requestUtils\";\n// export { storeJwtInMemory, getJwtFromMemory } from \"./jwtUtils\";\n// export { resizeImageBuffer } from \"./shapeUtils\"\nexport { getFormattedZodErrors, getFormattedZodErrorsIntoString, buildCommonStatusSchema, zodEnumFromObjectValues } from \"./zodUtils\"\nexport type { DefaultServiceProps } from \"./serviceUtils\"\nexport { getDefaultServiceProps, generateServiceProps } from \"./serviceUtils\"\nexport type { FeatureCallbackProps } from \"./featureUtils\"\nexport { buildFullFieldName, groupPayloadInjectionFields } from \"./injectionFieldUtils\"\nexport { generateAuthToken, verifyAuthToken } from \"./authUtils\"\nexport { generateAccessKeyId, generateAccessKeySecret, hashAccessKeySecret, encryptAccessKeySecret, decryptAccessKeySecret } from \"./accessKeyUtils\"\nexport { loginPasswordFormatSchema, validateLoginPasswordFormat, hashPassword, verifyPassword } from \"./passwordUtils\"\nexport { generateFileThumbnailBuffer } from \"./fileThumbnail\"\nexport { validateFormatEmailAddress, validateFormatMobileNumber } from \"./validateFormatUtils\"\nexport { getAllPermissionKeysByPolicies } from \"./accessControlUtils\""]}
|
package/dist/utils/zodUtils.d.ts
CHANGED
|
@@ -26,4 +26,17 @@ export declare const buildCommonStatusSchema: (fieldName: string, { type, option
|
|
|
26
26
|
}, {
|
|
27
27
|
[x: string]: any;
|
|
28
28
|
}>;
|
|
29
|
+
/**
|
|
30
|
+
* Converts the values of a plain object into a Zod enum.
|
|
31
|
+
*
|
|
32
|
+
* @template T - The type of the object, where keys are strings and values are strings.
|
|
33
|
+
* @param obj - The object containing string values to be used as enum options.
|
|
34
|
+
* @returns A Zod enum schema whose allowed values match the values of the object.
|
|
35
|
+
*
|
|
36
|
+
* Example:
|
|
37
|
+
* const repositoryTypes = { container: "container", package: "package" } as const;
|
|
38
|
+
* const schema = zodEnumFromObjectValues(repositoryTypes);
|
|
39
|
+
* // schema will only allow "container" or "package"
|
|
40
|
+
*/
|
|
41
|
+
export declare const zodEnumFromObjectValues: <T extends Record<string, string>>(obj: T) => z.ZodEnum<[T[keyof T], ...T[keyof T][]]>;
|
|
29
42
|
export {};
|
package/dist/utils/zodUtils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildCommonStatusSchema = exports.getFormattedZodErrorsIntoString = exports.getFormattedZodErrors = void 0;
|
|
3
|
+
exports.zodEnumFromObjectValues = exports.buildCommonStatusSchema = exports.getFormattedZodErrorsIntoString = exports.getFormattedZodErrors = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const getFormattedZodErrors = (errors) => {
|
|
6
6
|
const formattedErrors = errors.issues.map((issue) => ({
|
|
@@ -38,4 +38,20 @@ const buildCommonStatusSchema = (fieldName, { type = zod_1.z.boolean(), optional
|
|
|
38
38
|
});
|
|
39
39
|
};
|
|
40
40
|
exports.buildCommonStatusSchema = buildCommonStatusSchema;
|
|
41
|
+
/**
|
|
42
|
+
* Converts the values of a plain object into a Zod enum.
|
|
43
|
+
*
|
|
44
|
+
* @template T - The type of the object, where keys are strings and values are strings.
|
|
45
|
+
* @param obj - The object containing string values to be used as enum options.
|
|
46
|
+
* @returns A Zod enum schema whose allowed values match the values of the object.
|
|
47
|
+
*
|
|
48
|
+
* Example:
|
|
49
|
+
* const repositoryTypes = { container: "container", package: "package" } as const;
|
|
50
|
+
* const schema = zodEnumFromObjectValues(repositoryTypes);
|
|
51
|
+
* // schema will only allow "container" or "package"
|
|
52
|
+
*/
|
|
53
|
+
const zodEnumFromObjectValues = (obj) => {
|
|
54
|
+
return zod_1.z.enum(Object.values(obj));
|
|
55
|
+
};
|
|
56
|
+
exports.zodEnumFromObjectValues = zodEnumFromObjectValues;
|
|
41
57
|
//# sourceMappingURL=zodUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zodUtils.js","sourceRoot":"","sources":["../../src/utils/zodUtils.ts"],"names":[],"mappings":";;;AACA,6BAAkC;AAE3B,MAAM,qBAAqB,GAAG,CAAC,MAAgB,EAAE,EAAE;IACtD,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3B,OAAO,EAAE,KAAK,CAAC,OAAO;KACzB,CAAC,CAAC,CAAC;IACJ,OAAO,eAAe,CAAA;AAC1B,CAAC,CAAA;AANY,QAAA,qBAAqB,yBAMjC;AAEM,MAAM,+BAA+B,GAAG,CAAC,MAAgB,EAAU,EAAE;IACxE,OAAO,MAAM,CAAC,MAAM;SACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;SAC3D,IAAI,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC,CAAA;AAJY,QAAA,+BAA+B,mCAI3C;AASD;;;;;;;;GAQG;AACI,MAAM,uBAAuB,GAAG,CACnC,SAAiB,EACjB,EACI,IAAI,GAAG,OAAC,CAAC,OAAO,EAAE,EAClB,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,YAAY,MACQ,EAAE,EAC5B,EAAE;IACA,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,IAAI,QAAQ;QAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IACzC,IAAI,QAAQ;QAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IACzC,IAAI,YAAY,KAAK,SAAS;QAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEtE,OAAO,OAAC,CAAC,MAAM,CAAC;QACZ,CAAC,SAAS,CAAC,EAAE,MAAM;KACtB,CAAC,CAAC;AACP,CAAC,CAAC;AAlBW,QAAA,uBAAuB,2BAkBlC","sourcesContent":["\nimport { z, ZodError } from \"zod\";\n\nexport const getFormattedZodErrors = (errors: ZodError) => {\n const formattedErrors = errors.issues.map((issue) => ({\n field: issue.path.join(\".\"),\n message: issue.message,\n }));\n return formattedErrors\n}\n\nexport const getFormattedZodErrorsIntoString = (errors: ZodError): string => {\n return errors.issues\n .map((issue) => `${issue.path.join(\".\")}: ${issue.message}`)\n .join(\"\\n\");\n}\n\ninterface CommonFieldOptions {\n type?: z.ZodTypeAny; // default: z.boolean()\n optional?: boolean; // make it optional\n nullable?: boolean; // allow null\n defaultValue?: any; // default value\n}\n\n/**\n * Create a schema with a dynamic field name and type\n * // { status: boolean }\n * const schemaStatus = createCommonStatusSchema(\"status\");\n * // { isActive?: boolean }\n * const schemaIsActive = createCommonStatusSchema(\"isActive\", { optional: true });\n * // { deleted: boolean = false }\n * const schemaDeleted = createCommonStatusSchema(\"deleted\", { defaultValue: false });\n */\nexport const buildCommonStatusSchema = (\n fieldName: string,\n {\n type = z.boolean(),\n optional = false,\n nullable = false,\n defaultValue,\n }: CommonFieldOptions = {}\n) => {\n let schema = type;\n\n if (nullable) schema = schema.nullable();\n if (optional) schema = schema.optional();\n if (defaultValue !== undefined) schema = schema.default(defaultValue);\n\n return z.object({\n [fieldName]: schema,\n });\n};"]}
|
|
1
|
+
{"version":3,"file":"zodUtils.js","sourceRoot":"","sources":["../../src/utils/zodUtils.ts"],"names":[],"mappings":";;;AACA,6BAAkC;AAE3B,MAAM,qBAAqB,GAAG,CAAC,MAAgB,EAAE,EAAE;IACtD,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3B,OAAO,EAAE,KAAK,CAAC,OAAO;KACzB,CAAC,CAAC,CAAC;IACJ,OAAO,eAAe,CAAA;AAC1B,CAAC,CAAA;AANY,QAAA,qBAAqB,yBAMjC;AAEM,MAAM,+BAA+B,GAAG,CAAC,MAAgB,EAAU,EAAE;IACxE,OAAO,MAAM,CAAC,MAAM;SACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;SAC3D,IAAI,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC,CAAA;AAJY,QAAA,+BAA+B,mCAI3C;AASD;;;;;;;;GAQG;AACI,MAAM,uBAAuB,GAAG,CACnC,SAAiB,EACjB,EACI,IAAI,GAAG,OAAC,CAAC,OAAO,EAAE,EAClB,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,YAAY,MACQ,EAAE,EAC5B,EAAE;IACA,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,IAAI,QAAQ;QAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IACzC,IAAI,QAAQ;QAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IACzC,IAAI,YAAY,KAAK,SAAS;QAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEtE,OAAO,OAAC,CAAC,MAAM,CAAC;QACZ,CAAC,SAAS,CAAC,EAAE,MAAM;KACtB,CAAC,CAAC;AACP,CAAC,CAAC;AAlBW,QAAA,uBAAuB,2BAkBlC;AAEF;;;;;;;;;;;GAWG;AACI,MAAM,uBAAuB,GAAG,CAAmC,GAAM,EAAE,EAAE;IAChF,OAAO,OAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAA6C,CAAC,CAAC;AAClF,CAAC,CAAC;AAFW,QAAA,uBAAuB,2BAElC","sourcesContent":["\nimport { z, ZodError } from \"zod\";\n\nexport const getFormattedZodErrors = (errors: ZodError) => {\n const formattedErrors = errors.issues.map((issue) => ({\n field: issue.path.join(\".\"),\n message: issue.message,\n }));\n return formattedErrors\n}\n\nexport const getFormattedZodErrorsIntoString = (errors: ZodError): string => {\n return errors.issues\n .map((issue) => `${issue.path.join(\".\")}: ${issue.message}`)\n .join(\"\\n\");\n}\n\ninterface CommonFieldOptions {\n type?: z.ZodTypeAny; // default: z.boolean()\n optional?: boolean; // make it optional\n nullable?: boolean; // allow null\n defaultValue?: any; // default value\n}\n\n/**\n * Create a schema with a dynamic field name and type\n * // { status: boolean }\n * const schemaStatus = createCommonStatusSchema(\"status\");\n * // { isActive?: boolean }\n * const schemaIsActive = createCommonStatusSchema(\"isActive\", { optional: true });\n * // { deleted: boolean = false }\n * const schemaDeleted = createCommonStatusSchema(\"deleted\", { defaultValue: false });\n */\nexport const buildCommonStatusSchema = (\n fieldName: string,\n {\n type = z.boolean(),\n optional = false,\n nullable = false,\n defaultValue,\n }: CommonFieldOptions = {}\n) => {\n let schema = type;\n\n if (nullable) schema = schema.nullable();\n if (optional) schema = schema.optional();\n if (defaultValue !== undefined) schema = schema.default(defaultValue);\n\n return z.object({\n [fieldName]: schema,\n });\n};\n\n/**\n * Converts the values of a plain object into a Zod enum.\n *\n * @template T - The type of the object, where keys are strings and values are strings.\n * @param obj - The object containing string values to be used as enum options.\n * @returns A Zod enum schema whose allowed values match the values of the object.\n *\n * Example:\n * const repositoryTypes = { container: \"container\", package: \"package\" } as const;\n * const schema = zodEnumFromObjectValues(repositoryTypes);\n * // schema will only allow \"container\" or \"package\"\n */\nexport const zodEnumFromObjectValues = <T extends Record<string, string>>(obj: T) => {\n return z.enum(Object.values(obj) as unknown as [T[keyof T], ...T[keyof T][]]);\n};"]}
|