@fdm-monster/server 1.5.0-rc1

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 (377) hide show
  1. package/.env +19 -0
  2. package/.env.template +43 -0
  3. package/.gitattributes +1 -0
  4. package/.idea/codeStyles/Project.xml +85 -0
  5. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  6. package/.idea/dbnavigator.xml +574 -0
  7. package/.idea/fdm-monster.iml +16 -0
  8. package/.idea/inspectionProfiles/Project_Default.xml +22 -0
  9. package/.idea/jsLibraryMappings.xml +6 -0
  10. package/.idea/modules.xml +12 -0
  11. package/.idea/prettier.xml +6 -0
  12. package/.idea/vcs.xml +17 -0
  13. package/.swcrc +33 -0
  14. package/CODE_OF_CONDUCT.md +46 -0
  15. package/CONTRIBUTING.md +134 -0
  16. package/LICENSE +661 -0
  17. package/README.md +149 -0
  18. package/SECURITY.md +16 -0
  19. package/dist/@type/express/index.d.js +7 -0
  20. package/dist/@type/express/index.d.js.map +1 -0
  21. package/dist/constants/authorization.constants.js +99 -0
  22. package/dist/constants/authorization.constants.js.map +1 -0
  23. package/dist/constants/event.constants.js +55 -0
  24. package/dist/constants/event.constants.js.map +1 -0
  25. package/dist/constants/http-status-codes.constants.js +268 -0
  26. package/dist/constants/http-status-codes.constants.js.map +1 -0
  27. package/dist/constants/server-settings.constants.js +119 -0
  28. package/dist/constants/server-settings.constants.js.map +1 -0
  29. package/dist/constants/service.constants.js +48 -0
  30. package/dist/constants/service.constants.js.map +1 -0
  31. package/dist/container.js +161 -0
  32. package/dist/container.js.map +1 -0
  33. package/dist/container.tokens.js +83 -0
  34. package/dist/container.tokens.js.map +1 -0
  35. package/dist/controllers/auth.controller.js +143 -0
  36. package/dist/controllers/auth.controller.js.map +1 -0
  37. package/dist/controllers/batch-call.controller.js +59 -0
  38. package/dist/controllers/batch-call.controller.js.map +1 -0
  39. package/dist/controllers/camera-stream.controller.js +57 -0
  40. package/dist/controllers/camera-stream.controller.js.map +1 -0
  41. package/dist/controllers/custom-gcode.controller.js +76 -0
  42. package/dist/controllers/custom-gcode.controller.js.map +1 -0
  43. package/dist/controllers/first-time-setup.controller.js +65 -0
  44. package/dist/controllers/first-time-setup.controller.js.map +1 -0
  45. package/dist/controllers/floor.controller.js +78 -0
  46. package/dist/controllers/floor.controller.js.map +1 -0
  47. package/dist/controllers/plugin-firmware-update.controller.js +140 -0
  48. package/dist/controllers/plugin-firmware-update.controller.js.map +1 -0
  49. package/dist/controllers/print-completion.controller.js +58 -0
  50. package/dist/controllers/print-completion.controller.js.map +1 -0
  51. package/dist/controllers/printer-files.controller.js +208 -0
  52. package/dist/controllers/printer-files.controller.js.map +1 -0
  53. package/dist/controllers/printer-settings.controller.js +58 -0
  54. package/dist/controllers/printer-settings.controller.js.map +1 -0
  55. package/dist/controllers/printer.controller.js +287 -0
  56. package/dist/controllers/printer.controller.js.map +1 -0
  57. package/dist/controllers/server-private.controller.js +122 -0
  58. package/dist/controllers/server-private.controller.js.map +1 -0
  59. package/dist/controllers/server-public.controller.js +140 -0
  60. package/dist/controllers/server-public.controller.js.map +1 -0
  61. package/dist/controllers/settings.controller.js +89 -0
  62. package/dist/controllers/settings.controller.js.map +1 -0
  63. package/dist/controllers/user.controller.js +137 -0
  64. package/dist/controllers/user.controller.js.map +1 -0
  65. package/dist/controllers/validation/auth-controller.validation.js +15 -0
  66. package/dist/controllers/validation/auth-controller.validation.js.map +1 -0
  67. package/dist/controllers/validation/batch-controller.validation.js +29 -0
  68. package/dist/controllers/validation/batch-controller.validation.js.map +1 -0
  69. package/dist/controllers/validation/generic.validation.js +15 -0
  70. package/dist/controllers/validation/generic.validation.js.map +1 -0
  71. package/dist/controllers/validation/printer-controller.validation.js +66 -0
  72. package/dist/controllers/validation/printer-controller.validation.js.map +1 -0
  73. package/dist/controllers/validation/printer-files-controller.validation.js +66 -0
  74. package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -0
  75. package/dist/controllers/validation/printer-settings-controller.validation.js +15 -0
  76. package/dist/controllers/validation/printer-settings-controller.validation.js.map +1 -0
  77. package/dist/controllers/validation/setting.validation.js +19 -0
  78. package/dist/controllers/validation/setting.validation.js.map +1 -0
  79. package/dist/controllers/validation/user-controller.validation.js +16 -0
  80. package/dist/controllers/validation/user-controller.validation.js.map +1 -0
  81. package/dist/exceptions/job.exceptions.js +18 -0
  82. package/dist/exceptions/job.exceptions.js.map +1 -0
  83. package/dist/exceptions/runtime.exceptions.js +108 -0
  84. package/dist/exceptions/runtime.exceptions.js.map +1 -0
  85. package/dist/handlers/cache-manager.js +25 -0
  86. package/dist/handlers/cache-manager.js.map +1 -0
  87. package/dist/handlers/event-emitter.js +31 -0
  88. package/dist/handlers/event-emitter.js.map +1 -0
  89. package/dist/handlers/logger-factory.js +18 -0
  90. package/dist/handlers/logger-factory.js.map +1 -0
  91. package/dist/handlers/logger.js +85 -0
  92. package/dist/handlers/logger.js.map +1 -0
  93. package/dist/handlers/validators.js +131 -0
  94. package/dist/handlers/validators.js.map +1 -0
  95. package/dist/index.js +19 -0
  96. package/dist/index.js.map +1 -0
  97. package/dist/middleware/authenticate.js +83 -0
  98. package/dist/middleware/authenticate.js.map +1 -0
  99. package/dist/middleware/database.js +26 -0
  100. package/dist/middleware/database.js.map +1 -0
  101. package/dist/middleware/exception.handler.js +96 -0
  102. package/dist/middleware/exception.handler.js.map +1 -0
  103. package/dist/middleware/global.middleware.js +58 -0
  104. package/dist/middleware/global.middleware.js.map +1 -0
  105. package/dist/middleware/passport.js +44 -0
  106. package/dist/middleware/passport.js.map +1 -0
  107. package/dist/middleware/printer.js +49 -0
  108. package/dist/middleware/printer.js.map +1 -0
  109. package/dist/migrations/1696187882312-PrinterFile.js +40 -0
  110. package/dist/migrations/1696187882312-PrinterFile.js.map +1 -0
  111. package/dist/models/Auth/Permission.js +20 -0
  112. package/dist/models/Auth/Permission.js.map +1 -0
  113. package/dist/models/Auth/RefreshToken.js +41 -0
  114. package/dist/models/Auth/RefreshToken.js.map +1 -0
  115. package/dist/models/Auth/Role.js +20 -0
  116. package/dist/models/Auth/Role.js.map +1 -0
  117. package/dist/models/Auth/User.js +51 -0
  118. package/dist/models/Auth/User.js.map +1 -0
  119. package/dist/models/CameraStream.js +59 -0
  120. package/dist/models/CameraStream.js.map +1 -0
  121. package/dist/models/CustomGcode.js +28 -0
  122. package/dist/models/CustomGcode.js.map +1 -0
  123. package/dist/models/Floor.js +33 -0
  124. package/dist/models/Floor.js.map +1 -0
  125. package/dist/models/FloorPrinter.js +29 -0
  126. package/dist/models/FloorPrinter.js.map +1 -0
  127. package/dist/models/PrintCompletion.js +40 -0
  128. package/dist/models/PrintCompletion.js.map +1 -0
  129. package/dist/models/Printer.js +113 -0
  130. package/dist/models/Printer.js.map +1 -0
  131. package/dist/models/ServerSettings.js +168 -0
  132. package/dist/models/ServerSettings.js.map +1 -0
  133. package/dist/models/Settings.js +168 -0
  134. package/dist/models/Settings.js.map +1 -0
  135. package/dist/models/index.js +54 -0
  136. package/dist/models/index.js.map +1 -0
  137. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js +49 -0
  138. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +1 -0
  139. package/dist/mongo-migrations/20210907173950-printers-enabled.js +39 -0
  140. package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +1 -0
  141. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js +39 -0
  142. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +1 -0
  143. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js +60 -0
  144. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js.map +1 -0
  145. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js +30 -0
  146. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js.map +1 -0
  147. package/dist/mongo-migrations/20230716065316-user-remove-name.js +30 -0
  148. package/dist/mongo-migrations/20230716065316-user-remove-name.js.map +1 -0
  149. package/dist/nodemon_restart_trigger.js +4 -0
  150. package/dist/nodemon_restart_trigger.js.map +1 -0
  151. package/dist/server.constants.js +99 -0
  152. package/dist/server.constants.js.map +1 -0
  153. package/dist/server.core.js +91 -0
  154. package/dist/server.core.js.map +1 -0
  155. package/dist/server.env.js +225 -0
  156. package/dist/server.env.js.map +1 -0
  157. package/dist/server.host.js +106 -0
  158. package/dist/server.host.js.map +1 -0
  159. package/dist/services/authentication/auth.service.js +136 -0
  160. package/dist/services/authentication/auth.service.js.map +1 -0
  161. package/dist/services/authentication/jwt.service.js +34 -0
  162. package/dist/services/authentication/jwt.service.js.map +1 -0
  163. package/dist/services/authentication/permission.service.js +73 -0
  164. package/dist/services/authentication/permission.service.js.map +1 -0
  165. package/dist/services/authentication/refresh-token.service.js +99 -0
  166. package/dist/services/authentication/refresh-token.service.js.map +1 -0
  167. package/dist/services/authentication/role.service.js +120 -0
  168. package/dist/services/authentication/role.service.js.map +1 -0
  169. package/dist/services/authentication/user.service.js +154 -0
  170. package/dist/services/authentication/user.service.js.map +1 -0
  171. package/dist/services/batch-call.service.js +148 -0
  172. package/dist/services/batch-call.service.js.map +1 -0
  173. package/dist/services/camera-stream.service.js +80 -0
  174. package/dist/services/camera-stream.service.js.map +1 -0
  175. package/dist/services/core/client-bundle.service.js +156 -0
  176. package/dist/services/core/client-bundle.service.js.map +1 -0
  177. package/dist/services/core/config.service.js +26 -0
  178. package/dist/services/core/config.service.js.map +1 -0
  179. package/dist/services/core/github.service.js +74 -0
  180. package/dist/services/core/github.service.js.map +1 -0
  181. package/dist/services/core/logs-manager.service.js +87 -0
  182. package/dist/services/core/logs-manager.service.js.map +1 -0
  183. package/dist/services/core/monsterpi.service.js +38 -0
  184. package/dist/services/core/monsterpi.service.js.map +1 -0
  185. package/dist/services/core/multer.service.js +122 -0
  186. package/dist/services/core/multer.service.js.map +1 -0
  187. package/dist/services/core/server-release.service.js +116 -0
  188. package/dist/services/core/server-release.service.js.map +1 -0
  189. package/dist/services/core/server-update.service.js +73 -0
  190. package/dist/services/core/server-update.service.js.map +1 -0
  191. package/dist/services/core/task-manager.service.js +196 -0
  192. package/dist/services/core/task-manager.service.js.map +1 -0
  193. package/dist/services/core/yaml.service.js +278 -0
  194. package/dist/services/core/yaml.service.js.map +1 -0
  195. package/dist/services/custom-gcode.service.js +48 -0
  196. package/dist/services/custom-gcode.service.js.map +1 -0
  197. package/dist/services/floor.service.js +183 -0
  198. package/dist/services/floor.service.js.map +1 -0
  199. package/dist/services/influxdb-v2/influx-db-v2-base.service.js +45 -0
  200. package/dist/services/influxdb-v2/influx-db-v2-base.service.js.map +1 -0
  201. package/dist/services/interfaces/auth.service.interface.js +6 -0
  202. package/dist/services/interfaces/auth.service.interface.js.map +1 -0
  203. package/dist/services/interfaces/camera-stream.dto.js +109 -0
  204. package/dist/services/interfaces/camera-stream.dto.js.map +1 -0
  205. package/dist/services/interfaces/camera-stream.service.interface.js +6 -0
  206. package/dist/services/interfaces/camera-stream.service.interface.js.map +1 -0
  207. package/dist/services/interfaces/custom-gcode.dto.js +18 -0
  208. package/dist/services/interfaces/custom-gcode.dto.js.map +1 -0
  209. package/dist/services/interfaces/custom-gcode.service.interface.js +6 -0
  210. package/dist/services/interfaces/custom-gcode.service.interface.js.map +1 -0
  211. package/dist/services/interfaces/floor.dto.js +61 -0
  212. package/dist/services/interfaces/floor.dto.js.map +1 -0
  213. package/dist/services/interfaces/floor.service.interface.js +6 -0
  214. package/dist/services/interfaces/floor.service.interface.js.map +1 -0
  215. package/dist/services/interfaces/gcode-analysis.dto.js +6 -0
  216. package/dist/services/interfaces/gcode-analysis.dto.js.map +1 -0
  217. package/dist/services/interfaces/jwt.service.interface.js +6 -0
  218. package/dist/services/interfaces/jwt.service.interface.js.map +1 -0
  219. package/dist/services/interfaces/login.dto.js +16 -0
  220. package/dist/services/interfaces/login.dto.js.map +1 -0
  221. package/dist/services/interfaces/page.interface.js +16 -0
  222. package/dist/services/interfaces/page.interface.js.map +1 -0
  223. package/dist/services/interfaces/permission.dto.js +16 -0
  224. package/dist/services/interfaces/permission.dto.js.map +1 -0
  225. package/dist/services/interfaces/permission.service.interface.js +6 -0
  226. package/dist/services/interfaces/permission.service.interface.js.map +1 -0
  227. package/dist/services/interfaces/printer-file.dto.js +27 -0
  228. package/dist/services/interfaces/printer-file.dto.js.map +1 -0
  229. package/dist/services/interfaces/printer-files.service.interface.js +6 -0
  230. package/dist/services/interfaces/printer-files.service.interface.js.map +1 -0
  231. package/dist/services/interfaces/printer.dto.js +18 -0
  232. package/dist/services/interfaces/printer.dto.js.map +1 -0
  233. package/dist/services/interfaces/printer.service.interface.js +6 -0
  234. package/dist/services/interfaces/printer.service.interface.js.map +1 -0
  235. package/dist/services/interfaces/role-service.interface.js +6 -0
  236. package/dist/services/interfaces/role-service.interface.js.map +1 -0
  237. package/dist/services/interfaces/settings.dto.js +34 -0
  238. package/dist/services/interfaces/settings.dto.js.map +1 -0
  239. package/dist/services/interfaces/settings.service.interface.js +6 -0
  240. package/dist/services/interfaces/settings.service.interface.js.map +1 -0
  241. package/dist/services/interfaces/user-service.interface.js +6 -0
  242. package/dist/services/interfaces/user-service.interface.js.map +1 -0
  243. package/dist/services/interfaces/user.dto.js +39 -0
  244. package/dist/services/interfaces/user.dto.js.map +1 -0
  245. package/dist/services/octoprint/constants/firmware-update-settings.constants.js +32 -0
  246. package/dist/services/octoprint/constants/firmware-update-settings.constants.js.map +1 -0
  247. package/dist/services/octoprint/constants/octoprint-service.constants.js +101 -0
  248. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -0
  249. package/dist/services/octoprint/constants/octoprint-websocket.constants.js +88 -0
  250. package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -0
  251. package/dist/services/octoprint/octoprint-api.routes.js +192 -0
  252. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -0
  253. package/dist/services/octoprint/octoprint-api.service.js +402 -0
  254. package/dist/services/octoprint/octoprint-api.service.js.map +1 -0
  255. package/dist/services/octoprint/octoprint-sockio.adapter.js +309 -0
  256. package/dist/services/octoprint/octoprint-sockio.adapter.js.map +1 -0
  257. package/dist/services/octoprint/plugin-base.service.js +102 -0
  258. package/dist/services/octoprint/plugin-base.service.js.map +1 -0
  259. package/dist/services/octoprint/plugin-firmware-update.service.js +104 -0
  260. package/dist/services/octoprint/plugin-firmware-update.service.js.map +1 -0
  261. package/dist/services/octoprint/plugin-repository.cache.js +45 -0
  262. package/dist/services/octoprint/plugin-repository.cache.js.map +1 -0
  263. package/dist/services/octoprint/socket.factory.js +22 -0
  264. package/dist/services/octoprint/socket.factory.js.map +1 -0
  265. package/dist/services/octoprint/utils/api.utils.js +72 -0
  266. package/dist/services/octoprint/utils/api.utils.js.map +1 -0
  267. package/dist/services/orm/floor.service.interface.js +73 -0
  268. package/dist/services/orm/floor.service.interface.js.map +1 -0
  269. package/dist/services/orm/printer.service.interface.js +6 -0
  270. package/dist/services/orm/printer.service.interface.js.map +1 -0
  271. package/dist/services/print-completion.service.js +162 -0
  272. package/dist/services/print-completion.service.js.map +1 -0
  273. package/dist/services/printer-files.service.js +91 -0
  274. package/dist/services/printer-files.service.js.map +1 -0
  275. package/dist/services/printer.service.js +230 -0
  276. package/dist/services/printer.service.js.map +1 -0
  277. package/dist/services/settings.service.js +158 -0
  278. package/dist/services/settings.service.js.map +1 -0
  279. package/dist/services/validators/floor-service.validation.js +60 -0
  280. package/dist/services/validators/floor-service.validation.js.map +1 -0
  281. package/dist/services/validators/print-completion-service.validation.js +20 -0
  282. package/dist/services/validators/print-completion-service.validation.js.map +1 -0
  283. package/dist/services/validators/printer-service.validation.js +48 -0
  284. package/dist/services/validators/printer-service.validation.js.map +1 -0
  285. package/dist/services/validators/settings-service.validation.js +71 -0
  286. package/dist/services/validators/settings-service.validation.js.map +1 -0
  287. package/dist/services/validators/user-service.validation.js +33 -0
  288. package/dist/services/validators/user-service.validation.js.map +1 -0
  289. package/dist/services/validators/yaml-service.validation.js +63 -0
  290. package/dist/services/validators/yaml-service.validation.js.map +1 -0
  291. package/dist/services/yaml.service.js +278 -0
  292. package/dist/services/yaml.service.js.map +1 -0
  293. package/dist/shared.constants.js +15 -0
  294. package/dist/shared.constants.js.map +1 -0
  295. package/dist/state/file-upload-tracker.cache.js +88 -0
  296. package/dist/state/file-upload-tracker.cache.js.map +1 -0
  297. package/dist/state/file.cache.js +99 -0
  298. package/dist/state/file.cache.js.map +1 -0
  299. package/dist/state/files.store.js +132 -0
  300. package/dist/state/files.store.js.map +1 -0
  301. package/dist/state/floor.store.js +99 -0
  302. package/dist/state/floor.store.js.map +1 -0
  303. package/dist/state/printer-events.cache.js +97 -0
  304. package/dist/state/printer-events.cache.js.map +1 -0
  305. package/dist/state/printer-socket.store.js +217 -0
  306. package/dist/state/printer-socket.store.js.map +1 -0
  307. package/dist/state/printer.cache.js +112 -0
  308. package/dist/state/printer.cache.js.map +1 -0
  309. package/dist/state/settings.store.js +154 -0
  310. package/dist/state/settings.store.js.map +1 -0
  311. package/dist/state/socket-io.gateway.js +66 -0
  312. package/dist/state/socket-io.gateway.js.map +1 -0
  313. package/dist/state/test-printer-socket.store.js +91 -0
  314. package/dist/state/test-printer-socket.store.js.map +1 -0
  315. package/dist/state/validation/create-test-printer.validation.js +18 -0
  316. package/dist/state/validation/create-test-printer.validation.js.map +1 -0
  317. package/dist/task.presets.js +50 -0
  318. package/dist/task.presets.js.map +1 -0
  319. package/dist/tasks/boot.task.js +198 -0
  320. package/dist/tasks/boot.task.js.map +1 -0
  321. package/dist/tasks/client-bundle.task.js +32 -0
  322. package/dist/tasks/client-bundle.task.js.map +1 -0
  323. package/dist/tasks/print-completion.socketio.task.js +85 -0
  324. package/dist/tasks/print-completion.socketio.task.js.map +1 -0
  325. package/dist/tasks/printer-file-clean.task.js +72 -0
  326. package/dist/tasks/printer-file-clean.task.js.map +1 -0
  327. package/dist/tasks/printer-websocket-restore.task.js +64 -0
  328. package/dist/tasks/printer-websocket-restore.task.js.map +1 -0
  329. package/dist/tasks/printer-websocket.task.js +43 -0
  330. package/dist/tasks/printer-websocket.task.js.map +1 -0
  331. package/dist/tasks/socketio.task.js +83 -0
  332. package/dist/tasks/socketio.task.js.map +1 -0
  333. package/dist/tasks/software-update.task.js +22 -0
  334. package/dist/tasks/software-update.task.js.map +1 -0
  335. package/dist/tasks.js +48 -0
  336. package/dist/tasks.js.map +1 -0
  337. package/dist/types/express/index.d.js +7 -0
  338. package/dist/types/express/index.d.js.map +1 -0
  339. package/dist/utils/array.util.js +27 -0
  340. package/dist/utils/array.util.js.map +1 -0
  341. package/dist/utils/benchmark.util.js +39 -0
  342. package/dist/utils/benchmark.util.js.map +1 -0
  343. package/dist/utils/cache/key-diff.cache.js +128 -0
  344. package/dist/utils/cache/key-diff.cache.js.map +1 -0
  345. package/dist/utils/correlation-token.util.js +15 -0
  346. package/dist/utils/correlation-token.util.js.map +1 -0
  347. package/dist/utils/crypto.utils.js +29 -0
  348. package/dist/utils/crypto.utils.js.map +1 -0
  349. package/dist/utils/env.utils.js +98 -0
  350. package/dist/utils/env.utils.js.map +1 -0
  351. package/dist/utils/error.utils.js +15 -0
  352. package/dist/utils/error.utils.js.map +1 -0
  353. package/dist/utils/find-predicate.utils.js +18 -0
  354. package/dist/utils/find-predicate.utils.js.map +1 -0
  355. package/dist/utils/fs.utils.js +38 -0
  356. package/dist/utils/fs.utils.js.map +1 -0
  357. package/dist/utils/is-docker.js +40 -0
  358. package/dist/utils/is-docker.js.map +1 -0
  359. package/dist/utils/mapper.utils.js +33 -0
  360. package/dist/utils/mapper.utils.js.map +1 -0
  361. package/dist/utils/metric.utils.js +35 -0
  362. package/dist/utils/metric.utils.js.map +1 -0
  363. package/dist/utils/normalize-url.js +245 -0
  364. package/dist/utils/normalize-url.js.map +1 -0
  365. package/dist/utils/semver.utils.js +18 -0
  366. package/dist/utils/semver.utils.js.map +1 -0
  367. package/dist/utils/time.utils.js +26 -0
  368. package/dist/utils/time.utils.js.map +1 -0
  369. package/dist/utils/url.utils.js +33 -0
  370. package/dist/utils/url.utils.js.map +1 -0
  371. package/dist/utils/websocket.adapter.js +105 -0
  372. package/dist/utils/websocket.adapter.js.map +1 -0
  373. package/migrate-mongo-config.js +45 -0
  374. package/nodemon_restart_trigger.js +1 -0
  375. package/package.json +149 -0
  376. package/src/index.ts +19 -0
  377. package/tsconfig.json +28 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/controllers/validation/printer-controller.validation.ts"],"names":["createOctoPrintBackupRules","feedRateRules","flowRateRules","getOctoPrintBackupRules","testPrinterApiRules","updatePrinterConnectionSettingRules","updatePrinterDisabledReasonRules","updatePrinterEnabledRule","flowRate","feedRate","apiKey","UUID_LENGTH","printerURL","disabledReason","enabled","exclude","fileName"],"mappings":";;;;;;;;;;;IA4BaA,0BAA0B;eAA1BA;;IAtBAC,aAAa;eAAbA;;IAJAC,aAAa;eAAbA;;IA+BAC,uBAAuB;eAAvBA;;IAvBAC,mBAAmB;eAAnBA;;IAaAC,mCAAmC;eAAnCA;;IARAC,gCAAgC;eAAhCA;;IAIAC,wBAAwB;eAAxBA;;;kCAnBe;AAErB,MAAML,gBAAgB;IAC3BM,UAAU;AACZ;AAEO,MAAMP,gBAAgB;IAC3BQ,UAAU;AACZ;AAEO,MAAML,sBAAsB;IACjCM,QAAQ,CAAC,gBAAgB,EAAEC,6BAAW,CAAC,CAAC,EAAEA,6BAAW,CAAC,aAAa,CAAC;IACpEC,YAAY;AACd;AAEO,MAAMN,mCAAmC;IAC9CO,gBAAgB;AAClB;AAEO,MAAMN,2BAA2B;IACtCO,SAAS;AACX;AAEO,MAAMT,sCAAsC;IACjDO,YAAY;IACZF,QAAQ,CAAC,mBAAmB,EAAEC,6BAAW,CAAC,WAAW,EAAEA,6BAAW,CAAC,CAAC;AACtE;AAEO,MAAMX,6BAA6B;IACxCe,SAAS;IACT,aAAa;AACf;AAEO,MAAMZ,0BAA0B;IACrCa,UAAU;AACZ"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ createFolderRules: function() {
