rez_core 0.0.1

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 (345) hide show
  1. package/.env +6 -0
  2. package/.husky/pre-commit +0 -0
  3. package/.prettierrc +4 -0
  4. package/README.md +99 -0
  5. package/dist/app.controller.d.ts +6 -0
  6. package/dist/app.controller.js +34 -0
  7. package/dist/app.controller.js.map +1 -0
  8. package/dist/app.module.d.ts +2 -0
  9. package/dist/app.module.js +32 -0
  10. package/dist/app.module.js.map +1 -0
  11. package/dist/app.service.d.ts +3 -0
  12. package/dist/app.service.js +20 -0
  13. package/dist/app.service.js.map +1 -0
  14. package/dist/config/config.module.d.ts +2 -0
  15. package/dist/config/config.module.js +29 -0
  16. package/dist/config/config.module.js.map +1 -0
  17. package/dist/config/database.config.d.ts +4 -0
  18. package/dist/config/database.config.js +30 -0
  19. package/dist/config/database.config.js.map +1 -0
  20. package/dist/constant/global.constant.d.ts +9 -0
  21. package/dist/constant/global.constant.js +13 -0
  22. package/dist/constant/global.constant.js.map +1 -0
  23. package/dist/constant/status.constant.d.ts +4 -0
  24. package/dist/constant/status.constant.js +9 -0
  25. package/dist/constant/status.constant.js.map +1 -0
  26. package/dist/core.module.d.ts +4 -0
  27. package/dist/core.module.js +51 -0
  28. package/dist/core.module.js.map +1 -0
  29. package/dist/decorators/roles.decorator.d.ts +1 -0
  30. package/dist/decorators/roles.decorator.js +7 -0
  31. package/dist/decorators/roles.decorator.js.map +1 -0
  32. package/dist/index.d.ts +1 -0
  33. package/dist/index.js +18 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/main.d.ts +1 -0
  36. package/dist/main.js +36 -0
  37. package/dist/main.js.map +1 -0
  38. package/dist/module/auth/auth.module.d.ts +2 -0
  39. package/dist/module/auth/auth.module.js +49 -0
  40. package/dist/module/auth/auth.module.js.map +1 -0
  41. package/dist/module/auth/guards/google-auth.guard.d.ts +6 -0
  42. package/dist/module/auth/guards/google-auth.guard.js +21 -0
  43. package/dist/module/auth/guards/google-auth.guard.js.map +1 -0
  44. package/dist/module/auth/guards/jwt.guard.d.ts +10 -0
  45. package/dist/module/auth/guards/jwt.guard.js +36 -0
  46. package/dist/module/auth/guards/jwt.guard.js.map +1 -0
  47. package/dist/module/auth/guards/role.guard.d.ts +9 -0
  48. package/dist/module/auth/guards/role.guard.js +59 -0
  49. package/dist/module/auth/guards/role.guard.js.map +1 -0
  50. package/dist/module/auth/services/auth.service.d.ts +12 -0
  51. package/dist/module/auth/services/auth.service.js +43 -0
  52. package/dist/module/auth/services/auth.service.js.map +1 -0
  53. package/dist/module/auth/services/jwt.service.d.ts +6 -0
  54. package/dist/module/auth/services/jwt.service.js +28 -0
  55. package/dist/module/auth/services/jwt.service.js.map +1 -0
  56. package/dist/module/auth/strategies/google.strategy.d.ts +7 -0
  57. package/dist/module/auth/strategies/google.strategy.js +36 -0
  58. package/dist/module/auth/strategies/google.strategy.js.map +1 -0
  59. package/dist/module/auth/strategies/jwt.strategy.d.ts +14 -0
  60. package/dist/module/auth/strategies/jwt.strategy.js +54 -0
  61. package/dist/module/auth/strategies/jwt.strategy.js.map +1 -0
  62. package/dist/module/auth/strategies/local.strategy.d.ts +7 -0
  63. package/dist/module/auth/strategies/local.strategy.js +30 -0
  64. package/dist/module/auth/strategies/local.strategy.js.map +1 -0
  65. package/dist/module/dev/dev.module.d.ts +2 -0
  66. package/dist/module/dev/dev.module.js +25 -0
  67. package/dist/module/dev/dev.module.js.map +1 -0
  68. package/dist/module/dev/service/dev.service.d.ts +5 -0
  69. package/dist/module/dev/service/dev.service.js +25 -0
  70. package/dist/module/dev/service/dev.service.js.map +1 -0
  71. package/dist/module/enterprise/enterprise.module.d.ts +2 -0
  72. package/dist/module/enterprise/enterprise.module.js +19 -0
  73. package/dist/module/enterprise/enterprise.module.js.map +1 -0
  74. package/dist/module/enterprise/entity/enterprise.entity.d.ts +13 -0
  75. package/dist/module/enterprise/entity/enterprise.entity.js +64 -0
  76. package/dist/module/enterprise/entity/enterprise.entity.js.map +1 -0
  77. package/dist/module/enterprise/entity/organization.entity.d.ts +26 -0
  78. package/dist/module/enterprise/entity/organization.entity.js +120 -0
  79. package/dist/module/enterprise/entity/organization.entity.js.map +1 -0
  80. package/dist/module/master/controller/master.controller.d.ts +6 -0
  81. package/dist/module/master/controller/master.controller.js +43 -0
  82. package/dist/module/master/controller/master.controller.js.map +1 -0
  83. package/dist/module/master/service/master.service.d.ts +9 -0
  84. package/dist/module/master/service/master.service.js +50 -0
  85. package/dist/module/master/service/master.service.js.map +1 -0
  86. package/dist/module/meta/controller/entity.controller.d.ts +14 -0
  87. package/dist/module/meta/controller/entity.controller.js +98 -0
  88. package/dist/module/meta/controller/entity.controller.js.map +1 -0
  89. package/dist/module/meta/dto/entity-list-data.dto.d.ts +5 -0
  90. package/dist/module/meta/dto/entity-list-data.dto.js +7 -0
  91. package/dist/module/meta/dto/entity-list-data.dto.js.map +1 -0
  92. package/dist/module/meta/dto/entity-tab.dto.d.ts +4 -0
  93. package/dist/module/meta/dto/entity-tab.dto.js +7 -0
  94. package/dist/module/meta/dto/entity-tab.dto.js.map +1 -0
  95. package/dist/module/meta/entity/attribute-master.entity.d.ts +17 -0
  96. package/dist/module/meta/entity/attribute-master.entity.js +97 -0
  97. package/dist/module/meta/entity/attribute-master.entity.js.map +1 -0
  98. package/dist/module/meta/entity/base-entity.entity.d.ts +17 -0
  99. package/dist/module/meta/entity/base-entity.entity.js +91 -0
  100. package/dist/module/meta/entity/base-entity.entity.js.map +1 -0
  101. package/dist/module/meta/entity/entity-master.entity.d.ts +12 -0
  102. package/dist/module/meta/entity/entity-master.entity.js +86 -0
  103. package/dist/module/meta/entity/entity-master.entity.js.map +1 -0
  104. package/dist/module/meta/entity/entity-table-column.entity.d.ts +0 -0
  105. package/dist/module/meta/entity/entity-table-column.entity.js +1 -0
  106. package/dist/module/meta/entity/entity-table-column.entity.js.map +1 -0
  107. package/dist/module/meta/entity/entity-table.entity.d.ts +0 -0
  108. package/dist/module/meta/entity/entity-table.entity.js +1 -0
  109. package/dist/module/meta/entity/entity-table.entity.js.map +1 -0
  110. package/dist/module/meta/entity/preference.entity.d.ts +12 -0
  111. package/dist/module/meta/entity/preference.entity.js +89 -0
  112. package/dist/module/meta/entity/preference.entity.js.map +1 -0
  113. package/dist/module/meta/entity.module.d.ts +2 -0
  114. package/dist/module/meta/entity.module.js +45 -0
  115. package/dist/module/meta/entity.module.js.map +1 -0
  116. package/dist/module/meta/repository/attribute-master.repository.d.ts +7 -0
  117. package/dist/module/meta/repository/attribute-master.repository.js +41 -0
  118. package/dist/module/meta/repository/attribute-master.repository.js.map +1 -0
  119. package/dist/module/meta/repository/entity-table-column.repository.d.ts +7 -0
  120. package/dist/module/meta/repository/entity-table-column.repository.js +39 -0
  121. package/dist/module/meta/repository/entity-table-column.repository.js.map +1 -0
  122. package/dist/module/meta/repository/entity-table.repository.d.ts +7 -0
  123. package/dist/module/meta/repository/entity-table.repository.js +36 -0
  124. package/dist/module/meta/repository/entity-table.repository.js.map +1 -0
  125. package/dist/module/meta/repository/preference.repository.d.ts +7 -0
  126. package/dist/module/meta/repository/preference.repository.js +36 -0
  127. package/dist/module/meta/repository/preference.repository.js.map +1 -0
  128. package/dist/module/meta/service/entity-list.service.d.ts +15 -0
  129. package/dist/module/meta/service/entity-list.service.js +111 -0
  130. package/dist/module/meta/service/entity-list.service.js.map +1 -0
  131. package/dist/module/meta/service/entity-master.service.d.ts +7 -0
  132. package/dist/module/meta/service/entity-master.service.js +40 -0
  133. package/dist/module/meta/service/entity-master.service.js.map +1 -0
  134. package/dist/module/meta/service/entity-service-impl.service.d.ts +17 -0
  135. package/dist/module/meta/service/entity-service-impl.service.js +87 -0
  136. package/dist/module/meta/service/entity-service-impl.service.js.map +1 -0
  137. package/dist/module/meta/service/entity-table-column.service.d.ts +6 -0
  138. package/dist/module/meta/service/entity-table-column.service.js +33 -0
  139. package/dist/module/meta/service/entity-table-column.service.js.map +1 -0
  140. package/dist/module/meta/service/entity-table.service.d.ts +6 -0
  141. package/dist/module/meta/service/entity-table.service.js +28 -0
  142. package/dist/module/meta/service/entity-table.service.js.map +1 -0
  143. package/dist/module/meta/service/entity.service.d.ts +10 -0
  144. package/dist/module/meta/service/entity.service.js +3 -0
  145. package/dist/module/meta/service/entity.service.js.map +1 -0
  146. package/dist/module/meta/service/preference.service.d.ts +10 -0
  147. package/dist/module/meta/service/preference.service.js +37 -0
  148. package/dist/module/meta/service/preference.service.js.map +1 -0
  149. package/dist/module/module/controller/menu.controller.d.ts +8 -0
  150. package/dist/module/module/controller/menu.controller.js +41 -0
  151. package/dist/module/module/controller/menu.controller.js.map +1 -0
  152. package/dist/module/module/controller/module-access.controller.d.ts +13 -0
  153. package/dist/module/module/controller/module-access.controller.js +49 -0
  154. package/dist/module/module/controller/module-access.controller.js.map +1 -0
  155. package/dist/module/module/entity/menu.entity.d.ts +14 -0
  156. package/dist/module/module/entity/menu.entity.js +65 -0
  157. package/dist/module/module/entity/menu.entity.js.map +1 -0
  158. package/dist/module/module/entity/module-access.entity.d.ts +8 -0
  159. package/dist/module/module/entity/module-access.entity.js +44 -0
  160. package/dist/module/module/entity/module-access.entity.js.map +1 -0
  161. package/dist/module/module/entity/module-action.entity.d.ts +7 -0
  162. package/dist/module/module/entity/module-action.entity.js +40 -0
  163. package/dist/module/module/entity/module-action.entity.js.map +1 -0
  164. package/dist/module/module/entity/module.entity.d.ts +11 -0
  165. package/dist/module/module/entity/module.entity.js +53 -0
  166. package/dist/module/module/entity/module.entity.js.map +1 -0
  167. package/dist/module/module/module.module.d.ts +2 -0
  168. package/dist/module/module/module.module.js +53 -0
  169. package/dist/module/module/module.module.js.map +1 -0
  170. package/dist/module/module/repository/menu.repository.d.ts +9 -0
  171. package/dist/module/module/repository/menu.repository.js +64 -0
  172. package/dist/module/module/repository/menu.repository.js.map +1 -0
  173. package/dist/module/module/repository/module-access.repository.d.ts +15 -0
  174. package/dist/module/module/repository/module-access.repository.js +82 -0
  175. package/dist/module/module/repository/module-access.repository.js.map +1 -0
  176. package/dist/module/module/service/menu.service.d.ts +9 -0
  177. package/dist/module/module/service/menu.service.js +55 -0
  178. package/dist/module/module/service/menu.service.js.map +1 -0
  179. package/dist/module/module/service/module-access.service.d.ts +13 -0
  180. package/dist/module/module/service/module-access.service.js +40 -0
  181. package/dist/module/module/service/module-access.service.js.map +1 -0
  182. package/dist/module/user/controller/login.controller.d.ts +14 -0
  183. package/dist/module/user/controller/login.controller.js +80 -0
  184. package/dist/module/user/controller/login.controller.js.map +1 -0
  185. package/dist/module/user/controller/user.controller.d.ts +8 -0
  186. package/dist/module/user/controller/user.controller.js +42 -0
  187. package/dist/module/user/controller/user.controller.js.map +1 -0
  188. package/dist/module/user/dto/create-user.dto.d.ts +10 -0
  189. package/dist/module/user/dto/create-user.dto.js +64 -0
  190. package/dist/module/user/dto/create-user.dto.js.map +1 -0
  191. package/dist/module/user/entity/role.entity.d.ts +7 -0
  192. package/dist/module/user/entity/role.entity.js +39 -0
  193. package/dist/module/user/entity/role.entity.js.map +1 -0
  194. package/dist/module/user/entity/user-role-mapping.entity.d.ts +7 -0
  195. package/dist/module/user/entity/user-role-mapping.entity.js +41 -0
  196. package/dist/module/user/entity/user-role-mapping.entity.js.map +1 -0
  197. package/dist/module/user/entity/user-session.entity.d.ts +11 -0
  198. package/dist/module/user/entity/user-session.entity.js +86 -0
  199. package/dist/module/user/entity/user-session.entity.js.map +1 -0
  200. package/dist/module/user/entity/user.entity.d.ts +12 -0
  201. package/dist/module/user/entity/user.entity.js +59 -0
  202. package/dist/module/user/entity/user.entity.js.map +1 -0
  203. package/dist/module/user/repository/role.repository.d.ts +7 -0
  204. package/dist/module/user/repository/role.repository.js +34 -0
  205. package/dist/module/user/repository/role.repository.js.map +1 -0
  206. package/dist/module/user/repository/user-role-mapping.repository.d.ts +12 -0
  207. package/dist/module/user/repository/user-role-mapping.repository.js +55 -0
  208. package/dist/module/user/repository/user-role-mapping.repository.js.map +1 -0
  209. package/dist/module/user/repository/user.repository.d.ts +10 -0
  210. package/dist/module/user/repository/user.repository.js +49 -0
  211. package/dist/module/user/repository/user.repository.js.map +1 -0
  212. package/dist/module/user/repository/userSession.repository.d.ts +10 -0
  213. package/dist/module/user/repository/userSession.repository.js +45 -0
  214. package/dist/module/user/repository/userSession.repository.js.map +1 -0
  215. package/dist/module/user/service/login.service.d.ts +18 -0
  216. package/dist/module/user/service/login.service.js +69 -0
  217. package/dist/module/user/service/login.service.js.map +1 -0
  218. package/dist/module/user/service/role.service.d.ts +10 -0
  219. package/dist/module/user/service/role.service.js +34 -0
  220. package/dist/module/user/service/role.service.js.map +1 -0
  221. package/dist/module/user/service/user-role-mapping.service.d.ts +9 -0
  222. package/dist/module/user/service/user-role-mapping.service.js +37 -0
  223. package/dist/module/user/service/user-role-mapping.service.js.map +1 -0
  224. package/dist/module/user/service/user-session.service.d.ts +13 -0
  225. package/dist/module/user/service/user-session.service.js +51 -0
  226. package/dist/module/user/service/user-session.service.js.map +1 -0
  227. package/dist/module/user/service/user.service.d.ts +17 -0
  228. package/dist/module/user/service/user.service.js +112 -0
  229. package/dist/module/user/service/user.service.js.map +1 -0
  230. package/dist/module/user/user.module.d.ts +2 -0
  231. package/dist/module/user/user.module.js +64 -0
  232. package/dist/module/user/user.module.js.map +1 -0
  233. package/dist/tsconfig.build.tsbuildinfo +1 -0
  234. package/dist/utils/service/base64util.service.d.ts +4 -0
  235. package/dist/utils/service/base64util.service.js +21 -0
  236. package/dist/utils/service/base64util.service.js.map +1 -0
  237. package/dist/utils/service/clockIDGenUtil.service.d.ts +8 -0
  238. package/dist/utils/service/clockIDGenUtil.service.js +31 -0
  239. package/dist/utils/service/clockIDGenUtil.service.js.map +1 -0
  240. package/dist/utils/service/dateUtil.service.d.ts +3 -0
  241. package/dist/utils/service/dateUtil.service.js +28 -0
  242. package/dist/utils/service/dateUtil.service.js.map +1 -0
  243. package/dist/utils/service/encryptUtil.service.d.ts +9 -0
  244. package/dist/utils/service/encryptUtil.service.js +112 -0
  245. package/dist/utils/service/encryptUtil.service.js.map +1 -0
  246. package/dist/utils/service/excel-helper.service.d.ts +7 -0
  247. package/dist/utils/service/excel-helper.service.js +44 -0
  248. package/dist/utils/service/excel-helper.service.js.map +1 -0
  249. package/dist/utils/service/excelUtil.service.d.ts +3 -0
  250. package/dist/utils/service/excelUtil.service.js +17 -0
  251. package/dist/utils/service/excelUtil.service.js.map +1 -0
  252. package/dist/utils/service/json-util.service.d.ts +3 -0
  253. package/dist/utils/service/json-util.service.js +24 -0
  254. package/dist/utils/service/json-util.service.js.map +1 -0
  255. package/dist/utils/service/loggingUtil.service.d.ts +4 -0
  256. package/dist/utils/service/loggingUtil.service.js +49 -0
  257. package/dist/utils/service/loggingUtil.service.js.map +1 -0
  258. package/dist/utils/service/reflection-helper.service.d.ts +9 -0
  259. package/dist/utils/service/reflection-helper.service.js +60 -0
  260. package/dist/utils/service/reflection-helper.service.js.map +1 -0
  261. package/dist/utils/utils.module.d.ts +2 -0
  262. package/dist/utils/utils.module.js +26 -0
  263. package/dist/utils/utils.module.js.map +1 -0
  264. package/eslint.config.mjs +35 -0
  265. package/nest-cli.json +8 -0
  266. package/package.json +97 -0
  267. package/src/app.controller.ts +12 -0
  268. package/src/app.service.ts +8 -0
  269. package/src/config/config.module.ts +18 -0
  270. package/src/config/database.config.ts +20 -0
  271. package/src/constant/global.constant.ts +10 -0
  272. package/src/constant/status.constant.ts +3 -0
  273. package/src/core.module.ts +40 -0
  274. package/src/decorators/roles.decorator.ts +4 -0
  275. package/src/index.ts +1 -0
  276. package/src/module/auth/auth.module.ts +36 -0
  277. package/src/module/auth/guards/google-auth.guard.ts +9 -0
  278. package/src/module/auth/guards/jwt.guard.ts +22 -0
  279. package/src/module/auth/guards/role.guard.ts +68 -0
  280. package/src/module/auth/services/auth.service.ts +29 -0
  281. package/src/module/auth/services/jwt.service.ts +11 -0
  282. package/src/module/auth/strategies/google.strategy.ts +29 -0
  283. package/src/module/auth/strategies/jwt.strategy.ts +43 -0
  284. package/src/module/auth/strategies/local.strategy.ts +13 -0
  285. package/src/module/dev/dev.module.ts +12 -0
  286. package/src/module/dev/service/dev.service.ts +7 -0
  287. package/src/module/enterprise/enterprise.module.ts +8 -0
  288. package/src/module/enterprise/entity/enterprise.entity.ts +37 -0
  289. package/src/module/enterprise/entity/organization.entity.ts +80 -0
  290. package/src/module/master/controller/master.controller.ts +22 -0
  291. package/src/module/master/service/master.service.ts +37 -0
  292. package/src/module/meta/controller/entity.controller.ts +108 -0
  293. package/src/module/meta/entity/attribute-master.entity.ts +67 -0
  294. package/src/module/meta/entity/base-entity.entity.ts +53 -0
  295. package/src/module/meta/entity/entity-master.entity.ts +62 -0
  296. package/src/module/meta/entity/entity-table-column.entity.ts +0 -0
  297. package/src/module/meta/entity/entity-table.entity.ts +0 -0
  298. package/src/module/meta/entity/preference.entity.ts +65 -0
  299. package/src/module/meta/entity.module.ts +32 -0
  300. package/src/module/meta/repository/attribute-master.repository.ts +28 -0
  301. package/src/module/meta/repository/preference.repository.ts +20 -0
  302. package/src/module/meta/service/entity-master.service.ts +26 -0
  303. package/src/module/meta/service/entity-service-impl.service.ts +131 -0
  304. package/src/module/meta/service/entity.service.ts +23 -0
  305. package/src/module/meta/service/preference.service.ts +24 -0
  306. package/src/module/module/controller/menu.controller.ts +15 -0
  307. package/src/module/module/controller/module-access.controller.ts +20 -0
  308. package/src/module/module/entity/menu.entity.ts +38 -0
  309. package/src/module/module/entity/module-access.entity.ts +22 -0
  310. package/src/module/module/entity/module-action.entity.ts +19 -0
  311. package/src/module/module/entity/module.entity.ts +29 -0
  312. package/src/module/module/module.module.ts +42 -0
  313. package/src/module/module/repository/menu.repository.ts +69 -0
  314. package/src/module/module/repository/module-access.repository.ts +66 -0
  315. package/src/module/module/service/menu.service.ts +61 -0
  316. package/src/module/module/service/module-access.service.ts +25 -0
  317. package/src/module/user/controller/login.controller.ts +55 -0
  318. package/src/module/user/controller/user.controller.ts +28 -0
  319. package/src/module/user/dto/create-user.dto.ts +52 -0
  320. package/src/module/user/entity/role.entity.ts +20 -0
  321. package/src/module/user/entity/user-role-mapping.entity.ts +21 -0
  322. package/src/module/user/entity/user-session.entity.ts +61 -0
  323. package/src/module/user/entity/user.entity.ts +35 -0
  324. package/src/module/user/repository/role.repository.ts +16 -0
  325. package/src/module/user/repository/user-role-mapping.repository.ts +44 -0
  326. package/src/module/user/repository/user.repository.ts +33 -0
  327. package/src/module/user/repository/userSession.repository.ts +33 -0
  328. package/src/module/user/service/login.service.ts +66 -0
  329. package/src/module/user/service/role.service.ts +29 -0
  330. package/src/module/user/service/user-role-mapping.service.ts +29 -0
  331. package/src/module/user/service/user-session.service.ts +41 -0
  332. package/src/module/user/service/user.service.ts +141 -0
  333. package/src/module/user/user.module.ts +51 -0
  334. package/src/utils/service/base64util.service.ts +19 -0
  335. package/src/utils/service/clockIDGenUtil.service.ts +21 -0
  336. package/src/utils/service/dateUtil.service.ts +17 -0
  337. package/src/utils/service/encryptUtil.service.ts +97 -0
  338. package/src/utils/service/excel-helper.service.ts +56 -0
  339. package/src/utils/service/excelUtil.service.ts +15 -0
  340. package/src/utils/service/json-util.service.ts +23 -0
  341. package/src/utils/service/loggingUtil.service.ts +56 -0
  342. package/src/utils/service/reflection-helper.service.ts +53 -0
  343. package/src/utils/utils.module.ts +14 -0
  344. package/tsconfig.build.json +4 -0
  345. package/tsconfig.json +23 -0
