storemw-core-api 1.0.0

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 (362) hide show
  1. package/dist/app.d.ts +2 -0
  2. package/dist/app.js +46 -0
  3. package/dist/configs/config.d.ts +7 -0
  4. package/dist/configs/config.js +30 -0
  5. package/dist/configs/index.d.ts +1 -0
  6. package/dist/configs/index.js +5 -0
  7. package/dist/configs/production.env +6 -0
  8. package/dist/controllers/auth/authController.d.ts +3 -0
  9. package/dist/controllers/auth/authController.js +53 -0
  10. package/dist/controllers/index.d.ts +6 -0
  11. package/dist/controllers/index.js +39 -0
  12. package/dist/controllers/injection_field/injectionFieldController.d.ts +11 -0
  13. package/dist/controllers/injection_field/injectionFieldController.js +183 -0
  14. package/dist/controllers/item/itemController.d.ts +13 -0
  15. package/dist/controllers/item/itemController.js +344 -0
  16. package/dist/controllers/location/locationController.d.ts +13 -0
  17. package/dist/controllers/location/locationController.js +383 -0
  18. package/dist/controllers/region/regionController.d.ts +13 -0
  19. package/dist/controllers/region/regionController.js +328 -0
  20. package/dist/controllers/user/userController.d.ts +13 -0
  21. package/dist/controllers/user/userController.js +474 -0
  22. package/dist/generated/generated/prisma/client.d.ts +1 -0
  23. package/dist/generated/generated/prisma/client.js +4 -0
  24. package/dist/generated/generated/prisma/default.d.ts +1 -0
  25. package/dist/generated/generated/prisma/default.js +4 -0
  26. package/dist/generated/generated/prisma/edge.d.ts +1 -0
  27. package/dist/generated/generated/prisma/edge.js +2470 -0
  28. package/dist/generated/generated/prisma/index-browser.js +2456 -0
  29. package/dist/generated/generated/prisma/index.d.ts +198861 -0
  30. package/dist/generated/generated/prisma/index.js +2491 -0
  31. package/dist/generated/generated/prisma/libquery_engine-darwin-arm64.dylib.node +0 -0
  32. package/dist/generated/generated/prisma/package.json +183 -0
  33. package/dist/generated/generated/prisma/query_engine_bg.js +2 -0
  34. package/dist/generated/generated/prisma/query_engine_bg.wasm +0 -0
  35. package/dist/generated/generated/prisma/runtime/edge-esm.js +34 -0
  36. package/dist/generated/generated/prisma/runtime/edge.js +34 -0
  37. package/dist/generated/generated/prisma/runtime/index-browser.d.ts +370 -0
  38. package/dist/generated/generated/prisma/runtime/index-browser.js +16 -0
  39. package/dist/generated/generated/prisma/runtime/library.d.ts +3976 -0
  40. package/dist/generated/generated/prisma/runtime/library.js +146 -0
  41. package/dist/generated/generated/prisma/runtime/react-native.js +83 -0
  42. package/dist/generated/generated/prisma/runtime/wasm-compiler-edge.js +84 -0
  43. package/dist/generated/generated/prisma/runtime/wasm-engine-edge.js +36 -0
  44. package/dist/generated/generated/prisma/schema.prisma +2663 -0
  45. package/dist/generated/generated/prisma/wasm-edge-light-loader.mjs +4 -0
  46. package/dist/generated/generated/prisma/wasm-worker-loader.mjs +4 -0
  47. package/dist/generated/generated/prisma/wasm.d.ts +1 -0
  48. package/dist/generated/generated/prisma/wasm.js +2477 -0
  49. package/dist/generated/prisma/client.d.ts +1 -0
  50. package/dist/generated/prisma/client.js +4 -0
  51. package/dist/generated/prisma/default.d.ts +1 -0
  52. package/dist/generated/prisma/default.js +4 -0
  53. package/dist/generated/prisma/edge.d.ts +1 -0
  54. package/dist/generated/prisma/edge.js +2467 -0
  55. package/dist/generated/prisma/index-browser.js +2453 -0
  56. package/dist/generated/prisma/index.d.ts +185588 -0
  57. package/dist/generated/prisma/index.js +2488 -0
  58. package/dist/generated/prisma/libquery_engine-darwin-arm64.dylib.node +0 -0
  59. package/dist/generated/prisma/package.json +183 -0
  60. package/dist/generated/prisma/query_engine_bg.js +2 -0
  61. package/dist/generated/prisma/query_engine_bg.wasm +0 -0
  62. package/dist/generated/prisma/runtime/edge-esm.js +34 -0
  63. package/dist/generated/prisma/runtime/edge.js +34 -0
  64. package/dist/generated/prisma/runtime/index-browser.d.ts +370 -0
  65. package/dist/generated/prisma/runtime/index-browser.js +16 -0
  66. package/dist/generated/prisma/runtime/library.d.ts +3976 -0
  67. package/dist/generated/prisma/runtime/library.js +146 -0
  68. package/dist/generated/prisma/runtime/react-native.js +83 -0
  69. package/dist/generated/prisma/runtime/wasm-compiler-edge.js +84 -0
  70. package/dist/generated/prisma/runtime/wasm-engine-edge.js +36 -0
  71. package/dist/generated/prisma/schema.prisma +2597 -0
  72. package/dist/generated/prisma/wasm-edge-light-loader.mjs +4 -0
  73. package/dist/generated/prisma/wasm-worker-loader.mjs +4 -0
  74. package/dist/generated/prisma/wasm.d.ts +1 -0
  75. package/dist/generated/prisma/wasm.js +2474 -0
  76. package/dist/helpers/index.d.ts +1 -0
  77. package/dist/helpers/index.js +5 -0
  78. package/dist/helpers/prismaHelper.d.ts +2 -0
  79. package/dist/helpers/prismaHelper.js +75 -0
  80. package/dist/helpers/unuse/queryHelper.d.ts +19 -0
  81. package/dist/helpers/unuse/queryHelper.js +60 -0
  82. package/dist/index.d.ts +1 -0
  83. package/dist/index.js +13 -0
  84. package/dist/lib/prisma.d.ts +13 -0
  85. package/dist/lib/prisma.js +32 -0
  86. package/dist/middlewares/request/index.d.ts +3 -0
  87. package/dist/middlewares/request/index.js +12 -0
  88. package/dist/middlewares/request/initialPrisma.d.ts +2 -0
  89. package/dist/middlewares/request/initialPrisma.js +10 -0
  90. package/dist/middlewares/request/validateAuthorization.d.ts +2 -0
  91. package/dist/middlewares/request/validateAuthorization.js +40 -0
  92. package/dist/middlewares/request/validateCors.d.ts +6 -0
  93. package/dist/middlewares/request/validateCors.js +20 -0
  94. package/dist/middlewares/request/validateHeader.d.ts +2 -0
  95. package/dist/middlewares/request/validateHeader.js +49 -0
  96. package/dist/middlewares/request/validateSignature.d.ts +10 -0
  97. package/dist/middlewares/request/validateSignature.js +48 -0
  98. package/dist/middlewares/route/index.d.ts +6 -0
  99. package/dist/middlewares/route/index.js +33 -0
  100. package/dist/middlewares/route/validateAuth.d.ts +2 -0
  101. package/dist/middlewares/route/validateAuth.js +8 -0
  102. package/dist/middlewares/route/validateDocument.d.ts +2 -0
  103. package/dist/middlewares/route/validateDocument.js +33 -0
  104. package/dist/middlewares/route/validateInjectionField.d.ts +3 -0
  105. package/dist/middlewares/route/validateInjectionField.js +38 -0
  106. package/dist/middlewares/route/validateItem.d.ts +6 -0
  107. package/dist/middlewares/route/validateItem.js +23 -0
  108. package/dist/middlewares/route/validateLocation.d.ts +6 -0
  109. package/dist/middlewares/route/validateLocation.js +22 -0
  110. package/dist/middlewares/route/validateRegion.d.ts +5 -0
  111. package/dist/middlewares/route/validateRegion.js +39 -0
  112. package/dist/middlewares/route/validateRepository.d.ts +2 -0
  113. package/dist/middlewares/route/validateRepository.js +33 -0
  114. package/dist/middlewares/route/validateUser.d.ts +6 -0
  115. package/dist/middlewares/route/validateUser.js +23 -0
  116. package/dist/middlewares/unuse/errorHandler.d.ts +2 -0
  117. package/dist/middlewares/unuse/errorHandler.js +9 -0
  118. package/dist/models/ModelFactory.d.ts +38 -0
  119. package/dist/models/ModelFactory.js +137 -0
  120. package/dist/models/account/AccountModel.d.ts +144 -0
  121. package/dist/models/account/AccountModel.js +15 -0
  122. package/dist/models/branch/BranchModel.d.ts +259 -0
  123. package/dist/models/branch/BranchModel.js +15 -0
  124. package/dist/models/branch_user/BranchUserModel.d.ts +140 -0
  125. package/dist/models/branch_user/BranchUserModel.js +15 -0
  126. package/dist/models/business/BusinessModel.d.ts +214 -0
  127. package/dist/models/business/BusinessModel.js +15 -0
  128. package/dist/models/default.d.ts +41 -0
  129. package/dist/models/default.js +54 -0
  130. package/dist/models/group/GroupModel.d.ts +158 -0
  131. package/dist/models/group/GroupModel.js +15 -0
  132. package/dist/models/group/GroupOwnerModel.d.ts +151 -0
  133. package/dist/models/group/GroupOwnerModel.js +15 -0
  134. package/dist/models/index.d.ts +58 -0
  135. package/dist/models/index.js +91 -0
  136. package/dist/models/injection_field/DocumentInjectionFieldModel.d.ts +431 -0
  137. package/dist/models/injection_field/DocumentInjectionFieldModel.js +15 -0
  138. package/dist/models/injection_field/InjectionFieldModel.d.ts +193 -0
  139. package/dist/models/injection_field/InjectionFieldModel.js +46 -0
  140. package/dist/models/injection_field/ItemInjectionFieldModel.d.ts +347 -0
  141. package/dist/models/injection_field/ItemInjectionFieldModel.js +15 -0
  142. package/dist/models/injection_field/LogisticInjectionFieldModel.d.ts +158 -0
  143. package/dist/models/injection_field/LogisticInjectionFieldModel.js +15 -0
  144. package/dist/models/injection_field/RepositoryInjectionFieldModel.d.ts +193 -0
  145. package/dist/models/injection_field/RepositoryInjectionFieldModel.js +15 -0
  146. package/dist/models/injection_field/UserInjectionFieldModel.d.ts +263 -0
  147. package/dist/models/injection_field/UserInjectionFieldModel.js +15 -0
  148. package/dist/models/item/BrandModel.d.ts +147 -0
  149. package/dist/models/item/BrandModel.js +15 -0
  150. package/dist/models/item/CategoryModel.d.ts +154 -0
  151. package/dist/models/item/CategoryModel.js +15 -0
  152. package/dist/models/item/ItemModel.d.ts +294 -0
  153. package/dist/models/item/ItemModel.js +15 -0
  154. package/dist/models/item/ProductModel.d.ts +182 -0
  155. package/dist/models/item/ProductModel.js +15 -0
  156. package/dist/models/item/UomModel.d.ts +168 -0
  157. package/dist/models/item/UomModel.js +15 -0
  158. package/dist/models/location/LocationModel.d.ts +235 -0
  159. package/dist/models/location/LocationModel.js +15 -0
  160. package/dist/models/location/LocationRackModel.d.ts +172 -0
  161. package/dist/models/location/LocationRackModel.js +15 -0
  162. package/dist/models/location/LocationSlotModel.d.ts +165 -0
  163. package/dist/models/location/LocationSlotModel.js +15 -0
  164. package/dist/models/region/AreaModel.d.ts +154 -0
  165. package/dist/models/region/AreaModel.js +15 -0
  166. package/dist/models/region/CountryModel.d.ts +154 -0
  167. package/dist/models/region/CountryModel.js +15 -0
  168. package/dist/models/region/StateModel.d.ts +147 -0
  169. package/dist/models/region/StateModel.js +15 -0
  170. package/dist/models/user/AdministratorModel.d.ts +133 -0
  171. package/dist/models/user/AdministratorModel.js +15 -0
  172. package/dist/models/user/CustomerModel.d.ts +196 -0
  173. package/dist/models/user/CustomerModel.js +15 -0
  174. package/dist/models/user/UserModel.d.ts +189 -0
  175. package/dist/models/user/UserModel.js +15 -0
  176. package/dist/models/user/UserPropModel.d.ts +175 -0
  177. package/dist/models/user/UserPropModel.js +15 -0
  178. package/dist/models/user/UserStatusModel.d.ts +154 -0
  179. package/dist/models/user/UserStatusModel.js +15 -0
  180. package/dist/models/user/WorkerModel.d.ts +140 -0
  181. package/dist/models/user/WorkerModel.js +15 -0
  182. package/dist/models/user/bk_UserModel.d.ts +43 -0
  183. package/dist/models/user/bk_UserModel.js +79 -0
  184. package/dist/routes/auth/authRoutes.d.ts +1 -0
  185. package/dist/routes/auth/authRoutes.js +13 -0
  186. package/dist/routes/index.d.ts +11 -0
  187. package/dist/routes/index.js +25 -0
  188. package/dist/routes/injection_field/injectionFieldRoutes.d.ts +1 -0
  189. package/dist/routes/injection_field/injectionFieldRoutes.js +22 -0
  190. package/dist/routes/injection_field/injectionFieldsRoutes.d.ts +1 -0
  191. package/dist/routes/injection_field/injectionFieldsRoutes.js +15 -0
  192. package/dist/routes/item/itemRoutes.d.ts +1 -0
  193. package/dist/routes/item/itemRoutes.js +20 -0
  194. package/dist/routes/item/itemsRoutes.d.ts +1 -0
  195. package/dist/routes/item/itemsRoutes.js +15 -0
  196. package/dist/routes/location/locationRoutes.d.ts +1 -0
  197. package/dist/routes/location/locationRoutes.js +20 -0
  198. package/dist/routes/location/locationsRoutes.d.ts +1 -0
  199. package/dist/routes/location/locationsRoutes.js +25 -0
  200. package/dist/routes/region/regionRoutes.d.ts +1 -0
  201. package/dist/routes/region/regionRoutes.js +25 -0
  202. package/dist/routes/region/regionsRoutes.d.ts +1 -0
  203. package/dist/routes/region/regionsRoutes.js +33 -0
  204. package/dist/routes/user/userRoutes.d.ts +1 -0
  205. package/dist/routes/user/userRoutes.js +19 -0
  206. package/dist/routes/user/usersRoutes.d.ts +1 -0
  207. package/dist/routes/user/usersRoutes.js +15 -0
  208. package/dist/schema/common/index.d.ts +2 -0
  209. package/dist/schema/common/index.js +9 -0
  210. package/dist/schema/common/unuse/response.d.ts +54 -0
  211. package/dist/schema/common/unuse/response.js +22 -0
  212. package/dist/schema/middleware/request/index.d.ts +2 -0
  213. package/dist/schema/middleware/request/index.js +6 -0
  214. package/dist/schema/middleware/request/schemaAuthorization.d.ts +1 -0
  215. package/dist/schema/middleware/request/schemaAuthorization.js +8 -0
  216. package/dist/schema/middleware/request/schemaHeader.d.ts +9 -0
  217. package/dist/schema/middleware/request/schemaHeader.js +10 -0
  218. package/dist/schema/middleware/request/validateQuery_bk250827.d.ts +27 -0
  219. package/dist/schema/middleware/request/validateQuery_bk250827.js +62 -0
  220. package/dist/schema/middleware/route/index.d.ts +13 -0
  221. package/dist/schema/middleware/route/index.js +17 -0
  222. package/dist/schema/middleware/route/schemaDocument.d.ts +10 -0
  223. package/dist/schema/middleware/route/schemaDocument.js +9 -0
  224. package/dist/schema/middleware/route/schemaItem.d.ts +10 -0
  225. package/dist/schema/middleware/route/schemaItem.js +9 -0
  226. package/dist/schema/middleware/route/schemaLocation.d.ts +10 -0
  227. package/dist/schema/middleware/route/schemaLocation.js +9 -0
  228. package/dist/schema/middleware/route/schemaQueryList.d.ts +88 -0
  229. package/dist/schema/middleware/route/schemaQueryList.js +139 -0
  230. package/dist/schema/middleware/route/schemaRegion.d.ts +10 -0
  231. package/dist/schema/middleware/route/schemaRegion.js +9 -0
  232. package/dist/schema/middleware/route/schemaRepository.d.ts +10 -0
  233. package/dist/schema/middleware/route/schemaRepository.js +9 -0
  234. package/dist/schema/middleware/route/schemaUser.d.ts +10 -0
  235. package/dist/schema/middleware/route/schemaUser.js +9 -0
  236. package/dist/schema/payload/auth/schemaAuthToken.d.ts +43 -0
  237. package/dist/schema/payload/auth/schemaAuthToken.js +16 -0
  238. package/dist/schema/payload/index.d.ts +28 -0
  239. package/dist/schema/payload/index.js +48 -0
  240. package/dist/schema/payload/injection_field/schemaInjectionField.d.ts +548 -0
  241. package/dist/schema/payload/injection_field/schemaInjectionField.js +141 -0
  242. package/dist/schema/payload/item/schemaItem.d.ts +33 -0
  243. package/dist/schema/payload/item/schemaItem.js +13 -0
  244. package/dist/schema/payload/item/schemaItemBrand.d.ts +131 -0
  245. package/dist/schema/payload/item/schemaItemBrand.js +32 -0
  246. package/dist/schema/payload/item/schemaItemCategory.d.ts +145 -0
  247. package/dist/schema/payload/item/schemaItemCategory.js +34 -0
  248. package/dist/schema/payload/item/schemaItemItem.d.ts +244 -0
  249. package/dist/schema/payload/item/schemaItemItem.js +70 -0
  250. package/dist/schema/payload/item/schemaItemUom.d.ts +173 -0
  251. package/dist/schema/payload/item/schemaItemUom.js +38 -0
  252. package/dist/schema/payload/location/schemaLocationLocation.d.ts +297 -0
  253. package/dist/schema/payload/location/schemaLocationLocation.js +61 -0
  254. package/dist/schema/payload/region/schemaRegionArea.d.ts +91 -0
  255. package/dist/schema/payload/region/schemaRegionArea.js +32 -0
  256. package/dist/schema/payload/region/schemaRegionCountry.d.ts +62 -0
  257. package/dist/schema/payload/region/schemaRegionCountry.js +28 -0
  258. package/dist/schema/payload/region/schemaRegionState.d.ts +127 -0
  259. package/dist/schema/payload/region/schemaRegionState.js +44 -0
  260. package/dist/schema/payload/schemaUser.d.ts +101 -0
  261. package/dist/schema/payload/schemaUser.js +78 -0
  262. package/dist/schema/payload/user/schemaUser.d.ts +33 -0
  263. package/dist/schema/payload/user/schemaUser.js +13 -0
  264. package/dist/schema/payload/user/schemaUserAdministrator.d.ts +244 -0
  265. package/dist/schema/payload/user/schemaUserAdministrator.js +70 -0
  266. package/dist/schema/payload/user/schemaUserCustomer.d.ts +389 -0
  267. package/dist/schema/payload/user/schemaUserCustomer.js +70 -0
  268. package/dist/schema/payload/user/schemaUserWorker.d.ts +277 -0
  269. package/dist/schema/payload/user/schemaUserWorker.js +71 -0
  270. package/dist/services/account/AccountService.d.ts +28 -0
  271. package/dist/services/account/AccountService.js +152 -0
  272. package/dist/services/auth/AuthService.d.ts +39 -0
  273. package/dist/services/auth/AuthService.js +123 -0
  274. package/dist/services/branch/BranchService.d.ts +32 -0
  275. package/dist/services/branch/BranchService.js +120 -0
  276. package/dist/services/branch_user/BranchUserService.d.ts +12 -0
  277. package/dist/services/branch_user/BranchUserService.js +148 -0
  278. package/dist/services/index.d.ts +14 -0
  279. package/dist/services/index.js +21 -0
  280. package/dist/services/injection_field/DocumentInjectionFieldService.d.ts +135 -0
  281. package/dist/services/injection_field/DocumentInjectionFieldService.js +79 -0
  282. package/dist/services/injection_field/InjectionFieldService.d.ts +137 -0
  283. package/dist/services/injection_field/InjectionFieldService.js +266 -0
  284. package/dist/services/injection_field/ItemInjectionFieldService.d.ts +92 -0
  285. package/dist/services/injection_field/ItemInjectionFieldService.js +68 -0
  286. package/dist/services/injection_field/LogisticInjectionFieldService.d.ts +45 -0
  287. package/dist/services/injection_field/LogisticInjectionFieldService.js +72 -0
  288. package/dist/services/injection_field/RepositoryInjectionFieldService.d.ts +61 -0
  289. package/dist/services/injection_field/RepositoryInjectionFieldService.js +66 -0
  290. package/dist/services/injection_field/UserInjectionFieldService.d.ts +98 -0
  291. package/dist/services/injection_field/UserInjectionFieldService.js +79 -0
  292. package/dist/services/item/ItemBrandService.d.ts +84 -0
  293. package/dist/services/item/ItemBrandService.js +151 -0
  294. package/dist/services/item/ItemCategoryService.d.ts +89 -0
  295. package/dist/services/item/ItemCategoryService.js +234 -0
  296. package/dist/services/item/ItemItemService.d.ts +141 -0
  297. package/dist/services/item/ItemItemService.js +263 -0
  298. package/dist/services/item/ItemProductService.d.ts +146 -0
  299. package/dist/services/item/ItemProductService.js +284 -0
  300. package/dist/services/item/ItemService.d.ts +65 -0
  301. package/dist/services/item/ItemService.js +226 -0
  302. package/dist/services/item/ItemUomService.d.ts +101 -0
  303. package/dist/services/item/ItemUomService.js +159 -0
  304. package/dist/services/location/LocationLocationService.d.ts +144 -0
  305. package/dist/services/location/LocationLocationService.js +270 -0
  306. package/dist/services/location/LocationRackService.d.ts +98 -0
  307. package/dist/services/location/LocationRackService.js +275 -0
  308. package/dist/services/location/LocationService.d.ts +52 -0
  309. package/dist/services/location/LocationService.js +152 -0
  310. package/dist/services/location/LocationSlotService.d.ts +91 -0
  311. package/dist/services/location/LocationSlotService.js +142 -0
  312. package/dist/services/region/AreaService.d.ts +87 -0
  313. package/dist/services/region/AreaService.js +142 -0
  314. package/dist/services/region/CountryService.d.ts +103 -0
  315. package/dist/services/region/CountryService.js +155 -0
  316. package/dist/services/region/RegionService.d.ts +45 -0
  317. package/dist/services/region/RegionService.js +152 -0
  318. package/dist/services/region/StateService.d.ts +85 -0
  319. package/dist/services/region/StateService.js +189 -0
  320. package/dist/services/supabase/supabaseClient.d.ts +1 -0
  321. package/dist/services/supabase/supabaseClient.js +8 -0
  322. package/dist/services/user/AdministratorService.d.ts +73 -0
  323. package/dist/services/user/AdministratorService.js +263 -0
  324. package/dist/services/user/CustomerService.d.ts +123 -0
  325. package/dist/services/user/CustomerService.js +268 -0
  326. package/dist/services/user/UserPropService.d.ts +40 -0
  327. package/dist/services/user/UserPropService.js +139 -0
  328. package/dist/services/user/UserService.d.ts +92 -0
  329. package/dist/services/user/UserService.js +260 -0
  330. package/dist/services/user/WorkerService.d.ts +83 -0
  331. package/dist/services/user/WorkerService.js +227 -0
  332. package/dist/utils/dateUtils.d.ts +4 -0
  333. package/dist/utils/dateUtils.js +23 -0
  334. package/dist/utils/exceptionUtils.d.ts +8 -0
  335. package/dist/utils/exceptionUtils.js +25 -0
  336. package/dist/utils/index.d.ts +15 -0
  337. package/dist/utils/index.js +52 -0
  338. package/dist/utils/injectionFieldUtils.d.ts +1 -0
  339. package/dist/utils/injectionFieldUtils.js +22 -0
  340. package/dist/utils/jwtUtils.d.ts +3 -0
  341. package/dist/utils/jwtUtils.js +22 -0
  342. package/dist/utils/logUtils.d.ts +3 -0
  343. package/dist/utils/logUtils.js +60 -0
  344. package/dist/utils/queryBuilder.d.ts +74 -0
  345. package/dist/utils/queryBuilder.js +163 -0
  346. package/dist/utils/requestUtils.d.ts +3 -0
  347. package/dist/utils/requestUtils.js +11 -0
  348. package/dist/utils/responseUtils.d.ts +14 -0
  349. package/dist/utils/responseUtils.js +42 -0
  350. package/dist/utils/schemaUtils.d.ts +21 -0
  351. package/dist/utils/schemaUtils.js +95 -0
  352. package/dist/utils/serviceUtils.d.ts +12 -0
  353. package/dist/utils/serviceUtils.js +11 -0
  354. package/dist/utils/services/storage.d.ts +22 -0
  355. package/dist/utils/services/storage.js +64 -0
  356. package/dist/utils/shapeUtils.d.ts +1 -0
  357. package/dist/utils/shapeUtils.js +36 -0
  358. package/dist/utils/smwUtils.d.ts +1 -0
  359. package/dist/utils/smwUtils.js +9 -0
  360. package/dist/utils/zodUtils.d.ts +6 -0
  361. package/dist/utils/zodUtils.js +17 -0
  362. package/package.json +94 -0
