@scpxl/nodejs-framework 1.0.13

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 (411) hide show
  1. package/README.md +195 -0
  2. package/dist/api-requester/api-requester.d.ts +11 -0
  3. package/dist/api-requester/api-requester.d.ts.map +1 -0
  4. package/dist/api-requester/api-requester.js +59 -0
  5. package/dist/api-requester/api-requester.js.map +7 -0
  6. package/dist/api-requester/index.d.ts +2 -0
  7. package/dist/api-requester/index.d.ts.map +1 -0
  8. package/dist/api-requester/index.js +5 -0
  9. package/dist/api-requester/index.js.map +7 -0
  10. package/dist/application/base-application.d.ts +110 -0
  11. package/dist/application/base-application.d.ts.map +1 -0
  12. package/dist/application/base-application.interface.d.ts +161 -0
  13. package/dist/application/base-application.interface.d.ts.map +1 -0
  14. package/dist/application/base-application.interface.js +1 -0
  15. package/dist/application/base-application.interface.js.map +7 -0
  16. package/dist/application/base-application.js +350 -0
  17. package/dist/application/base-application.js.map +7 -0
  18. package/dist/application/command-application.d.ts +18 -0
  19. package/dist/application/command-application.d.ts.map +1 -0
  20. package/dist/application/command-application.interface.d.ts +26 -0
  21. package/dist/application/command-application.interface.d.ts.map +1 -0
  22. package/dist/application/command-application.interface.js +1 -0
  23. package/dist/application/command-application.interface.js.map +7 -0
  24. package/dist/application/command-application.js +110 -0
  25. package/dist/application/command-application.js.map +7 -0
  26. package/dist/application/index.d.ts +5 -0
  27. package/dist/application/index.d.ts.map +1 -0
  28. package/dist/application/index.js +7 -0
  29. package/dist/application/index.js.map +7 -0
  30. package/dist/application/web-application.d.ts +43 -0
  31. package/dist/application/web-application.d.ts.map +1 -0
  32. package/dist/application/web-application.interface.d.ts +21 -0
  33. package/dist/application/web-application.interface.d.ts.map +1 -0
  34. package/dist/application/web-application.interface.js +1 -0
  35. package/dist/application/web-application.interface.js.map +7 -0
  36. package/dist/application/web-application.js +176 -0
  37. package/dist/application/web-application.js.map +7 -0
  38. package/dist/auth/index.d.ts +2 -0
  39. package/dist/auth/index.d.ts.map +1 -0
  40. package/dist/auth/index.js +5 -0
  41. package/dist/auth/index.js.map +7 -0
  42. package/dist/auth/jwt.d.ts +25 -0
  43. package/dist/auth/jwt.d.ts.map +1 -0
  44. package/dist/auth/jwt.js +51 -0
  45. package/dist/auth/jwt.js.map +7 -0
  46. package/dist/cache/index.d.ts +2 -0
  47. package/dist/cache/index.d.ts.map +1 -0
  48. package/dist/cache/index.js +5 -0
  49. package/dist/cache/index.js.map +7 -0
  50. package/dist/cache/manager.d.ts +26 -0
  51. package/dist/cache/manager.d.ts.map +1 -0
  52. package/dist/cache/manager.js +54 -0
  53. package/dist/cache/manager.js.map +7 -0
  54. package/dist/cluster/cluster-manager.d.ts +15 -0
  55. package/dist/cluster/cluster-manager.d.ts.map +1 -0
  56. package/dist/cluster/cluster-manager.interface.d.ts +23 -0
  57. package/dist/cluster/cluster-manager.interface.d.ts.map +1 -0
  58. package/dist/cluster/cluster-manager.interface.js +1 -0
  59. package/dist/cluster/cluster-manager.interface.js.map +7 -0
  60. package/dist/cluster/cluster-manager.js +106 -0
  61. package/dist/cluster/cluster-manager.js.map +7 -0
  62. package/dist/cluster/index.d.ts +2 -0
  63. package/dist/cluster/index.d.ts.map +1 -0
  64. package/dist/cluster/index.js +13 -0
  65. package/dist/cluster/index.js.map +7 -0
  66. package/dist/command/command-manager.d.ts +19 -0
  67. package/dist/command/command-manager.d.ts.map +1 -0
  68. package/dist/command/command-manager.js +42 -0
  69. package/dist/command/command-manager.js.map +7 -0
  70. package/dist/command/command.d.ts +27 -0
  71. package/dist/command/command.d.ts.map +1 -0
  72. package/dist/command/command.interface.d.ts +11 -0
  73. package/dist/command/command.interface.d.ts.map +1 -0
  74. package/dist/command/command.interface.js +1 -0
  75. package/dist/command/command.interface.js.map +7 -0
  76. package/dist/command/command.js +37 -0
  77. package/dist/command/command.js.map +7 -0
  78. package/dist/command/index.d.ts +3 -0
  79. package/dist/command/index.d.ts.map +1 -0
  80. package/dist/command/index.js +7 -0
  81. package/dist/command/index.js.map +7 -0
  82. package/dist/database/dynamic-entity-form-decorators.d.ts +31 -0
  83. package/dist/database/dynamic-entity-form-decorators.d.ts.map +1 -0
  84. package/dist/database/dynamic-entity-form-decorators.js +62 -0
  85. package/dist/database/dynamic-entity-form-decorators.js.map +7 -0
  86. package/dist/database/dynamic-entity.d.ts +15 -0
  87. package/dist/database/dynamic-entity.d.ts.map +1 -0
  88. package/dist/database/dynamic-entity.js +42 -0
  89. package/dist/database/dynamic-entity.js.map +7 -0
  90. package/dist/database/index.d.ts +5 -0
  91. package/dist/database/index.d.ts.map +1 -0
  92. package/dist/database/index.js +12 -0
  93. package/dist/database/index.js.map +7 -0
  94. package/dist/database/instance.d.ts +36 -0
  95. package/dist/database/instance.d.ts.map +1 -0
  96. package/dist/database/instance.interface.d.ts +5 -0
  97. package/dist/database/instance.interface.d.ts.map +1 -0
  98. package/dist/database/instance.interface.js +1 -0
  99. package/dist/database/instance.interface.js.map +7 -0
  100. package/dist/database/instance.js +57 -0
  101. package/dist/database/instance.js.map +7 -0
  102. package/dist/database/manager.d.ts +27 -0
  103. package/dist/database/manager.d.ts.map +1 -0
  104. package/dist/database/manager.interface.d.ts +18 -0
  105. package/dist/database/manager.interface.d.ts.map +1 -0
  106. package/dist/database/manager.interface.js +1 -0
  107. package/dist/database/manager.interface.js.map +7 -0
  108. package/dist/database/manager.js +49 -0
  109. package/dist/database/manager.js.map +7 -0
  110. package/dist/event/controller/base.d.ts +23 -0
  111. package/dist/event/controller/base.d.ts.map +1 -0
  112. package/dist/event/controller/base.interface.d.ts +11 -0
  113. package/dist/event/controller/base.interface.d.ts.map +1 -0
  114. package/dist/event/controller/base.interface.js +1 -0
  115. package/dist/event/controller/base.interface.js.map +7 -0
  116. package/dist/event/controller/base.js +51 -0
  117. package/dist/event/controller/base.js.map +7 -0
  118. package/dist/event/index.d.ts +5 -0
  119. package/dist/event/index.d.ts.map +1 -0
  120. package/dist/event/index.js +9 -0
  121. package/dist/event/index.js.map +7 -0
  122. package/dist/event/manager.d.ts +21 -0
  123. package/dist/event/manager.d.ts.map +1 -0
  124. package/dist/event/manager.interface.d.ts +134 -0
  125. package/dist/event/manager.interface.d.ts.map +1 -0
  126. package/dist/event/manager.interface.js +1 -0
  127. package/dist/event/manager.interface.js.map +7 -0
  128. package/dist/event/manager.js +134 -0
  129. package/dist/event/manager.js.map +7 -0
  130. package/dist/index.d.ts +18 -0
  131. package/dist/index.d.ts.map +1 -0
  132. package/dist/index.js +23 -0
  133. package/dist/index.js.map +7 -0
  134. package/dist/logger/index.d.ts +2 -0
  135. package/dist/logger/index.d.ts.map +1 -0
  136. package/dist/logger/index.js +5 -0
  137. package/dist/logger/index.js.map +7 -0
  138. package/dist/logger/logger.d.ts +51 -0
  139. package/dist/logger/logger.d.ts.map +1 -0
  140. package/dist/logger/logger.interface.d.ts +2 -0
  141. package/dist/logger/logger.interface.d.ts.map +1 -0
  142. package/dist/logger/logger.interface.js +1 -0
  143. package/dist/logger/logger.interface.js.map +7 -0
  144. package/dist/logger/logger.js +168 -0
  145. package/dist/logger/logger.js.map +7 -0
  146. package/dist/performance/cache-performance.d.ts +58 -0
  147. package/dist/performance/cache-performance.d.ts.map +1 -0
  148. package/dist/performance/cache-performance.js +199 -0
  149. package/dist/performance/cache-performance.js.map +7 -0
  150. package/dist/performance/database-performance.d.ts +40 -0
  151. package/dist/performance/database-performance.d.ts.map +1 -0
  152. package/dist/performance/database-performance.js +132 -0
  153. package/dist/performance/database-performance.js.map +7 -0
  154. package/dist/performance/index.d.ts +7 -0
  155. package/dist/performance/index.d.ts.map +1 -0
  156. package/dist/performance/index.js +7 -0
  157. package/dist/performance/index.js.map +7 -0
  158. package/dist/performance/performance-monitor.d.ts +68 -0
  159. package/dist/performance/performance-monitor.d.ts.map +1 -0
  160. package/dist/performance/performance-monitor.js +270 -0
  161. package/dist/performance/performance-monitor.js.map +7 -0
  162. package/dist/performance/queue-performance.d.ts +46 -0
  163. package/dist/performance/queue-performance.d.ts.map +1 -0
  164. package/dist/performance/queue-performance.js +144 -0
  165. package/dist/performance/queue-performance.js.map +7 -0
  166. package/dist/performance/webserver-performance.d.ts +69 -0
  167. package/dist/performance/webserver-performance.d.ts.map +1 -0
  168. package/dist/performance/webserver-performance.js +164 -0
  169. package/dist/performance/webserver-performance.js.map +7 -0
  170. package/dist/performance/websocket-performance.d.ts +44 -0
  171. package/dist/performance/websocket-performance.d.ts.map +1 -0
  172. package/dist/performance/websocket-performance.js +139 -0
  173. package/dist/performance/websocket-performance.js.map +7 -0
  174. package/dist/queue/index.d.ts +6 -0
  175. package/dist/queue/index.d.ts.map +1 -0
  176. package/dist/queue/index.interface.d.ts +10 -0
  177. package/dist/queue/index.interface.d.ts.map +1 -0
  178. package/dist/queue/index.interface.js +1 -0
  179. package/dist/queue/index.interface.js.map +7 -0
  180. package/dist/queue/index.js +7 -0
  181. package/dist/queue/index.js.map +7 -0
  182. package/dist/queue/job.interface.d.ts +42 -0
  183. package/dist/queue/job.interface.d.ts.map +1 -0
  184. package/dist/queue/job.interface.js +1 -0
  185. package/dist/queue/job.interface.js.map +7 -0
  186. package/dist/queue/manager.d.ts +36 -0
  187. package/dist/queue/manager.d.ts.map +1 -0
  188. package/dist/queue/manager.interface.d.ts +18 -0
  189. package/dist/queue/manager.interface.d.ts.map +1 -0
  190. package/dist/queue/manager.interface.js +1 -0
  191. package/dist/queue/manager.interface.js.map +7 -0
  192. package/dist/queue/manager.js +244 -0
  193. package/dist/queue/manager.js.map +7 -0
  194. package/dist/queue/processor/base.d.ts +28 -0
  195. package/dist/queue/processor/base.d.ts.map +1 -0
  196. package/dist/queue/processor/base.js +46 -0
  197. package/dist/queue/processor/base.js.map +7 -0
  198. package/dist/queue/processor/processor.interface.d.ts +15 -0
  199. package/dist/queue/processor/processor.interface.d.ts.map +1 -0
  200. package/dist/queue/processor/processor.interface.js +1 -0
  201. package/dist/queue/processor/processor.interface.js.map +7 -0
  202. package/dist/queue/worker.d.ts +14 -0
  203. package/dist/queue/worker.d.ts.map +1 -0
  204. package/dist/queue/worker.interface.d.ts +13 -0
  205. package/dist/queue/worker.interface.d.ts.map +1 -0
  206. package/dist/queue/worker.interface.js +1 -0
  207. package/dist/queue/worker.interface.js.map +7 -0
  208. package/dist/queue/worker.js +72 -0
  209. package/dist/queue/worker.js.map +7 -0
  210. package/dist/redis/index.d.ts +3 -0
  211. package/dist/redis/index.d.ts.map +1 -0
  212. package/dist/redis/index.js +7 -0
  213. package/dist/redis/index.js.map +7 -0
  214. package/dist/redis/instance.d.ts +32 -0
  215. package/dist/redis/instance.d.ts.map +1 -0
  216. package/dist/redis/instance.interface.d.ts +9 -0
  217. package/dist/redis/instance.interface.d.ts.map +1 -0
  218. package/dist/redis/instance.interface.js +1 -0
  219. package/dist/redis/instance.interface.js.map +7 -0
  220. package/dist/redis/instance.js +92 -0
  221. package/dist/redis/instance.js.map +7 -0
  222. package/dist/redis/manager.d.ts +15 -0
  223. package/dist/redis/manager.d.ts.map +1 -0
  224. package/dist/redis/manager.interface.d.ts +8 -0
  225. package/dist/redis/manager.interface.d.ts.map +1 -0
  226. package/dist/redis/manager.interface.js +1 -0
  227. package/dist/redis/manager.interface.js.map +7 -0
  228. package/dist/redis/manager.js +65 -0
  229. package/dist/redis/manager.js.map +7 -0
  230. package/dist/services/aws/index.d.ts +2 -0
  231. package/dist/services/aws/index.d.ts.map +1 -0
  232. package/dist/services/aws/index.js +5 -0
  233. package/dist/services/aws/index.js.map +7 -0
  234. package/dist/services/aws/s3.d.ts +54 -0
  235. package/dist/services/aws/s3.d.ts.map +1 -0
  236. package/dist/services/aws/s3.interface.d.ts +14 -0
  237. package/dist/services/aws/s3.interface.d.ts.map +1 -0
  238. package/dist/services/aws/s3.interface.js +1 -0
  239. package/dist/services/aws/s3.interface.js.map +7 -0
  240. package/dist/services/aws/s3.js +236 -0
  241. package/dist/services/aws/s3.js.map +7 -0
  242. package/dist/services/index.d.ts +2 -0
  243. package/dist/services/index.d.ts.map +1 -0
  244. package/dist/services/index.js +2 -0
  245. package/dist/services/index.js.map +7 -0
  246. package/dist/util/file.d.ts +45 -0
  247. package/dist/util/file.d.ts.map +1 -0
  248. package/dist/util/file.js +105 -0
  249. package/dist/util/file.js.map +7 -0
  250. package/dist/util/helper.d.ts +37 -0
  251. package/dist/util/helper.d.ts.map +1 -0
  252. package/dist/util/helper.js +73 -0
  253. package/dist/util/helper.js.map +7 -0
  254. package/dist/util/image.d.ts +12 -0
  255. package/dist/util/image.d.ts.map +1 -0
  256. package/dist/util/image.js +35 -0
  257. package/dist/util/image.js.map +7 -0
  258. package/dist/util/index.d.ts +10 -0
  259. package/dist/util/index.d.ts.map +1 -0
  260. package/dist/util/index.js +21 -0
  261. package/dist/util/index.js.map +7 -0
  262. package/dist/util/loader.d.ts +19 -0
  263. package/dist/util/loader.d.ts.map +1 -0
  264. package/dist/util/loader.js +84 -0
  265. package/dist/util/loader.js.map +7 -0
  266. package/dist/util/num.d.ts +13 -0
  267. package/dist/util/num.d.ts.map +1 -0
  268. package/dist/util/num.js +16 -0
  269. package/dist/util/num.js.map +7 -0
  270. package/dist/util/os.d.ts +6 -0
  271. package/dist/util/os.d.ts.map +1 -0
  272. package/dist/util/os.js +32 -0
  273. package/dist/util/os.js.map +7 -0
  274. package/dist/util/str.d.ts +39 -0
  275. package/dist/util/str.d.ts.map +1 -0
  276. package/dist/util/str.js +34 -0
  277. package/dist/util/str.js.map +7 -0
  278. package/dist/util/time.d.ts +13 -0
  279. package/dist/util/time.d.ts.map +1 -0
  280. package/dist/util/time.interface.d.ts +12 -0
  281. package/dist/util/time.interface.d.ts.map +1 -0
  282. package/dist/util/time.interface.js +1 -0
  283. package/dist/util/time.interface.js.map +7 -0
  284. package/dist/util/time.js +90 -0
  285. package/dist/util/time.js.map +7 -0
  286. package/dist/util/url.d.ts +7 -0
  287. package/dist/util/url.d.ts.map +1 -0
  288. package/dist/util/url.js +12 -0
  289. package/dist/util/url.js.map +7 -0
  290. package/dist/webserver/controller/auth-middleware.d.ts +21 -0
  291. package/dist/webserver/controller/auth-middleware.d.ts.map +1 -0
  292. package/dist/webserver/controller/auth-middleware.js +33 -0
  293. package/dist/webserver/controller/auth-middleware.js.map +7 -0
  294. package/dist/webserver/controller/base.d.ts +39 -0
  295. package/dist/webserver/controller/base.d.ts.map +1 -0
  296. package/dist/webserver/controller/base.interface.d.ts +45 -0
  297. package/dist/webserver/controller/base.interface.d.ts.map +1 -0
  298. package/dist/webserver/controller/base.interface.js +1 -0
  299. package/dist/webserver/controller/base.interface.js.map +7 -0
  300. package/dist/webserver/controller/base.js +188 -0
  301. package/dist/webserver/controller/base.js.map +7 -0
  302. package/dist/webserver/controller/entity.d.ts +94 -0
  303. package/dist/webserver/controller/entity.d.ts.map +1 -0
  304. package/dist/webserver/controller/entity.js +361 -0
  305. package/dist/webserver/controller/entity.js.map +7 -0
  306. package/dist/webserver/controller/example-auth.d.ts +12 -0
  307. package/dist/webserver/controller/example-auth.d.ts.map +1 -0
  308. package/dist/webserver/controller/example-auth.js +53 -0
  309. package/dist/webserver/controller/example-auth.js.map +7 -0
  310. package/dist/webserver/controller/health.d.ts +8 -0
  311. package/dist/webserver/controller/health.d.ts.map +1 -0
  312. package/dist/webserver/controller/health.js +50 -0
  313. package/dist/webserver/controller/health.js.map +7 -0
  314. package/dist/webserver/index.d.ts +12 -0
  315. package/dist/webserver/index.d.ts.map +1 -0
  316. package/dist/webserver/index.js +19 -0
  317. package/dist/webserver/index.js.map +7 -0
  318. package/dist/webserver/util.d.ts +10 -0
  319. package/dist/webserver/util.d.ts.map +1 -0
  320. package/dist/webserver/util.js +63 -0
  321. package/dist/webserver/util.js.map +7 -0
  322. package/dist/webserver/webserver.d.ts +65 -0
  323. package/dist/webserver/webserver.d.ts.map +1 -0
  324. package/dist/webserver/webserver.interface.d.ts +118 -0
  325. package/dist/webserver/webserver.interface.d.ts.map +1 -0
  326. package/dist/webserver/webserver.interface.js +9 -0
  327. package/dist/webserver/webserver.interface.js.map +7 -0
  328. package/dist/webserver/webserver.js +347 -0
  329. package/dist/webserver/webserver.js.map +7 -0
  330. package/dist/websocket/controller/client/base.d.ts +12 -0
  331. package/dist/websocket/controller/client/base.d.ts.map +1 -0
  332. package/dist/websocket/controller/client/base.interface.d.ts +12 -0
  333. package/dist/websocket/controller/client/base.interface.d.ts.map +1 -0
  334. package/dist/websocket/controller/client/base.interface.js +1 -0
  335. package/dist/websocket/controller/client/base.interface.js.map +7 -0
  336. package/dist/websocket/controller/client/base.js +26 -0
  337. package/dist/websocket/controller/client/base.js.map +7 -0
  338. package/dist/websocket/controller/server/base.d.ts +13 -0
  339. package/dist/websocket/controller/server/base.d.ts.map +1 -0
  340. package/dist/websocket/controller/server/base.interface.d.ts +13 -0
  341. package/dist/websocket/controller/server/base.interface.d.ts.map +1 -0
  342. package/dist/websocket/controller/server/base.interface.js +1 -0
  343. package/dist/websocket/controller/server/base.interface.js.map +7 -0
  344. package/dist/websocket/controller/server/base.js +26 -0
  345. package/dist/websocket/controller/server/base.js.map +7 -0
  346. package/dist/websocket/controllers/client/system.d.ts +6 -0
  347. package/dist/websocket/controllers/client/system.d.ts.map +1 -0
  348. package/dist/websocket/controllers/client/system.js +14 -0
  349. package/dist/websocket/controllers/client/system.js.map +7 -0
  350. package/dist/websocket/controllers/server/system.d.ts +7 -0
  351. package/dist/websocket/controllers/server/system.d.ts.map +1 -0
  352. package/dist/websocket/controllers/server/system.js +87 -0
  353. package/dist/websocket/controllers/server/system.js.map +7 -0
  354. package/dist/websocket/index.d.ts +7 -0
  355. package/dist/websocket/index.d.ts.map +1 -0
  356. package/dist/websocket/index.js +11 -0
  357. package/dist/websocket/index.js.map +7 -0
  358. package/dist/websocket/routes/client/system.d.ts +3 -0
  359. package/dist/websocket/routes/client/system.d.ts.map +1 -0
  360. package/dist/websocket/routes/client/system.js +11 -0
  361. package/dist/websocket/routes/client/system.js.map +7 -0
  362. package/dist/websocket/routes/server/system.d.ts +3 -0
  363. package/dist/websocket/routes/server/system.d.ts.map +1 -0
  364. package/dist/websocket/routes/server/system.js +16 -0
  365. package/dist/websocket/routes/server/system.js.map +7 -0
  366. package/dist/websocket/utils.d.ts +9 -0
  367. package/dist/websocket/utils.d.ts.map +1 -0
  368. package/dist/websocket/utils.js +39 -0
  369. package/dist/websocket/utils.js.map +7 -0
  370. package/dist/websocket/websocket-base.d.ts +15 -0
  371. package/dist/websocket/websocket-base.d.ts.map +1 -0
  372. package/dist/websocket/websocket-base.js +104 -0
  373. package/dist/websocket/websocket-base.js.map +7 -0
  374. package/dist/websocket/websocket-client-manager.d.ts +53 -0
  375. package/dist/websocket/websocket-client-manager.d.ts.map +1 -0
  376. package/dist/websocket/websocket-client-manager.interface.d.ts +8 -0
  377. package/dist/websocket/websocket-client-manager.interface.d.ts.map +1 -0
  378. package/dist/websocket/websocket-client-manager.interface.js +1 -0
  379. package/dist/websocket/websocket-client-manager.interface.js.map +7 -0
  380. package/dist/websocket/websocket-client-manager.js +225 -0
  381. package/dist/websocket/websocket-client-manager.js.map +7 -0
  382. package/dist/websocket/websocket-client.d.ts +35 -0
  383. package/dist/websocket/websocket-client.d.ts.map +1 -0
  384. package/dist/websocket/websocket-client.interface.d.ts +14 -0
  385. package/dist/websocket/websocket-client.interface.d.ts.map +1 -0
  386. package/dist/websocket/websocket-client.interface.js +1 -0
  387. package/dist/websocket/websocket-client.interface.js.map +7 -0
  388. package/dist/websocket/websocket-client.js +158 -0
  389. package/dist/websocket/websocket-client.js.map +7 -0
  390. package/dist/websocket/websocket-room-manager.d.ts +32 -0
  391. package/dist/websocket/websocket-room-manager.d.ts.map +1 -0
  392. package/dist/websocket/websocket-room-manager.js +130 -0
  393. package/dist/websocket/websocket-room-manager.js.map +7 -0
  394. package/dist/websocket/websocket-server.d.ts +92 -0
  395. package/dist/websocket/websocket-server.d.ts.map +1 -0
  396. package/dist/websocket/websocket-server.interface.d.ts +16 -0
  397. package/dist/websocket/websocket-server.interface.d.ts.map +1 -0
  398. package/dist/websocket/websocket-server.interface.js +1 -0
  399. package/dist/websocket/websocket-server.interface.js.map +7 -0
  400. package/dist/websocket/websocket-server.js +686 -0
  401. package/dist/websocket/websocket-server.js.map +7 -0
  402. package/dist/websocket/websocket-service.d.ts +44 -0
  403. package/dist/websocket/websocket-service.d.ts.map +1 -0
  404. package/dist/websocket/websocket-service.js +99 -0
  405. package/dist/websocket/websocket-service.js.map +7 -0
  406. package/dist/websocket/websocket.interface.d.ts +119 -0
  407. package/dist/websocket/websocket.interface.d.ts.map +1 -0
  408. package/dist/websocket/websocket.interface.js +18 -0
  409. package/dist/websocket/websocket.interface.js.map +7 -0
  410. package/package.json +159 -0
  411. package/pxl.js +4 -0