@@ -0,0 +1,35 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { ENTITYTYPE_USER } from '../../../constant/global.constant';
3
+ import { BaseEntity } from '../../meta/entity/base-entity.entity';
4
+
5
+ @Entity({ name: 'cr_user' })
6
+ export class UserData extends BaseEntity {
7
+ constructor() {
8
+ super();
9
+ this.entity_type = ENTITYTYPE_USER;
10
+ }
11
+
12
+ @Column({ type: 'varchar', length: 50, nullable: true })
13
+ first_name: string;
14
+
15
+ @Column({ type: 'varchar', length: 50, nullable: true })
16
+ last_name: string;
17
+
18
+ @Column({ type: 'varchar', length: 200, nullable: true })
19
+ password: string;
20
+
21
+ @Column({ type: 'varchar', length: 200, nullable: true })
22
+ email_id: string;
23
+
24
+ @Column({ type: 'varchar', length: 50, nullable: true })
25
+ mobile: string;
26
+
27
+ @Column({ type: 'int', nullable: true })
28
+ is_firstlogin: number;
29
+
30
+ @Column({ type: 'int', width: 1, nullable: true })
31
+ is_defaultadmin: number;
32
+
33
+ @Column({ type: 'int', width: 1, nullable: true })
34
+ is_customer: number;
35
+ }
@@ -0,0 +1,16 @@
1
+ import { Injectable } from '@nestjs/common';
2
+ import { Repository } from 'typeorm';
3
+ import { InjectRepository } from '@nestjs/typeorm';
4
+ import { Role } from '../entity/role.entity';
5
+
6
+ @Injectable()
7
+ export class RoleRepository {
8
+ constructor(
9
+ @InjectRepository(Role)
10
+ private readonly roleRepo: Repository<Role>,
11
+ ) {}
12
+
13
+ async findByCode(code: string): Promise<Role | null> {
14
+ return this.roleRepo.findOne({ where: { code } });
15
+ }
16
+ }
@@ -0,0 +1,44 @@
1
+ import { Injectable } from '@nestjs/common';
2
+ import { InjectRepository } from '@nestjs/typeorm';
3
+ import { UserRoleMapping } from '../entity/user-role-mapping.entity';
4
+ import { Repository } from 'typeorm';
5
+
6
+ @Injectable()
7
+ export class UserRoleMappingRepository {
8
+ constructor(
9
+ @InjectRepository(UserRoleMapping)
10
+ private readonly userRoleMappingRepository: Repository<UserRoleMapping>,
11
+ ) {}
12
+
13
+ async save(
14
+ userRoleMapping: UserRoleMapping,
15
+ ): Promise<UserRoleMapping | null> {
16
+ return await this.userRoleMappingRepository.save(userRoleMapping);
17
+ }
18
+
19
+ async findByUserId(userId: number): Promise<UserRoleMapping[] | null> {
20
+ return await this.userRoleMappingRepository.find({
21
+ where: { user_id: userId },
22
+ });
23
+ }
24
+
25
+ async getDefaultForUser(userId: number): Promise<UserRoleMapping | null> {
26
+ return await this.userRoleMappingRepository.findOne({
27
+ where: { user_id: userId, is_default: 1 },
28
+ });
29
+ }
30
+
31
+ async findByUserIdAndRoleId(userId: number, roleId: number): Promise<UserRoleMapping|null> {
32
+ return await this.userRoleMappingRepository.findOne({
33
+ where: { user_id: userId, role_id: roleId },
34
+ });
35
+ }
36
+
37
+ async delete(userId: number, roleId: number){
38
+ await this.userRoleMappingRepository.delete({user_id: userId, role_id: roleId});
39
+ }
40
+
41
+ async deleteByUserId(userId: number) {
42
+ await this.userRoleMappingRepository.delete({ user_id: userId });
43
+ }
44
+ }
@@ -0,0 +1,33 @@
1
+ import { EntityRepository, Repository } from 'typeorm';
2
+ import { UserData } from '../entity/user.entity';
3
+ import { Inject, Injectable } from '@nestjs/common';
4
+ import { InjectRepository } from '@nestjs/typeorm';
5
+
6
+ @Injectable()
7
+ export class UserRepository {
8
+ constructor(
9
+ @InjectRepository(UserData) private userRepository: Repository<UserData>,
10
+ ) {}
11
+
12
+ async findByEmailId(email: string): Promise<UserData | null> {
13
+ if (email) {
14
+ return this.userRepository.findOne({ where: { email_id: email } });
15
+ }
16
+ return null;
17
+ }
18
+
19
+ async findById(userId: number): Promise<UserData | null> {
20
+ return this.userRepository.findOne({ where: { id: userId } });
21
+ }
22
+
23
+ async findByMobile(mobile: string): Promise<UserData | null> {
24
+ if (mobile) {
25
+ return this.userRepository.findOne({ where: { mobile: mobile } });
26
+ }
27
+ return null;
28
+ }
29
+
30
+ async saveUser(user: UserData): Promise<UserData> {
31
+ return this.userRepository.save(user);
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ import { Repository } from 'typeorm';
2
+ import { UserSession } from '../entity/user-session.entity';
3
+ import { Injectable } from '@nestjs/common';
4
+ import { InjectRepository } from '@nestjs/typeorm';
5
+
6
+ @Injectable()
7
+ export class UserSessionRepository {
8
+ constructor(
9
+ @InjectRepository(UserSession)
10
+ private userSessionRepo: Repository<UserSession>,
11
+ ) {}
12
+
13
+ async findBySessionKey(sessionKey: string): Promise<UserSession | null> {
14
+ return this.userSessionRepo.findOne({ where: { session_key: sessionKey } });
15
+ }
16
+
17
+ async findActiveSessionByUserId(userId: number): Promise<UserSession | null> {
18
+ return this.userSessionRepo.findOne({
19
+ where: { user_id: userId, is_session_loggedout: 0 },
20
+ });
21
+ }
22
+
23
+ async saveSession(session: UserSession): Promise<UserSession> {
24
+ return this.userSessionRepo.save(session);
25
+ }
26
+
27
+ async logoutSession(sessionKey: string): Promise<void> {
28
+ await this.userSessionRepo.update(
29
+ { session_key: sessionKey },
30
+ { is_session_loggedout: 1, logout_time: new Date() },
31
+ );
32
+ }
33
+ }
@@ -0,0 +1,66 @@
1
+ import { BadRequestException, Inject, Injectable } from '@nestjs/common';
2
+ import { EncryptUtilService } from '../../../utils/service/encryptUtil.service';
3
+ import { UserData } from '../entity/user.entity';
4
+ import { UserSessionService } from './user-session.service';
5
+ import { UserService } from './user.service';
6
+
7
+
8
+ @Injectable()
9
+ export class LoginService {
10
+ constructor(
11
+ @Inject('UserService') private readonly userService: UserService,
12
+ private userSessionService: UserSessionService,
13
+ ) {}
14
+
15
+ masterKey: string = process.env.master_key || '';
16
+ masterIv: string = process.env.master_iv || '';
17
+
18
+ async login(email: string, password: string) {
19
+ console.log(process.env.master_key)
20
+ const user = await this.userService.findByEmailId(email);
21
+ if (!user) throw new BadRequestException('Invalid email or password');
22
+
23
+ const encryptedPassword = EncryptUtilService.encryptGCM(
24
+ password,
25
+ this.masterKey,
26
+ this.masterIv,
27
+ );
28
+
29
+ if (encryptedPassword !== user.password) {
30
+ throw new BadRequestException('Invalid email or password');
31
+ }
32
+
33
+ return this.userSessionService.createSession(user);
34
+ }
35
+
36
+ async loginWithGoogle(email: string, name) {
37
+ let user = await this.userService.findByEmailId(email);
38
+
39
+ if (!user) {
40
+ // If user doesn't exist, create a new user record
41
+ user = new UserData();
42
+ user.email_id = email;
43
+ user.first_name = name.givenName;
44
+ user.last_name = name.familyName;
45
+
46
+ user.name = user.first_name + ' ' + user.last_name;
47
+ let savedUser = await this.userService.createEntity(user, null);
48
+
49
+ user = savedUser as UserData;
50
+ }
51
+
52
+ // Create session (Same as JWT login flow)
53
+ return this.userSessionService.createSession(user);
54
+ }
55
+
56
+ async logout(sessionKey: string) {
57
+ let userSession =
58
+ await this.userSessionService.findBySessionKey(sessionKey);
59
+ if (userSession) {
60
+ userSession.is_session_loggedout = 1;
61
+ userSession.logout_time = new Date();
62
+ await this.userSessionService.updateSession(userSession);
63
+ return { message: 'Logged out successfully' };
64
+ }
65
+ }
66
+ }
@@ -0,0 +1,29 @@
1
+ import { Injectable } from '@nestjs/common';
2
+ import { EntityServiceImpl } from '../../meta/service/entity-service-impl.service';
3
+ import { EntityMasterService } from '../../meta/service/entity-master.service';
4
+ import { ReflectionHelper } from '../../../utils/service/reflection-helper.service';
5
+ import { LoggingService } from '../../../utils/service/loggingUtil.service';
6
+ import { BaseEntity } from '../../meta/entity/base-entity.entity';
7
+ import { UserData } from '../entity/user.entity';
8
+ import { Role } from '../entity/role.entity';
9
+
10
+ @Injectable()
11
+ export class RoleService extends EntityServiceImpl {
12
+ constructor(
13
+ entityMasterService: EntityMasterService,
14
+ reflectionHelper: ReflectionHelper,
15
+ loggingService: LoggingService,
16
+ ) {
17
+ super(entityMasterService, reflectionHelper, loggingService);
18
+ }
19
+
20
+ async createEntity(
21
+ entityData: BaseEntity,
22
+ loggedInUser: UserData | null,
23
+ ): Promise<BaseEntity> {
24
+ let role = entityData as Role;
25
+ return await super.createEntity(role, loggedInUser);
26
+ }
27
+
28
+
29
+ }
@@ -0,0 +1,29 @@
1
+ import { Injectable } from '@nestjs/common';
2
+ import { UserRoleMappingRepository } from '../repository/user-role-mapping.repository';
3
+ import { UserRoleMapping } from '../entity/user-role-mapping.entity';
4
+
5
+ @Injectable()
6
+ export class UserRoleMappingService {
7
+ constructor(
8
+ private readonly userRoleMappingRepository: UserRoleMappingRepository,
9
+ ) {}
10
+
11
+ async assignUserRole(userRoleMapping: UserRoleMapping) {
12
+ const existing = await this.userRoleMappingRepository.findByUserIdAndRoleId(
13
+ userRoleMapping.user_id,
14
+ userRoleMapping.role_id,
15
+ );
16
+
17
+ if (!existing) {
18
+ return await this.userRoleMappingRepository.save(userRoleMapping);
19
+ }
20
+ }
21
+
22
+ async findByUserId(userId: number): Promise<UserRoleMapping[] | null> {
23
+ return await this.userRoleMappingRepository.findByUserId(userId);
24
+ }
25
+
26
+ async deleteByUserId(userId: number){
27
+ await this.userRoleMappingRepository.deleteByUserId(userId);
28
+ }
29
+ }
@@ -0,0 +1,41 @@
1
+ import { UserSession } from '../entity/user-session.entity';
2
+ import { ClockIDGenService } from '../../../utils/service/clockIDGenUtil.service';
3
+ import { Injectable } from '@nestjs/common';
4
+ import { UserSessionRepository } from '../repository/userSession.repository';
5
+ import { JwtAuthService } from '../../../module/auth/services/jwt.service';
6
+
7
+ @Injectable()
8
+ export class UserSessionService {
9
+ constructor(
10
+ private readonly userSessionRepository: UserSessionRepository,
11
+ private readonly jwtAuthService: JwtAuthService,
12
+ ) {}
13
+ async createSession(user) {
14
+ const sessionToken = ClockIDGenService.idGenerator('SES');
15
+
16
+ const userSession: any = new UserSession();
17
+ userSession.user_id = user.id;
18
+ userSession.session_key = sessionToken;
19
+ userSession.is_session_loggedout = 0;
20
+ userSession.login_time = new Date();
21
+ userSession.expiry_date = new Date(Date.now() + 60 * 60 * 1000); // 1-hour expiry
22
+
23
+ await this.userSessionRepository.saveSession(userSession);
24
+
25
+ const payload = { userId: user.id, sessionToken };
26
+ const accessToken = this.jwtAuthService.generateJwt(payload);
27
+
28
+ userSession.access_token = accessToken;
29
+ await this.userSessionRepository.saveSession(userSession);
30
+
31
+ return { accessToken };
32
+ }
33
+
34
+ async findBySessionKey(sessionKey: string): Promise<UserSession | null> {
35
+ return await this.userSessionRepository.findBySessionKey(sessionKey);
36
+ }
37
+
38
+ async updateSession(userSession: UserSession) {
39
+ await this.userSessionRepository.saveSession(userSession);
40
+ }
41
+ }
@@ -0,0 +1,141 @@
1
+ import { BadRequestException, Injectable } from '@nestjs/common';
2
+ import { EntityServiceImpl } from '../../meta/service/entity-service-impl.service';
3
+ import { EntityMasterService } from '../../meta/service/entity-master.service';
4
+ import { ReflectionHelper } from '../../../utils/service/reflection-helper.service';
5
+ import { LoggingService } from '../../../utils/service/loggingUtil.service';
6
+ import { UserData } from '../entity/user.entity';
7
+ import { BaseEntity } from '../../meta/entity/base-entity.entity';
8
+ import { UserRepository } from '../repository/user.repository';
9
+ import { StatusType } from '../../../constant/status.constant';
10
+ import { EncryptUtilService } from '../../../utils/service/encryptUtil.service';
11
+ import { ClockIDGenService } from '../../../utils/service/clockIDGenUtil.service';
12
+ import {
13
+ ENTITYTYPE_ROLE,
14
+ masterIv,
15
+ masterKey,
16
+ } from '../../../constant/global.constant';
17
+ import { CreateUserDto } from '../dto/create-user.dto';
18
+ import { UserRoleMappingService } from './user-role-mapping.service';
19
+ import { UserRoleMapping } from '../entity/user-role-mapping.entity';
20
+ import {plainToInstance} from "class-transformer";
21
+
22
+ @Injectable()
23
+ export class UserService extends EntityServiceImpl {
24
+ constructor(
25
+ entityMasterService: EntityMasterService,
26
+ reflectionHelper: ReflectionHelper,
27
+ loggingService: LoggingService,
28
+ private userRepository: UserRepository,
29
+ private userRoleMappingService: UserRoleMappingService,
30
+ ) {
31
+ super(entityMasterService, reflectionHelper, loggingService);
32
+ }
33
+
34
+ async createEntity(
35
+ entityData: BaseEntity,
36
+ loggedInUser: UserData | null,
37
+ ): Promise<BaseEntity> {
38
+ let userData = entityData as CreateUserDto;
39
+ let existingUser = await this.userRepository.findByEmailId(
40
+ userData.email_id,
41
+ );
42
+ if (existingUser) {
43
+ throw new BadRequestException('User already exists');
44
+ }
45
+
46
+ existingUser = await this.userRepository.findByMobile(userData.mobile);
47
+ if (existingUser) {
48
+ throw new BadRequestException('User already exists');
49
+ }
50
+ userData.name =
51
+ userData.first_name + userData.last_name ? userData.last_name : '';
52
+ let password;
53
+ if (userData.password) {
54
+ password = EncryptUtilService.encryptGCM(
55
+ userData.password,
56
+ masterKey,
57
+ masterIv,
58
+ );
59
+ } else {
60
+ password = EncryptUtilService.encryptGCM(
61
+ ClockIDGenService.idGenerator(''),
62
+ masterKey,
63
+ masterIv,
64
+ );
65
+ }
66
+ userData.password = password;
67
+
68
+ let savedData = await super.createEntity(userData, loggedInUser);
69
+ if (userData.roles) {
70
+ let roles = userData.roles;
71
+ this.userRoleMappingService.deleteByUserId(userData.id);
72
+ for (const role in roles) {
73
+ let userRoleMapping = new UserRoleMapping(
74
+ savedData.id,
75
+ Number(roles[role]),
76
+ );
77
+ await this.userRoleMappingService.assignUserRole(userRoleMapping);
78
+ }
79
+ }
80
+
81
+ return savedData;
82
+ }
83
+
84
+ async getEntityData(
85
+ entityType: string,
86
+ id: number,
87
+ ): Promise<BaseEntity | null> {
88
+ const user = await this.userRepository.findById(id);
89
+ if (user) {
90
+ let userRoleMappings: UserRoleMapping[] | null =
91
+ await this.userRoleMappingService.findByUserId(id);
92
+ if (userRoleMappings) {
93
+ let userDto = user as unknown as CreateUserDto;
94
+ let roles: any[] = [];
95
+ for (let i in userRoleMappings) {
96
+ const userRoleMapping = userRoleMappings[i];
97
+ const roleId = userRoleMapping.role_id;
98
+ const role = await super.getEntityData(ENTITYTYPE_ROLE, roleId);
99
+ roles.push(role);
100
+ }
101
+ userDto.roles = roles;
102
+ }
103
+ return user;
104
+ }
105
+ return null;
106
+ }
107
+
108
+ async updateEntity(
109
+ entityData: BaseEntity,
110
+ loggedInUserData: UserData,
111
+ ): Promise<BaseEntity> {
112
+ let userDto = entityData as CreateUserDto;
113
+
114
+ if (userDto.password) {
115
+ const password = EncryptUtilService.encryptGCM(
116
+ userDto.password,
117
+ masterKey,
118
+ masterIv,
119
+ );
120
+ userDto.password = password;
121
+ }
122
+
123
+ let userData = plainToInstance(UserData, userDto, {excludeExtraneousValues: true});
124
+ let savedData = await super.updateEntity(userData, loggedInUserData);
125
+ if (userDto.roles) {
126
+ let roles = userDto.roles;
127
+ for (const role in roles) {
128
+ let userRoleMapping = new UserRoleMapping(
129
+ savedData.id,
130
+ Number(roles[role]),
131
+ );
132
+ await this.userRoleMappingService.assignUserRole(userRoleMapping);
133
+ }
134
+ }
135
+ return savedData;
136
+ }
137
+
138
+ async findByEmailId(email_id: string): Promise<UserData | null> {
139
+ return await this.userRepository.findByEmailId(email_id);
140
+ }
141
+ }
@@ -0,0 +1,51 @@
1
+ import { Module } from '@nestjs/common';
2
+ import { TypeOrmModule } from '@nestjs/typeorm';
3
+ import { UserData } from './entity/user.entity';
4
+ import { UserService } from './service/user.service';
5
+ import { UtilsModule } from '../../utils/utils.module';
6
+ import { EntityModule } from '../meta/entity.module';
7
+ import { UserRepository } from './repository/user.repository';
8
+ import { UserSessionService } from './service/user-session.service';
9
+ import { UserSession } from './entity/user-session.entity';
10
+ import { LoginController } from './controller/login.controller';
11
+ import { LoginService } from './service/login.service';
12
+ import { UserSessionRepository } from './repository/userSession.repository';
13
+ import { JwtService } from '@nestjs/jwt';
14
+ import { AuthModule } from '../auth/auth.module';
15
+ import { UserController } from './controller/user.controller';
16
+ import { Role } from './entity/role.entity';
17
+ import { RoleService } from './service/role.service';
18
+ import { UserRoleMapping } from './entity/user-role-mapping.entity';
19
+ import { UserRoleMappingRepository } from './repository/user-role-mapping.repository';
20
+ import { UserRoleMappingService } from './service/user-role-mapping.service';
21
+ import { RoleRepository } from './repository/role.repository';
22
+
23
+ @Module({
24
+ imports: [
25
+ TypeOrmModule.forFeature([UserData, UserSession, Role, UserRoleMapping]),
26
+ EntityModule,
27
+ UtilsModule,
28
+ AuthModule,
29
+ ],
30
+ providers: [
31
+ { provide: 'UserService', useClass: UserService },
32
+ { provide: 'RoleService', useClass: RoleService },
33
+ UserRepository,
34
+ UserSessionService,
35
+ LoginService,
36
+ UserSessionRepository,
37
+ JwtService,
38
+ UserRoleMappingRepository,
39
+ UserRoleMappingService,
40
+ RoleRepository
41
+ ],
42
+ exports: [
43
+ 'UserService',
44
+ UserSessionService,
45
+ 'RoleService',
46
+ UserRoleMappingService,
47
+ RoleRepository
48
+ ],
49
+ controllers: [LoginController, UserController],
50
+ })
51
+ export class UserModule {}
@@ -0,0 +1,19 @@
1
+ export class Base64Util{
2
+
3
+ static encode(byteArray: Uint8Array): string {
4
+ return Buffer.from(byteArray).toString('base64');
5
+ }
6
+
7
+ static decode(base64String: string): Uint8Array {
8
+ if (typeof Buffer !== 'undefined') {
9
+ return Uint8Array.from(Buffer.from(base64String, 'base64'));
10
+ }
11
+
12
+ const binaryString = atob(base64String);
13
+ const byteArray = new Uint8Array(binaryString.length);
14
+ for (let i = 0; i < binaryString.length; i++) {
15
+ byteArray[i] = binaryString.charCodeAt(i);
16
+ }
17
+ return byteArray;
18
+ }
19
+ }
@@ -0,0 +1,21 @@
1
+ import { Injectable } from "@nestjs/common";
2
+
3
+ @Injectable()
4
+ export class ClockIDGenService{
5
+
6
+ static _counter = 0n;
7
+ static timestampBits = 42;
8
+ static timestampMask = BigInt(Math.floor(Math.pow(2, ClockIDGenService.timestampBits)) - 1);
9
+ static counterBits = 10;
10
+ static counterMask = BigInt(Math.floor(Math.pow(2, ClockIDGenService.counterBits)) - 1);
11
+
12
+ static idGenerator(prefix?: string) {
13
+ const timestamp = BigInt(Date.now()) & this.timestampMask;
14
+ const counter = BigInt(this._counter++) & this.counterMask;
15
+ let now = timestamp << BigInt(this.counterBits)
16
+ now = now | counter;
17
+ const id = now.toString(36).toUpperCase();
18
+ return prefix + id;
19
+ }
20
+
21
+ }
@@ -0,0 +1,17 @@
1
+ import { Injectable } from "@nestjs/common";
2
+
3
+ @Injectable()
4
+ export class DateUtil {
5
+ static formatDate(date: Date, format: string): string {
6
+ const map: { [key: string]: string } = {
7
+ dd: String(date.getDate()).padStart(2, '0'),
8
+ MM: String(date.getMonth() + 1).padStart(2, '0'),
9
+ yyyy: String(date.getFullYear()),
10
+ HH: String(date.getHours()).padStart(2, '0'),
11
+ mm: String(date.getMinutes()).padStart(2, '0'),
12
+ ss: String(date.getSeconds()).padStart(2, '0')
13
+ };
14
+
15
+ return format.replace(/dd|MM|yyyy|HH|mm|ss/g, (matched) => map[matched]);
16
+ }
17
+ }
@@ -0,0 +1,97 @@
1
+ import { Injectable, InternalServerErrorException } from '@nestjs/common';
2
+ import * as crypto from 'crypto';
3
+
4
+ const CryptoJS = require('crypto-js');
5
+ const encryptionType = 'aes-256-cbc';
6
+
7
+ @Injectable()
8
+ export class EncryptUtilService {
9
+ constructor() {}
10
+
11
+ static encryptGCM(data: any, Datakey: string, Dataiv: string) {
12
+ try {
13
+ const cipher = crypto.createCipheriv('aes-256-gcm', Datakey, Dataiv);
14
+ let encrypted = Buffer.concat([
15
+ cipher.update(data, 'utf8'),
16
+ cipher.final(),
17
+ ]);
18
+ const tag = cipher.getAuthTag();
19
+ return Buffer.concat([encrypted, tag]).toString('base64');
20
+ } catch (error) {
21
+ throw new InternalServerErrorException('Encryption process failed');
22
+ }
23
+ }
24
+
25
+ static decryptGCM(data: any, Datakey: any, Dataiv: any) {
26
+ try {
27
+ data = Buffer.from(data, 'base64');
28
+ const decipher = crypto.createDecipheriv('aes-256-gcm', Datakey, Dataiv);
29
+ const tag = data.slice(data.length - 16);
30
+ decipher.setAuthTag(tag);
31
+ data = data.slice(0, data.length - 16);
32
+ let decrypted = decipher.update(data, 'utf8') + decipher.final('utf8');
33
+ return decrypted;
34
+ } catch (error) {
35
+ throw new InternalServerErrorException('Encryption process failed');
36
+ }
37
+ }
38
+
39
+ static encryptCBC(data: any, Datakey: any, Dataiv: any) {
40
+ let encryptedRequest;
41
+ try {
42
+ let cipher = CryptoJS.AES.encrypt(data, Datakey, {
43
+ iv: Dataiv,
44
+ mode: CryptoJS.mode.CBC,
45
+ });
46
+ encryptedRequest = cipher.toString();
47
+ } catch (error) {
48
+ console.log(error);
49
+ throw new InternalServerErrorException('Encryption process failed');
50
+ }
51
+ return encryptedRequest;
52
+ }
53
+
54
+ static decryptCBC(data: any, Datakey: any, Dataiv: any) {
55
+ let decryptRequest;
56
+ try {
57
+ let cipher = CryptoJS.AES.decrypt(data, Datakey, {
58
+ iv: Dataiv,
59
+ mode: CryptoJS.mode.CBC,
60
+ });
61
+ decryptRequest = cipher.toString(CryptoJS.enc.Utf8);
62
+ } catch (error) {
63
+ throw new InternalServerErrorException('Encryption process failed');
64
+ }
65
+ return decryptRequest;
66
+ }
67
+
68
+ static encryptRequest(data: any, Datakey: any, Dataiv: any, type?: any) {
69
+ try {
70
+ switch (type) {
71
+ case 'GCM':
72
+ return this.encryptGCM(data, Datakey, Dataiv);
73
+ case 'CBC':
74
+ return this.encryptCBC(data, Datakey, Dataiv);
75
+ default:
76
+ return this.encryptCBC(data, Datakey, Dataiv);
77
+ }
78
+ } catch (error) {
79
+ throw new InternalServerErrorException('Encryption process failed');
80
+ }
81
+ }
82
+
83
+ static decryptRequest(data: any, Datakey: any, Dataiv: any, type?: any) {
84
+ try {
85
+ switch (type) {
86
+ case 'GCM':
87
+ return this.decryptGCM(data, Datakey, Dataiv);
88
+ case 'CBC':
89
+ return this.decryptCBC(data, Datakey, Dataiv);
90
+ default:
91
+ return this.decryptCBC(data, Datakey, Dataiv);
92
+ }
93
+ } catch (error) {
94
+ throw new InternalServerErrorException('Encryption process failed');
95
+ }
96
+ }
97
+ }