@@ -0,0 +1,260 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserService = exports.userTypes = void 0;
4
+ const models_1 = require("../../models");
5
+ const UserPropService_1 = require("./UserPropService");
6
+ const CustomerService_1 = require("./CustomerService");
7
+ const AdministratorService_1 = require("./AdministratorService");
8
+ const WorkerService_1 = require("./WorkerService");
9
+ const utils_1 = require("../../utils");
10
+ exports.userTypes = {
11
+ administrator: "administrator",
12
+ worker: "worker",
13
+ supplier: "supplier",
14
+ customer: "customer",
15
+ driver: "driver",
16
+ retailer: "retailer",
17
+ member: "member",
18
+ };
19
+ const getCreatePayload = (userType, data) => {
20
+ if ("user" in data) {
21
+ return {
22
+ [`${models_1.ModelUserFields.login_username}`]: data.user.loginUsername,
23
+ [`${models_1.ModelUserFields.login_password}`]: data.user.loginPassword,
24
+ [`${models_1.ModelUserFields.address}`]: data.user.address,
25
+ [`${models_1.ModelUserFields.contact}`]: data.user.contact,
26
+ [`${models_1.ModelUserFields.email}`]: data.user.email,
27
+ [`${models_1.ModelUserFields.firstname}`]: data.user.firstname,
28
+ [`${models_1.ModelUserFields.lastname}`]: data.user.lastname,
29
+ [`${models_1.ModelUserFields.status}`]: data.user.status ? 1 : 0,
30
+ [`${models_1.ModelUserFields.user_type}`]: `${userType}`
31
+ };
32
+ }
33
+ return false;
34
+ };
35
+ const getUpdatePayload = (userType, data) => {
36
+ if ("user" in data) {
37
+ return {
38
+ [`${models_1.ModelUserFields.login_username}`]: data.user.loginUsername,
39
+ ...(data?.user?.loginPassword ? { [`${models_1.ModelUserFields.login_password}`]: data.user.loginPassword } : {}),
40
+ [`${models_1.ModelUserFields.address}`]: data.user.address,
41
+ [`${models_1.ModelUserFields.contact}`]: data.user.contact,
42
+ [`${models_1.ModelUserFields.email}`]: data.user.email,
43
+ [`${models_1.ModelUserFields.firstname}`]: data.user.firstname,
44
+ [`${models_1.ModelUserFields.lastname}`]: data.user.lastname,
45
+ [`${models_1.ModelUserFields.status}`]: data.user.status ? 1 : 0,
46
+ [`${models_1.ModelUserFields.user_type}`]: `${userType}`
47
+ };
48
+ }
49
+ return false;
50
+ };
51
+ const UserService = (props) => {
52
+ const { prisma, userType = "administrator", accountId = 0, actionUserId = 0, } = props;
53
+ const userModel = (0, models_1.UserModel)({ prisma, accountId, actionUserId });
54
+ const userPropService = (0, UserPropService_1.UserPropService)({ prisma, accountId, actionUserId, userPropType: "LOCATION_ID" });
55
+ const customerService = (0, CustomerService_1.CustomerService)({ prisma, accountId, actionUserId });
56
+ const administratorService = (0, AdministratorService_1.AdministratorService)({ prisma, accountId, actionUserId });
57
+ const workerService = (0, WorkerService_1.WorkerService)({ prisma, accountId, actionUserId });
58
+ const createUser = async ({ data, userType: overrideUserType }) => {
59
+ const _userType = overrideUserType || userType;
60
+ const _data = getCreatePayload(_userType, data);
61
+ if (!_data) {
62
+ throw new Error(`Invalid create payload: ${JSON.stringify(_data)}`);
63
+ }
64
+ // create user
65
+ let responseUser = await userModel.create({ data: _data });
66
+ let newUserId = responseUser.user_id;
67
+ let response = {};
68
+ if (_userType === "customer" && "customer" in data) {
69
+ let dataCustomer = {
70
+ customer: {
71
+ ...data.customer,
72
+ userId: Number(newUserId) ?? ""
73
+ }
74
+ };
75
+ // create customer
76
+ await customerService.createCustomer({ data: dataCustomer });
77
+ response = await customerService.getCustomer({ id: Number(newUserId), datatypes: [] });
78
+ }
79
+ if (_userType === "administrator" && "administrator" in data) {
80
+ let dataAdministrator = {
81
+ administrator: {
82
+ ...data.administrator,
83
+ userId: Number(newUserId) ?? ""
84
+ }
85
+ };
86
+ // create customer
87
+ await administratorService.createAdministrator({ data: dataAdministrator });
88
+ // replace user prop
89
+ await userPropService.replaceUserProp({
90
+ userPropType: "LOCATION_ID",
91
+ data: {
92
+ userProp: {
93
+ userId: Number(newUserId),
94
+ locationIds: data.props.locationIds
95
+ }
96
+ }
97
+ });
98
+ response = await administratorService.getAdministrator({ id: Number(newUserId), datatypes: [] });
99
+ }
100
+ if (_userType === "worker" && "worker" in data) {
101
+ let dataWorker = {
102
+ worker: {
103
+ ...data.worker,
104
+ userId: Number(newUserId) ?? ""
105
+ }
106
+ };
107
+ // create customer
108
+ await workerService.createWorker({ data: dataWorker });
109
+ // replace user prop
110
+ await userPropService.replaceUserProp({
111
+ userPropType: "LOCATION_ID",
112
+ data: {
113
+ userProp: {
114
+ userId: Number(newUserId),
115
+ locationIds: data.props.locationIds
116
+ }
117
+ }
118
+ });
119
+ response = await workerService.getWorker({ id: Number(newUserId), datatypes: [] });
120
+ }
121
+ return response;
122
+ };
123
+ const updateUser = async ({ id, data, userType: overrideUserType }) => {
124
+ const _userType = overrideUserType || userType;
125
+ const _data = getUpdatePayload(_userType, data);
126
+ if (!_data) {
127
+ throw new Error(`Invalid update payload: ${JSON.stringify(_data)}`);
128
+ }
129
+ // update user
130
+ let responseUser = await userModel.update({ id, data: _data });
131
+ let updateUserId = responseUser.user_id;
132
+ let response = {};
133
+ if (_userType === "customer" && "customer" in data) {
134
+ let dataCustomer = {
135
+ customer: {
136
+ ...data.customer
137
+ }
138
+ };
139
+ await customerService.updateCustomer({ userId: Number(updateUserId), data: dataCustomer });
140
+ response = await customerService.getCustomer({ id: Number(updateUserId), datatypes: [] });
141
+ }
142
+ if (_userType === "administrator" && "administrator" in data) {
143
+ let dataCustomer = {
144
+ administrator: {
145
+ ...data.administrator
146
+ }
147
+ };
148
+ await administratorService.updateAdministrator({ userId: Number(updateUserId), data: dataCustomer });
149
+ // replace user prop
150
+ await userPropService.replaceUserProp({
151
+ userPropType: "LOCATION_ID",
152
+ data: {
153
+ userProp: {
154
+ userId: Number(updateUserId),
155
+ locationIds: data.props.locationIds
156
+ }
157
+ }
158
+ });
159
+ response = await administratorService.getAdministrator({ id: Number(updateUserId), datatypes: [] });
160
+ }
161
+ if (_userType === "worker" && "worker" in data) {
162
+ let dataWorker = {
163
+ worker: {
164
+ ...data.worker
165
+ }
166
+ };
167
+ await workerService.updateWorker({ userId: Number(updateUserId), data: dataWorker });
168
+ // replace user prop
169
+ await userPropService.replaceUserProp({
170
+ userPropType: "LOCATION_ID",
171
+ data: {
172
+ userProp: {
173
+ userId: Number(updateUserId),
174
+ locationIds: data.props.locationIds
175
+ }
176
+ }
177
+ });
178
+ response = await workerService.getWorker({ id: Number(updateUserId), datatypes: [] });
179
+ }
180
+ return response;
181
+ };
182
+ const getUser = async ({ id, datatypes = [] }) => {
183
+ let data = {};
184
+ if (userType === "customer") {
185
+ data = await customerService.getCustomer({ id, datatypes: datatypes });
186
+ }
187
+ if (userType === "administrator") {
188
+ data = await administratorService.getAdministrator({ id, datatypes: datatypes });
189
+ }
190
+ if (userType === "worker") {
191
+ data = await workerService.getWorker({ id, datatypes: datatypes });
192
+ }
193
+ if (!data) {
194
+ throw new Error(`Invalid id: ${id}`);
195
+ }
196
+ return data;
197
+ };
198
+ const listUsers = async ({ limit, offset, filters, sortfield, sortorder, datatypes }) => {
199
+ let data = [];
200
+ let total = 0;
201
+ if (userType === "customer") {
202
+ ({ data, total } = await customerService.listCustomers({ limit, offset, filters, sortfield, sortorder, datatypes: datatypes }));
203
+ }
204
+ if (userType === "administrator") {
205
+ ({ data, total } = await administratorService.listAdministrators({ limit, offset, filters, sortfield, sortorder, datatypes: datatypes }));
206
+ }
207
+ if (userType === "worker") {
208
+ ({ data, total } = await workerService.listWorkers({ limit, offset, filters, sortfield, sortorder, datatypes: datatypes }));
209
+ }
210
+ return {
211
+ data,
212
+ total
213
+ };
214
+ };
215
+ const removeUsers = async ({ ids }) => {
216
+ if (!ids.length)
217
+ (0, utils_1.throwError)('id is required');
218
+ let response = [];
219
+ if (userType === "customer") {
220
+ response = await customerService.removeCustomers({ userIds: ids });
221
+ }
222
+ if (userType === "administrator") {
223
+ response = await administratorService.removeAdministrators({ userIds: ids });
224
+ await userPropService.removeUserProps({ userIds: ids });
225
+ }
226
+ if (userType === "worker") {
227
+ response = await workerService.removeWorkers({ userIds: ids });
228
+ await userPropService.removeUserProps({ userIds: ids });
229
+ }
230
+ // remove user
231
+ let responseUser = await userModel.remove({ ids: ids.map(i => Number(i)) });
232
+ response.forEach((i, index) => {
233
+ i.user = responseUser[index];
234
+ });
235
+ return response;
236
+ };
237
+ const getUserDataTypes = () => {
238
+ let data = [];
239
+ let total = 0;
240
+ if (userType === "customer") {
241
+ data = customerService.getDataTypes();
242
+ }
243
+ if (userType === "administrator") {
244
+ data = administratorService.getDataTypes();
245
+ }
246
+ if (userType === "worker") {
247
+ data = workerService.getDataTypes();
248
+ }
249
+ return data;
250
+ };
251
+ return {
252
+ createUser,
253
+ updateUser,
254
+ getUser,
255
+ listUsers,
256
+ removeUsers,
257
+ getUserDataTypes
258
+ };
259
+ };
260
+ exports.UserService = UserService;
@@ -0,0 +1,83 @@
1
+ import { QueryList } from "../../schema/common";
2
+ import { DefaultServiceProps } from "../../utils";
3
+ export type UserType = "worker";
4
+ export declare const workerDataTypes: {
5
+ location: string;
6
+ locationCount: string;
7
+ zone: string;
8
+ zoneCount: string;
9
+ workerInjectionFields: string;
10
+ file: string;
11
+ };
12
+ export type WorkerDataType = keyof typeof workerDataTypes;
13
+ export type WorkerServiceProps = DefaultServiceProps & {};
14
+ export type WorkerGetProps = {
15
+ id: number;
16
+ datatypes: WorkerDataType[];
17
+ };
18
+ export type WorkerListProps = QueryList & {
19
+ datatypes: WorkerDataType[];
20
+ };
21
+ export type WorkerRemoveProps = {
22
+ userIds: BigInt[];
23
+ };
24
+ export type WorkerCreateProps = {
25
+ data: {
26
+ worker: {
27
+ userId: number;
28
+ remark: string;
29
+ };
30
+ };
31
+ };
32
+ export type WorkerUpdateProps = {
33
+ userId: number;
34
+ data: {
35
+ worker: {
36
+ remark: string;
37
+ };
38
+ };
39
+ };
40
+ export declare const WorkerService: (props: WorkerServiceProps) => {
41
+ createWorker: ({ data }: WorkerCreateProps) => Promise<{
42
+ user_id: bigint;
43
+ createdatetime: Date | null;
44
+ createuserid: bigint;
45
+ updatedatetime: Date | null;
46
+ updateuserid: bigint;
47
+ isdelete: boolean | null;
48
+ istrash: boolean | null;
49
+ accountid: bigint;
50
+ remark: string | null;
51
+ worker_id: bigint;
52
+ }>;
53
+ updateWorker: ({ userId, data }: WorkerUpdateProps) => Promise<{
54
+ user_id: bigint;
55
+ createdatetime: Date | null;
56
+ createuserid: bigint;
57
+ updatedatetime: Date | null;
58
+ updateuserid: bigint;
59
+ isdelete: boolean | null;
60
+ istrash: boolean | null;
61
+ accountid: bigint;
62
+ remark: string | null;
63
+ worker_id: bigint;
64
+ }>;
65
+ getWorker: ({ id, datatypes }: WorkerGetProps) => Promise<any>;
66
+ listWorkers: ({ limit, offset, filters, sortfield, sortorder, datatypes }: WorkerListProps) => Promise<{
67
+ data: any[];
68
+ total: number;
69
+ }>;
70
+ removeWorkers: ({ userIds }: WorkerRemoveProps) => Promise<{
71
+ user_id: bigint;
72
+ createdatetime: Date | null;
73
+ createuserid: bigint;
74
+ updatedatetime: Date | null;
75
+ updateuserid: bigint;
76
+ isdelete: boolean | null;
77
+ istrash: boolean | null;
78
+ accountid: bigint;
79
+ remark: string | null;
80
+ worker_id: bigint;
81
+ }[]>;
82
+ getDataTypes: () => string[];
83
+ };
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkerService = exports.workerDataTypes = void 0;
4
+ const utils_1 = require("../../utils");
5
+ const models_1 = require("../../models");
6
+ const utils_2 = require("../../utils");
7
+ exports.workerDataTypes = {
8
+ location: "location",
9
+ locationCount: "location_count",
10
+ zone: "zone",
11
+ zoneCount: "zone_count",
12
+ workerInjectionFields: "worker_injection_fields",
13
+ file: "file",
14
+ };
15
+ const getCreatePayload = (data) => {
16
+ if ("worker" in data) {
17
+ return {
18
+ [`${models_1.ModelWorkerFields.user_id}`]: data.worker.userId,
19
+ [`${models_1.ModelWorkerFields.remark}`]: data.worker.remark
20
+ };
21
+ }
22
+ return false;
23
+ };
24
+ const getUpdatePayload = (data) => {
25
+ if ("worker" in data) {
26
+ return {
27
+ // [`${ModelWorkerFields.user_id}`]: data.worker.userId,
28
+ [`${models_1.ModelWorkerFields.remark}`]: data.worker.remark
29
+ };
30
+ }
31
+ return false;
32
+ };
33
+ let mainSqlSelect = {
34
+ [`wrk.${models_1.ModelWorkerFields.worker_id}`]: "worker_id",
35
+ [`wrk.${models_1.ModelWorkerFields.user_id}`]: "user_id",
36
+ [`wrk.${models_1.ModelWorkerFields.remark}`]: "remark",
37
+ };
38
+ let userSqlSelect = {
39
+ [`usr.${models_1.ModelUserFields.login_username}`]: "username",
40
+ [`usr.${models_1.ModelUserFields.user_type}`]: "user_type",
41
+ [`usr.${models_1.ModelUserFields.firstname}`]: "firstname",
42
+ [`usr.${models_1.ModelUserFields.lastname}`]: "lastname",
43
+ [`usr.${models_1.ModelUserFields.contact}`]: "contact",
44
+ [`usr.${models_1.ModelUserFields.email}`]: "email",
45
+ [`usr.${models_1.ModelUserFields.address}`]: "address",
46
+ [`usr.${models_1.ModelUserFields.status}`]: "status",
47
+ };
48
+ let defaultSqlSelect = {
49
+ [`wrk.${models_1.ModelWorkerFields.createdatetime}`]: "createdatetime",
50
+ [`creator.${models_1.ModelUserFields.login_username}`]: "createusername",
51
+ [`wrk.${models_1.ModelWorkerFields.updatedatetime}`]: "updatedatetime",
52
+ [`updater.${models_1.ModelUserFields.login_username}`]: "updateusername",
53
+ [`wrk.${models_1.ModelWorkerFields.isdelete}`]: "isdelete",
54
+ [`wrk.${models_1.ModelWorkerFields.istrash}`]: "istrash",
55
+ [`wrk.${models_1.ModelWorkerFields.accountid}`]: "accountid",
56
+ };
57
+ let userPropLocationSqlSelect = {
58
+ [`COALESCE(
59
+ STRING_AGG(usrprop_location.${models_1.ModelUserPropFields.props_id}::text, ', '),
60
+ ''
61
+ )`]: "location_id",
62
+ [`COALESCE(
63
+ STRING_AGG(location.${models_1.ModelLocationFields.location_name}::text, ', '),
64
+ ''
65
+ )`]: "location_name",
66
+ };
67
+ const WorkerService = (props) => {
68
+ const { prisma, accountId = 0, actionUserId = 0 } = props;
69
+ const workerModel = (0, models_1.WorkerModel)({ prisma, accountId, actionUserId });
70
+ const userInjectionFieldModel = (0, models_1.UserInjectionFieldModel)({ prisma, accountId, actionUserId });
71
+ const createWorker = async ({ data }) => {
72
+ const _data = getCreatePayload(data);
73
+ if (!_data) {
74
+ throw new Error(`Invalid create worker payload: ${JSON.stringify(_data)}`);
75
+ }
76
+ let response = await workerModel.create({ data: _data });
77
+ return response;
78
+ };
79
+ const updateWorker = async ({ userId, data }) => {
80
+ const _data = getUpdatePayload(data);
81
+ if (!_data) {
82
+ throw new Error(`Invalid update worker payload: ${JSON.stringify(_data)}`);
83
+ }
84
+ let response = await workerModel.update({ where: { [`${models_1.ModelWorkerFields.user_id}`]: userId }, data: _data });
85
+ return response;
86
+ };
87
+ const getWorker = async ({ id, datatypes = [] }) => {
88
+ let { data } = await listWorkers({
89
+ limit: 1,
90
+ offset: 0,
91
+ filters: [{ field: "user_id", operator: "=", value: id }],
92
+ sortfield: "user_id",
93
+ sortorder: "ASC",
94
+ datatypes
95
+ });
96
+ return data[0] ?? null;
97
+ };
98
+ const listWorkers = async ({ limit, offset, filters, sortfield, sortorder, datatypes = [] }) => {
99
+ let data = [];
100
+ let sqlSelect = [
101
+ `COUNT(wrk.*) OVER() as filtered_count`,
102
+ (0, utils_2.buildSqlSelect)(``, mainSqlSelect),
103
+ (0, utils_2.buildSqlSelect)(``, userSqlSelect),
104
+ (0, utils_2.buildSqlSelect)(``, defaultSqlSelect),
105
+ (0, utils_2.buildSqlSelect)(``, userPropLocationSqlSelect),
106
+ ];
107
+ let sqlRelation = [
108
+ (0, utils_2.buildSqlRelation)("left", "wrk", "users", "usr", ["wrk.user_id = usr.user_id", "usr.isdelete = false", "usr.istrash = false"]),
109
+ (0, utils_2.buildSqlRelation)("left", "wrk", "users", "creator", ["wrk.createuserid = creator.user_id", "creator.isdelete = false", "creator.istrash = false"]),
110
+ (0, utils_2.buildSqlRelation)("left", "wrk", "users", "updater", ["wrk.updateuserid = updater.user_id", "updater.isdelete = false", "updater.istrash = false"]),
111
+ (0, utils_2.buildSqlRelation)("left", "wrk", "user_props", "usrprop_location", ["wrk.user_id = usrprop_location.user_id", "usrprop_location.type = 'LOCATION_ID'", "usrprop_location.isdelete = false", "usrprop_location.istrash = false"]),
112
+ (0, utils_2.buildSqlRelation)("left", "wrk", "locations", "location", ["usrprop_location.props_id = location.location_id", "location.isdelete = false", "location.istrash = false"]),
113
+ ];
114
+ let sqlGroupBy = [
115
+ ...Object.keys(mainSqlSelect),
116
+ ...Object.keys(userSqlSelect),
117
+ // ...Object.keys(userPropLocationSqlSelect),
118
+ ...Object.keys(defaultSqlSelect)
119
+ ];
120
+ let filterColumns = {
121
+ ...mainSqlSelect,
122
+ ...userSqlSelect,
123
+ ...userPropLocationSqlSelect,
124
+ ...defaultSqlSelect
125
+ };
126
+ if (datatypes.includes(exports.workerDataTypes.workerInjectionFields)) {
127
+ const keyPrefix = `usr_wrk_`;
128
+ const allFields = await userInjectionFieldModel.getFields(`${keyPrefix}`);
129
+ let injectionFieldSqlSelect = (0, utils_2.toFieldMap)(allFields, "uip");
130
+ if (Object.keys(injectionFieldSqlSelect).length > 0) {
131
+ filterColumns = { ...filterColumns, ...injectionFieldSqlSelect };
132
+ sqlSelect = [...sqlSelect, (0, utils_2.buildSqlSelect)(``, injectionFieldSqlSelect)];
133
+ sqlRelation = [...sqlRelation, (0, utils_2.buildSqlRelation)("left", "wrk", "user_injection_fields", "uip", ["wrk.user_id = uip.user_id", "uip.field_ref = 'user'", "uip.isdelete = false", "uip.istrash = false"])];
134
+ sqlGroupBy = [...sqlGroupBy, ...Object.keys(injectionFieldSqlSelect)];
135
+ }
136
+ }
137
+ if (datatypes.includes(exports.workerDataTypes.location)) {
138
+ let locationSqlSelect = {
139
+ [`COALESCE(
140
+ JSON_AGG(
141
+ DISTINCT JSONB_BUILD_OBJECT(
142
+ '${models_1.ModelLocationFields.location_id}', location.location_id,
143
+ '${models_1.ModelLocationFields.location_code}', location.location_code,
144
+ '${models_1.ModelLocationFields.location_name}', location.location_name,
145
+ '${models_1.ModelLocationFields.location_type}', location.location_type,
146
+ '${models_1.ModelLocationFields.address_1}', location.address_1,
147
+ '${models_1.ModelLocationFields.address_2}', location.address_2,
148
+ '${models_1.ModelLocationFields.area}', location.area,
149
+ '${models_1.ModelLocationFields.area_id}', location.area_id,
150
+ '${models_1.ModelLocationFields.country_id}', location.country_id,
151
+ '${models_1.ModelLocationFields.state_id}', location.state_id,
152
+ '${models_1.ModelLocationFields.postcode}', location.postcode,
153
+ '${models_1.ModelLocationFields.is_default}', location.is_default,
154
+ '${models_1.ModelLocationFields.person_contact}', location.person_contact,
155
+ '${models_1.ModelLocationFields.person_name}', location.person_contact,
156
+ '${models_1.ModelLocationFields.person_email}', location.person_email,
157
+ '${models_1.ModelLocationFields.isdelete}', location.isdelete,
158
+ '${models_1.ModelLocationFields.istrash}', location.istrash
159
+ )
160
+ ) FILTER (WHERE location.location_id IS NOT NULL AND location.isdelete = false AND location.istrash = false),
161
+ '[]'
162
+ )`]: "locations"
163
+ };
164
+ filterColumns = { ...filterColumns, ...locationSqlSelect };
165
+ sqlSelect = [...sqlSelect, (0, utils_2.buildSqlSelect)(``, locationSqlSelect)];
166
+ // sqlRelation = [...sqlRelation, buildSqlRelation("left", "usrprop_location", "location", "brn", ["wrk.user_id = brn.user_id", "brn.isdelete = false", "brn.istrash = false"])]
167
+ }
168
+ if (datatypes.includes(exports.workerDataTypes.locationCount)) {
169
+ let locationCountSqlSelect = {
170
+ [`COUNT(DISTINCT location.${models_1.ModelLocationFields.location_id})::INT`]: "location_count"
171
+ };
172
+ filterColumns = { ...filterColumns, ...locationCountSqlSelect };
173
+ sqlSelect = [...sqlSelect, (0, utils_2.buildSqlSelect)(``, locationCountSqlSelect)];
174
+ // sqlRelation = [...sqlRelation, buildSqlRelation("left", "cus", "branches", "brncount", ["wrk.user_id = brncount.user_id", "brncount.isdelete = false", "brncount.istrash = false"])]
175
+ }
176
+ // if (datatypes.includes(customerDataTypes.branchUserCount)) {
177
+ // let branchUserCountSqlSelect = {
178
+ // [`COUNT(DISTINCT brnusrcount.${ModelBranchUserFields.branch_user_id})::INT`]: "branch_user_count"
179
+ // }
180
+ // filterColumns = { ...filterColumns, ...branchUserCountSqlSelect }
181
+ // sqlSelect = [...sqlSelect, buildSqlSelect(``, branchUserCountSqlSelect)]
182
+ // sqlRelation = [...sqlRelation, buildSqlRelation("left", "cus", "branch_users", "brnusrcount", ["wrk.user_id = brnusrcount.user_id", "brnusrcount.isdelete = false", "brnusrcount.istrash = false"])]
183
+ // }
184
+ let sqlWhere = [
185
+ `wrk.isdelete = false`,
186
+ `wrk.istrash = false`,
187
+ ...(filters.length ? [(0, utils_2.buildSqlWhere)(filters, filterColumns)] : []),
188
+ ];
189
+ let sqlOrderby = (0, utils_2.buildSqlOrderBy)(sortfield, sortorder);
190
+ let sqlLimitOffset = (0, utils_2.buildSqlLimitOffset)(limit, offset);
191
+ const sqlRaw = (0, utils_2.buildSqlRawSelect)({
192
+ tableName: "workers",
193
+ mainAlias: "wrk",
194
+ accountId,
195
+ sqlSelect,
196
+ sqlRelation,
197
+ sqlWhere,
198
+ sqlGroupBy,
199
+ sqlOrderby,
200
+ sqlLimitOffset
201
+ });
202
+ data = await workerModel.raw(sqlRaw);
203
+ const response = {
204
+ data: data.map(({ filtered_count, ...rest }) => rest),
205
+ total: data.length ? Number(data[0].filtered_count) : 0
206
+ };
207
+ return response;
208
+ };
209
+ const removeWorkers = async ({ userIds }) => {
210
+ if (!userIds.length)
211
+ (0, utils_1.throwError)('userIds is required');
212
+ const response = await workerModel.remove({ where: { [`${models_1.ModelWorkerFields.user_id}`]: { in: userIds } } });
213
+ return response;
214
+ };
215
+ const getDataTypes = () => {
216
+ return Object.values(exports.workerDataTypes);
217
+ };
218
+ return {
219
+ createWorker,
220
+ updateWorker,
221
+ getWorker,
222
+ listWorkers,
223
+ removeWorkers,
224
+ getDataTypes
225
+ };
226
+ };
227
+ exports.WorkerService = WorkerService;
@@ -0,0 +1,4 @@
1
+ import dayjs from "dayjs";
2
+ export declare const getCurrentDateTimeISO: () => string;
3
+ export declare const getCurrentDateTime: () => string;
4
+ export { dayjs };
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.dayjs = exports.getCurrentDateTime = exports.getCurrentDateTimeISO = void 0;
7
+ const dayjs_1 = __importDefault(require("dayjs"));
8
+ exports.dayjs = dayjs_1.default;
9
+ const utc_1 = __importDefault(require("dayjs/plugin/utc"));
10
+ const timezone_1 = __importDefault(require("dayjs/plugin/timezone"));
11
+ // extend plugins
12
+ dayjs_1.default.extend(utc_1.default);
13
+ dayjs_1.default.extend(timezone_1.default);
14
+ // set default timezone to Malaysia
15
+ dayjs_1.default.tz.setDefault("Asia/Kuala_Lumpur");
16
+ const getCurrentDateTimeISO = () => {
17
+ return (0, dayjs_1.default)().toISOString();
18
+ };
19
+ exports.getCurrentDateTimeISO = getCurrentDateTimeISO;
20
+ const getCurrentDateTime = () => {
21
+ return (0, dayjs_1.default)().format('YYYY-MM-DD HH:mm:ss');
22
+ };
23
+ exports.getCurrentDateTime = getCurrentDateTime;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Throws a new Error with the given message.
3
+ */
4
+ export declare function throwError(message: string): never;
5
+ /**
6
+ * Logs an error using the centralized logger.
7
+ */
8
+ export declare function logError(error: unknown, context?: string): void;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.throwError = throwError;
7
+ exports.logError = logError;
8
+ const logUtils_1 = __importDefault(require("./logUtils"));
9
+ /**
10
+ * Throws a new Error with the given message.
11
+ */
12
+ function throwError(message) {
13
+ throw new Error(message);
14
+ }
15
+ /**
16
+ * Logs an error using the centralized logger.
17
+ */
18
+ function logError(error, context = '') {
19
+ if (error instanceof Error) {
20
+ logUtils_1.default.error({ err: error }, context || error.message);
21
+ }
22
+ else {
23
+ logUtils_1.default.error({ err: error }, context || 'Unknown error');
24
+ }
25
+ }
@@ -0,0 +1,15 @@
1
+ export { default as _ } from "lodash";
2
+ export { HTTP_STATUS, sendError, sendSuccess } from "./responseUtils";
3
+ export { dayjs, getCurrentDateTime, getCurrentDateTimeISO } from "./dateUtils";
4
+ export { buildPrismaWhere } from "../helpers/prismaHelper";
5
+ export { validateWithSchema, validateMultipleSchemas, convertPayloadByTableSchema } from "./schemaUtils";
6
+ export { default as logger } from "./logUtils";
7
+ export { throwError, logError } from "./exceptionUtils";
8
+ export { getSwmAuth } from "./smwUtils";
9
+ export { getRequestHeaderLocCode, checkRequestContentIsEmpty } from "./requestUtils";
10
+ export { storeJwtInMemory, getJwtFromMemory } from "./jwtUtils";
11
+ export { getFormattedZodErrors, getFormattedZodErrorsIntoString } from "./zodUtils";
12
+ export { toFieldMap, buildSqlRawSelect, buildSqlRelation, buildSqlSelect, buildSqlWhere, buildSqlLimitOffset, buildSqlOrderBy, getFieldsByType } from "./queryBuilder";
13
+ export type { DefaultServiceProps } from "./serviceUtils";
14
+ export { getDefaultServiceProps } from "./serviceUtils";
15
+ export { buildFullFieldName } from "./injectionFieldUtils";