@kvishal04/library-core 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 (366) hide show
  1. package/README.md +458 -0
  2. package/dist/appConfig.d.ts +16 -0
  3. package/dist/appConfig.d.ts.map +1 -0
  4. package/dist/appConfig.js +37 -0
  5. package/dist/appConfig.js.map +1 -0
  6. package/dist/configmanager/index.d.ts +38 -0
  7. package/dist/configmanager/index.d.ts.map +1 -0
  8. package/dist/configmanager/index.js +52 -0
  9. package/dist/configmanager/index.js.map +1 -0
  10. package/dist/configmanager/src/events/config.events.d.ts +19 -0
  11. package/dist/configmanager/src/events/config.events.d.ts.map +1 -0
  12. package/dist/configmanager/src/events/config.events.js +22 -0
  13. package/dist/configmanager/src/events/config.events.js.map +1 -0
  14. package/dist/configmanager/src/models/config.cache.d.ts +16 -0
  15. package/dist/configmanager/src/models/config.cache.d.ts.map +1 -0
  16. package/dist/configmanager/src/models/config.cache.js +37 -0
  17. package/dist/configmanager/src/models/config.cache.js.map +1 -0
  18. package/dist/configmanager/src/models/config.meta.d.ts +13 -0
  19. package/dist/configmanager/src/models/config.meta.d.ts.map +1 -0
  20. package/dist/configmanager/src/models/config.meta.js +30 -0
  21. package/dist/configmanager/src/models/config.meta.js.map +1 -0
  22. package/dist/configmanager/src/models/config.registry.d.ts +29 -0
  23. package/dist/configmanager/src/models/config.registry.d.ts.map +1 -0
  24. package/dist/configmanager/src/models/config.registry.js +121 -0
  25. package/dist/configmanager/src/models/config.registry.js.map +1 -0
  26. package/dist/configmanager/src/routes.d.ts +4 -0
  27. package/dist/configmanager/src/routes.d.ts.map +1 -0
  28. package/dist/configmanager/src/routes.js +292 -0
  29. package/dist/configmanager/src/routes.js.map +1 -0
  30. package/dist/configmanager/src/service.d.ts +90 -0
  31. package/dist/configmanager/src/service.d.ts.map +1 -0
  32. package/dist/configmanager/src/service.js +163 -0
  33. package/dist/configmanager/src/service.js.map +1 -0
  34. package/dist/configmanager/src/types/api.types.d.ts +11 -0
  35. package/dist/configmanager/src/types/api.types.d.ts.map +1 -0
  36. package/dist/configmanager/src/types/api.types.js +4 -0
  37. package/dist/configmanager/src/types/api.types.js.map +1 -0
  38. package/dist/configmanager/src/types/config.meta.types.d.ts +12 -0
  39. package/dist/configmanager/src/types/config.meta.types.d.ts.map +1 -0
  40. package/dist/configmanager/src/types/config.meta.types.js +5 -0
  41. package/dist/configmanager/src/types/config.meta.types.js.map +1 -0
  42. package/dist/configmanager/src/types/config.types.d.ts +17 -0
  43. package/dist/configmanager/src/types/config.types.d.ts.map +1 -0
  44. package/dist/configmanager/src/types/config.types.js +5 -0
  45. package/dist/configmanager/src/types/config.types.js.map +1 -0
  46. package/dist/configmanager/src/utils/config.file.d.ts +72 -0
  47. package/dist/configmanager/src/utils/config.file.d.ts.map +1 -0
  48. package/dist/configmanager/src/utils/config.file.js +238 -0
  49. package/dist/configmanager/src/utils/config.file.js.map +1 -0
  50. package/dist/configmanager/src/utils/config.loader.d.ts +20 -0
  51. package/dist/configmanager/src/utils/config.loader.d.ts.map +1 -0
  52. package/dist/configmanager/src/utils/config.loader.js +116 -0
  53. package/dist/configmanager/src/utils/config.loader.js.map +1 -0
  54. package/dist/configmanager/src/utils/config.parser.d.ts +10 -0
  55. package/dist/configmanager/src/utils/config.parser.d.ts.map +1 -0
  56. package/dist/configmanager/src/utils/config.parser.js +52 -0
  57. package/dist/configmanager/src/utils/config.parser.js.map +1 -0
  58. package/dist/configmanager/src/utils/config.path.d.ts +18 -0
  59. package/dist/configmanager/src/utils/config.path.d.ts.map +1 -0
  60. package/dist/configmanager/src/utils/config.path.js +68 -0
  61. package/dist/configmanager/src/utils/config.path.js.map +1 -0
  62. package/dist/configmanager/src/utils/config.serializer.d.ts +15 -0
  63. package/dist/configmanager/src/utils/config.serializer.d.ts.map +1 -0
  64. package/dist/configmanager/src/utils/config.serializer.js +51 -0
  65. package/dist/configmanager/src/utils/config.serializer.js.map +1 -0
  66. package/dist/configmanager/src/utils/config.validator.d.ts +11 -0
  67. package/dist/configmanager/src/utils/config.validator.d.ts.map +1 -0
  68. package/dist/configmanager/src/utils/config.validator.js +20 -0
  69. package/dist/configmanager/src/utils/config.validator.js.map +1 -0
  70. package/dist/connectors.d.ts +4 -0
  71. package/dist/connectors.d.ts.map +1 -0
  72. package/dist/connectors.js +29 -0
  73. package/dist/connectors.js.map +1 -0
  74. package/dist/constant.d.ts +43 -0
  75. package/dist/constant.d.ts.map +1 -0
  76. package/dist/constant.js +45 -0
  77. package/dist/constant.js.map +1 -0
  78. package/dist/crons/task-scheduler.cron.d.ts +2 -0
  79. package/dist/crons/task-scheduler.cron.d.ts.map +1 -0
  80. package/dist/crons/task-scheduler.cron.js +53 -0
  81. package/dist/crons/task-scheduler.cron.js.map +1 -0
  82. package/dist/db/index.d.ts +8 -0
  83. package/dist/db/index.d.ts.map +1 -0
  84. package/dist/db/index.js +18 -0
  85. package/dist/db/index.js.map +1 -0
  86. package/dist/db/pool.d.ts +2 -0
  87. package/dist/db/pool.d.ts.map +1 -0
  88. package/dist/db/pool.js +8 -0
  89. package/dist/db/pool.js.map +1 -0
  90. package/dist/db/src/Controller.d.ts +22 -0
  91. package/dist/db/src/Controller.d.ts.map +1 -0
  92. package/dist/db/src/Controller.js +43 -0
  93. package/dist/db/src/Controller.js.map +1 -0
  94. package/dist/db/src/config/adaptor.base.d.ts +18 -0
  95. package/dist/db/src/config/adaptor.base.d.ts.map +1 -0
  96. package/dist/db/src/config/adaptor.base.js +64 -0
  97. package/dist/db/src/config/adaptor.base.js.map +1 -0
  98. package/dist/db/src/config/connection.db.d.ts +17 -0
  99. package/dist/db/src/config/connection.db.d.ts.map +1 -0
  100. package/dist/db/src/config/connection.db.js +25 -0
  101. package/dist/db/src/config/connection.db.js.map +1 -0
  102. package/dist/db/src/config/main.db.d.ts +7 -0
  103. package/dist/db/src/config/main.db.d.ts.map +1 -0
  104. package/dist/db/src/config/main.db.js +53 -0
  105. package/dist/db/src/config/main.db.js.map +1 -0
  106. package/dist/db/src/config/transaction.db.d.ts +11 -0
  107. package/dist/db/src/config/transaction.db.d.ts.map +1 -0
  108. package/dist/db/src/config/transaction.db.js +24 -0
  109. package/dist/db/src/config/transaction.db.js.map +1 -0
  110. package/dist/db/src/models/index.d.ts +4 -0
  111. package/dist/db/src/models/index.d.ts.map +1 -0
  112. package/dist/db/src/models/index.js +3 -0
  113. package/dist/db/src/models/index.js.map +1 -0
  114. package/dist/db/src/pool.d.ts +8 -0
  115. package/dist/db/src/pool.d.ts.map +1 -0
  116. package/dist/db/src/pool.js +34 -0
  117. package/dist/db/src/pool.js.map +1 -0
  118. package/dist/db/src/utils/binding.wrapper.d.ts +7 -0
  119. package/dist/db/src/utils/binding.wrapper.d.ts.map +1 -0
  120. package/dist/db/src/utils/binding.wrapper.js +28 -0
  121. package/dist/db/src/utils/binding.wrapper.js.map +1 -0
  122. package/dist/db/src/utils/logger.db.d.ts +11 -0
  123. package/dist/db/src/utils/logger.db.d.ts.map +1 -0
  124. package/dist/db/src/utils/logger.db.js +51 -0
  125. package/dist/db/src/utils/logger.db.js.map +1 -0
  126. package/dist/db/src/utils/result.wrapper.d.ts +9 -0
  127. package/dist/db/src/utils/result.wrapper.d.ts.map +1 -0
  128. package/dist/db/src/utils/result.wrapper.js +40 -0
  129. package/dist/db/src/utils/result.wrapper.js.map +1 -0
  130. package/dist/db.d.ts +10 -0
  131. package/dist/db.d.ts.map +1 -0
  132. package/dist/db.js +20 -0
  133. package/dist/db.js.map +1 -0
  134. package/dist/defaults/application.config.d.ts +3 -0
  135. package/dist/defaults/application.config.d.ts.map +1 -0
  136. package/dist/defaults/application.config.js +35 -0
  137. package/dist/defaults/application.config.js.map +1 -0
  138. package/dist/encryption.d.ts +3 -0
  139. package/dist/encryption.d.ts.map +1 -0
  140. package/dist/encryption.js +30 -0
  141. package/dist/encryption.js.map +1 -0
  142. package/dist/excelUtil.d.ts +33 -0
  143. package/dist/excelUtil.d.ts.map +1 -0
  144. package/dist/excelUtil.js +197 -0
  145. package/dist/excelUtil.js.map +1 -0
  146. package/dist/geoLocation.d.ts +16 -0
  147. package/dist/geoLocation.d.ts.map +1 -0
  148. package/dist/geoLocation.js +38 -0
  149. package/dist/geoLocation.js.map +1 -0
  150. package/dist/imageResizer.d.ts +15 -0
  151. package/dist/imageResizer.d.ts.map +1 -0
  152. package/dist/imageResizer.js +47 -0
  153. package/dist/imageResizer.js.map +1 -0
  154. package/dist/index.d.ts +30 -0
  155. package/dist/index.d.ts.map +1 -0
  156. package/dist/index.js +56 -0
  157. package/dist/index.js.map +1 -0
  158. package/dist/interfaces/application.interfaces.d.ts +70 -0
  159. package/dist/interfaces/application.interfaces.d.ts.map +1 -0
  160. package/dist/interfaces/application.interfaces.js +3 -0
  161. package/dist/interfaces/application.interfaces.js.map +1 -0
  162. package/dist/middleware/application.middleware.d.ts +4 -0
  163. package/dist/middleware/application.middleware.d.ts.map +1 -0
  164. package/dist/middleware/application.middleware.js +14 -0
  165. package/dist/middleware/application.middleware.js.map +1 -0
  166. package/dist/middleware/auth.d.ts +19 -0
  167. package/dist/middleware/auth.d.ts.map +1 -0
  168. package/dist/middleware/auth.js +191 -0
  169. package/dist/middleware/auth.js.map +1 -0
  170. package/dist/middleware/core.middleware.d.ts +4 -0
  171. package/dist/middleware/core.middleware.d.ts.map +1 -0
  172. package/dist/middleware/core.middleware.js +8 -0
  173. package/dist/middleware/core.middleware.js.map +1 -0
  174. package/dist/middleware/error.d.ts +4 -0
  175. package/dist/middleware/error.d.ts.map +1 -0
  176. package/dist/middleware/error.js +9 -0
  177. package/dist/middleware/error.js.map +1 -0
  178. package/dist/middleware/index.d.ts +7 -0
  179. package/dist/middleware/index.d.ts.map +1 -0
  180. package/dist/middleware/index.js +25 -0
  181. package/dist/middleware/index.js.map +1 -0
  182. package/dist/middleware/multipart.d.ts +6 -0
  183. package/dist/middleware/multipart.d.ts.map +1 -0
  184. package/dist/middleware/multipart.js +59 -0
  185. package/dist/middleware/multipart.js.map +1 -0
  186. package/dist/middleware/system.middleware.d.ts +4 -0
  187. package/dist/middleware/system.middleware.d.ts.map +1 -0
  188. package/dist/middleware/system.middleware.js +14 -0
  189. package/dist/middleware/system.middleware.js.map +1 -0
  190. package/dist/responseHandler.d.ts +46 -0
  191. package/dist/responseHandler.d.ts.map +1 -0
  192. package/dist/responseHandler.js +105 -0
  193. package/dist/responseHandler.js.map +1 -0
  194. package/dist/session.d.ts +59 -0
  195. package/dist/session.d.ts.map +1 -0
  196. package/dist/session.js +262 -0
  197. package/dist/session.js.map +1 -0
  198. package/dist/spreadsheet/index.d.ts +15 -0
  199. package/dist/spreadsheet/index.d.ts.map +1 -0
  200. package/dist/spreadsheet/index.js +37 -0
  201. package/dist/spreadsheet/index.js.map +1 -0
  202. package/dist/spreadsheet/src/SpreadsheetRouter.d.ts +3 -0
  203. package/dist/spreadsheet/src/SpreadsheetRouter.d.ts.map +1 -0
  204. package/dist/spreadsheet/src/SpreadsheetRouter.js +262 -0
  205. package/dist/spreadsheet/src/SpreadsheetRouter.js.map +1 -0
  206. package/dist/spreadsheet/src/models/SpreadsheetTypes.d.ts +74 -0
  207. package/dist/spreadsheet/src/models/SpreadsheetTypes.d.ts.map +1 -0
  208. package/dist/spreadsheet/src/models/SpreadsheetTypes.js +3 -0
  209. package/dist/spreadsheet/src/models/SpreadsheetTypes.js.map +1 -0
  210. package/dist/spreadsheet/src/models/index.d.ts +2 -0
  211. package/dist/spreadsheet/src/models/index.d.ts.map +1 -0
  212. package/dist/spreadsheet/src/models/index.js +18 -0
  213. package/dist/spreadsheet/src/models/index.js.map +1 -0
  214. package/dist/spreadsheet/src/service/SpreadsheetService.d.ts +72 -0
  215. package/dist/spreadsheet/src/service/SpreadsheetService.d.ts.map +1 -0
  216. package/dist/spreadsheet/src/service/SpreadsheetService.js +232 -0
  217. package/dist/spreadsheet/src/service/SpreadsheetService.js.map +1 -0
  218. package/dist/spreadsheet/src/utils/styleUtils.d.ts +31 -0
  219. package/dist/spreadsheet/src/utils/styleUtils.d.ts.map +1 -0
  220. package/dist/spreadsheet/src/utils/styleUtils.js +84 -0
  221. package/dist/spreadsheet/src/utils/styleUtils.js.map +1 -0
  222. package/dist/system/config-manager/config-loader.d.ts +57 -0
  223. package/dist/system/config-manager/config-loader.d.ts.map +1 -0
  224. package/dist/system/config-manager/config-loader.js +217 -0
  225. package/dist/system/config-manager/config-loader.js.map +1 -0
  226. package/dist/system/config-manager/handlers/file.d.ts +4 -0
  227. package/dist/system/config-manager/handlers/file.d.ts.map +1 -0
  228. package/dist/system/config-manager/handlers/file.js +70 -0
  229. package/dist/system/config-manager/handlers/file.js.map +1 -0
  230. package/dist/system/config-manager/handlers/reload-configs.d.ts +4 -0
  231. package/dist/system/config-manager/handlers/reload-configs.d.ts.map +1 -0
  232. package/dist/system/config-manager/handlers/reload-configs.js +63 -0
  233. package/dist/system/config-manager/handlers/reload-configs.js.map +1 -0
  234. package/dist/system/config-manager/handlers/rename.d.ts +3 -0
  235. package/dist/system/config-manager/handlers/rename.d.ts.map +1 -0
  236. package/dist/system/config-manager/handlers/rename.js +80 -0
  237. package/dist/system/config-manager/handlers/rename.js.map +1 -0
  238. package/dist/system/config-manager/handlers/status.d.ts +3 -0
  239. package/dist/system/config-manager/handlers/status.d.ts.map +1 -0
  240. package/dist/system/config-manager/handlers/status.js +55 -0
  241. package/dist/system/config-manager/handlers/status.js.map +1 -0
  242. package/dist/system/config-manager/handlers/tree.d.ts +4 -0
  243. package/dist/system/config-manager/handlers/tree.d.ts.map +1 -0
  244. package/dist/system/config-manager/handlers/tree.js +64 -0
  245. package/dist/system/config-manager/handlers/tree.js.map +1 -0
  246. package/dist/system/config-manager/helpers.d.ts +20 -0
  247. package/dist/system/config-manager/helpers.d.ts.map +1 -0
  248. package/dist/system/config-manager/helpers.js +123 -0
  249. package/dist/system/config-manager/helpers.js.map +1 -0
  250. package/dist/system/config-manager/index.d.ts +3 -0
  251. package/dist/system/config-manager/index.d.ts.map +1 -0
  252. package/dist/system/config-manager/index.js +22 -0
  253. package/dist/system/config-manager/index.js.map +1 -0
  254. package/dist/system.applications/configure-app-cors.d.ts +3 -0
  255. package/dist/system.applications/configure-app-cors.d.ts.map +1 -0
  256. package/dist/system.applications/configure-app-cors.js +35 -0
  257. package/dist/system.applications/configure-app-cors.js.map +1 -0
  258. package/dist/system.applications/controller.d.ts +48 -0
  259. package/dist/system.applications/controller.d.ts.map +1 -0
  260. package/dist/system.applications/controller.js +165 -0
  261. package/dist/system.applications/controller.js.map +1 -0
  262. package/dist/system.applications/requestContext.d.ts +41 -0
  263. package/dist/system.applications/requestContext.d.ts.map +1 -0
  264. package/dist/system.applications/requestContext.js +78 -0
  265. package/dist/system.applications/requestContext.js.map +1 -0
  266. package/dist/system.applications/response.helpers.d.ts +22 -0
  267. package/dist/system.applications/response.helpers.d.ts.map +1 -0
  268. package/dist/system.applications/response.helpers.js +53 -0
  269. package/dist/system.applications/response.helpers.js.map +1 -0
  270. package/dist/system.applications/response.types.d.ts +33 -0
  271. package/dist/system.applications/response.types.d.ts.map +1 -0
  272. package/dist/system.applications/response.types.js +3 -0
  273. package/dist/system.applications/response.types.js.map +1 -0
  274. package/dist/system.applications/sessions.d.ts +29 -0
  275. package/dist/system.applications/sessions.d.ts.map +1 -0
  276. package/dist/system.applications/sessions.js +129 -0
  277. package/dist/system.applications/sessions.js.map +1 -0
  278. package/dist/system.applications/util.d.ts +7 -0
  279. package/dist/system.applications/util.d.ts.map +1 -0
  280. package/dist/system.applications/util.js +35 -0
  281. package/dist/system.applications/util.js.map +1 -0
  282. package/dist/types/response.types.d.ts +19 -0
  283. package/dist/types/response.types.d.ts.map +1 -0
  284. package/dist/types/response.types.js +3 -0
  285. package/dist/types/response.types.js.map +1 -0
  286. package/dist/util.d.ts +13 -0
  287. package/dist/util.d.ts.map +1 -0
  288. package/dist/util.js +69 -0
  289. package/dist/util.js.map +1 -0
  290. package/dist/validator/index.d.ts +3 -0
  291. package/dist/validator/index.d.ts.map +1 -0
  292. package/dist/validator/index.js +9 -0
  293. package/dist/validator/index.js.map +1 -0
  294. package/dist/validator/src/errors/validation.d.ts +6 -0
  295. package/dist/validator/src/errors/validation.d.ts.map +1 -0
  296. package/dist/validator/src/errors/validation.js +14 -0
  297. package/dist/validator/src/errors/validation.js.map +1 -0
  298. package/dist/validator/src/main.d.ts +61 -0
  299. package/dist/validator/src/main.d.ts.map +1 -0
  300. package/dist/validator/src/main.js +65 -0
  301. package/dist/validator/src/main.js.map +1 -0
  302. package/dist/validator/src/rules/array.d.ts +2 -0
  303. package/dist/validator/src/rules/array.d.ts.map +1 -0
  304. package/dist/validator/src/rules/array.js +15 -0
  305. package/dist/validator/src/rules/array.js.map +1 -0
  306. package/dist/validator/src/rules/between.d.ts +6 -0
  307. package/dist/validator/src/rules/between.d.ts.map +1 -0
  308. package/dist/validator/src/rules/between.js +15 -0
  309. package/dist/validator/src/rules/between.js.map +1 -0
  310. package/dist/validator/src/rules/boolean.d.ts +2 -0
  311. package/dist/validator/src/rules/boolean.d.ts.map +1 -0
  312. package/dist/validator/src/rules/boolean.js +15 -0
  313. package/dist/validator/src/rules/boolean.js.map +1 -0
  314. package/dist/validator/src/rules/check.d.ts +7 -0
  315. package/dist/validator/src/rules/check.d.ts.map +1 -0
  316. package/dist/validator/src/rules/check.js +15 -0
  317. package/dist/validator/src/rules/check.js.map +1 -0
  318. package/dist/validator/src/rules/custom.d.ts +15 -0
  319. package/dist/validator/src/rules/custom.d.ts.map +1 -0
  320. package/dist/validator/src/rules/custom.js +47 -0
  321. package/dist/validator/src/rules/custom.js.map +1 -0
  322. package/dist/validator/src/rules/email.d.ts +2 -0
  323. package/dist/validator/src/rules/email.d.ts.map +1 -0
  324. package/dist/validator/src/rules/email.js +15 -0
  325. package/dist/validator/src/rules/email.js.map +1 -0
  326. package/dist/validator/src/rules/enum.d.ts +6 -0
  327. package/dist/validator/src/rules/enum.d.ts.map +1 -0
  328. package/dist/validator/src/rules/enum.js +15 -0
  329. package/dist/validator/src/rules/enum.js.map +1 -0
  330. package/dist/validator/src/rules/file.d.ts +2 -0
  331. package/dist/validator/src/rules/file.d.ts.map +1 -0
  332. package/dist/validator/src/rules/file.js +29 -0
  333. package/dist/validator/src/rules/file.js.map +1 -0
  334. package/dist/validator/src/rules/notEmpty.d.ts +2 -0
  335. package/dist/validator/src/rules/notEmpty.d.ts.map +1 -0
  336. package/dist/validator/src/rules/notEmpty.js +15 -0
  337. package/dist/validator/src/rules/notEmpty.js.map +1 -0
  338. package/dist/validator/src/rules/number.d.ts +2 -0
  339. package/dist/validator/src/rules/number.d.ts.map +1 -0
  340. package/dist/validator/src/rules/number.js +15 -0
  341. package/dist/validator/src/rules/number.js.map +1 -0
  342. package/dist/validator/src/rules/object.d.ts +2 -0
  343. package/dist/validator/src/rules/object.d.ts.map +1 -0
  344. package/dist/validator/src/rules/object.js +15 -0
  345. package/dist/validator/src/rules/object.js.map +1 -0
  346. package/dist/validator/src/rules/pattern.d.ts +6 -0
  347. package/dist/validator/src/rules/pattern.d.ts.map +1 -0
  348. package/dist/validator/src/rules/pattern.js +15 -0
  349. package/dist/validator/src/rules/pattern.js.map +1 -0
  350. package/dist/validator/src/rules/phone.d.ts +2 -0
  351. package/dist/validator/src/rules/phone.d.ts.map +1 -0
  352. package/dist/validator/src/rules/phone.js +15 -0
  353. package/dist/validator/src/rules/phone.js.map +1 -0
  354. package/dist/validator/src/rules/required.d.ts +2 -0
  355. package/dist/validator/src/rules/required.d.ts.map +1 -0
  356. package/dist/validator/src/rules/required.js +12 -0
  357. package/dist/validator/src/rules/required.js.map +1 -0
  358. package/dist/validator/src/rules/string.d.ts +2 -0
  359. package/dist/validator/src/rules/string.d.ts.map +1 -0
  360. package/dist/validator/src/rules/string.js +15 -0
  361. package/dist/validator/src/rules/string.js.map +1 -0
  362. package/dist/validator/src/rules/url.d.ts +2 -0
  363. package/dist/validator/src/rules/url.d.ts.map +1 -0
  364. package/dist/validator/src/rules/url.js +15 -0
  365. package/dist/validator/src/rules/url.js.map +1 -0
  366. package/package.json +46 -0
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.generateJWT = exports.verifyJWT = exports.clearAllUserSessionsForCurrentApp = exports.clearLoginSession = exports.createLoginSession = exports.sessionAuth = void 0;
37
+ const jwt = __importStar(require("jsonwebtoken"));
38
+ const session_1 = require("../session");
39
+ const requestContext_1 = require("../system.applications/requestContext");
40
+ const getHeaderValue = (headers, key) => {
41
+ if (!headers || !key)
42
+ return '';
43
+ const value = headers[key] || headers[key.toLowerCase()] || headers[key.toUpperCase()];
44
+ if (Array.isArray(value))
45
+ return String(value[0] || '').trim();
46
+ return String(value || '').trim();
47
+ };
48
+ const extractSessionId = (headers) => {
49
+ const fromHeader = getHeaderValue(headers, 'sessiontoken')
50
+ || getHeaderValue(headers, 'x-session-id')
51
+ || getHeaderValue(headers, 'sessionid');
52
+ return String(fromHeader || '').trim();
53
+ };
54
+ const getSessionBindingFromRequest = () => {
55
+ const headers = requestContext_1.RequestContext.get('headers', {});
56
+ const userIP = requestContext_1.RequestContext.get('userIP', '') || '';
57
+ return {
58
+ userAgent: getHeaderValue(headers, 'user-agent'),
59
+ secChUa: getHeaderValue(headers, 'sec-ch-ua'),
60
+ secChUaPlatform: getHeaderValue(headers, 'sec-ch-ua-platform'),
61
+ acceptLanguage: getHeaderValue(headers, 'accept-language'),
62
+ ipAddress: userIP,
63
+ deviceId: getHeaderValue(headers, 'x-device-id') || getHeaderValue(headers, 'x-client-device-id'),
64
+ };
65
+ };
66
+ // Session-only authentication middleware
67
+ const sessionAuth = (appScope) => {
68
+ try {
69
+ const reqHeaders = requestContext_1.RequestContext.get('headers', {});
70
+ const sessionId = extractSessionId(reqHeaders);
71
+ if (!sessionId) {
72
+ console.error('❌ No sessionId found in request');
73
+ return false;
74
+ }
75
+ requestContext_1.RequestContext.set('sessionID', sessionId);
76
+ const binding = getSessionBindingFromRequest();
77
+ const sessionValidation = session_1.SessionManager.validateSession(sessionId, binding, appScope);
78
+ if (!sessionValidation.valid) {
79
+ // Clear invalid session cookie
80
+ requestContext_1.RequestContext.set(`user${sessionId}`, null);
81
+ requestContext_1.RequestContext.set(`sessionID`, null);
82
+ requestContext_1.RequestContext.set('session', null);
83
+ console.error('❌ Invalid session:', sessionValidation.reason || 'unknown reason');
84
+ return false;
85
+ }
86
+ // Session is valid, set user data
87
+ const user = {
88
+ user_id: sessionValidation.userId,
89
+ authType: 'session',
90
+ sessionId: sessionId
91
+ };
92
+ requestContext_1.RequestContext.set(`user${sessionId}`, user);
93
+ requestContext_1.RequestContext.set('session', user);
94
+ console.log('✅ Session verified successfully for user:', sessionValidation.userId);
95
+ return true;
96
+ }
97
+ catch (error) {
98
+ console.error('❌ Session authentication failed:', error.message);
99
+ return false;
100
+ }
101
+ };
102
+ exports.sessionAuth = sessionAuth;
103
+ // Helper method to create login session with cookie
104
+ const createLoginSession = (data, appScope) => {
105
+ const sessionId = session_1.SessionManager.createSession(data.userId, getSessionBindingFromRequest(), appScope);
106
+ requestContext_1.RequestContext.set(`user${sessionId}`, {
107
+ user_id: data.userId,
108
+ username: data.username,
109
+ authType: 'session',
110
+ sessionId: sessionId
111
+ });
112
+ requestContext_1.RequestContext.set(`sessionID`, sessionId);
113
+ return sessionId;
114
+ };
115
+ exports.createLoginSession = createLoginSession;
116
+ // Helper method to logout and clear session
117
+ const clearLoginSession = (appScope) => {
118
+ const reqHeaders = requestContext_1.RequestContext.get('headers', {});
119
+ const sessionId = extractSessionId(reqHeaders) || requestContext_1.RequestContext.get('sessionID', '') || '';
120
+ if (sessionId) {
121
+ session_1.SessionManager.removeSession(sessionId, appScope);
122
+ requestContext_1.RequestContext.set(`user${sessionId}`, null);
123
+ requestContext_1.RequestContext.set(`sessionID`, null);
124
+ requestContext_1.RequestContext.set('session', null);
125
+ console.log('🚪 Session cleared:', sessionId);
126
+ return true;
127
+ }
128
+ return false;
129
+ };
130
+ exports.clearLoginSession = clearLoginSession;
131
+ const clearAllUserSessionsForCurrentApp = (userId, appScope) => {
132
+ if (!userId)
133
+ return false;
134
+ session_1.SessionManager.removeUserSession(userId, appScope);
135
+ requestContext_1.RequestContext.set('sessionID', null);
136
+ requestContext_1.RequestContext.set('session', null);
137
+ console.log(`🚪 All sessions cleared for user ${userId} in app ${appScope}`);
138
+ return true;
139
+ };
140
+ exports.clearAllUserSessionsForCurrentApp = clearAllUserSessionsForCurrentApp;
141
+ // Helper method to verify JWT token (can be used anywhere in the project)
142
+ const verifyJWT = (req) => {
143
+ // First try to get token from custom tokenKey header (your frontend approach)
144
+ let token = req.headers['tokenkey'] || req.headers['tokenKey'];
145
+ // If not found, fallback to standard Authorization Bearer header
146
+ if (!token) {
147
+ const authHeader = req.headers.authorization;
148
+ if (authHeader && authHeader.startsWith('Bearer ')) {
149
+ token = authHeader.substring(7);
150
+ }
151
+ }
152
+ // If still no token found
153
+ if (!token) {
154
+ throw new Error('No valid token provided. Please provide token in tokenKey header or Authorization Bearer header');
155
+ }
156
+ const jwtSecret = process.env.JWT_SECRET;
157
+ if (!jwtSecret) {
158
+ throw new Error('JWT secret not configured');
159
+ }
160
+ try {
161
+ const decoded = jwt.verify(token, jwtSecret);
162
+ return decoded;
163
+ }
164
+ catch (error) {
165
+ console.log('❌ JWT Error:', error.name, '-', error.message);
166
+ // Handle specific JWT errors
167
+ if (error.name === 'TokenExpiredError') {
168
+ throw new Error('Token has expired. Please login again');
169
+ }
170
+ if (error.name === 'JsonWebTokenError') {
171
+ throw new Error('Invalid token signature');
172
+ }
173
+ if (error.name === 'NotBeforeError') {
174
+ throw new Error('Token not active yet');
175
+ }
176
+ // Generic error for other cases
177
+ throw new Error(`Invalid token: ${error.message}`);
178
+ }
179
+ };
180
+ exports.verifyJWT = verifyJWT;
181
+ // Optional: Create a JWT token (helper method)
182
+ const generateJWT = (payload, expiresIn = '24h') => {
183
+ const jwtSecret = process.env.JWT_SECRET;
184
+ if (!jwtSecret) {
185
+ throw new Error('JWT_SECRET environment variable is not set');
186
+ }
187
+ const token = jwt.sign(payload, jwtSecret, { expiresIn });
188
+ return token;
189
+ };
190
+ exports.generateJWT = generateJWT;
191
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../core/middleware/auth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAoC;AAEpC,wCAAiE;AACjE,0EAAuE;AAYvE,MAAM,cAAc,GAAG,CAAC,OAAY,EAAE,GAAW,EAAU,EAAE;IACzD,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACnF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/D,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,OAAY,EAAU,EAAE;IAC9C,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC;WACnD,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC;WACvC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,GAAwB,EAAE;IAC3D,MAAM,OAAO,GAAG,+BAAc,CAAC,GAAG,CAAM,SAAS,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,+BAAc,CAAC,GAAG,CAAS,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IAC9D,OAAO;QACH,SAAS,EAAE,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC;QAChD,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC;QAC7C,eAAe,EAAE,cAAc,CAAC,OAAO,EAAE,oBAAoB,CAAC;QAC9D,cAAc,EAAE,cAAc,CAAC,OAAO,EAAE,iBAAiB,CAAC;QAC1D,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,oBAAoB,CAAC;KACpG,CAAC;AACN,CAAC,CAAC;AAGF,yCAAyC;AAClC,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAW,EAAE;IACrD,IAAI,CAAC;QACD,MAAM,UAAU,GAAG,+BAAc,CAAC,GAAG,CAAM,SAAS,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACjD,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,+BAAc,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;QAE/C,MAAM,iBAAiB,GAAG,wBAAc,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEvF,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC3B,+BAA+B;YAC/B,+BAAc,CAAC,GAAG,CAAC,OAAO,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;YAC7C,+BAAc,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACtC,+BAAc,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAEpC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,MAAM,IAAI,gBAAgB,CAAC,CAAC;YAClF,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,kCAAkC;QAClC,MAAM,IAAI,GAAG;YACT,OAAO,EAAE,iBAAiB,CAAC,MAAM;YACjC,QAAQ,EAAE,SAAS;YACnB,SAAS,EAAE,SAAS;SACvB,CAAC;QAEF,+BAAc,CAAC,GAAG,CAAC,OAAO,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7C,+BAAc,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAEpC,OAAO,CAAC,GAAG,CAAC,2CAA2C,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC;IAEhB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC,CAAC;AAzCW,QAAA,WAAW,eAyCtB;AAEF,oDAAoD;AAC7C,MAAM,kBAAkB,GAAG,CAAC,IAGlC,EAAG,QAAgB,EAAU,EAAE;IAC5B,MAAM,SAAS,GAAG,wBAAc,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,4BAA4B,EAAE,EAAE,QAAQ,CAAC,CAAC;IAEtG,+BAAc,CAAC,GAAG,CAAC,OAAO,SAAS,EAAE,EAAE;QACnC,OAAO,EAAE,IAAI,CAAC,MAAM;QACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,SAAS;KACvB,CAAC,CAAC;IAEH,+BAAc,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC3C,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAfW,QAAA,kBAAkB,sBAe7B;AAEF,4CAA4C;AACrC,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAW,EAAE;IAC3D,MAAM,UAAU,GAAG,+BAAc,CAAC,GAAG,CAAM,SAAS,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,gBAAgB,CAAC,UAAU,CAAC,IAAI,+BAAc,CAAC,GAAG,CAAS,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IACpG,IAAI,SAAS,EAAE,CAAC;QACZ,wBAAc,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAClD,+BAAc,CAAC,GAAG,CAAC,OAAO,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7C,+BAAc,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACtC,+BAAc,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAbW,QAAA,iBAAiB,qBAa5B;AAEK,MAAM,iCAAiC,GAAG,CAAC,MAAc,EAAE,QAAgB,EAAW,EAAE;IAC3F,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,wBAAc,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnD,+BAAc,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACtC,+BAAc,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,oCAAoC,MAAM,WAAW,QAAQ,EAAE,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAPW,QAAA,iCAAiC,qCAO5C;AAEF,0EAA0E;AACnE,MAAM,SAAS,GAAG,CAAC,GAAY,EAAO,EAAE;IAC3C,8EAA8E;IAC9E,IAAI,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAW,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAW,CAAC;IAEnF,iEAAiE;IACjE,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QAC7C,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACjD,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAED,0BAA0B;IAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAC;IACvH,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACzC,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAQ,CAAC;QACpD,OAAO,OAAO,CAAC;IACnB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAE5D,6BAA6B;QAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC;QAED,gCAAgC;QAChC,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;AACL,CAAC,CAAC;AA5CW,QAAA,SAAS,aA4CpB;AAGF,+CAA+C;AACxC,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,YAAoB,KAAK,EAAU,EAAE;IAC9E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACzC,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,SAAS,EAAqB,CAAC,CAAC;IAC7E,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAPW,QAAA,WAAW,eAOtB"}
@@ -0,0 +1,4 @@
1
+ import { Request, Response, NextFunction } from 'express';
2
+ declare function middleware(req: Request, _res: Response, next: NextFunction): void;
3
+ export default middleware;
4
+ //# sourceMappingURL=core.middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.middleware.d.ts","sourceRoot":"","sources":["../../core/middleware/core.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE1D,iBAAS,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,QAGnE;AAED,eAAe,UAAU,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function middleware(req, _res, next) {
4
+ // You can add any core-specific middleware logic here
5
+ next();
6
+ }
7
+ exports.default = middleware;
8
+ //# sourceMappingURL=core.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.middleware.js","sourceRoot":"","sources":["../../core/middleware/core.middleware.ts"],"names":[],"mappings":";;AAEA,SAAS,UAAU,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB;IAClE,sDAAsD;IACtD,IAAI,EAAE,CAAC;AACT,CAAC;AAED,kBAAe,UAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Request, Response, NextFunction } from 'express';
2
+ import { HttpError } from '../util';
3
+ export declare function errorHandler(err: HttpError, req: Request, res: Response, next: NextFunction): void;
4
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../core/middleware/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,QAI3F"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.errorHandler = errorHandler;
4
+ function errorHandler(err, req, res, next) {
5
+ // Log the error to the console (or a logging service)
6
+ console.error({ success: false, error: err.message });
7
+ res.status(err.statusCode || 500).json({ success: false, error: err.message });
8
+ }
9
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../core/middleware/error.ts"],"names":[],"mappings":";;AAGA,oCAIC;AAJD,SAAgB,YAAY,CAAC,GAAc,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB;IAC1F,sDAAsD;IACtD,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACtD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AACjF,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { default as applicationMiddleware } from './application.middleware';
2
+ export { default as coreMiddleware } from './core.middleware';
3
+ export { default as systemMiddleware } from './system.middleware';
4
+ export { errorHandler } from './error';
5
+ export { multipartAny, normalizeMultipartBody } from './multipart';
6
+ export { sessionAuth, createLoginSession, clearLoginSession, clearAllUserSessionsForCurrentApp, verifyJWT, generateJWT, } from './auth';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../core/middleware/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,iCAAiC,EACjC,SAAS,EACT,WAAW,GACZ,MAAM,QAAQ,CAAC"}
@@ -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.generateJWT = exports.verifyJWT = exports.clearAllUserSessionsForCurrentApp = exports.clearLoginSession = exports.createLoginSession = exports.sessionAuth = exports.normalizeMultipartBody = exports.multipartAny = exports.errorHandler = exports.systemMiddleware = exports.coreMiddleware = exports.applicationMiddleware = void 0;
7
+ var application_middleware_1 = require("./application.middleware");
8
+ Object.defineProperty(exports, "applicationMiddleware", { enumerable: true, get: function () { return __importDefault(application_middleware_1).default; } });
9
+ var core_middleware_1 = require("./core.middleware");
10
+ Object.defineProperty(exports, "coreMiddleware", { enumerable: true, get: function () { return __importDefault(core_middleware_1).default; } });
11
+ var system_middleware_1 = require("./system.middleware");
12
+ Object.defineProperty(exports, "systemMiddleware", { enumerable: true, get: function () { return __importDefault(system_middleware_1).default; } });
13
+ var error_1 = require("./error");
14
+ Object.defineProperty(exports, "errorHandler", { enumerable: true, get: function () { return error_1.errorHandler; } });
15
+ var multipart_1 = require("./multipart");
16
+ Object.defineProperty(exports, "multipartAny", { enumerable: true, get: function () { return multipart_1.multipartAny; } });
17
+ Object.defineProperty(exports, "normalizeMultipartBody", { enumerable: true, get: function () { return multipart_1.normalizeMultipartBody; } });
18
+ var auth_1 = require("./auth");
19
+ Object.defineProperty(exports, "sessionAuth", { enumerable: true, get: function () { return auth_1.sessionAuth; } });
20
+ Object.defineProperty(exports, "createLoginSession", { enumerable: true, get: function () { return auth_1.createLoginSession; } });
21
+ Object.defineProperty(exports, "clearLoginSession", { enumerable: true, get: function () { return auth_1.clearLoginSession; } });
22
+ Object.defineProperty(exports, "clearAllUserSessionsForCurrentApp", { enumerable: true, get: function () { return auth_1.clearAllUserSessionsForCurrentApp; } });
23
+ Object.defineProperty(exports, "verifyJWT", { enumerable: true, get: function () { return auth_1.verifyJWT; } });
24
+ Object.defineProperty(exports, "generateJWT", { enumerable: true, get: function () { return auth_1.generateJWT; } });
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../core/middleware/index.ts"],"names":[],"mappings":";;;;;;AAAA,mEAA4E;AAAnE,gJAAA,OAAO,OAAyB;AACzC,qDAA8D;AAArD,kIAAA,OAAO,OAAkB;AAClC,yDAAkE;AAAzD,sIAAA,OAAO,OAAoB;AAEpC,iCAAuC;AAA9B,qGAAA,YAAY,OAAA;AACrB,yCAAmE;AAA1D,yGAAA,YAAY,OAAA;AAAE,mHAAA,sBAAsB,OAAA;AAE7C,+BAOgB;AANd,mGAAA,WAAW,OAAA;AACX,0GAAA,kBAAkB,OAAA;AAClB,yGAAA,iBAAiB,OAAA;AACjB,yHAAA,iCAAiC,OAAA;AACjC,iGAAA,SAAS,OAAA;AACT,mGAAA,WAAW,OAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const multipartAny: import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
2
+ export interface __FILE extends Express.Multer.File {
3
+ customFileName: string;
4
+ }
5
+ export declare function normalizeMultipartBody(req: any): any;
6
+ //# sourceMappingURL=multipart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multipart.d.ts","sourceRoot":"","sources":["../../core/middleware/multipart.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,8IAKjB,CAAC;AAET,MAAM,WAAW,MAAO,SAAQ,OAAO,CAAC,MAAM,CAAC,IAAI;IACjD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,OAqD9C"}
@@ -0,0 +1,59 @@
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.multipartAny = void 0;
7
+ exports.normalizeMultipartBody = normalizeMultipartBody;
8
+ // @server/core/middleware/multipart.ts
9
+ const multer_1 = __importDefault(require("multer"));
10
+ const path_1 = __importDefault(require("path"));
11
+ exports.multipartAny = (0, multer_1.default)({
12
+ storage: multer_1.default.memoryStorage(),
13
+ limits: {
14
+ fileSize: 50 * 1024 * 1024, // 50MB
15
+ },
16
+ }).any();
17
+ function normalizeMultipartBody(req) {
18
+ if (Array.isArray(req.body))
19
+ return req.body;
20
+ const body = { ...req.body };
21
+ const files = Array.isArray(req.files) ? req.files : [];
22
+ const grouped = {};
23
+ const counters = {};
24
+ files.forEach((file) => {
25
+ /**
26
+ * media -> base=media, label=originalname
27
+ * media[] -> base=media, label= originalname_1,originalname_2
28
+ * media[abc] -> base=media, label=abc
29
+ * media[abc][] -> base=media, label=abc_1, abc_2
30
+ */
31
+ const match = file.fieldname.match(/^([^\[\]]+)(?:\[([^\]]+)\])?(?:\[\])?$/);
32
+ if (!match) {
33
+ throw new Error(`Invalid file field name: ${file.fieldname}`);
34
+ }
35
+ const baseKey = match[1]; // media
36
+ const labelFromField = match[2]; // abc | undefined
37
+ if (!grouped[baseKey]) {
38
+ grouped[baseKey] = [];
39
+ counters[baseKey] = {};
40
+ }
41
+ // 🔹 base label
42
+ const baseLabel = labelFromField ? labelFromField : path_1.default.parse(file.originalname).name;
43
+ // 🔹 ensure uniqueness
44
+ counters[baseKey][baseLabel] = (counters[baseKey][baseLabel] || 0) + 1;
45
+ const count = counters[baseKey][baseLabel];
46
+ const finalLabel = count === 1 ? baseLabel : `${baseLabel}_${count}`;
47
+ file.customFileName = finalLabel;
48
+ file.fieldname = baseKey; // normalize key
49
+ grouped[baseKey].push(file);
50
+ });
51
+ // Attach to body (ALWAYS arrays)
52
+ Object.entries(grouped).forEach(([key, list]) => {
53
+ body[key] = list;
54
+ });
55
+ // Always keep raw files
56
+ body.files = files;
57
+ return body;
58
+ }
59
+ //# sourceMappingURL=multipart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multipart.js","sourceRoot":"","sources":["../../core/middleware/multipart.ts"],"names":[],"mappings":";;;;;;AAeA,wDAqDC;AApED,uCAAuC;AACvC,oDAA4B;AAC5B,gDAAwB;AAEX,QAAA,YAAY,GAAG,IAAA,gBAAM,EAAC;IACjC,OAAO,EAAE,gBAAM,CAAC,aAAa,EAAE;IAC/B,MAAM,EAAE;QACN,QAAQ,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO;KACpC;CACF,CAAC,CAAC,GAAG,EAAE,CAAC;AAMT,SAAgB,sBAAsB,CAAC,GAAQ;IAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC7C,MAAM,IAAI,GAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAClC,MAAM,KAAK,GAAa,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAElE,MAAM,OAAO,GAA6B,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAA2C,EAAE,CAAC;IAE5D,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB;;;;;WAKG;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAE7E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;QAClC,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;QAEnD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACtB,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACzB,CAAC;QAED,gBAAgB;QAChB,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC;QAEvF,uBAAuB;QACvB,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAEvE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,KAAK,EAAE,CAAC;QAErE,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,gBAAgB;QAE1C,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,iCAAiC;IACjC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;QAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAEnB,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Request, Response, NextFunction } from 'express';
2
+ declare function middleware(req: Request, res: Response, next: NextFunction): void;
3
+ export default middleware;
4
+ //# sourceMappingURL=system.middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.middleware.d.ts","sourceRoot":"","sources":["../../core/middleware/system.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG1D,iBAAS,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,QAQlE;AAED,eAAe,UAAU,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const application_config_1 = require("../defaults/application.config");
4
+ function middleware(req, res, next) {
5
+ // Apply security headers
6
+ const headers = application_config_1.APP_DEFAULT_CONFIG.securityHeaders ?? {};
7
+ for (const [key, value] of Object.entries(headers)) {
8
+ res.setHeader(key, value);
9
+ }
10
+ console.log('[system.middleware] X-Powered-By set to:', res.getHeader('X-Powered-By'));
11
+ next();
12
+ }
13
+ exports.default = middleware;
14
+ //# sourceMappingURL=system.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.middleware.js","sourceRoot":"","sources":["../../core/middleware/system.middleware.ts"],"names":[],"mappings":";;AACA,uEAAoE;AAEpE,SAAS,UAAU,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IACjE,yBAAyB;IACzB,MAAM,OAAO,GAAG,uCAAkB,CAAC,eAAe,IAAI,EAAE,CAAC;IACzD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,0CAA0C,EAAE,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;IACvF,IAAI,EAAE,CAAC;AACT,CAAC;AAED,kBAAe,UAAU,CAAC"}
@@ -0,0 +1,46 @@
1
+ export interface StandardResponse {
2
+ statusCode: number;
3
+ status: boolean;
4
+ message: string;
5
+ output?: any;
6
+ timestamp?: string;
7
+ path?: string;
8
+ }
9
+ export declare class ResponseHandler {
10
+ /**
11
+ * Send a successful response
12
+ */
13
+ static success(res: any, statusCode: number, message: string, output?: any, path?: string): void;
14
+ /**
15
+ * Send an error response
16
+ */
17
+ static error(res: any, statusCode: number, message: string, output?: any, path?: string): void;
18
+ /**
19
+ * Send a paginated response for list output
20
+ */
21
+ static successWithPagination(res: any, statusCode: number, message: string, output: any, pagination: {
22
+ currentPage: number;
23
+ totalPages: number;
24
+ totalRecords: number;
25
+ limit: number;
26
+ hasNextPage: boolean;
27
+ hasPreviousPage: boolean;
28
+ }, path?: string): void;
29
+ /**
30
+ * Send a validation error response
31
+ */
32
+ static validationError(res: any, message?: string, errors?: any, path?: string): void;
33
+ /**
34
+ * Send a not found response
35
+ */
36
+ static notFound(res: any, message?: string, path?: string): void;
37
+ /**
38
+ * Send an unauthorized response
39
+ */
40
+ static unauthorized(res: any, message?: string, path?: string): void;
41
+ /**
42
+ * Send a forbidden response
43
+ */
44
+ static forbidden(res: any, message?: string, path?: string): void;
45
+ }
46
+ //# sourceMappingURL=responseHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responseHandler.d.ts","sourceRoot":"","sources":["../core/responseHandler.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,eAAe;IACxB;;OAEG;IACH,MAAM,CAAC,OAAO,CACV,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,MAAY,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,GAAG,EACZ,IAAI,CAAC,EAAE,MAAM,GACd,IAAI;IAaP;;OAEG;IACH,MAAM,CAAC,KAAK,CACR,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,MAAY,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,GAAG,EACZ,IAAI,CAAC,EAAE,MAAM,GACd,IAAI;IAaP;;OAEG;IACH,MAAM,CAAC,qBAAqB,CACxB,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,MAAY,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,GAAG,EACX,UAAU,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,OAAO,CAAC;QACrB,eAAe,EAAE,OAAO,CAAC;KAC5B,EACD,IAAI,CAAC,EAAE,MAAM,GACd,IAAI;IAgBP;;OAEG;IACH,MAAM,CAAC,eAAe,CAClB,GAAG,EAAE,GAAG,EACR,OAAO,GAAE,MAA4B,EACrC,MAAM,CAAC,EAAE,GAAG,EACZ,IAAI,CAAC,EAAE,MAAM,GACd,IAAI;IAaP;;OAEG;IACH,MAAM,CAAC,QAAQ,CACX,GAAG,EAAE,GAAG,EACR,OAAO,GAAE,MAA6B,EACtC,IAAI,CAAC,EAAE,MAAM,GACd,IAAI;IAYP;;OAEG;IACH,MAAM,CAAC,YAAY,CACf,GAAG,EAAE,GAAG,EACR,OAAO,GAAE,MAA8B,EACvC,IAAI,CAAC,EAAE,MAAM,GACd,IAAI;IAYP;;OAEG;IACH,MAAM,CAAC,SAAS,CACZ,GAAG,EAAE,GAAG,EACR,OAAO,GAAE,MAA2B,EACpC,IAAI,CAAC,EAAE,MAAM,GACd,IAAI;CAWV"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResponseHandler = void 0;
4
+ class ResponseHandler {
5
+ /**
6
+ * Send a successful response
7
+ */
8
+ static success(res, statusCode = 200, message, output, path) {
9
+ const response = {
10
+ statusCode,
11
+ status: true,
12
+ message,
13
+ timestamp: new Date().toISOString(),
14
+ ...(output && { output }),
15
+ ...(path && { path })
16
+ };
17
+ res.status(statusCode).json(response);
18
+ }
19
+ /**
20
+ * Send an error response
21
+ */
22
+ static error(res, statusCode = 400, message, output, path) {
23
+ const response = {
24
+ statusCode,
25
+ status: false,
26
+ message,
27
+ timestamp: new Date().toISOString(),
28
+ ...(output && { output }),
29
+ ...(path && { path })
30
+ };
31
+ res.status(statusCode).json(response);
32
+ }
33
+ /**
34
+ * Send a paginated response for list output
35
+ */
36
+ static successWithPagination(res, statusCode = 200, message, output, pagination, path) {
37
+ const response = {
38
+ statusCode,
39
+ status: true,
40
+ message,
41
+ output: {
42
+ ...output,
43
+ pagination
44
+ },
45
+ timestamp: new Date().toISOString(),
46
+ ...(path && { path })
47
+ };
48
+ res.status(statusCode).json(response);
49
+ }
50
+ /**
51
+ * Send a validation error response
52
+ */
53
+ static validationError(res, message = "Validation failed", errors, path) {
54
+ const response = {
55
+ statusCode: 400,
56
+ status: false,
57
+ message,
58
+ ...(errors && { output: { errors } }),
59
+ timestamp: new Date().toISOString(),
60
+ ...(path && { path })
61
+ };
62
+ res.status(400).json(response);
63
+ }
64
+ /**
65
+ * Send a not found response
66
+ */
67
+ static notFound(res, message = "Resource not found", path) {
68
+ const response = {
69
+ statusCode: 404,
70
+ status: false,
71
+ message,
72
+ timestamp: new Date().toISOString(),
73
+ ...(path && { path })
74
+ };
75
+ res.status(404).json(response);
76
+ }
77
+ /**
78
+ * Send an unauthorized response
79
+ */
80
+ static unauthorized(res, message = "Unauthorized access", path) {
81
+ const response = {
82
+ statusCode: 401,
83
+ status: false,
84
+ message,
85
+ timestamp: new Date().toISOString(),
86
+ ...(path && { path })
87
+ };
88
+ res.status(401).json(response);
89
+ }
90
+ /**
91
+ * Send a forbidden response
92
+ */
93
+ static forbidden(res, message = "Access forbidden", path) {
94
+ const response = {
95
+ statusCode: 403,
96
+ status: false,
97
+ message,
98
+ timestamp: new Date().toISOString(),
99
+ ...(path && { path })
100
+ };
101
+ res.status(403).json(response);
102
+ }
103
+ }
104
+ exports.ResponseHandler = ResponseHandler;
105
+ //# sourceMappingURL=responseHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responseHandler.js","sourceRoot":"","sources":["../core/responseHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ export type SessionBindingInput = {
2
+ userAgent?: string;
3
+ secChUa?: string;
4
+ secChUaPlatform?: string;
5
+ acceptLanguage?: string;
6
+ ipAddress?: string;
7
+ deviceId?: string;
8
+ };
9
+ type SessionBinding = {
10
+ hash: string;
11
+ snapshot: SessionBindingInput;
12
+ };
13
+ type SessionRecord = {
14
+ sessionId: string;
15
+ userId: string;
16
+ appScope: string;
17
+ loginTime: Date;
18
+ lastActivity: Date;
19
+ expiresAt: Date;
20
+ binding?: SessionBinding;
21
+ };
22
+ declare const activeSessions: Map<string, SessionRecord>;
23
+ export declare class SessionManager {
24
+ private static SESSION_TIMEOUT;
25
+ private static DEFAULT_APP_SCOPE;
26
+ private static resolveAppScope;
27
+ private static getSessionKey;
28
+ private static getUserSessionKey;
29
+ private static persistSession;
30
+ private static hydrateSession;
31
+ /**
32
+ * Create a new session for a user
33
+ */
34
+ private static normalizeIpSegment;
35
+ private static buildBinding;
36
+ static createSession(userId: string, bindingInput?: SessionBindingInput, appScope?: string): string;
37
+ /**
38
+ * Validate and refresh a session
39
+ */
40
+ static validateSession(sessionId: string, bindingInput?: SessionBindingInput, appScope?: string): {
41
+ valid: boolean;
42
+ userId?: string;
43
+ reason?: string;
44
+ };
45
+ /**
46
+ * Remove a specific session
47
+ */
48
+ static removeSession(sessionId: string, appScope?: string): boolean;
49
+ /**
50
+ * Remove all sessions for a specific user
51
+ */
52
+ static removeUserSession(userId: string, appScope?: string): void;
53
+ /**
54
+ * Clean up expired sessions
55
+ */
56
+ static cleanupExpiredSessions(): number;
57
+ }
58
+ export { activeSessions };
59
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../core/session.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,mBAAmB,GAAG;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,cAAc,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,mBAAmB,CAAC;CACjC,CAAC;AAEF,KAAK,aAAa,GAAG;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,IAAI,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,cAAc,CAAC;CAC5B,CAAC;AAGF,QAAA,MAAM,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAa,CAAC;AAE7D,qBAAa,cAAc;IAGvB,OAAO,CAAC,MAAM,CAAC,eAAe,CAAW;IAEzC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAiB;IAEjD,OAAO,CAAC,MAAM,CAAC,eAAe;IAI9B,OAAO,CAAC,MAAM,CAAC,aAAa;IAI5B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC,OAAO,CAAC,MAAM,CAAC,cAAc;IAa7B,OAAO,CAAC,MAAM,CAAC,cAAc;IAmB7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA0BjC,OAAO,CAAC,MAAM,CAAC,YAAY;IA+B3B,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,mBAAmB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IA4BnG;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,mBAAmB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IA+CtJ;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO;IAqBnE;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAgBjE;;OAEG;IACH,MAAM,CAAC,sBAAsB,IAAI,MAAM;CAoB1C;AASD,OAAO,EAAE,cAAc,EAAE,CAAC"}