@@ -0,0 +1,347 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import Fastify from "fastify";
4
+ import cors from "@fastify/cors";
5
+ import multipart from "@fastify/multipart";
6
+ import {
7
+ WebServerRouteType
8
+ } from "./webserver.interface.js";
9
+ import { Logger } from "../logger/index.js";
10
+ import { Helper, Loader, Time } from "../util/index.js";
11
+ import WebServerUtil from "./util.js";
12
+ import { WebServerHealthController } from "../index.js";
13
+ import { existsSync } from "fs";
14
+ class WebServer {
15
+ static {
16
+ __name(this, "WebServer");
17
+ }
18
+ logger = Logger;
19
+ applicationConfig;
20
+ options;
21
+ routes;
22
+ redisInstance;
23
+ queueManager;
24
+ eventManager;
25
+ databaseInstance;
26
+ fastifyServer;
27
+ constructor(params) {
28
+ const defaultOptions = {
29
+ host: "0.0.0.0",
30
+ port: 3001,
31
+ cors: {
32
+ enabled: false
33
+ },
34
+ errors: {
35
+ verbose: false
36
+ },
37
+ debug: {
38
+ printRoutes: false,
39
+ simulateSlowConnection: {
40
+ enabled: false,
41
+ delay: 250
42
+ }
43
+ },
44
+ log: {
45
+ startUp: true
46
+ }
47
+ };
48
+ const mergedOptions = Helper.defaultsDeep(params.options, defaultOptions);
49
+ this.applicationConfig = params.applicationConfig;
50
+ this.options = mergedOptions;
51
+ this.routes = params.routes;
52
+ this.redisInstance = params.redisInstance;
53
+ this.queueManager = params.queueManager;
54
+ this.eventManager = params.eventManager;
55
+ this.databaseInstance = params.databaseInstance;
56
+ this.fastifyServer = Fastify({
57
+ logger: false,
58
+ // body limit = 5gb
59
+ bodyLimit: 5 * 1024 * 1024 * 1024,
60
+ // 30 minutes
61
+ connectionTimeout: 30 * 60 * 1e3
62
+ });
63
+ }
64
+ /**
65
+ * Load web server.
66
+ */
67
+ async load() {
68
+ this.configureHooks();
69
+ this.configureCORS();
70
+ this.configureMultipartUploads();
71
+ await this.configureRoutes();
72
+ }
73
+ /**
74
+ * Configure hooks.
75
+ */
76
+ configureHooks() {
77
+ this.fastifyServer.addHook("onListen", async () => this.onListen());
78
+ this.fastifyServer.addHook("onRequest", async (request) => this.onRequest(request));
79
+ this.fastifyServer.addHook("onResponse", async (request, reply) => this.onResponse(request, reply));
80
+ this.fastifyServer.addHook("onError", async (request, reply, error) => this.onError(request, reply, error));
81
+ this.fastifyServer.addHook("onClose", async () => this.onClose());
82
+ }
83
+ async onListen() {
84
+ const address = this.fastifyServer.server.address();
85
+ const port = typeof address === "string" ? address : address?.port;
86
+ if (this.options.log?.startUp) {
87
+ this.log("Started", {
88
+ Host: this.options.host,
89
+ Port: port,
90
+ // CORS: this.options.cors?.enabled && this.options.cors?..length > 0 ? this.options.corsUrls.join(', ') : 'Disabled',
91
+ CORS: this.options.cors?.enabled ? this.options.cors.urls.join(", ") : "Disabled",
92
+ "Fastify Version": this.fastifyServer.version
93
+ });
94
+ }
95
+ }
96
+ async onRequest(request) {
97
+ if (this.options.debug?.simulateSlowConnection?.enabled && this.options.debug?.simulateSlowConnection?.delay && this.options.debug?.simulateSlowConnection?.delay > 0) {
98
+ await new Promise((resolve) => setTimeout(resolve, this.options.debug?.simulateSlowConnection?.delay));
99
+ }
100
+ const pathsToIgnore = ["/health"];
101
+ if (pathsToIgnore.includes(request.url) || request.method === "OPTIONS") {
102
+ } else {
103
+ request.startTime = process.hrtime();
104
+ }
105
+ }
106
+ async onResponse(request, reply) {
107
+ if (!request.startTime) {
108
+ return;
109
+ }
110
+ const executionTime = Time.calculateElapsedTime({
111
+ startTime: request.startTime
112
+ });
113
+ const formattedExecutionTime = Time.formatTime({
114
+ time: executionTime,
115
+ numDecimals: 3
116
+ });
117
+ const ip = request.headers["x-forwarded-for"] ?? request.ip;
118
+ const logParams = {
119
+ Method: request.method,
120
+ Path: request.url,
121
+ Status: reply.statusCode
122
+ };
123
+ if (process.env.NODE_ENV !== "local") {
124
+ logParams.IP = ip.toString();
125
+ }
126
+ logParams.Time = formattedExecutionTime;
127
+ this.log("API Request", logParams);
128
+ }
129
+ async onError(request, reply, error) {
130
+ Logger.error({ error });
131
+ }
132
+ async onClose() {
133
+ this.log("Stopped");
134
+ }
135
+ configureCORS() {
136
+ if (!this.options.cors?.enabled) {
137
+ return;
138
+ }
139
+ const origin = this.options.cors.urls.includes("*") ? true : this.options.cors.urls;
140
+ this.fastifyServer.register(cors, {
141
+ origin,
142
+ methods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
143
+ allowedHeaders: ["Content-Type", "Authorization"],
144
+ preflightContinue: false,
145
+ optionsSuccessStatus: 204
146
+ // credentials: true,
147
+ });
148
+ }
149
+ configureMultipartUploads() {
150
+ this.fastifyServer.register(multipart, {
151
+ // attachFieldsToBody: true,
152
+ limits: {
153
+ fieldNameSize: 100,
154
+ fieldSize: 1024 * 1024 * 10,
155
+ fields: 10,
156
+ fileSize: 1024 * 1024 * 1024 * 10,
157
+ // 10GB file size limit
158
+ files: 1,
159
+ headerPairs: 2e3
160
+ }
161
+ });
162
+ }
163
+ /**
164
+ * Configure routes.
165
+ */
166
+ async configureRoutes() {
167
+ const controllersDirectoryExists = await existsSync(this.options.controllersDirectory);
168
+ if (!controllersDirectoryExists) {
169
+ Logger.warn({
170
+ message: "Web server controllers directory not found",
171
+ meta: {
172
+ Directory: this.options.controllersDirectory
173
+ }
174
+ });
175
+ return;
176
+ }
177
+ const controllers = await Loader.loadModulesInDirectory({
178
+ directory: this.options.controllersDirectory,
179
+ extensions: [".ts", ".js"]
180
+ });
181
+ this.routes.push({
182
+ type: WebServerRouteType.Default,
183
+ method: "GET",
184
+ path: "/health",
185
+ controller: WebServerHealthController,
186
+ action: "health"
187
+ });
188
+ for (const route of this.routes) {
189
+ let ControllerClass;
190
+ let controllerName;
191
+ if (route.controller) {
192
+ ControllerClass = route.controller;
193
+ controllerName = ControllerClass.name;
194
+ } else if (route.controllerName) {
195
+ ControllerClass = controllers[route.controllerName];
196
+ controllerName = route.controllerName;
197
+ } else {
198
+ throw new Error("Web server controller config not found");
199
+ }
200
+ if (typeof ControllerClass !== "function") {
201
+ const controllerPath = `${this.options.controllersDirectory}/${route.controllerName}.ts`;
202
+ Logger.warn({
203
+ message: "Web server controller not found",
204
+ meta: {
205
+ Controller: route.controllerName,
206
+ Path: controllerPath,
207
+ Route: `${route.path}`
208
+ }
209
+ });
210
+ continue;
211
+ }
212
+ const controllerInstance = new ControllerClass({
213
+ applicationConfig: this.applicationConfig,
214
+ webServerOptions: this.options,
215
+ redisInstance: this.redisInstance,
216
+ queueManager: this.queueManager,
217
+ eventManager: this.eventManager,
218
+ databaseInstance: this.databaseInstance
219
+ });
220
+ let routeMethod;
221
+ let routeAction;
222
+ let routePath;
223
+ switch (route.type) {
224
+ case WebServerRouteType.Default: {
225
+ routeMethod = route.method;
226
+ routeAction = route.action;
227
+ routePath = route.path;
228
+ this.defineRoute({
229
+ controllerInstance,
230
+ controllerName,
231
+ routeMethod,
232
+ routePath,
233
+ routeAction,
234
+ routeValidation: route.validation
235
+ });
236
+ break;
237
+ }
238
+ case WebServerRouteType.Entity: {
239
+ if (this.applicationConfig.database && this.applicationConfig.database.enabled === true) {
240
+ const entityModel = await Loader.loadEntityModule({
241
+ entitiesDirectory: this.applicationConfig.database.entitiesDirectory,
242
+ entityName: route.entityName
243
+ });
244
+ const entityValidationSchema = entityModel.schema?.describe();
245
+ const formattedEntityValidationSchema = entityValidationSchema ? {
246
+ type: "object",
247
+ properties: Object.fromEntries(
248
+ Object.entries(entityValidationSchema.keys).map(([key, value]) => [
249
+ key,
250
+ { type: value.type }
251
+ ])
252
+ ),
253
+ required: Object.keys(entityValidationSchema.keys).filter(
254
+ (key) => entityValidationSchema.keys[key].flags?.presence === "required"
255
+ )
256
+ } : {};
257
+ const entityRouteDefinitions = WebServerUtil.getEntityRouteDefinitions({
258
+ basePath: route.path,
259
+ entityValidationSchema: formattedEntityValidationSchema
260
+ });
261
+ for (const entityRouteDefinition of entityRouteDefinitions) {
262
+ this.defineRoute({
263
+ controllerInstance,
264
+ controllerName,
265
+ routeMethod: entityRouteDefinition.method,
266
+ routePath: entityRouteDefinition.path,
267
+ routeAction: entityRouteDefinition.action,
268
+ routeValidation: entityRouteDefinition.validationSchema
269
+ });
270
+ }
271
+ }
272
+ break;
273
+ }
274
+ }
275
+ }
276
+ if (this.options.debug?.printRoutes) {
277
+ this.log("Routes:");
278
+ console.log(this.fastifyServer.printRoutes());
279
+ }
280
+ }
281
+ async defineRoute({
282
+ controllerInstance,
283
+ controllerName,
284
+ routeMethod,
285
+ routePath,
286
+ routeAction,
287
+ routeValidation
288
+ }) {
289
+ const controllerHandler = controllerInstance[routeAction];
290
+ if (!controllerHandler) {
291
+ Logger.warn({
292
+ message: "Web server controller action not found",
293
+ meta: {
294
+ Controller: controllerName,
295
+ Action: routeAction
296
+ }
297
+ });
298
+ throw new Error("Web server controller action not found");
299
+ }
300
+ this.fastifyServer.route({
301
+ method: routeMethod,
302
+ url: routePath,
303
+ handler: controllerHandler,
304
+ preValidation: /* @__PURE__ */ __name(async (request, reply) => {
305
+ if (!routeValidation?.schema) {
306
+ return;
307
+ }
308
+ const validate = request.compileValidationSchema(routeValidation.schema);
309
+ if (!validate(request[routeValidation.type])) {
310
+ return reply.code(400).send({
311
+ error: validate.errors
312
+ });
313
+ }
314
+ }, "preValidation")
315
+ });
316
+ }
317
+ /**
318
+ * Start web server.
319
+ */
320
+ async start() {
321
+ try {
322
+ await this.fastifyServer.listen({
323
+ host: this.options.host,
324
+ port: this.options.port
325
+ });
326
+ } catch (error) {
327
+ Logger.error({ error });
328
+ }
329
+ }
330
+ /**
331
+ * Stop web server.
332
+ */
333
+ async stop() {
334
+ await this.fastifyServer.close();
335
+ }
336
+ /**
337
+ * Log web server message
338
+ */
339
+ log(message, meta) {
340
+ this.logger.custom({ level: "webServer", message, meta });
341
+ }
342
+ }
343
+ var webserver_default = WebServer;
344
+ export {
345
+ webserver_default as default
346
+ };
347
+ //# sourceMappingURL=webserver.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/webserver/webserver.ts"],
4
+ "sourcesContent": ["import Fastify, { type FastifyInstance, type FastifyReply, type FastifyRequest, type HTTPMethods } from 'fastify';\nimport cors from '@fastify/cors';\nimport multipart from '@fastify/multipart';\nimport {\n type WebServerConstructorParams,\n type WebServerOptions,\n type WebServerRoute,\n WebServerRouteType,\n} from './webserver.interface.js';\nimport { Logger } from '../logger/index.js';\nimport { Helper, Loader, Time } from '../util/index.js';\nimport WebServerUtil from './util.js';\nimport type { RedisInstance } from '../redis/index.js';\nimport type { DatabaseInstance } from '../database/index.js';\nimport type { WebServerBaseControllerType } from './controller/base.interface.js';\nimport type { QueueManager } from '../queue/index.js';\nimport { WebServerHealthController } from '../index.js';\nimport type { ApplicationConfig } from '../application/base-application.interface.js';\nimport { existsSync } from 'fs';\nimport type EventManager from '../event/manager.js';\n\ndeclare module 'fastify' {\n interface FastifyRequest {\n startTime?: [number, number];\n }\n}\n\nclass WebServer {\n private logger: typeof Logger = Logger;\n\n private applicationConfig: ApplicationConfig;\n\n private options: WebServerOptions;\n private routes: WebServerRoute[];\n\n private redisInstance: RedisInstance;\n private queueManager: QueueManager;\n private eventManager: EventManager;\n private databaseInstance: DatabaseInstance;\n\n public fastifyServer: FastifyInstance;\n\n constructor(params: WebServerConstructorParams) {\n // Define default options\n const defaultOptions: Partial<WebServerOptions> = {\n host: '0.0.0.0',\n port: 3001,\n cors: {\n enabled: false,\n },\n errors: {\n verbose: false,\n },\n debug: {\n printRoutes: false,\n simulateSlowConnection: {\n enabled: false,\n delay: 250,\n },\n },\n log: {\n startUp: true,\n },\n };\n\n // Merge default options\n const mergedOptions = Helper.defaultsDeep(params.options, defaultOptions);\n\n this.applicationConfig = params.applicationConfig;\n\n this.options = mergedOptions;\n this.routes = params.routes;\n\n this.redisInstance = params.redisInstance;\n this.queueManager = params.queueManager;\n this.eventManager = params.eventManager;\n this.databaseInstance = params.databaseInstance;\n\n // Create Fastify server\n this.fastifyServer = Fastify({\n logger: false,\n // body limit = 5gb\n bodyLimit: 5 * 1024 * 1024 * 1024,\n // 30 minutes\n connectionTimeout: 30 * 60 * 1000,\n });\n }\n\n /**\n * Load web server.\n */\n public async load(): Promise<void> {\n // Configure hooks\n this.configureHooks();\n\n // Configure CORS\n this.configureCORS();\n\n // Configure multipart uploads\n this.configureMultipartUploads();\n\n // Configure routes\n await this.configureRoutes();\n }\n\n /**\n * Configure hooks.\n */\n private configureHooks(): void {\n this.fastifyServer.addHook('onListen', async () => this.onListen());\n this.fastifyServer.addHook('onRequest', async request => this.onRequest(request));\n this.fastifyServer.addHook('onResponse', async (request, reply) => this.onResponse(request, reply));\n this.fastifyServer.addHook('onError', async (request, reply, error) => this.onError(request, reply, error));\n this.fastifyServer.addHook('onClose', async () => this.onClose());\n\n // if (process.env.NODE_ENV === 'local') {\n // this.fastifyServer.addHook('onSend', (request, reply, payload, done) => {\n // reply.header('Cache-Control', 'no-store');\n // done();\n // });\n // }\n }\n\n private async onListen(): Promise<void> {\n const address = this.fastifyServer.server.address();\n const port = typeof address === 'string' ? address : address?.port;\n\n if (this.options.log?.startUp) {\n this.log('Started', {\n Host: this.options.host,\n Port: port,\n // CORS: this.options.cors?.enabled && this.options.cors?..length > 0 ? this.options.corsUrls.join(', ') : 'Disabled',\n CORS: this.options.cors?.enabled ? this.options.cors.urls.join(', ') : 'Disabled',\n 'Fastify Version': this.fastifyServer.version,\n });\n }\n }\n\n private async onRequest(request: FastifyRequest): Promise<void> {\n if (\n this.options.debug?.simulateSlowConnection?.enabled &&\n this.options.debug?.simulateSlowConnection?.delay &&\n this.options.debug?.simulateSlowConnection?.delay > 0\n ) {\n await new Promise(resolve => setTimeout(resolve, this.options.debug?.simulateSlowConnection?.delay));\n }\n\n const pathsToIgnore = ['/health'];\n\n if (pathsToIgnore.includes(request.url) || request.method === 'OPTIONS') {\n // ...\n } else {\n request.startTime = process.hrtime();\n }\n }\n\n private async onResponse(request: FastifyRequest, reply: FastifyReply): Promise<void> {\n if (!request.startTime) {\n return;\n }\n\n const executionTime = Time.calculateElapsedTime({\n startTime: request.startTime,\n });\n const formattedExecutionTime = Time.formatTime({\n time: executionTime,\n numDecimals: 3,\n });\n\n const ip = request.headers['x-forwarded-for'] ?? request.ip;\n\n const logParams: Record<string, unknown> = {\n Method: request.method,\n Path: request.url,\n Status: reply.statusCode,\n };\n\n if (process.env.NODE_ENV !== 'local') {\n logParams.IP = ip.toString();\n }\n\n logParams.Time = formattedExecutionTime;\n\n // if (cluster.isWorker && cluster.worker) {\n // logParams.Worker = cluster.worker.id;\n // }\n\n this.log('API Request', logParams);\n }\n\n private async onError(request: FastifyRequest, reply: FastifyReply, error: Error): Promise<void> {\n // Adjusted for Fastify types\n Logger.error({ error });\n // Implement any additional logic here\n }\n\n private async onClose(): Promise<void> {\n this.log('Stopped');\n }\n\n private configureCORS(): void {\n if (!this.options.cors?.enabled) {\n return;\n }\n\n // Handle wildcard origin for development\n const origin = this.options.cors.urls.includes('*') ? true : this.options.cors.urls;\n\n this.fastifyServer.register(cors, {\n origin,\n methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],\n allowedHeaders: ['Content-Type', 'Authorization'],\n preflightContinue: false,\n optionsSuccessStatus: 204,\n // credentials: true,\n });\n }\n\n private configureMultipartUploads(): void {\n this.fastifyServer.register(multipart, {\n // attachFieldsToBody: true,\n limits: {\n fieldNameSize: 100,\n fieldSize: 1024 * 1024 * 10,\n fields: 10,\n fileSize: 1024 * 1024 * 1024 * 10, // 10GB file size limit\n files: 1,\n headerPairs: 2000,\n },\n });\n }\n\n /**\n * Configure routes.\n */\n private async configureRoutes(): Promise<void> {\n // Check if controllers directory exists\n const controllersDirectoryExists = await existsSync(this.options.controllersDirectory);\n\n if (!controllersDirectoryExists) {\n Logger.warn({\n message: 'Web server controllers directory not found',\n meta: {\n Directory: this.options.controllersDirectory,\n },\n });\n\n return;\n }\n\n // Load controllers\n const controllers = await Loader.loadModulesInDirectory({\n directory: this.options.controllersDirectory,\n extensions: ['.ts', '.js'],\n });\n\n // Add health check route\n this.routes.push({\n type: WebServerRouteType.Default,\n method: 'GET',\n path: '/health',\n controller: WebServerHealthController,\n action: 'health',\n });\n\n // Go through each route\n for (const route of this.routes) {\n let ControllerClass: WebServerBaseControllerType;\n\n let controllerName;\n\n if (route.controller) {\n ControllerClass = route.controller;\n\n controllerName = ControllerClass.name;\n } else if (route.controllerName) {\n ControllerClass = controllers[route.controllerName];\n\n controllerName = route.controllerName;\n } else {\n throw new Error('Web server controller config not found');\n }\n\n if (typeof ControllerClass !== 'function') {\n const controllerPath = `${this.options.controllersDirectory}/${route.controllerName}.ts`;\n\n Logger.warn({\n message: 'Web server controller not found',\n meta: {\n Controller: route.controllerName,\n Path: controllerPath,\n Route: `${route.path}`,\n },\n });\n\n continue;\n }\n\n // Initialize controller instance\n const controllerInstance = new ControllerClass({\n applicationConfig: this.applicationConfig,\n webServerOptions: this.options,\n redisInstance: this.redisInstance,\n queueManager: this.queueManager,\n eventManager: this.eventManager,\n databaseInstance: this.databaseInstance,\n });\n\n let routeMethod;\n let routeAction;\n let routePath;\n\n switch (route.type) {\n case WebServerRouteType.Default: {\n routeMethod = route.method;\n routeAction = route.action;\n routePath = route.path;\n\n this.defineRoute({\n controllerInstance,\n controllerName,\n routeMethod,\n routePath,\n routeAction,\n routeValidation: route.validation,\n });\n\n break;\n }\n case WebServerRouteType.Entity: {\n if (this.applicationConfig.database && this.applicationConfig.database.enabled === true) {\n const entityModel = await Loader.loadEntityModule({\n entitiesDirectory: this.applicationConfig.database.entitiesDirectory,\n entityName: route.entityName,\n });\n\n const entityValidationSchema = entityModel.schema?.describe();\n\n const formattedEntityValidationSchema = entityValidationSchema\n ? {\n type: 'object',\n properties: Object.fromEntries(\n Object.entries(entityValidationSchema.keys).map(([key, value]) => [\n key,\n { type: (value as any).type },\n ]),\n ),\n required: Object.keys(entityValidationSchema.keys).filter(\n key => entityValidationSchema.keys[key].flags?.presence === 'required',\n ),\n }\n : {};\n\n const entityRouteDefinitions = WebServerUtil.getEntityRouteDefinitions({\n basePath: route.path,\n entityValidationSchema: formattedEntityValidationSchema,\n });\n\n for (const entityRouteDefinition of entityRouteDefinitions) {\n this.defineRoute({\n controllerInstance,\n controllerName,\n routeMethod: entityRouteDefinition.method,\n routePath: entityRouteDefinition.path,\n routeAction: entityRouteDefinition.action,\n routeValidation: entityRouteDefinition.validationSchema,\n });\n }\n }\n\n break;\n }\n }\n }\n\n if (this.options.debug?.printRoutes) {\n this.log('Routes:');\n\n console.log(this.fastifyServer.printRoutes());\n }\n }\n\n public async defineRoute({\n controllerInstance,\n controllerName,\n routeMethod,\n routePath,\n routeAction,\n routeValidation,\n }: {\n controllerInstance: any;\n controllerName: string;\n routeMethod: HTTPMethods | HTTPMethods[];\n routePath: string;\n routeAction: string;\n routeValidation?: {\n type: 'body' | 'query' | 'params';\n schema: { [key: string]: any };\n };\n }): Promise<void> {\n // Get controller action handler\n const controllerHandler = controllerInstance[routeAction as keyof typeof controllerInstance];\n\n if (!controllerHandler) {\n Logger.warn({\n message: 'Web server controller action not found',\n meta: {\n Controller: controllerName,\n Action: routeAction,\n },\n });\n\n throw new Error('Web server controller action not found');\n }\n\n // Add route\n this.fastifyServer.route({\n method: routeMethod,\n url: routePath,\n handler: controllerHandler,\n preValidation: async (request, reply) => {\n if (!routeValidation?.schema) {\n // Logger.warn('Web server route validation schema not found', {\n // Controller: controllerName,\n // Action: routeAction,\n // });\n\n return;\n }\n\n const validate = request.compileValidationSchema(routeValidation.schema);\n\n if (!validate(request[routeValidation.type])) {\n return reply.code(400).send({\n error: validate.errors,\n });\n }\n },\n });\n }\n\n /**\n * Start web server.\n */\n public async start(): Promise<void> {\n try {\n await this.fastifyServer.listen({\n host: this.options.host,\n port: this.options.port,\n });\n } catch (error) {\n Logger.error({ error });\n }\n }\n\n /**\n * Stop web server.\n */\n public async stop(): Promise<void> {\n // Close Fastify server\n await this.fastifyServer.close();\n }\n\n /**\n * Log web server message\n */\n public log(message: string, meta?: Record<string, unknown>): void {\n this.logger.custom({ level: 'webServer', message, meta });\n }\n}\n\nexport default WebServer;\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,12 @@
1
+ import type DatabaseInstance from '../../../database/instance.js';
2
+ import type QueueManager from '../../../queue/manager.js';
3
+ import type { RedisInstance } from '../../../redis/index.js';
4
+ import type { WebSocketClientBaseControllerConstructorParams } from './base.interface.js';
5
+ export default abstract class WebSocketClientBaseController {
6
+ protected sendMessage: (data: unknown) => void;
7
+ protected redisInstance: RedisInstance;
8
+ protected queueManager: QueueManager;
9
+ protected databaseInstance: DatabaseInstance;
10
+ constructor({ sendMessage, redisInstance, queueManager, databaseInstance, }: WebSocketClientBaseControllerConstructorParams);
11
+ }
12
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/websocket/controller/client/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,YAAY,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,8CAA8C,EAAE,MAAM,qBAAqB,CAAC;AAE1F,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,6BAA6B;IACzD,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAE/C,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IACrC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;gBAEjC,EACV,WAAW,EACX,aAAa,EACb,YAAY,EACZ,gBAAgB,GACjB,EAAE,8CAA8C;CAOlD"}
@@ -0,0 +1,12 @@
1
+ import type DatabaseInstance from '../../../database/instance.js';
2
+ import type QueueManager from '../../../queue/manager.js';
3
+ import type { RedisInstance } from '../../../redis/index.js';
4
+ import type WebSocketBaseController from './base.js';
5
+ export interface WebSocketClientBaseControllerConstructorParams {
6
+ sendMessage: (data: unknown) => void;
7
+ redisInstance: RedisInstance;
8
+ queueManager: QueueManager;
9
+ databaseInstance: DatabaseInstance;
10
+ }
11
+ export type WebSocketClientBaseControllerType = new (params: WebSocketClientBaseControllerConstructorParams) => WebSocketBaseController;
12
+ //# sourceMappingURL=base.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.interface.d.ts","sourceRoot":"","sources":["../../../../src/websocket/controller/client/base.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,YAAY,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,uBAAuB,MAAM,WAAW,CAAC;AAErD,MAAM,WAAW,8CAA8C;IAE7D,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAErC,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,MAAM,MAAM,iCAAiC,GAAG,KAC9C,MAAM,EAAE,8CAA8C,KACnD,uBAAuB,CAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=base.interface.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,26 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ class WebSocketClientBaseController {
4
+ static {
5
+ __name(this, "WebSocketClientBaseController");
6
+ }
7
+ sendMessage;
8
+ redisInstance;
9
+ queueManager;
10
+ databaseInstance;
11
+ constructor({
12
+ sendMessage,
13
+ redisInstance,
14
+ queueManager,
15
+ databaseInstance
16
+ }) {
17
+ this.sendMessage = sendMessage;
18
+ this.redisInstance = redisInstance;
19
+ this.queueManager = queueManager;
20
+ this.databaseInstance = databaseInstance;
21
+ }
22
+ }
23
+ export {
24
+ WebSocketClientBaseController as default
25
+ };
26
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/websocket/controller/client/base.ts"],
4
+ "sourcesContent": ["import type DatabaseInstance from '../../../database/instance.js';\nimport type QueueManager from '../../../queue/manager.js';\nimport type { RedisInstance } from '../../../redis/index.js';\nimport type { WebSocketClientBaseControllerConstructorParams } from './base.interface.js';\n\nexport default abstract class WebSocketClientBaseController {\n protected sendMessage: (data: unknown) => void;\n\n protected redisInstance: RedisInstance;\n protected queueManager: QueueManager;\n protected databaseInstance: DatabaseInstance;\n\n constructor({\n sendMessage,\n redisInstance,\n queueManager,\n databaseInstance,\n }: WebSocketClientBaseControllerConstructorParams) {\n this.sendMessage = sendMessage;\n\n this.redisInstance = redisInstance;\n this.queueManager = queueManager;\n this.databaseInstance = databaseInstance;\n }\n}\n"],
5
+ "mappings": ";;AAKA,MAAO,8BAAqD;AAAA,EAL5D,OAK4D;AAAA;AAAA;AAAA,EAChD;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EAEV,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAAmD;AACjD,SAAK,cAAc;AAEnB,SAAK,gBAAgB;AACrB,SAAK,eAAe;AACpB,SAAK,mBAAmB;AAAA,EAC1B;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,13 @@
1
+ import type DatabaseInstance from '../../../database/instance.js';
2
+ import type QueueManager from '../../../queue/manager.js';
3
+ import type { RedisInstance } from '../../../redis/index.js';
4
+ import type WebSocketServer from '../../websocket-server.js';
5
+ import type { WebSocketServerBaseControllerConstructorParams } from './base.interface.js';
6
+ export default abstract class WebSocketServerBaseController {
7
+ protected webSocketServer: WebSocketServer;
8
+ protected redisInstance: RedisInstance;
9
+ protected queueManager: QueueManager;
10
+ protected databaseInstance: DatabaseInstance;
11
+ constructor({ webSocketServer, redisInstance, queueManager, databaseInstance, }: WebSocketServerBaseControllerConstructorParams);
12
+ }
13
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/websocket/controller/server/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,YAAY,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,eAAe,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,8CAA8C,EAAE,MAAM,qBAAqB,CAAC;AAE1F,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,6BAA6B;IACzD,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAC3C,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IACrC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;gBAEjC,EACV,eAAe,EACf,aAAa,EACb,YAAY,EACZ,gBAAgB,GACjB,EAAE,8CAA8C;CAMlD"}
@@ -0,0 +1,13 @@
1
+ import type DatabaseInstance from '../../../database/instance.js';
2
+ import type QueueManager from '../../../queue/manager.js';
3
+ import type { RedisInstance } from '../../../redis/index.js';
4
+ import type WebSocketServer from '../../websocket-server.js';
5
+ import type WebSocketBaseController from './base.js';
6
+ export interface WebSocketServerBaseControllerConstructorParams {
7
+ webSocketServer: WebSocketServer;
8
+ redisInstance: RedisInstance;
9
+ queueManager: QueueManager;
10
+ databaseInstance: DatabaseInstance;
11
+ }
12
+ export type WebSocketServerBaseControllerType = new (params: WebSocketServerBaseControllerConstructorParams) => WebSocketBaseController;
13
+ //# sourceMappingURL=base.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.interface.d.ts","sourceRoot":"","sources":["../../../../src/websocket/controller/server/base.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,YAAY,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,eAAe,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,uBAAuB,MAAM,WAAW,CAAC;AAErD,MAAM,WAAW,8CAA8C;IAC7D,eAAe,EAAE,eAAe,CAAC;IAUjC,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,MAAM,MAAM,iCAAiC,GAAG,KAC9C,MAAM,EAAE,8CAA8C,KACnD,uBAAuB,CAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=base.interface.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,26 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ class WebSocketServerBaseController {
4
+ static {
5
+ __name(this, "WebSocketServerBaseController");
6
+ }
7
+ webSocketServer;
8
+ redisInstance;
9
+ queueManager;
10
+ databaseInstance;
11
+ constructor({
12
+ webSocketServer,
13
+ redisInstance,
14
+ queueManager,
15
+ databaseInstance
16
+ }) {
17
+ this.webSocketServer = webSocketServer;
18
+ this.redisInstance = redisInstance;
19
+ this.queueManager = queueManager;
20
+ this.databaseInstance = databaseInstance;
21
+ }
22
+ }
23
+ export {
24
+ WebSocketServerBaseController as default
25
+ };
26
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/websocket/controller/server/base.ts"],
4
+ "sourcesContent": ["import type DatabaseInstance from '../../../database/instance.js';\nimport type QueueManager from '../../../queue/manager.js';\nimport type { RedisInstance } from '../../../redis/index.js';\nimport type WebSocketServer from '../../websocket-server.js';\nimport type { WebSocketServerBaseControllerConstructorParams } from './base.interface.js';\n\nexport default abstract class WebSocketServerBaseController {\n protected webSocketServer: WebSocketServer;\n protected redisInstance: RedisInstance;\n protected queueManager: QueueManager;\n protected databaseInstance: DatabaseInstance;\n\n constructor({\n webSocketServer,\n redisInstance,\n queueManager,\n databaseInstance,\n }: WebSocketServerBaseControllerConstructorParams) {\n this.webSocketServer = webSocketServer;\n this.redisInstance = redisInstance;\n this.queueManager = queueManager;\n this.databaseInstance = databaseInstance;\n }\n}\n"],
5
+ "mappings": ";;AAMA,MAAO,8BAAqD;AAAA,EAN5D,OAM4D;AAAA;AAAA;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEV,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAAmD;AACjD,SAAK,kBAAkB;AACvB,SAAK,gBAAgB;AACrB,SAAK,eAAe;AACpB,SAAK,mBAAmB;AAAA,EAC1B;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,6 @@
1
+ import type { WebSocket } from 'ws';
2
+ import { WebSocketClientBaseController } from '../../index.js';
3
+ export default class SystemController extends WebSocketClientBaseController {
4
+ clientList: (_clientWebSocket: WebSocket, _webSocketClientId: string, _data: any) => any;
5
+ }
6
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../src/websocket/controllers/client/system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,6BAA6B;IAClE,UAAU,GAAI,kBAAkB,SAAS,EAAE,oBAAoB,MAAM,EAAE,OAAO,GAAG,KAAG,GAAG,CAE5F;CACH"}
@@ -0,0 +1,14 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { WebSocketClientBaseController } from "../../index.js";
4
+ class SystemController extends WebSocketClientBaseController {
5
+ static {
6
+ __name(this, "SystemController");
7
+ }
8
+ clientList = /* @__PURE__ */ __name((_clientWebSocket, _webSocketClientId, _data) => {
9
+ }, "clientList");
10
+ }
11
+ export {
12
+ SystemController as default
13
+ };
14
+ //# sourceMappingURL=system.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/websocket/controllers/client/system.ts"],
4
+ "sourcesContent": ["import type { WebSocket } from 'ws';\n// import WebSocketServerBaseController from '../../controller/server/base.js';\nimport { WebSocketClientBaseController } from '../../index.js';\n\nexport default class SystemController extends WebSocketClientBaseController {\n public clientList = (_clientWebSocket: WebSocket, _webSocketClientId: string, _data: any): any => {\n // console.log('client list receieved (client): ', data);\n };\n}\n"],
5
+ "mappings": ";;AAEA,SAAS,qCAAqC;AAE9C,MAAO,yBAAuC,8BAA8B;AAAA,EAJ5E,OAI4E;AAAA;AAAA;AAAA,EACnE,aAAa,wBAAC,kBAA6B,oBAA4B,UAAoB;AAAA,EAElG,GAFoB;AAGtB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ import type { WebSocket } from 'ws';
2
+ import WebSocketServerBaseController from '../../controller/server/base.js';
3
+ export default class SystemController extends WebSocketServerBaseController {
4
+ joinRoom: (clientWebSocket: WebSocket, webSocketClientId: string, data: any) => any;
5
+ leaveRoom: (clientWebSocket: WebSocket, webSocketClientId: string, data: any) => any;
6
+ }
7
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../src/websocket/controllers/server/system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,6BAA6B,MAAM,iCAAiC,CAAC;AAI5E,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,6BAA6B;IAClE,QAAQ,GAAI,iBAAiB,SAAS,EAAE,mBAAmB,MAAM,EAAE,MAAM,GAAG,KAAG,GAAG,CA6CvF;IAEK,SAAS,GAAI,iBAAiB,SAAS,EAAE,mBAAmB,MAAM,EAAE,MAAM,GAAG,KAAG,GAAG,CAqCxF;CACH"}