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.
Files changed (147) hide show
  1. package/dist/app.js +3 -1
  2. package/dist/app.js.map +1 -1
  3. package/dist/controllers/access_control/accessControlRoleController.d.ts +11 -0
  4. package/dist/controllers/access_control/accessControlRoleController.js +156 -0
  5. package/dist/controllers/access_control/accessControlRoleController.js.map +1 -0
  6. package/dist/controllers/access_control/accessControlUserController.d.ts +7 -0
  7. package/dist/controllers/access_control/accessControlUserController.js +140 -0
  8. package/dist/controllers/access_control/accessControlUserController.js.map +1 -0
  9. package/dist/controllers/index.d.ts +3 -0
  10. package/dist/controllers/index.js +16 -2
  11. package/dist/controllers/index.js.map +1 -1
  12. package/dist/controllers/repository/repositoryController.d.ts +12 -0
  13. package/dist/controllers/repository/repositoryController.js +249 -0
  14. package/dist/controllers/repository/repositoryController.js.map +1 -0
  15. package/dist/lib/index.d.ts +1 -0
  16. package/dist/lib/index.js +5 -1
  17. package/dist/lib/index.js.map +1 -1
  18. package/dist/lib/query_builder/queryScheduler.d.ts +13 -0
  19. package/dist/lib/query_builder/queryScheduler.js +56 -0
  20. package/dist/lib/query_builder/queryScheduler.js.map +1 -0
  21. package/dist/middlewares/route/index.d.ts +2 -0
  22. package/dist/middlewares/route/index.js +15 -2
  23. package/dist/middlewares/route/index.js.map +1 -1
  24. package/dist/middlewares/route/validateAccessControl.d.ts +7 -0
  25. package/dist/middlewares/route/validateAccessControl.js +28 -0
  26. package/dist/middlewares/route/validateAccessControl.js.map +1 -0
  27. package/dist/middlewares/route/validateRepository.d.ts +4 -0
  28. package/dist/middlewares/route/validateRepository.js +14 -24
  29. package/dist/middlewares/route/validateRepository.js.map +1 -1
  30. package/dist/models/access_control/AccessControlRoleModel.d.ts +228 -0
  31. package/dist/models/access_control/AccessControlRoleModel.js +13 -0
  32. package/dist/models/access_control/AccessControlRoleModel.js.map +1 -0
  33. package/dist/models/access_control/AccessControlRolePolicyModel.d.ts +206 -0
  34. package/dist/models/access_control/AccessControlRolePolicyModel.js +13 -0
  35. package/dist/models/access_control/AccessControlRolePolicyModel.js.map +1 -0
  36. package/dist/models/access_control/AccessControlUserRoleModel.d.ts +206 -0
  37. package/dist/models/access_control/AccessControlUserRoleModel.js +13 -0
  38. package/dist/models/access_control/AccessControlUserRoleModel.js.map +1 -0
  39. package/dist/models/index.d.ts +18 -0
  40. package/dist/models/index.js +30 -2
  41. package/dist/models/index.js.map +1 -1
  42. package/dist/models/repository/RepositoryCartonModel.d.ts +312 -0
  43. package/dist/models/repository/RepositoryCartonModel.js +13 -0
  44. package/dist/models/repository/RepositoryCartonModel.js.map +1 -0
  45. package/dist/models/repository/RepositoryContainerModel.d.ts +268 -0
  46. package/dist/models/repository/RepositoryContainerModel.js +13 -0
  47. package/dist/models/repository/RepositoryContainerModel.js.map +1 -0
  48. package/dist/models/repository/RepositoryModel.d.ts +235 -0
  49. package/dist/models/repository/RepositoryModel.js +13 -0
  50. package/dist/models/repository/RepositoryModel.js.map +1 -0
  51. package/dist/models/repository/RepositoryPackageItemModel.d.ts +334 -0
  52. package/dist/models/repository/RepositoryPackageItemModel.js +13 -0
  53. package/dist/models/repository/RepositoryPackageItemModel.js.map +1 -0
  54. package/dist/models/repository/RepositoryPackageModel.d.ts +323 -0
  55. package/dist/models/repository/RepositoryPackageModel.js +13 -0
  56. package/dist/models/repository/RepositoryPackageModel.js.map +1 -0
  57. package/dist/models/repository/RepositoryPalletModel.d.ts +301 -0
  58. package/dist/models/repository/RepositoryPalletModel.js +13 -0
  59. package/dist/models/repository/RepositoryPalletModel.js.map +1 -0
  60. package/dist/routes/access_control/accessControlPoliciesRoutes.d.ts +2 -0
  61. package/dist/routes/access_control/accessControlPoliciesRoutes.js +11 -0
  62. package/dist/routes/access_control/accessControlPoliciesRoutes.js.map +1 -0
  63. package/dist/routes/access_control/accessControlRoleRoutes.d.ts +2 -0
  64. package/dist/routes/access_control/accessControlRoleRoutes.js +15 -0
  65. package/dist/routes/access_control/accessControlRoleRoutes.js.map +1 -0
  66. package/dist/routes/access_control/accessControlRolesRoutes.d.ts +2 -0
  67. package/dist/routes/access_control/accessControlRolesRoutes.js +13 -0
  68. package/dist/routes/access_control/accessControlRolesRoutes.js.map +1 -0
  69. package/dist/routes/access_control/accessControlRoutes.d.ts +0 -1
  70. package/dist/routes/access_control/accessControlRoutes.js +8 -5
  71. package/dist/routes/access_control/accessControlRoutes.js.map +1 -1
  72. package/dist/routes/access_control/accessControlUsersRoutes.d.ts +3 -0
  73. package/dist/routes/access_control/accessControlUsersRoutes.js +13 -0
  74. package/dist/routes/access_control/accessControlUsersRoutes.js.map +1 -0
  75. package/dist/routes/index.d.ts +2 -0
  76. package/dist/routes/index.js +5 -1
  77. package/dist/routes/index.js.map +1 -1
  78. package/dist/routes/repository/repositoriesRoutes.d.ts +2 -0
  79. package/dist/routes/repository/repositoriesRoutes.js +13 -0
  80. package/dist/routes/repository/repositoriesRoutes.js.map +1 -0
  81. package/dist/routes/repository/repositoryRoutes.d.ts +2 -0
  82. package/dist/routes/repository/repositoryRoutes.js +15 -0
  83. package/dist/routes/repository/repositoryRoutes.js.map +1 -0
  84. package/dist/schema/middleware/route/index.d.ts +2 -2
  85. package/dist/schema/middleware/route/index.js +2 -1
  86. package/dist/schema/middleware/route/index.js.map +1 -1
  87. package/dist/schema/middleware/route/schemaAccessControl.d.ts +3 -0
  88. package/dist/schema/middleware/route/schemaAccessControl.js +6 -1
  89. package/dist/schema/middleware/route/schemaAccessControl.js.map +1 -1
  90. package/dist/schema/middleware/route/schemaRepository.d.ts +2 -2
  91. package/dist/schema/payload/access_control/schemaAccessControlRole.d.ts +219 -0
  92. package/dist/schema/payload/access_control/schemaAccessControlRole.js +41 -0
  93. package/dist/schema/payload/access_control/schemaAccessControlRole.js.map +1 -0
  94. package/dist/schema/payload/access_control/schemaAccessControlUser.d.ts +54 -0
  95. package/dist/schema/payload/access_control/schemaAccessControlUser.js +34 -0
  96. package/dist/schema/payload/access_control/schemaAccessControlUser.js.map +1 -0
  97. package/dist/schema/payload/business/schemaBusiness.d.ts +16 -1
  98. package/dist/schema/payload/business/schemaBusiness.js +8 -12
  99. package/dist/schema/payload/business/schemaBusiness.js.map +1 -1
  100. package/dist/schema/payload/index.d.ts +8 -0
  101. package/dist/schema/payload/index.js +18 -2
  102. package/dist/schema/payload/index.js.map +1 -1
  103. package/dist/schema/payload/injection_field/schemaInjectionField.d.ts +20 -134
  104. package/dist/schema/payload/injection_field/schemaInjectionField.js +8 -8
  105. package/dist/schema/payload/injection_field/schemaInjectionField.js.map +1 -1
  106. package/dist/schema/payload/repository/schemaRepository.d.ts +66 -0
  107. package/dist/schema/payload/repository/schemaRepository.js +26 -0
  108. package/dist/schema/payload/repository/schemaRepository.js.map +1 -0
  109. package/dist/schema/payload/repository/schemaRepositoryContainer.d.ts +292 -0
  110. package/dist/schema/payload/repository/schemaRepositoryContainer.js +41 -0
  111. package/dist/schema/payload/repository/schemaRepositoryContainer.js.map +1 -0
  112. package/dist/services/access_control/AccessControlRoleService.d.ts +49 -0
  113. package/dist/services/access_control/AccessControlRoleService.js +249 -0
  114. package/dist/services/access_control/AccessControlRoleService.js.map +1 -0
  115. package/dist/services/access_control/AccessControlUserService.d.ts +27 -0
  116. package/dist/services/access_control/AccessControlUserService.js +260 -0
  117. package/dist/services/access_control/AccessControlUserService.js.map +1 -0
  118. package/dist/services/index.d.ts +6 -0
  119. package/dist/services/index.js +8 -5
  120. package/dist/services/index.js.map +1 -1
  121. package/dist/services/injection_field/InjectionFieldService.d.ts +4 -2
  122. package/dist/services/injection_field/RepositoryInjectionFieldService.d.ts +14 -5
  123. package/dist/services/injection_field/RepositoryInjectionFieldService.js +6 -2
  124. package/dist/services/injection_field/RepositoryInjectionFieldService.js.map +1 -1
  125. package/dist/services/repository/RepositoryContainerService.d.ts +64 -0
  126. package/dist/services/repository/RepositoryContainerService.js +187 -0
  127. package/dist/services/repository/RepositoryContainerService.js.map +1 -0
  128. package/dist/services/repository/RepositoryMainService.d.ts +80 -0
  129. package/dist/services/repository/RepositoryMainService.js +143 -0
  130. package/dist/services/repository/RepositoryMainService.js.map +1 -0
  131. package/dist/services/repository/RepositoryService.d.ts +46 -0
  132. package/dist/services/repository/RepositoryService.js +133 -0
  133. package/dist/services/repository/RepositoryService.js.map +1 -0
  134. package/dist/services/scheduler/SchedulerLogService.d.ts +1 -1
  135. package/dist/services/scheduler/SchedulerLogService.js +32 -34
  136. package/dist/services/scheduler/SchedulerLogService.js.map +1 -1
  137. package/dist/utils/accessControlUtils.d.ts +17 -0
  138. package/dist/utils/accessControlUtils.js +8 -0
  139. package/dist/utils/accessControlUtils.js.map +1 -0
  140. package/dist/utils/index.d.ts +2 -1
  141. package/dist/utils/index.js +4 -1
  142. package/dist/utils/index.js.map +1 -1
  143. package/dist/utils/zodUtils.d.ts +13 -0
  144. package/dist/utils/zodUtils.js +17 -1
  145. package/dist/utils/zodUtils.js.map +1 -1
  146. package/package.json +1 -1
  147. 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":";;;AAAA,mEAAqH;AACrH,6EAAqM;AAIrM,mCAA0D;AAE7C,QAAA,eAAe,GAAG;IAC3B,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;CACtB,CAAA;AAkDH,MAAM,iBAAiB,GAAG,CAAC,KAA6B,EAAE,EAAE;IAE/D,MAAM,EACF,cAAc,GAAG,WAAW,EAC5B,GAAG,IAAI,EACV,GAAG,KAAK,CAAA;IAET,MAAM,qBAAqB,GAAG,IAAA,6CAAqB,EAAC,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,CAAC,CAAA;IAEhF,MAAM,0BAA0B,GAAG,IAAA,uDAA0B,EAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;IAE1E,MAAM,gBAAgB,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,sBAAsB,EAAyB,EAAE,EAAE;QAEvG,MAAM,eAAe,GAAG,sBAAsB,IAAI,cAAc,CAAA;QAEhE,oBAAoB;QACpB,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAAC,oBAAoB,CAAC;YACxE,cAAc,EAAE,eAAe;YAC/B,IAAI,EAAE;gBACF,cAAc,EAAE,eAAe;gBAC/B,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE;SACJ,CAAC,CAAA;QAEF,IAAI,eAAe,GAAG,kBAAkB,CAAC,aAAa,CAAA;QAEtD,IAAI,QAAQ,GAAQ,EAAE,CAAA;QAEtB,IAAI,eAAe,KAAK,WAAW,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YAEzD,IAAI,uBAAuB,GAAmC;gBAC1D,IAAI,EAAE;oBACF,SAAS,EAAE;wBACP,YAAY,EAAE,MAAM,CAAC,eAAe,CAAC;wBACrC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;wBACvC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB;wBACzD,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe;wBAC/C,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,sBAAsB;wBAC7D,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB;wBACzD,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU;wBACrC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;qBACpC;iBACJ;aACJ,CAAA;YAED,mBAAmB;YACnB,QAAQ,GAAG,MAAM,0BAA0B,CAAC,yBAAyB,CAAC,uBAAuB,CAAC,CAAA;QAElG,CAAC;QAED,OAAO,QAAQ,CAAA;IACnB,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,sBAAsB,EAAyB,EAAE,EAAE;QAErH,MAAM,eAAe,GAAG,sBAAsB,IAAI,cAAc,CAAA;QAEhE,oBAAoB;QACpB,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAAC,oBAAoB,CAAC;YACxE,YAAY;YACZ,IAAI,EAAE;gBACF,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE;SACJ,CAAC,CAAA;QAEF,IAAI,QAAQ,GAAQ,EAAE,CAAA;QAEtB,IAAI,eAAe,KAAK,WAAW,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YAEzD,IAAI,uBAAuB,GAAmC;gBAC1D,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;gBAClC,IAAI,EAAE;oBACF,SAAS,EAAE;wBACP,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;wBACvC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB;wBACzD,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe;wBAC/C,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,sBAAsB;wBAC7D,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB;wBACzD,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU;wBACrC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;qBACpC;iBACJ;aACJ,CAAA;YAED,mBAAmB;YACnB,QAAQ,GAAG,MAAM,0BAA0B,CAAC,yBAAyB,CAAC,uBAAuB,CAAC,CAAA;QAElG,CAAC;QAED,OAAO,QAAQ,CAAA;IACnB,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,GAAG,EAAE,EAAsB,EAAE,EAAE;QAEvE,IAAI,IAAI,GAAQ,EAAE,CAAA;QAElB,IAAI,cAAc,KAAK,WAAW,EAAE,CAAC;YACjC,IAAI,GAAG,MAAM,0BAA0B,CAAC,sBAAsB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,SAAqD,EAAE,CAAC,CAAA;QAC1J,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,IAAI,CAAA;IACf,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAuB,EAAE,EAAE;QAErH,IAAI,IAAI,GAAU,EAAE,CAAC;QACrB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,IAAI,cAAc,KAAK,WAAW,EAAE,CAAC;YACjC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,0BAA0B,CAAC,wBAAwB,CACxE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAsD,EAAE,CACtH,CAAC,CAAA;QACN,CAAC;QAED,OAAO;YACH,IAAI;YACJ,KAAK;SACR,CAAA;IACL,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,KAAK,EAAE,EAAE,aAAa,EAAyB,EAAE,EAAE;QAE1E,IAAI,CAAC,aAAa,CAAC,MAAM;YAAE,IAAA,kBAAU,EAAC,2BAA2B,CAAC,CAAC;QAEnE,IAAI,QAAQ,GAAQ,EAAE,CAAA;QAEtB,IAAI,cAAc,KAAK,WAAW,EAAE,CAAC;YAAC,QAAQ,GAAG,MAAM,0BAA0B,CAAC,0BAA0B,CAAC,EAAE,aAAa,EAAE,CAAC,CAAA;QAAC,CAAC;QAEjI,OAAO,QAAQ,CAAA;IACnB,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAEhC,IAAI,IAAI,GAAU,EAAE,CAAC;QACrB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,IAAI,cAAc,KAAK,WAAW,EAAE,CAAC;YAAC,IAAI,GAAG,0BAA0B,CAAC,YAAY,EAAE,CAAA;QAAC,CAAC;QAExF,OAAO,IAAI,CAAA;IACf,CAAC,CAAC;IAEF,OAAO;QACH,gBAAgB;QAChB,gBAAgB;QAChB,aAAa;QACb,gBAAgB;QAChB,kBAAkB;QAClB,sBAAsB;KACzB,CAAA;AAEL,CAAC,CAAA;AA/JY,QAAA,iBAAiB,qBA+J7B","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
- [`slog.${models_1.ModelSchedulerLogFields.scheduler_log_id}`]: "scheduler_log_id",
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 = (0, lib_1.buildSqlRawSelect)({
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: data.map(({ filtered_count, ...rest }) => rest),
128
- total: data.length ? Number(data[0].filtered_count) : 0
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}"]}
@@ -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";
@@ -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
@@ -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,uCAA4G;AAAnG,iHAAA,qBAAqB,OAAA;AAAE,2HAAA,+BAA+B,OAAA;AAAE,mHAAA,uBAAuB,OAAA;AAExF,+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","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 } 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\""]}
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\""]}
@@ -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 {};
@@ -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};"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "storemw-core-api",
3
- "version": "1.0.149",
3
+ "version": "1.0.151",
4
4
  "description": "STOREMW Core API",
5
5
  "main": "dist/app.js",
6
6
  "types": "dist/app.d.ts",