13
+ return createFolderRules;
14
+ },
15
+ fileUploadCommandsRules: function() {
16
+ return fileUploadCommandsRules;
17
+ },
18
+ getFileRules: function() {
19
+ return getFileRules;
20
+ },
21
+ getFilesRules: function() {
22
+ return getFilesRules;
23
+ },
24
+ localFileUploadRules: function() {
25
+ return localFileUploadRules;
26
+ },
27
+ moveFileOrFolderRules: function() {
28
+ return moveFileOrFolderRules;
29
+ },
30
+ selectAndPrintFileRules: function() {
31
+ return selectAndPrintFileRules;
32
+ },
33
+ uploadFileRules: function() {
34
+ return uploadFileRules;
35
+ }
36
+ });
37
+ const getFilesRules = {
38
+ recursive: "required|boolean"
39
+ };
40
+ const uploadFileRules = {};
41
+ const getFileRules = {
42
+ path: "required|string"
43
+ };
44
+ const createFolderRules = {
45
+ foldername: "required|string",
46
+ path: "required|string"
47
+ };
48
+ const moveFileOrFolderRules = {
49
+ filePath: "required|string",
50
+ destination: "required|string"
51
+ };
52
+ const fileUploadCommandsRules = {
53
+ select: "boolean",
54
+ print: "required|boolean"
55
+ };
56
+ const selectAndPrintFileRules = {
57
+ filePath: "required|string",
58
+ print: "required|boolean"
59
+ };
60
+ const localFileUploadRules = {
61
+ localLocation: "required",
62
+ select: "boolean",
63
+ print: "boolean"
64
+ };
65
+
66
+ //# sourceMappingURL=printer-files-controller.validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/controllers/validation/printer-files-controller.validation.ts"],"names":["createFolderRules","fileUploadCommandsRules","getFileRules","getFilesRules","localFileUploadRules","moveFileOrFolderRules","selectAndPrintFileRules","uploadFileRules","recursive","path","foldername","filePath","destination","select","print","localLocation"],"mappings":";;;;;;;;;;;IAUaA,iBAAiB;eAAjBA;;IAUAC,uBAAuB;eAAvBA;;IAdAC,YAAY;eAAZA;;IANAC,aAAa;eAAbA;;IA8BAC,oBAAoB;eAApBA;;IAfAC,qBAAqB;eAArBA;;IAUAC,uBAAuB;eAAvBA;;IArBAC,eAAe;eAAfA;;;AAJN,MAAMJ,gBAAgB;IAC3BK,WAAW;AACb;AAEO,MAAMD,kBAAkB,CAAC;AAEzB,MAAML,eAAe;IAC1BO,MAAM;AACR;AAEO,MAAMT,oBAAoB;IAC/BU,YAAY;IACZD,MAAM;AACR;AAEO,MAAMJ,wBAAwB;IACnCM,UAAU;IACVC,aAAa;AACf;AAEO,MAAMX,0BAA0B;IACrCY,QAAQ;IACRC,OAAO;AACT;AAEO,MAAMR,0BAA0B;IACrCK,UAAU;IACVG,OAAO;AACT;AAEO,MAAMV,uBAAuB;IAClCW,eAAe;IACfF,QAAQ;IACRC,OAAO;AACT"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "setGcodeAnalysis", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return setGcodeAnalysis;
9
+ }
10
+ });
11
+ const setGcodeAnalysis = {
12
+ enabled: "required|boolean"
13
+ };
14
+
15
+ //# sourceMappingURL=printer-settings-controller.validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/controllers/validation/printer-settings-controller.validation.ts"],"names":["setGcodeAnalysis","enabled"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,mBAAmB;IAC9BC,SAAS;AACX"}
@@ -0,0 +1,19 @@
1
+ // Wizard version 1
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "wizardSettingsRules", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return wizardSettingsRules;
10
+ }
11
+ });
12
+ const wizardSettingsRules = {
13
+ loginRequired: "required|boolean",
14
+ registration: "required|boolean",
15
+ rootUsername: "required|string",
16
+ rootPassword: "required|string"
17
+ };
18
+
19
+ //# sourceMappingURL=setting.validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/controllers/validation/setting.validation.ts"],"names":["wizardSettingsRules","loginRequired","registration","rootUsername","rootPassword"],"mappings":"AAAA,mBAAmB;;;;;+BACNA;;;eAAAA;;;AAAN,MAAMA,sBAAsB;IACjCC,eAAe;IACfC,cAAc;IACdC,cAAc;IACdC,cAAc;AAChB"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "registerUserRules", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return registerUserRules;
9
+ }
10
+ });
11
+ const registerUserRules = {
12
+ username: "required|string",
13
+ password: "required|string"
14
+ };
15
+
16
+ //# sourceMappingURL=user-controller.validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/controllers/validation/user-controller.validation.ts"],"names":["registerUserRules","username","password"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,oBAAoB;IAC/BC,UAAU;IACVC,UAAU;AACZ"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "JobValidationException", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return JobValidationException;
9
+ }
10
+ });
11
+ class JobValidationException extends Error {
12
+ constructor(message, taskId){
13
+ super(message);
14
+ this.name = `JobValidationError [${taskId || "anonymous"}]`;
15
+ }
16
+ }
17
+
18
+ //# sourceMappingURL=job.exceptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/exceptions/job.exceptions.ts"],"names":["JobValidationException","Error","constructor","message","taskId","name"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,+BAA+BC;IAC1CC,YAAYC,OAAO,EAAEC,MAAM,CAAE;QAC3B,KAAK,CAACD;QACN,IAAI,CAACE,IAAI,GAAG,CAAC,oBAAoB,EAAED,UAAU,YAAY,CAAC,CAAC;IAC7D;AACF"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ AuthenticationError: function() {
13
+ return AuthenticationError;
14
+ },
15
+ AuthorizationError: function() {
16
+ return AuthorizationError;
17
+ },
18
+ BadRequestException: function() {
19
+ return BadRequestException;
20
+ },
21
+ ExternalServiceError: function() {
22
+ return ExternalServiceError;
23
+ },
24
+ InternalServerException: function() {
25
+ return InternalServerException;
26
+ },
27
+ NotFoundException: function() {
28
+ return NotFoundException;
29
+ },
30
+ NotImplementedException: function() {
31
+ return NotImplementedException;
32
+ },
33
+ PasswordChangeRequiredError: function() {
34
+ return PasswordChangeRequiredError;
35
+ },
36
+ ValidationException: function() {
37
+ return ValidationException;
38
+ }
39
+ });
40
+ class NotImplementedException extends Error {
41
+ constructor(message){
42
+ super(message);
43
+ this.name = NotImplementedException.name;
44
+ }
45
+ }
46
+ class AuthenticationError extends Error {
47
+ constructor(error){
48
+ super(error);
49
+ this.name = AuthenticationError.name;
50
+ }
51
+ }
52
+ class PasswordChangeRequiredError extends Error {
53
+ constructor(){
54
+ super("Password change required");
55
+ this.name = PasswordChangeRequiredError.name;
56
+ }
57
+ }
58
+ class AuthorizationError extends Error {
59
+ permissions = [];
60
+ roles = [];
61
+ reason;
62
+ constructor({ permissions, roles, reason }){
63
+ super("Authorization failed");
64
+ this.name = AuthorizationError.name;
65
+ this.reason = reason;
66
+ this.permissions = permissions;
67
+ this.roles = roles;
68
+ }
69
+ }
70
+ class BadRequestException extends Error {
71
+ constructor(message){
72
+ super(message);
73
+ this.name = BadRequestException.name;
74
+ }
75
+ }
76
+ class NotFoundException extends Error {
77
+ path;
78
+ constructor(message, path){
79
+ super(message);
80
+ this.name = NotFoundException.name;
81
+ this.path = path;
82
+ }
83
+ }
84
+ class ValidationException extends Error {
85
+ errors;
86
+ constructor(validationObject){
87
+ super(JSON.stringify(validationObject));
88
+ this.name = ValidationException.name;
89
+ this.errors = validationObject;
90
+ }
91
+ }
92
+ class ExternalServiceError extends Error {
93
+ error;
94
+ constructor(responseObject){
95
+ super(JSON.stringify(responseObject));
96
+ this.name = ExternalServiceError.name;
97
+ this.error = responseObject;
98
+ }
99
+ }
100
+ class InternalServerException extends Error {
101
+ constructor(message, stack){
102
+ super(message);
103
+ this.name = InternalServerException.name;
104
+ this.stack = stack;
105
+ }
106
+ }
107
+
108
+ //# sourceMappingURL=runtime.exceptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/exceptions/runtime.exceptions.ts"],"names":["AuthenticationError","AuthorizationError","BadRequestException","ExternalServiceError","InternalServerException","NotFoundException","NotImplementedException","PasswordChangeRequiredError","ValidationException","Error","constructor","message","name","error","permissions","roles","reason","path","errors","validationObject","JSON","stringify","responseObject","stack"],"mappings":";;;;;;;;;;;IAOaA,mBAAmB;eAAnBA;;IAcAC,kBAAkB;eAAlBA;;IAcAC,mBAAmB;eAAnBA;;IA2BAC,oBAAoB;eAApBA;;IAUAC,uBAAuB;eAAvBA;;IA9BAC,iBAAiB;eAAjBA;;IA1CAC,uBAAuB;eAAvBA;;IAcAC,2BAA2B;eAA3BA;;IAsCAC,mBAAmB;eAAnBA;;;AApDN,MAAMF,gCAAgCG;IAC3CC,YAAYC,OAAgB,CAAE;QAC5B,KAAK,CAACA;QACN,IAAI,CAACC,IAAI,GAAGN,wBAAwBM,IAAI;IAC1C;AACF;AAEO,MAAMZ,4BAA4BS;IACvCC,YAAYG,KAAc,CAAE;QAC1B,KAAK,CAACA;QACN,IAAI,CAACD,IAAI,GAAGZ,oBAAoBY,IAAI;IACtC;AACF;AAEO,MAAML,oCAAoCE;IAC/CC,aAAc;QACZ,KAAK,CAAC;QACN,IAAI,CAACE,IAAI,GAAGL,4BAA4BK,IAAI;IAC9C;AACF;AAEO,MAAMX,2BAA2BQ;IACtCK,cAAyB,EAAE,CAAC;IAC5BC,QAAmB,EAAE,CAAC;IACtBC,OAAgB;IAEhBN,YAAY,EAAEI,WAAW,EAAEC,KAAK,EAAEC,MAAM,EAAiE,CAAE;QACzG,KAAK,CAAC;QACN,IAAI,CAACJ,IAAI,GAAGX,mBAAmBW,IAAI;QACnC,IAAI,CAACI,MAAM,GAAGA;QACd,IAAI,CAACF,WAAW,GAAGA;QACnB,IAAI,CAACC,KAAK,GAAGA;IACf;AACF;AAEO,MAAMb,4BAA4BO;IACvCC,YAAYC,OAAe,CAAE;QAC3B,KAAK,CAACA;QACN,IAAI,CAACC,IAAI,GAAGV,oBAAoBU,IAAI;IACtC;AACF;AAEO,MAAMP,0BAA0BI;IACrCQ,KAAc;IAEdP,YAAYC,OAAe,EAAEM,IAAa,CAAE;QAC1C,KAAK,CAACN;QACN,IAAI,CAACC,IAAI,GAAGP,kBAAkBO,IAAI;QAClC,IAAI,CAACK,IAAI,GAAGA;IACd;AACF;AAEO,MAAMT,4BAA4BC;IACvCS,OAAY;IAEZR,YAAYS,gBAAqB,CAAE;QACjC,KAAK,CAACC,KAAKC,SAAS,CAACF;QACrB,IAAI,CAACP,IAAI,GAAGJ,oBAAoBI,IAAI;QACpC,IAAI,CAACM,MAAM,GAAGC;IAChB;AACF;AAEO,MAAMhB,6BAA6BM;IACxCI,MAAW;IAEXH,YAAYY,cAAmB,CAAE;QAC/B,KAAK,CAACF,KAAKC,SAAS,CAACC;QACrB,IAAI,CAACV,IAAI,GAAGT,qBAAqBS,IAAI;QACrC,IAAI,CAACC,KAAK,GAAGS;IACf;AACF;AAEO,MAAMlB,gCAAgCK;IAC3CC,YAAYC,OAAe,EAAEY,KAAW,CAAE;QACxC,KAAK,CAACZ;QACN,IAAI,CAACC,IAAI,GAAGR,wBAAwBQ,IAAI;QACxC,IAAI,CAACW,KAAK,GAAGA;IACf;AACF"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "configureCacheManager", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return configureCacheManager;
9
+ }
10
+ });
11
+ const _cachemanager = /*#__PURE__*/ _interop_require_default(require("cache-manager"));
12
+ function _interop_require_default(obj) {
13
+ return obj && obj.__esModule ? obj : {
14
+ default: obj
15
+ };
16
+ }
17
+ function configureCacheManager() {
18
+ return _cachemanager.default.caching({
19
+ store: "memory",
20
+ max: 100,
21
+ ttl: 100
22
+ });
23
+ }
24
+
25
+ //# sourceMappingURL=cache-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/handlers/cache-manager.ts"],"names":["configureCacheManager","cacheManager","caching","store","max","ttl"],"mappings":";;;;+BAEgBA;;;eAAAA;;;qEAFS;;;;;;AAElB,SAASA;IACd,OAAOC,qBAAY,CAACC,OAAO,CAAC;QAAEC,OAAO;QAAUC,KAAK;QAAKC,KAAK;IAAI;AACpE"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "configureEventEmitter", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return configureEventEmitter;
9
+ }
10
+ });
11
+ const _eventemitter2 = require("eventemitter2");
12
+ function configureEventEmitter() {
13
+ return new _eventemitter2.EventEmitter2({
14
+ // set this to `true` to use wildcards
15
+ wildcard: true,
16
+ // the delimiter used to segment namespaces
17
+ delimiter: ".",
18
+ // set this to `true` if you want to emit the newListener event
19
+ newListener: false,
20
+ // set this to `true` if you want to emit the removeListener event
21
+ removeListener: false,
22
+ // the maximum amount of listeners that can be assigned to an event
23
+ maxListeners: 10,
24
+ // show event name in memory leak message when more than maximum amount of listeners is assigned
25
+ verboseMemoryLeak: true,
26
+ // disable throwing uncaughtException if an error event is emitted and it has no listeners
27
+ ignoreErrors: false
28
+ });
29
+ }
30
+
31
+ //# sourceMappingURL=event-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/handlers/event-emitter.ts"],"names":["configureEventEmitter","EventEmitter2","wildcard","delimiter","newListener","removeListener","maxListeners","verboseMemoryLeak","ignoreErrors"],"mappings":";;;;+BAEgBA;;;eAAAA;;;+BAFc;AAEvB,SAASA;IACd,OAAO,IAAIC,4BAAa,CAAC;QACvB,sCAAsC;QACtCC,UAAU;QAEV,2CAA2C;QAC3CC,WAAW;QAEX,+DAA+D;QAC/DC,aAAa;QAEb,kEAAkE;QAClEC,gBAAgB;QAEhB,mEAAmE;QACnEC,cAAc;QAEd,gGAAgG;QAChGC,mBAAmB;QAEnB,0FAA0F;QAC1FC,cAAc;IAChB;AACF"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "LoggerFactory", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return LoggerFactory;
9
+ }
10
+ });
11
+ const _logger = require("./logger");
12
+ function LoggerFactory() {
13
+ return (name, logToFile, logLevel)=>{
14
+ return new _logger.LoggerService(name, logToFile, logLevel);
15
+ };
16
+ }
17
+
18
+ //# sourceMappingURL=logger-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/handlers/logger-factory.ts"],"names":["LoggerFactory","name","logToFile","logLevel","LoggerService"],"mappings":";;;;+BAIgBA;;;eAAAA;;;wBAJc;AAIvB,SAASA;IACd,OAAO,CAACC,MAAcC,WAAqBC;QACzC,OAAO,IAAIC,qBAAa,CAACH,MAAMC,WAAWC;IAC5C;AACF"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "LoggerService", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return LoggerService;
9
+ }
10
+ });
11
+ const _winston = /*#__PURE__*/ _interop_require_default(require("winston"));
12
+ const _path = require("path");
13
+ const _luxon = require("luxon");
14
+ const _serverconstants = require("../server.constants");
15
+ const _fsutils = require("../utils/fs.utils");
16
+ function _interop_require_default(obj) {
17
+ return obj && obj.__esModule ? obj : {
18
+ default: obj
19
+ };
20
+ }
21
+ const dtFormat = new Intl.DateTimeFormat("en-GB", {
22
+ timeStyle: "medium",
23
+ dateStyle: "short",
24
+ timeZone: "UTC"
25
+ });
26
+ const dateFormat = ()=>{
27
+ return dtFormat.format(new Date());
28
+ };
29
+ class LoggerService {
30
+ name;
31
+ logger;
32
+ constructor(name, enableFileLogs = true, logFilterLevel = ""){
33
+ const isProd = process.env[_serverconstants.AppConstants.NODE_ENV_KEY] === _serverconstants.AppConstants.defaultProductionEnv;
34
+ const isTest = process.env[_serverconstants.AppConstants.NODE_ENV_KEY] === _serverconstants.AppConstants.defaultTestEnv;
35
+ if (!logFilterLevel) {
36
+ logFilterLevel = isProd || isTest ? "warn" : "info";
37
+ }
38
+ const date = _luxon.DateTime.now().toISODate();
39
+ this.name = name;
40
+ this.logger = _winston.default.createLogger({
41
+ transports: [
42
+ new _winston.default.transports.Console({
43
+ level: logFilterLevel
44
+ }),
45
+ ...enableFileLogs ? [
46
+ new _winston.default.transports.File({
47
+ level: isTest ? "warn" : "info",
48
+ filename: (0, _path.join)((0, _fsutils.superRootPath)(), _serverconstants.AppConstants.defaultLogsFolder, `${_serverconstants.AppConstants.logAppName}-${date}.log`),
49
+ maxsize: 5000000,
50
+ maxFiles: 5
51
+ })
52
+ ] : []
53
+ ],
54
+ format: _winston.default.format.printf((info)=>{
55
+ const level = info.level.toUpperCase();
56
+ const date = dateFormat();
57
+ let message = `${date} | ${level} | ${name} | ${info.message}`;
58
+ message = info.meta ? message + ` - ${JSON.stringify(info.meta)}` : message;
59
+ return message;
60
+ })
61
+ });
62
+ }
63
+ log(message, meta) {
64
+ this.logger.log("info", message, {
65
+ meta
66
+ });
67
+ }
68
+ warn(message, meta) {
69
+ this.logger.log("warn", message, {
70
+ meta
71
+ });
72
+ }
73
+ debug(message, meta) {
74
+ this.logger.log("debug", message, {
75
+ meta
76
+ });
77
+ }
78
+ error(message, meta) {
79
+ this.logger.log("error", message, {
80
+ meta
81
+ });
82
+ }
83
+ }
84
+
85
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/handlers/logger.ts"],"names":["LoggerService","dtFormat","Intl","DateTimeFormat","timeStyle","dateStyle","timeZone","dateFormat","format","Date","name","logger","constructor","enableFileLogs","logFilterLevel","isProd","process","env","AppConstants","NODE_ENV_KEY","defaultProductionEnv","isTest","defaultTestEnv","date","DateTime","now","toISODate","winston","createLogger","transports","Console","level","File","filename","join","superRootPath","defaultLogsFolder","logAppName","maxsize","maxFiles","printf","info","toUpperCase","message","meta","JSON","stringify","log","warn","debug","error"],"mappings":";;;;+BAgBaA;;;eAAAA;;;gEAhBO;sBACC;uBACI;iCACI;yBACC;;;;;;AAE9B,MAAMC,WAAW,IAAIC,KAAKC,cAAc,CAAC,SAAS;IAChDC,WAAW;IACXC,WAAW;IACXC,UAAU;AACZ;AAEA,MAAMC,aAAa;IACjB,OAAON,SAASO,MAAM,CAAC,IAAIC;AAC7B;AAEO,MAAMT;IACXU,KAAa;IACbC,OAAuB;IAEvBC,YAAYF,IAAY,EAAEG,iBAAiB,IAAI,EAAEC,iBAAyB,EAAE,CAAE;QAC5E,MAAMC,SAASC,QAAQC,GAAG,CAACC,6BAAY,CAACC,YAAY,CAAC,KAAKD,6BAAY,CAACE,oBAAoB;QAC3F,MAAMC,SAASL,QAAQC,GAAG,CAACC,6BAAY,CAACC,YAAY,CAAC,KAAKD,6BAAY,CAACI,cAAc;QAErF,IAAI,CAACR,gBAAgB;YACnBA,iBAAiBC,UAAUM,SAAS,SAAS;QAC/C;QAEA,MAAME,OAAOC,eAAQ,CAACC,GAAG,GAAGC,SAAS;QACrC,IAAI,CAAChB,IAAI,GAAGA;QACZ,IAAI,CAACC,MAAM,GAAGgB,gBAAO,CAACC,YAAY,CAAC;YACjCC,YAAY;gBACV,IAAIF,gBAAO,CAACE,UAAU,CAACC,OAAO,CAAC;oBAC7BC,OAAOjB;gBACT;mBACID,iBACA;oBACE,IAAIc,gBAAO,CAACE,UAAU,CAACG,IAAI,CAAC;wBAC1BD,OAAOV,SAAS,SAAS;wBACzBY,UAAUC,IAAAA,UAAI,EAACC,IAAAA,sBAAa,KAAIjB,6BAAY,CAACkB,iBAAiB,EAAE,CAAC,EAAElB,6BAAY,CAACmB,UAAU,CAAC,CAAC,EAAEd,KAAK,IAAI,CAAC;wBACxGe,SAAS;wBACTC,UAAU;oBACZ;iBACD,GACD,EAAE;aACP;YACD/B,QAAQmB,gBAAO,CAACnB,MAAM,CAACgC,MAAM,CAAC,CAACC;gBAC7B,MAAMV,QAAQU,KAAKV,KAAK,CAACW,WAAW;gBACpC,MAAMnB,OAAOhB;gBACb,IAAIoC,UAAU,CAAC,EAAEpB,KAAK,GAAG,EAAEQ,MAAM,GAAG,EAAErB,KAAK,GAAG,EAAE+B,KAAKE,OAAO,CAAC,CAAC;gBAC9DA,UAAUF,KAAKG,IAAI,GAAGD,UAAU,CAAC,GAAG,EAAEE,KAAKC,SAAS,CAACL,KAAKG,IAAI,EAAE,CAAC,GAAGD;gBACpE,OAAOA;YACT;QACF;IACF;IAEAI,IAAIJ,OAAe,EAAEC,IAAU,EAAE;QAC/B,IAAI,CAACjC,MAAM,CAACoC,GAAG,CAAC,QAAQJ,SAAS;YAC/BC;QACF;IACF;IAEAI,KAAKL,OAAe,EAAEC,IAAU,EAAE;QAChC,IAAI,CAACjC,MAAM,CAACoC,GAAG,CAAC,QAAQJ,SAAS;YAC/BC;QACF;IACF;IAEAK,MAAMN,OAAe,EAAEC,IAAU,EAAE;QACjC,IAAI,CAACjC,MAAM,CAACoC,GAAG,CAAC,SAASJ,SAAS;YAChCC;QACF;IACF;IAEAM,MAAMP,OAAe,EAAEC,IAAU,EAAE;QACjC,IAAI,CAACjC,MAAM,CAACoC,GAAG,CAAC,SAASJ,SAAS;YAAEC;QAAK;IAC3C;AACF"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ getExtendedValidator: function() {
13
+ return getExtendedValidator;
14
+ },
15
+ getScopedPrinter: function() {
16
+ return getScopedPrinter;
17
+ },
18
+ validateInput: function() {
19
+ return validateInput;
20
+ },
21
+ validateMiddleware: function() {
22
+ return validateMiddleware;
23
+ }
24
+ });
25
+ const _runtimeexceptions = require("../exceptions/runtime.exceptions");
26
+ const _printer = require("../middleware/printer");
27
+ const _normalizeurl = require("../utils/normalize-url");
28
+ const _nodeinputvalidator = /*#__PURE__*/ _interop_require_wildcard(require("node-input-validator"));
29
+ function _getRequireWildcardCache(nodeInterop) {
30
+ if (typeof WeakMap !== "function") return null;
31
+ var cacheBabelInterop = new WeakMap();
32
+ var cacheNodeInterop = new WeakMap();
33
+ return (_getRequireWildcardCache = function(nodeInterop) {
34
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
35
+ })(nodeInterop);
36
+ }
37
+ function _interop_require_wildcard(obj, nodeInterop) {
38
+ if (!nodeInterop && obj && obj.__esModule) {
39
+ return obj;
40
+ }
41
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
42
+ return {
43
+ default: obj
44
+ };
45
+ }
46
+ var cache = _getRequireWildcardCache(nodeInterop);
47
+ if (cache && cache.has(obj)) {
48
+ return cache.get(obj);
49
+ }
50
+ var newObj = {};
51
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
52
+ for(var key in obj){
53
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
54
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
55
+ if (desc && (desc.get || desc.set)) {
56
+ Object.defineProperty(newObj, key, desc);
57
+ } else {
58
+ newObj[key] = obj[key];
59
+ }
60
+ }
61
+ }
62
+ newObj.default = obj;
63
+ if (cache) {
64
+ cache.set(obj, newObj);
65
+ }
66
+ return newObj;
67
+ }
68
+ function getExtendedValidator() {
69
+ (0, _nodeinputvalidator.extend)("wsurl", ({ value, args }, validator)=>{
70
+ if (!value) return false;
71
+ try {
72
+ const url = (0, _normalizeurl.normalizeUrl)(value);
73
+ return url.startsWith("ws://") || url.startsWith("wss://");
74
+ } catch (e) {
75
+ return false;
76
+ }
77
+ });
78
+ (0, _nodeinputvalidator.extend)("httpurl", ({ value, args }, validator)=>{
79
+ if (!value) return false;
80
+ try {
81
+ if (!value.startsWith("http://") && !value.startsWith("https://")) {
82
+ return false;
83
+ }
84
+ return new URL((0, _normalizeurl.normalizeUrl)(value));
85
+ } catch (e) {
86
+ return false;
87
+ }
88
+ });
89
+ (0, _nodeinputvalidator.extend)("not", ({ value, args }, validator)=>{
90
+ return !value && value !== false;
91
+ });
92
+ return _nodeinputvalidator.default;
93
+ }
94
+ function getScopedPrinter(req) {
95
+ const tokens = [
96
+ _printer.printerLoginToken,
97
+ _printer.currentPrinterToken,
98
+ _printer.printerIdToken
99
+ ];
100
+ let resolvedDependencies = {};
101
+ let errors = [];
102
+ tokens.forEach((t)=>{
103
+ try {
104
+ const dependency = req.container.resolve(t);
105
+ if (!dependency) {
106
+ errors.push(`Scoped Dependency '${t}' was not resolved. Please ensure the route requires a :id param and the printerId was provided.`);
107
+ }
108
+ resolvedDependencies[t] = dependency;
109
+ } catch (e) {
110
+ throw new _runtimeexceptions.InternalServerException(`Dependency ${t} could not be resolved. Aborted request.`);
111
+ }
112
+ });
113
+ if (errors.length > 0) {
114
+ throw new _runtimeexceptions.ValidationException(errors);
115
+ }
116
+ return resolvedDependencies;
117
+ }
118
+ async function validateInput(data, rules) {
119
+ const localNIV = getExtendedValidator();
120
+ const v = new localNIV.Validator(data, rules);
121
+ const matched = await v.check();
122
+ if (!matched) {
123
+ throw new _runtimeexceptions.ValidationException(v.errors);
124
+ }
125
+ return v.inputs;
126
+ }
127
+ async function validateMiddleware(req, rules) {
128
+ return validateInput(req.body, rules);
129
+ }
130
+
131
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/handlers/validators.ts"],"names":["getExtendedValidator","getScopedPrinter","validateInput","validateMiddleware","extend","value","args","validator","url","normalizeUrl","startsWith","e","URL","nodeInputValidator","req","tokens","printerLoginToken","currentPrinterToken","printerIdToken","resolvedDependencies","errors","forEach","t","dependency","container","resolve","push","InternalServerException","length","ValidationException","data","rules","localNIV","v","Validator","matched","check","inputs","body"],"mappings":";;;;;;;;;;;IAQgBA,oBAAoB;eAApBA;;IA4BAC,gBAAgB;eAAhBA;;IA4BMC,aAAa;eAAbA;;IAeAC,kBAAkB;eAAlBA;;;mCA9EuC;yBACU;8BAC1C;4EACc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIpC,SAASH;IACdI,IAAAA,0BAAM,EAAC,SAAS,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAAE,EAAEC;QAChC,IAAI,CAACF,OAAO,OAAO;QACnB,IAAI;YACF,MAAMG,MAAMC,IAAAA,0BAAY,EAACJ;YACzB,OAAOG,IAAIE,UAAU,CAAC,YAAYF,IAAIE,UAAU,CAAC;QACnD,EAAE,OAAOC,GAAG;YACV,OAAO;QACT;IACF;IACAP,IAAAA,0BAAM,EAAC,WAAW,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAAE,EAAEC;QAClC,IAAI,CAACF,OAAO,OAAO;QAEnB,IAAI;YACF,IAAI,CAACA,MAAMK,UAAU,CAAC,cAAc,CAACL,MAAMK,UAAU,CAAC,aAAa;gBACjE,OAAO;YACT;YACA,OAAO,IAAIE,IAAIH,IAAAA,0BAAY,EAACJ;QAC9B,EAAE,OAAOM,GAAG;YACV,OAAO;QACT;IACF;IACAP,IAAAA,0BAAM,EAAC,OAAO,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAAE,EAAEC;QAC9B,OAAO,CAACF,SAASA,UAAU;IAC7B;IACA,OAAOQ,2BAAkB;AAC3B;AAEO,SAASZ,iBAAiBa,GAAY;IAC3C,MAAMC,SAAS;QAACC,0BAAiB;QAAEC,4BAAmB;QAAEC,uBAAc;KAAC;IACvE,IAAIC,uBAAgH,CAAC;IACrH,IAAIC,SAAgB,EAAE;IACtBL,OAAOM,OAAO,CAAC,CAACC;QACd,IAAI;YACF,MAAMC,aAAaT,IAAIU,SAAS,CAACC,OAAO,CAACH;YACzC,IAAI,CAACC,YAAY;gBACfH,OAAOM,IAAI,CACT,CAAC,mBAAmB,EAAEJ,EAAE,gGAAgG,CAAC;YAE7H;YACAH,oBAAoB,CAACG,EAAE,GAAGC;QAC5B,EAAE,OAAOZ,GAAG;YACV,MAAM,IAAIgB,0CAAuB,CAAC,CAAC,WAAW,EAAEL,EAAE,wCAAwC,CAAC;QAC7F;IACF;IAEA,IAAIF,OAAOQ,MAAM,GAAG,GAAG;QACrB,MAAM,IAAIC,sCAAmB,CAACT;IAChC;IAEA,OAAOD;AACT;AAKO,eAAejB,cAAiB4B,IAAS,EAAEC,KAAQ;IACxD,MAAMC,WAAWhC;IAEjB,MAAMiC,IAAI,IAAID,SAASE,SAAS,CAACJ,MAAMC;IAEvC,MAAMI,UAAU,MAAMF,EAAEG,KAAK;IAC7B,IAAI,CAACD,SAAS;QACZ,MAAM,IAAIN,sCAAmB,CAACI,EAAEb,MAAM;IACxC;IACA,OAAOa,EAAEI,MAAM;AACjB;AAKO,eAAelC,mBAAsBW,GAAY,EAAEiB,KAAQ;IAChE,OAAO7B,cAAcY,IAAIwB,IAAI,EAAEP;AACjC"}
package/dist/index.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _node = require("@sentry/node");
6
+ const _serverenv = require("./server.env");
7
+ const _servercore = require("./server.core");
8
+ const _containertokens = require("./container.tokens");
9
+ (0, _serverenv.setupEnvConfig)();
10
+ (0, _servercore.setupServer)().then(({ httpServer, container })=>{
11
+ container.resolve(_containertokens.DITokens.serverHost).boot(httpServer).catch(async (e)=>{
12
+ console.error("Server has crashed unintentionally - please report this", e);
13
+ (0, _node.captureException)(e);
14
+ await (0, _node.flush)(0);
15
+ process.exit(1);
16
+ });
17
+ });
18
+
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"names":["setupEnvConfig","setupServer","then","httpServer","container","resolve","DITokens","serverHost","boot","catch","e","console","error","captureException","flush","process","exit"],"mappings":";;;;sBAAwC;2BACT;4BACH;iCACH;AAEzBA,IAAAA,yBAAc;AAEdC,IAAAA,uBAAW,IAAGC,IAAI,CAAC,CAAC,EAAEC,UAAU,EAAEC,SAAS,EAAE;IAC3CA,UACGC,OAAO,CAACC,yBAAQ,CAACC,UAAU,EAC3BC,IAAI,CAACL,YACLM,KAAK,CAAC,OAAOC;QACZC,QAAQC,KAAK,CAAC,2DAA2DF;QAEzEG,IAAAA,sBAAgB,EAACH;QACjB,MAAMI,IAAAA,WAAK,EAAC;QACZC,QAAQC,IAAI,CAAC;IACf;AACJ"}