@fdm-monster/server 1.5.3 → 1.6.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 (299) hide show
  1. package/.env.template +7 -0
  2. package/README.md +3 -2
  3. package/dist/consoles/upload-test.js +52 -0
  4. package/dist/consoles/upload-test.js.map +1 -0
  5. package/dist/constants/authorization.constants.js +0 -1
  6. package/dist/constants/authorization.constants.js.map +1 -1
  7. package/dist/constants/event.constants.js.map +1 -1
  8. package/dist/constants/http-status-codes.constants.js +62 -255
  9. package/dist/constants/http-status-codes.constants.js.map +1 -1
  10. package/dist/constants/server-settings.constants.js +0 -4
  11. package/dist/constants/server-settings.constants.js.map +1 -1
  12. package/dist/constants/service.constants.js +6 -21
  13. package/dist/constants/service.constants.js.map +1 -1
  14. package/dist/container.js +4 -10
  15. package/dist/container.js.map +1 -1
  16. package/dist/container.tokens.js +1 -7
  17. package/dist/container.tokens.js.map +1 -1
  18. package/dist/controllers/auth.controller.js +0 -2
  19. package/dist/controllers/auth.controller.js.map +1 -1
  20. package/dist/controllers/custom-gcode.controller.js +1 -3
  21. package/dist/controllers/custom-gcode.controller.js.map +1 -1
  22. package/dist/controllers/floor.controller.js +0 -5
  23. package/dist/controllers/floor.controller.js.map +1 -1
  24. package/dist/controllers/plugin-firmware-update.controller.js +1 -3
  25. package/dist/controllers/plugin-firmware-update.controller.js.map +1 -1
  26. package/dist/controllers/print-completion.controller.js +1 -3
  27. package/dist/controllers/print-completion.controller.js.map +1 -1
  28. package/dist/controllers/printer-files.controller.js +18 -70
  29. package/dist/controllers/printer-files.controller.js.map +1 -1
  30. package/dist/controllers/printer.controller.js +7 -25
  31. package/dist/controllers/printer.controller.js.map +1 -1
  32. package/dist/controllers/server-private.controller.js +0 -1
  33. package/dist/controllers/server-private.controller.js.map +1 -1
  34. package/dist/controllers/server-public.controller.js +0 -1
  35. package/dist/controllers/server-public.controller.js.map +1 -1
  36. package/dist/controllers/settings.controller.js +0 -2
  37. package/dist/controllers/settings.controller.js.map +1 -1
  38. package/dist/controllers/user.controller.js +1 -10
  39. package/dist/controllers/user.controller.js.map +1 -1
  40. package/dist/controllers/validation/setting.validation.js +0 -1
  41. package/dist/controllers/validation/setting.validation.js.map +1 -1
  42. package/dist/entities/base.entity.js +29 -0
  43. package/dist/entities/base.entity.js.map +1 -0
  44. package/dist/handlers/cache-manager.js +1 -1
  45. package/dist/handlers/cache-manager.js.map +1 -1
  46. package/dist/handlers/event-emitter.js +0 -7
  47. package/dist/handlers/event-emitter.js.map +1 -1
  48. package/dist/handlers/logger.js +1 -1
  49. package/dist/handlers/logger.js.map +1 -1
  50. package/dist/handlers/validators.js +1 -1
  51. package/dist/handlers/validators.js.map +1 -1
  52. package/dist/middleware/authenticate.js +0 -2
  53. package/dist/middleware/authenticate.js.map +1 -1
  54. package/dist/middleware/exception.filter.js +0 -1
  55. package/dist/middleware/exception.filter.js.map +1 -1
  56. package/dist/middleware/global.middleware.js +0 -4
  57. package/dist/middleware/global.middleware.js.map +1 -1
  58. package/dist/models/Auth/User.js +0 -2
  59. package/dist/models/Auth/User.js.map +1 -1
  60. package/dist/models/Printer.js +4 -46
  61. package/dist/models/Printer.js.map +1 -1
  62. package/dist/models/PrinterFile.js +81 -0
  63. package/dist/models/PrinterFile.js.map +1 -0
  64. package/dist/models/Settings.js +0 -1
  65. package/dist/models/Settings.js.map +1 -1
  66. package/dist/models/index.js +4 -0
  67. package/dist/models/index.js.map +1 -1
  68. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js +0 -4
  69. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +1 -1
  70. package/dist/mongo-migrations/20210907173950-printers-enabled.js +0 -4
  71. package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +1 -1
  72. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js +0 -4
  73. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +1 -1
  74. package/dist/mongo-migrations/20231111081809-printer-flatten-name.js +0 -5
  75. package/dist/mongo-migrations/20231111081809-printer-flatten-name.js.map +1 -1
  76. package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js +0 -5
  77. package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js.map +1 -1
  78. package/dist/mongo-migrations/20231202183902-printer-files-simpler.js +41 -0
  79. package/dist/mongo-migrations/20231202183902-printer-files-simpler.js.map +1 -0
  80. package/dist/server.constants.js +1 -19
  81. package/dist/server.constants.js.map +1 -1
  82. package/dist/server.core.js +6 -7
  83. package/dist/server.core.js.map +1 -1
  84. package/dist/server.env.js +4 -16
  85. package/dist/server.env.js.map +1 -1
  86. package/dist/server.host.js +3 -7
  87. package/dist/server.host.js.map +1 -1
  88. package/dist/services/authentication/auth.service.js +2 -20
  89. package/dist/services/authentication/auth.service.js.map +1 -1
  90. package/dist/services/authentication/jwt.service.js +0 -1
  91. package/dist/services/authentication/jwt.service.js.map +1 -1
  92. package/dist/services/authentication/refresh-token.service.js +0 -3
  93. package/dist/services/authentication/refresh-token.service.js.map +1 -1
  94. package/dist/services/authentication/user.service.js +0 -4
  95. package/dist/services/authentication/user.service.js.map +1 -1
  96. package/dist/services/batch-call.service.js +4 -8
  97. package/dist/services/batch-call.service.js.map +1 -1
  98. package/dist/services/camera-stream.service.js +0 -1
  99. package/dist/services/camera-stream.service.js.map +1 -1
  100. package/dist/services/core/client-bundle.service.js +1 -4
  101. package/dist/services/core/client-bundle.service.js.map +1 -1
  102. package/dist/services/core/logs-manager.service.js +1 -2
  103. package/dist/services/core/logs-manager.service.js.map +1 -1
  104. package/dist/services/core/multer.service.js +6 -9
  105. package/dist/services/core/multer.service.js.map +1 -1
  106. package/dist/services/core/server-release.service.js +4 -13
  107. package/dist/services/core/server-release.service.js.map +1 -1
  108. package/dist/services/core/server-update.service.js +0 -2
  109. package/dist/services/core/server-update.service.js.map +1 -1
  110. package/dist/services/core/task-manager.service.js +9 -22
  111. package/dist/services/core/task-manager.service.js.map +1 -1
  112. package/dist/services/core/yaml.service.js +0 -7
  113. package/dist/services/core/yaml.service.js.map +1 -1
  114. package/dist/services/floor.service.js +2 -43
  115. package/dist/services/floor.service.js.map +1 -1
  116. package/dist/services/interfaces/print-completion.dto.js +0 -2
  117. package/dist/services/interfaces/print-completion.dto.js.map +1 -1
  118. package/dist/services/interfaces/print-completion.interface.js +6 -0
  119. package/dist/services/interfaces/{print-completion.service.js.map → print-completion.interface.js.map} +1 -1
  120. package/dist/services/interfaces/printer-file.dto.js +3 -1
  121. package/dist/services/interfaces/printer-file.dto.js.map +1 -1
  122. package/dist/services/interfaces/refresh-token.dto.js +0 -2
  123. package/dist/services/interfaces/refresh-token.dto.js.map +1 -1
  124. package/dist/services/interfaces/settings.dto.js +0 -1
  125. package/dist/services/interfaces/settings.dto.js.map +1 -1
  126. package/dist/services/octoprint/constants/octoprint-service.constants.js +0 -3
  127. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
  128. package/dist/services/octoprint/dto/connection-state.dto.js +46 -0
  129. package/dist/services/octoprint/dto/connection-state.dto.js.map +1 -0
  130. package/dist/services/octoprint/dto/octoprint-currentuser.dto.js +6 -0
  131. package/dist/services/octoprint/dto/octoprint-currentuser.dto.js.map +1 -0
  132. package/dist/services/octoprint/dto/octoprint-event.dto.js +41 -0
  133. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -0
  134. package/dist/services/octoprint/dto/octoprint-file.dto.js +84 -0
  135. package/dist/services/octoprint/dto/octoprint-file.dto.js.map +1 -0
  136. package/dist/services/octoprint/dto/octoprint-files.dto.js +17 -0
  137. package/dist/services/octoprint/dto/octoprint-files.dto.js.map +1 -0
  138. package/dist/services/{interfaces/print-completion.service.js → octoprint/dto/octoprint-session.dto.js} +1 -1
  139. package/dist/services/octoprint/dto/octoprint-session.dto.js.map +1 -0
  140. package/dist/services/octoprint/dto/octoprint-settings.dto.js +29 -0
  141. package/dist/services/octoprint/dto/octoprint-settings.dto.js.map +1 -0
  142. package/dist/services/octoprint/dto/octoprint-system-info.dto.js +41 -0
  143. package/dist/services/octoprint/dto/octoprint-system-info.dto.js.map +1 -0
  144. package/dist/services/octoprint/dto/state.dto.js +38 -0
  145. package/dist/services/octoprint/dto/state.dto.js.map +1 -0
  146. package/dist/services/octoprint/dto/websocket-output/connection-message.dto.js +6 -0
  147. package/dist/services/octoprint/dto/websocket-output/connection-message.dto.js.map +1 -0
  148. package/dist/services/octoprint/dto/websocket-output/current-message.dto.js +6 -0
  149. package/dist/services/octoprint/dto/websocket-output/current-message.dto.js.map +1 -0
  150. package/dist/services/octoprint/dto/websocket-output/event-message.dto.js +6 -0
  151. package/dist/services/octoprint/dto/websocket-output/event-message.dto.js.map +1 -0
  152. package/dist/services/octoprint/dto/websocket-output/event.type.js +54 -0
  153. package/dist/services/octoprint/dto/websocket-output/event.type.js.map +1 -0
  154. package/dist/services/octoprint/dto/websocket-output/events/client-authed.dto.js +6 -0
  155. package/dist/services/octoprint/dto/websocket-output/events/client-authed.dto.js.map +1 -0
  156. package/dist/services/octoprint/dto/websocket-output/events/client-closed.dto.js +6 -0
  157. package/dist/services/octoprint/dto/websocket-output/events/client-closed.dto.js.map +1 -0
  158. package/dist/services/octoprint/dto/websocket-output/events/client-opened.dto.js +6 -0
  159. package/dist/services/octoprint/dto/websocket-output/events/client-opened.dto.js.map +1 -0
  160. package/dist/services/octoprint/dto/websocket-output/events/dwelling.dto.js +6 -0
  161. package/dist/services/octoprint/dto/websocket-output/events/dwelling.dto.js.map +1 -0
  162. package/dist/services/octoprint/dto/websocket-output/events/file-added.dto.js +6 -0
  163. package/dist/services/octoprint/dto/websocket-output/events/file-added.dto.js.map +1 -0
  164. package/dist/services/octoprint/dto/websocket-output/events/file-deselected.dto.js +6 -0
  165. package/dist/services/octoprint/dto/websocket-output/events/file-deselected.dto.js.map +1 -0
  166. package/dist/services/octoprint/dto/websocket-output/events/file-removed.dto.js +6 -0
  167. package/dist/services/octoprint/dto/websocket-output/events/file-removed.dto.js.map +1 -0
  168. package/dist/services/octoprint/dto/websocket-output/events/folder-added.dto.js +6 -0
  169. package/dist/services/octoprint/dto/websocket-output/events/folder-added.dto.js.map +1 -0
  170. package/dist/services/octoprint/dto/websocket-output/events/home.dto.js +6 -0
  171. package/dist/services/octoprint/dto/websocket-output/events/home.dto.js.map +1 -0
  172. package/dist/services/octoprint/dto/websocket-output/events/metadata-analysis-finished.dto.js +6 -0
  173. package/dist/services/octoprint/dto/websocket-output/events/metadata-analysis-finished.dto.js.map +1 -0
  174. package/dist/services/octoprint/dto/websocket-output/events/metadata-analysis-started.dto.js +6 -0
  175. package/dist/services/octoprint/dto/websocket-output/events/metadata-analysis-started.dto.js.map +1 -0
  176. package/dist/services/octoprint/dto/websocket-output/events/metadata-statistics-updated.dto.js +6 -0
  177. package/dist/services/octoprint/dto/websocket-output/events/metadata-statistics-updated.dto.js.map +1 -0
  178. package/dist/services/octoprint/dto/websocket-output/events/position-update.dto.js +6 -0
  179. package/dist/services/octoprint/dto/websocket-output/events/position-update.dto.js.map +1 -0
  180. package/dist/services/octoprint/dto/websocket-output/events/print-cancelled.dto.js +6 -0
  181. package/dist/services/octoprint/dto/websocket-output/events/print-cancelled.dto.js.map +1 -0
  182. package/dist/services/octoprint/dto/websocket-output/events/print-cancelling.dto.js +6 -0
  183. package/dist/services/octoprint/dto/websocket-output/events/print-cancelling.dto.js.map +1 -0
  184. package/dist/services/octoprint/dto/websocket-output/events/print-done.dto.js +6 -0
  185. package/dist/services/octoprint/dto/websocket-output/events/print-done.dto.js.map +1 -0
  186. package/dist/services/octoprint/dto/websocket-output/events/print-failed.dto.js +6 -0
  187. package/dist/services/octoprint/dto/websocket-output/events/print-failed.dto.js.map +1 -0
  188. package/dist/services/octoprint/dto/websocket-output/events/print-paused.dto.js +6 -0
  189. package/dist/services/octoprint/dto/websocket-output/events/print-paused.dto.js.map +1 -0
  190. package/dist/services/octoprint/dto/websocket-output/events/print-resumed.dto.js +6 -0
  191. package/dist/services/octoprint/dto/websocket-output/events/print-resumed.dto.js.map +1 -0
  192. package/dist/services/octoprint/dto/websocket-output/events/print-started.dto.js +6 -0
  193. package/dist/services/octoprint/dto/websocket-output/events/print-started.dto.js.map +1 -0
  194. package/dist/services/octoprint/dto/websocket-output/events/printer-state-changed.dto.js +6 -0
  195. package/dist/services/octoprint/dto/websocket-output/events/printer-state-changed.dto.js.map +1 -0
  196. package/dist/services/octoprint/dto/websocket-output/events/transfer-done.dto.js +6 -0
  197. package/dist/services/octoprint/dto/websocket-output/events/transfer-done.dto.js.map +1 -0
  198. package/dist/services/octoprint/dto/websocket-output/events/transfer-started.dto.js +6 -0
  199. package/dist/services/octoprint/dto/websocket-output/events/transfer-started.dto.js.map +1 -0
  200. package/dist/services/octoprint/dto/websocket-output/events/updated-files.dto.js +6 -0
  201. package/dist/services/octoprint/dto/websocket-output/events/updated-files.dto.js.map +1 -0
  202. package/dist/services/octoprint/dto/websocket-output/events/upload.dto.js +6 -0
  203. package/dist/services/octoprint/dto/websocket-output/events/upload.dto.js.map +1 -0
  204. package/dist/services/octoprint/dto/websocket-output/events/user-logged-in.dto.js +6 -0
  205. package/dist/services/octoprint/dto/websocket-output/events/user-logged-in.dto.js.map +1 -0
  206. package/dist/services/octoprint/dto/websocket-output/events/z-change.dto.js +6 -0
  207. package/dist/services/octoprint/dto/websocket-output/events/z-change.dto.js.map +1 -0
  208. package/dist/services/octoprint/dto/websocket-output/history-message.dto.js +6 -0
  209. package/dist/services/octoprint/dto/websocket-output/history-message.dto.js.map +1 -0
  210. package/dist/services/octoprint/dto/websocket-output/plugin-message.dto.js +6 -0
  211. package/dist/services/octoprint/dto/websocket-output/plugin-message.dto.js.map +1 -0
  212. package/dist/services/octoprint/dto/websocket-output/timelapse-message.dto.js +6 -0
  213. package/dist/services/octoprint/dto/websocket-output/timelapse-message.dto.js.map +1 -0
  214. package/dist/services/octoprint/octoprint-api.routes.js +15 -17
  215. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  216. package/dist/services/octoprint/octoprint-api.service.js +189 -158
  217. package/dist/services/octoprint/octoprint-api.service.js.map +1 -1
  218. package/dist/services/octoprint/octoprint-sockio.adapter.js +50 -85
  219. package/dist/services/octoprint/octoprint-sockio.adapter.js.map +1 -1
  220. package/dist/services/octoprint/plugin-base.service.js +0 -1
  221. package/dist/services/octoprint/plugin-base.service.js.map +1 -1
  222. package/dist/services/octoprint/plugin-firmware-update.service.js +0 -3
  223. package/dist/services/octoprint/plugin-firmware-update.service.js.map +1 -1
  224. package/dist/services/octoprint/utils/api.utils.js +0 -35
  225. package/dist/services/octoprint/utils/api.utils.js.map +1 -1
  226. package/dist/services/orm/base.interface.js +6 -0
  227. package/dist/services/orm/base.interface.js.map +1 -0
  228. package/dist/services/orm/base.service.js +69 -0
  229. package/dist/services/orm/base.service.js.map +1 -0
  230. package/dist/services/print-completion.service.js +0 -1
  231. package/dist/services/print-completion.service.js.map +1 -1
  232. package/dist/services/print-completion.shared.js +0 -1
  233. package/dist/services/print-completion.shared.js.map +1 -1
  234. package/dist/services/printer-files.service.js +70 -53
  235. package/dist/services/printer-files.service.js.map +1 -1
  236. package/dist/services/printer.service.js +2 -15
  237. package/dist/services/printer.service.js.map +1 -1
  238. package/dist/services/settings.service.js +2 -8
  239. package/dist/services/settings.service.js.map +1 -1
  240. package/dist/services/validators/floor-service.validation.js +3 -3
  241. package/dist/services/validators/floor-service.validation.js.map +1 -1
  242. package/dist/services/validators/yaml-service.validation.js +0 -3
  243. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  244. package/dist/shared/dtos/printer-login.dto.js +58 -0
  245. package/dist/shared/dtos/printer-login.dto.js.map +1 -0
  246. package/dist/shared/websocket.adapter.js +59 -0
  247. package/dist/shared/websocket.adapter.js.map +1 -0
  248. package/dist/state/file-upload-tracker.cache.js +0 -1
  249. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  250. package/dist/state/file.cache.js +19 -42
  251. package/dist/state/file.cache.js.map +1 -1
  252. package/dist/state/floor.store.js +0 -1
  253. package/dist/state/floor.store.js.map +1 -1
  254. package/dist/state/printer-events.cache.js +1 -3
  255. package/dist/state/printer-events.cache.js.map +1 -1
  256. package/dist/state/{files.store.js → printer-files.store.js} +26 -43
  257. package/dist/state/printer-files.store.js.map +1 -0
  258. package/dist/state/printer-socket.store.js +7 -32
  259. package/dist/state/printer-socket.store.js.map +1 -1
  260. package/dist/state/printer.cache.js +0 -1
  261. package/dist/state/printer.cache.js.map +1 -1
  262. package/dist/state/settings.store.js +6 -3
  263. package/dist/state/settings.store.js.map +1 -1
  264. package/dist/state/socket-io.gateway.js +0 -2
  265. package/dist/state/socket-io.gateway.js.map +1 -1
  266. package/dist/state/test-printer-socket.store.js +1 -7
  267. package/dist/state/test-printer-socket.store.js.map +1 -1
  268. package/dist/task.presets.js +0 -11
  269. package/dist/task.presets.js.map +1 -1
  270. package/dist/tasks/boot.task.js +6 -10
  271. package/dist/tasks/boot.task.js.map +1 -1
  272. package/dist/tasks/print-completion.socketio.task.js +13 -22
  273. package/dist/tasks/print-completion.socketio.task.js.map +1 -1
  274. package/dist/tasks/printer-file-clean.task.js +12 -20
  275. package/dist/tasks/printer-file-clean.task.js.map +1 -1
  276. package/dist/tasks/printer-websocket-restore.task.js +1 -5
  277. package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
  278. package/dist/tasks/printer-websocket.task.js +5 -15
  279. package/dist/tasks/printer-websocket.task.js.map +1 -1
  280. package/dist/tasks/socketio.task.js +0 -1
  281. package/dist/tasks/socketio.task.js.map +1 -1
  282. package/dist/tasks.js +0 -2
  283. package/dist/tasks.js.map +1 -1
  284. package/dist/types/express/index.d.js +0 -1
  285. package/dist/types/express/index.d.js.map +1 -1
  286. package/dist/utils/env.utils.js +1 -14
  287. package/dist/utils/env.utils.js.map +1 -1
  288. package/dist/utils/is-docker.js +1 -1
  289. package/dist/utils/is-docker.js.map +1 -1
  290. package/dist/utils/normalize-url.js +0 -35
  291. package/dist/utils/normalize-url.js.map +1 -1
  292. package/dist/utils/semver.utils.js +0 -1
  293. package/dist/utils/semver.utils.js.map +1 -1
  294. package/package.json +53 -43
  295. package/dist/state/files.store.js.map +0 -1
  296. package/dist/utils/find-predicate.utils.js +0 -18
  297. package/dist/utils/find-predicate.utils.js.map +0 -1
  298. package/dist/utils/websocket.adapter.js +0 -105
  299. package/dist/utils/websocket.adapter.js.map +0 -1
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "PrinterFilesService", {
9
9
  }
10
10
  });
11
11
  const _runtimeexceptions = require("../exceptions/runtime.exceptions");
12
- const _findpredicateutils = require("../utils/find-predicate.utils");
12
+ const _models = require("../models");
13
13
  class PrinterFilesService {
14
14
  printerService;
15
15
  logger;
@@ -17,74 +17,91 @@ class PrinterFilesService {
17
17
  this.printerService = printerService;
18
18
  this.logger = loggerFactory(PrinterFilesService.name);
19
19
  }
20
- async getPrinterFilesStorage(printerId) {
21
- const printer = await this.printerService.get(printerId);
20
+ toDto(entity) {
22
21
  return {
23
- fileList: printer.fileList,
24
- storage: printer.storage
22
+ id: entity.id,
23
+ printerId: entity.printerId?.toString(),
24
+ name: entity.name,
25
+ date: entity.date,
26
+ display: entity.display,
27
+ gcodeAnalysis: entity.gcodeAnalysis,
28
+ hash: entity.hash,
29
+ origin: entity.origin,
30
+ path: entity.path,
31
+ prints: entity.prints,
32
+ refs: entity.refs,
33
+ size: entity.size,
34
+ statistics: entity.statistics,
35
+ type: entity.type,
36
+ typePath: entity.typePath
25
37
  };
26
38
  }
27
- async updateFiles(printerId, fileList) {
39
+ async getPrinterFiles(printerId) {
28
40
  const printer = await this.printerService.get(printerId);
29
- printer.fileList = fileList;
30
- printer.markModified("fileList");
31
- await printer.save();
32
- return printer.fileList;
41
+ return _models.PrinterFile.find({
42
+ printerId: printer.id
43
+ });
44
+ }
45
+ async updateFiles(printerId, newFiles) {
46
+ const savedFiles = await this.getPrinterFiles(printerId);
47
+ const newPaths = newFiles.map((f)=>f.path);
48
+ const deletableSavedFiles = savedFiles.filter((f)=>!newPaths.includes(f.path));
49
+ const deletableSavedFilePaths = deletableSavedFiles.map((f)=>f.path);
50
+ await this.deletePrinterFiles(printerId, deletableSavedFilePaths, false);
51
+ for (const newFile of newFiles){
52
+ await this.appendOrReplaceFile(printerId, newFile);
53
+ }
54
+ return await this.getPrinterFiles(printerId);
33
55
  }
34
56
  async appendOrReplaceFile(printerId, addedFile) {
35
57
  const printer = await this.printerService.get(printerId);
36
- // TODO replace with file storage
37
- const foundFileIndex = printer.fileList.files.findIndex((f)=>f.path === addedFile.path);
38
- if (foundFileIndex === -1) {
39
- printer.fileList.files.push(addedFile);
58
+ addedFile.printerId = printer.id;
59
+ const foundFile = await this.getPrinterFile(printer.id, addedFile.path);
60
+ if (!foundFile) {
61
+ await _models.PrinterFile.create(addedFile);
40
62
  } else {
41
- printer.fileList.files[foundFileIndex] = addedFile;
63
+ await _models.PrinterFile.replaceOne({
64
+ printerId: printer.id,
65
+ id: foundFile.id
66
+ }, addedFile);
42
67
  }
43
- printer.markModified("fileList");
44
- await printer.save();
45
- // Only now are we allowed to adjust the last uploaded printer file
46
- let lastPrintedFile = {};
47
- try {
48
- lastPrintedFile = await this.setPrinterLastPrintedFile(printerId, addedFile.name);
49
- } catch (e) {
50
- this.logger.warn(`Parsing printer file did not succeed. Filename: ${addedFile}`);
51
- }
52
- return {
53
- fileList: printer.fileList,
54
- lastPrintedFile
55
- };
56
- }
57
- async setPrinterLastPrintedFile(printerId, fileName) {
58
- await this.printerService.get(printerId);
59
- const lastPrintedFile = {
60
- fileName,
61
- editTimestamp: Date.now()
62
- };
63
- const printer = await this.printerService.updateLastPrintedFile(printerId, lastPrintedFile);
64
- this.logger.log("Parsed and updated printer file", printer.lastPrintedFile);
65
- return printer.lastPrintedFile;
68
+ return await this.getPrinterFiles(printer.id);
66
69
  }
67
70
  async clearFiles(printerId) {
68
71
  const printer = await this.printerService.get(printerId);
69
- printer.fileList.files = [];
70
- printer.markModified("fileList");
71
- await printer.save();
72
+ await _models.PrinterFile.deleteMany({
73
+ printerId: printer.id
74
+ });
72
75
  }
73
- /**
74
- * Perform delete action on database
75
- **/ async deleteFile(printerId, filePath, throwError = true) {
76
+ async deletePrinterFiles(printerId, filePaths, throwError = true) {
76
77
  const printer = await this.printerService.get(printerId);
77
- const fileIndex = (0, _findpredicateutils.findFileIndex)(printer.fileList, filePath);
78
- if (fileIndex === -1) {
79
- if (throwError) {
80
- throw new _runtimeexceptions.NotFoundException(`A file removal was ordered but this file was not found in database for printer Id ${printerId}`, filePath);
81
- } else {
82
- this.logger.warn("File was not found in printer fileList");
78
+ if (!!filePaths && !filePaths?.length) {
79
+ return;
80
+ } else if (!filePaths) {
81
+ throw new Error("Cant delete specific printer files without specific file path array being provided");
82
+ }
83
+ for (const filePath of filePaths){
84
+ const file = await this.getPrinterFile(printerId, filePath);
85
+ if (!file) {
86
+ if (throwError) {
87
+ throw new _runtimeexceptions.NotFoundException(`A file removal was ordered but this file was not found in database for printer Id ${printerId}`, filePath);
88
+ } else {
89
+ this.logger.warn("File was not found in PrinterFile table");
90
+ return;
91
+ }
83
92
  }
93
+ await _models.PrinterFile.deleteOne({
94
+ printerId: printer.id,
95
+ path: filePath
96
+ });
84
97
  }
85
- printer.fileList.files.splice(fileIndex, 1);
86
- printer.markModified("fileList");
87
- await printer.save();
98
+ }
99
+ async getPrinterFile(printerId, filePath) {
100
+ const printer = await this.printerService.get(printerId);
101
+ return _models.PrinterFile.findOne({
102
+ printerId: printer.id,
103
+ path: filePath
104
+ });
88
105
  }
89
106
  }
90
107
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/services/printer-files.service.ts"],"names":["PrinterFilesService","printerService","logger","constructor","loggerFactory","name","getPrinterFilesStorage","printerId","printer","get","fileList","storage","updateFiles","markModified","save","appendOrReplaceFile","addedFile","foundFileIndex","files","findIndex","f","path","push","lastPrintedFile","setPrinterLastPrintedFile","e","warn","fileName","editTimestamp","Date","now","updateLastPrintedFile","log","clearFiles","deleteFile","filePath","throwError","fileIndex","findFileIndex","NotFoundException","splice"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/services/printer-files.service.ts"],"names":["PrinterFilesService","printerService","logger","constructor","loggerFactory","name","toDto","entity","id","printerId","toString","date","display","gcodeAnalysis","hash","origin","path","prints","refs","size","statistics","type","typePath","getPrinterFiles","printer","get","PrinterFile","find","updateFiles","newFiles","savedFiles","newPaths","map","f","deletableSavedFiles","filter","includes","deletableSavedFilePaths","deletePrinterFiles","newFile","appendOrReplaceFile","addedFile","foundFile","getPrinterFile","create","replaceOne","clearFiles","deleteMany","filePaths","throwError","length","Error","filePath","file","NotFoundException","warn","deleteOne","findOne"],"mappings":"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"}
@@ -12,7 +12,6 @@ const _models = require("../models");
12
12
  const _runtimeexceptions = require("../exceptions/runtime.exceptions");
13
13
  const _validators = require("../handlers/validators");
14
14
  const _printerservicevalidation = require("./validators/printer-service.validation");
15
- const _serviceconstants = require("../constants/service.constants");
16
15
  const _eventconstants = require("../constants/event.constants");
17
16
  const _urlutils = require("../utils/url.utils");
18
17
  class PrinterService {
@@ -55,12 +54,7 @@ class PrinterService {
55
54
  }
56
55
  return printer;
57
56
  }
58
- /**
59
- * Stores a new printer into the database.
60
- * @param {Object} newPrinter object to create.
61
- * @param {boolean} emitEvent
62
- * @throws {Error} If the printer is not correctly provided.
63
- */ async create(newPrinter, emitEvent = true) {
57
+ async create(newPrinter, emitEvent = true) {
64
58
  if (!newPrinter) throw new Error("Missing printer");
65
59
  const mergedPrinter = await this.validateAndDefault(newPrinter);
66
60
  mergedPrinter.dateAdded = Date.now();
@@ -72,12 +66,7 @@ class PrinterService {
72
66
  }
73
67
  return printer;
74
68
  }
75
- /**
76
- * Explicit patching of printer document
77
- * @param printerId
78
- * @param updateData
79
- * @returns {Promise<Query<Document<any, any, unknown> | null, Document<any, any, unknown>, {}, unknown>>}
80
- */ async update(printerId, updateData) {
69
+ async update(printerId, updateData) {
81
70
  const printer = await this.get(printerId);
82
71
  updateData.printerURL = (0, _urlutils.normalizeURLWithProtocol)(updateData.printerURL);
83
72
  const { printerURL, apiKey, enabled, name } = await (0, _validators.validateInput)(updateData, _printerservicevalidation.createMongoPrinterRules);
@@ -125,7 +114,6 @@ class PrinterService {
125
114
  await this.validateAndDefault(printer);
126
115
  }
127
116
  this.logger.log(`Validation passed. Creating ${printers.length} printers`);
128
- // We've passed validation completely - creation will likely succeed
129
117
  const newPrinters = [];
130
118
  for (let printer of printers){
131
119
  const createdPrinter = await this.create(printer, false);
@@ -232,7 +220,6 @@ class PrinterService {
232
220
  }
233
221
  async validateAndDefault(printer) {
234
222
  const mergedPrinter = {
235
- ...(0, _serviceconstants.getDefaultPrinterEntry)(),
236
223
  enabled: true,
237
224
  ...printer
238
225
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/services/printer.service.ts"],"names":["PrinterService","eventEmitter2","logger","constructor","loggerFactory","name","toUnsafeDto","entity","toDto","apiKey","printerURL","id","enabled","disabledReason","dateAdded","list","Printer","find","sort","get","printerId","filter","_id","printer","findOne","NotFoundException","create","newPrinter","emitEvent","Error","mergedPrinter","validateAndDefault","Date","now","emit","printerEvents","printerCreated","update","updateData","normalizeURLWithProtocol","validateInput","createMongoPrinterRules","undefined","save","printerUpdated","deleteMany","printerIds","$in","printersDeleted","delete","findOneAndDelete","batchImport","printers","length","log","newPrinters","createdPrinter","push","batchPrinterCreated","updateLastPrintedFile","lastPrintedFile","findByIdAndUpdate","new","useFindAndModify","updateFlowRate","flowRate","updateFeedRate","feedRate","updateConnectionSettings","updateEnabled","updatePrinterEnabledRule","updateDisabledReason","updatePrinterDisabledReasonRule","getDefaultPrinterEntry"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/services/printer.service.ts"],"names":["PrinterService","eventEmitter2","logger","constructor","loggerFactory","name","toUnsafeDto","entity","toDto","apiKey","printerURL","id","enabled","disabledReason","dateAdded","list","Printer","find","sort","get","printerId","filter","_id","printer","findOne","NotFoundException","create","newPrinter","emitEvent","Error","mergedPrinter","validateAndDefault","Date","now","emit","printerEvents","printerCreated","update","updateData","normalizeURLWithProtocol","validateInput","createMongoPrinterRules","undefined","save","printerUpdated","deleteMany","printerIds","$in","printersDeleted","delete","findOneAndDelete","batchImport","printers","length","log","newPrinters","createdPrinter","push","batchPrinterCreated","updateLastPrintedFile","lastPrintedFile","findByIdAndUpdate","new","useFindAndModify","updateFlowRate","flowRate","updateFeedRate","feedRate","updateConnectionSettings","updateEnabled","updatePrinterEnabledRule","updateDisabledReason","updatePrinterDisabledReasonRule"],"mappings":"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"}
@@ -21,7 +21,6 @@ class SettingsService {
21
21
  }
22
22
  toDto(entity) {
23
23
  return {
24
- // Credential settings are not shared with the client
25
24
  [_serversettingsconstants.serverSettingsKey]: entity[_serversettingsconstants.serverSettingsKey],
26
25
  [_serversettingsconstants.wizardSettingKey]: entity[_serversettingsconstants.wizardSettingKey],
27
26
  [_serversettingsconstants.frontendSettingKey]: entity[_serversettingsconstants.frontendSettingKey],
@@ -34,10 +33,8 @@ class SettingsService {
34
33
  if (!settings) {
35
34
  const defaultSettings = new _models.Settings((0, _serversettingsconstants.getDefaultSettings)());
36
35
  await defaultSettings.save();
37
- // Return to upper layer
38
36
  return defaultSettings;
39
37
  } else {
40
- // Perform patch of settings
41
38
  settings = this.migrateSettingsRuntime(settings);
42
39
  return _models.Settings.findOneAndUpdate({
43
40
  _id: settings.id
@@ -46,14 +43,11 @@ class SettingsService {
46
43
  });
47
44
  }
48
45
  }
49
- /**
50
- * Patch the given settings object manually - runtime migration strategy
51
- */ migrateSettingsRuntime(knownSettings) {
52
- const doc = knownSettings; // alias _doc also works
46
+ migrateSettingsRuntime(knownSettings) {
47
+ const doc = knownSettings;
53
48
  if (!doc[_serversettingsconstants.fileCleanSettingKey]) {
54
49
  doc[_serversettingsconstants.fileCleanSettingKey] = (0, _serversettingsconstants.getDefaultFileCleanSettings)();
55
50
  }
56
- // Server settings exist, but need updating with new ones if they don't exist.
57
51
  if (!doc[_serversettingsconstants.wizardSettingKey]) {
58
52
  doc[_serversettingsconstants.wizardSettingKey] = (0, _serversettingsconstants.getDefaultWizardSettings)();
59
53
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/services/settings.service.ts"],"names":["SettingsService","configService","constructor","toDto","entity","serverSettingsKey","wizardSettingKey","frontendSettingKey","fileCleanSettingKey","timeoutSettingKey","getOrCreate","settings","Settings","findOne","defaultSettings","getDefaultSettings","save","migrateSettingsRuntime","findOneAndUpdate","_id","id","new","knownSettings","doc","getDefaultFileCleanSettings","getDefaultWizardSettings","getDefaultTimeout","getDefaultServerSettings","credentialSettingsKey","getDefaultCredentialSettings","isWhiteListSettingEnabled","server","whitelistEnabled","whitelistedIpAddresses","getDefaultWhitelistIpAddresses","length","getDefaultFrontendSettings","patchFileCleanSettings","patchUpdate","validatedInput","validateInput","fileCleanSettingsUpdateRules","settingsDoc","Object","assign","patchWizardSettings","wizardUpdateRules","setWhitelist","enabled","ipAddresses","BadRequestException","whitelistSettingUpdateRules","updateFrontendSettings","frontendSettingsUpdateRules","frontendSettings","patchCredentialSettings","credentialSettingPatchRules","credentialSettings","patchServerSettings","serverSettingsUpdateRules","serverSettings","updateTimeoutSettings","timeoutSettingsUpdateRules","timeoutSettings","get","AppConstants","ENABLE_EXPERIMENTAL_WHITELIST_SETTINGS"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/services/settings.service.ts"],"names":["SettingsService","configService","constructor","toDto","entity","serverSettingsKey","wizardSettingKey","frontendSettingKey","fileCleanSettingKey","timeoutSettingKey","getOrCreate","settings","Settings","findOne","defaultSettings","getDefaultSettings","save","migrateSettingsRuntime","findOneAndUpdate","_id","id","new","knownSettings","doc","getDefaultFileCleanSettings","getDefaultWizardSettings","getDefaultTimeout","getDefaultServerSettings","credentialSettingsKey","getDefaultCredentialSettings","isWhiteListSettingEnabled","server","whitelistEnabled","whitelistedIpAddresses","getDefaultWhitelistIpAddresses","length","getDefaultFrontendSettings","patchFileCleanSettings","patchUpdate","validatedInput","validateInput","fileCleanSettingsUpdateRules","settingsDoc","Object","assign","patchWizardSettings","wizardUpdateRules","setWhitelist","enabled","ipAddresses","BadRequestException","whitelistSettingUpdateRules","updateFrontendSettings","frontendSettingsUpdateRules","frontendSettings","patchCredentialSettings","credentialSettingPatchRules","credentialSettings","patchServerSettings","serverSettingsUpdateRules","serverSettings","updateTimeoutSettings","timeoutSettingsUpdateRules","timeoutSettings","get","AppConstants","ENABLE_EXPERIMENTAL_WHITELIST_SETTINGS"],"mappings":"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"}
@@ -40,13 +40,13 @@ const printerInFloorRules = (isSqlite)=>({
40
40
  y: "required|integer|between:0,12"
41
41
  });
42
42
  const updateFloorNameRules = {
43
- name: `required|minLength:${_serviceconstants.minPrinterFloorNameLength}`
43
+ name: `required|minLength:${_serviceconstants.minFloorNameLength}`
44
44
  };
45
45
  const updateFloorNumberRules = {
46
46
  floor: "required|integer"
47
47
  };
48
48
  const updateFloorRules = {
49
- name: `required|minLength:${_serviceconstants.minPrinterFloorNameLength}`,
49
+ name: `required|minLength:${_serviceconstants.minFloorNameLength}`,
50
50
  floor: "required|integer",
51
51
  printers: "array",
52
52
  "printer.*.printerId": "required|mongoId",
@@ -54,7 +54,7 @@ const updateFloorRules = {
54
54
  "printer.*.y": "required|integer|between:0,12"
55
55
  };
56
56
  const createFloorRules = {
57
- name: `required|minLength:${_serviceconstants.minPrinterFloorNameLength}`,
57
+ name: `required|minLength:${_serviceconstants.minFloorNameLength}`,
58
58
  floor: "required|integer",
59
59
  printers: "array"
60
60
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/services/validators/floor-service.validation.ts"],"names":["createFloorRules","printerInFloorRules","removePrinterInFloorRules","updateFloorNameRules","updateFloorNumberRules","updateFloorRules","isSqlite","printerId","idRuleV2","floorId","x","y","name","minPrinterFloorNameLength","floor","printers"],"mappings":";;;;;;;;;;;IA+BaA,gBAAgB;eAAhBA;;IAxBAC,mBAAmB;eAAnBA;;IAJAC,yBAAyB;eAAzBA;;IAWAC,oBAAoB;eAApBA;;IAIAC,sBAAsB;eAAtBA;;IAIAC,gBAAgB;eAAhBA;;;kCAtB6B;mCACjB;AAElB,MAAMH,4BAA4B,CAACI,WAAuB,CAAA;QAC/DC,WAAWC,IAAAA,2BAAQ,EAACF;IACtB,CAAA;AAEO,MAAML,sBAAsB,CAACK,WAAuB,CAAA;QACzDC,WAAWC,IAAAA,2BAAQ,EAACF;QACpBG,SAASH,WAAWE,IAAAA,2BAAQ,EAAC,QAAQ;QACrCE,GAAG;QACHC,GAAG;IACL,CAAA;AAEO,MAAMR,uBAAuB;IAClCS,MAAM,CAAC,mBAAmB,EAAEC,2CAAyB,CAAC,CAAC;AACzD;AAEO,MAAMT,yBAAyB;IACpCU,OAAO;AACT;AAEO,MAAMT,mBAAmB;IAC9BO,MAAM,CAAC,mBAAmB,EAAEC,2CAAyB,CAAC,CAAC;IACvDC,OAAO;IACPC,UAAU;IACV,uBAAuB;IACvB,eAAe;IACf,eAAe;AACjB;AAEO,MAAMf,mBAAmB;IAC9BY,MAAM,CAAC,mBAAmB,EAAEC,2CAAyB,CAAC,CAAC;IACvDC,OAAO;IACPC,UAAU;AACZ"}
1
+ {"version":3,"sources":["../../../src/services/validators/floor-service.validation.ts"],"names":["createFloorRules","printerInFloorRules","removePrinterInFloorRules","updateFloorNameRules","updateFloorNumberRules","updateFloorRules","isSqlite","printerId","idRuleV2","floorId","x","y","name","minFloorNameLength","floor","printers"],"mappings":";;;;;;;;;;;IA+BaA,gBAAgB;eAAhBA;;IAxBAC,mBAAmB;eAAnBA;;IAJAC,yBAAyB;eAAzBA;;IAWAC,oBAAoB;eAApBA;;IAIAC,sBAAsB;eAAtBA;;IAIAC,gBAAgB;eAAhBA;;;kCAtBsB;mCACV;AAElB,MAAMH,4BAA4B,CAACI,WAAuB,CAAA;QAC/DC,WAAWC,IAAAA,2BAAQ,EAACF;IACtB,CAAA;AAEO,MAAML,sBAAsB,CAACK,WAAuB,CAAA;QACzDC,WAAWC,IAAAA,2BAAQ,EAACF;QACpBG,SAASH,WAAWE,IAAAA,2BAAQ,EAAC,QAAQ;QACrCE,GAAG;QACHC,GAAG;IACL,CAAA;AAEO,MAAMR,uBAAuB;IAClCS,MAAM,CAAC,mBAAmB,EAAEC,oCAAkB,CAAC,CAAC;AAClD;AAEO,MAAMT,yBAAyB;IACpCU,OAAO;AACT;AAEO,MAAMT,mBAAmB;IAC9BO,MAAM,CAAC,mBAAmB,EAAEC,oCAAkB,CAAC,CAAC;IAChDC,OAAO;IACPC,UAAU;IACV,uBAAuB;IACvB,eAAe;IACf,eAAe;AACjB;AAEO,MAAMf,mBAAmB;IAC9BY,MAAM,CAAC,mBAAmB,EAAEC,oCAAkB,CAAC,CAAC;IAChDC,OAAO;IACPC,UAAU;AACZ"}
@@ -21,15 +21,12 @@ _export(exports, {
21
21
  });
22
22
  const _serviceconstants = require("../../constants/service.constants");
23
23
  const exportPrintersFloorsYamlRules = {
24
- // Used to export
25
24
  exportPrinters: "required|boolean",
26
25
  exportFloorGrid: "required|boolean",
27
26
  exportFloors: "required|boolean",
28
- // Used to determine import strategy
29
27
  printerComparisonStrategiesByPriority: "required|arrayUnique|minLength:1",
30
28
  "printerComparisonStrategiesByPriority.*": "required|string|in:name,url,id",
31
29
  floorComparisonStrategiesByPriority: "required|string|in:name,floor,id",
32
- // Helpful reference
33
30
  notes: "string"
34
31
  };
35
32
  const importPrintersFloorsYamlRules = (importPrinters, importFloorGrid, importFloors, isTypeormMode)=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/services/validators/yaml-service.validation.ts"],"names":["exportPrintersFloorsYamlRules","importPrinterPositionsRules","importPrintersFloorsYamlRules","exportPrinters","exportFloorGrid","exportFloors","printerComparisonStrategiesByPriority","floorComparisonStrategiesByPriority","notes","importPrinters","importFloorGrid","importFloors","isTypeormMode","idVal","version","config","printers","UUID_LENGTH","floors"],"mappings":";;;;;;;;;;;IAEaA,6BAA6B;eAA7BA;;IA6CAC,2BAA2B;eAA3BA;;IA7BAC,6BAA6B;eAA7BA;;;kCAlBe;AAErB,MAAMF,gCAAgC;IAC3C,iBAAiB;IACjBG,gBAAgB;IAChBC,iBAAiB;IACjBC,cAAc;IACd,oCAAoC;IACpCC,uCAAuC;IACvC,2CAA2C;IAC3CC,qCAAqC;IACrC,oBAAoB;IACpBC,OAAO;AAIT;AAEO,MAAMN,gCAAgC,CAC3CO,gBACAC,iBACAC,cACAC;IAEA,MAAMC,QAAQD,gBAAgB,kBAAkB;IAChD,OAAO;QACLE,SAAS;QACTC,QAAQ;QACR,yBAAyB;QACzB,0BAA0B;QAC1B,uBAAuB;QACvB,gDAAgD;QAChD,kDAAkD;QAClD,8CAA8C;QAC9CC,UAAU,CAAC,EAAE,CAAC,CAACP,iBAAiB,sBAAsB,MAAM,CAAC;QAC7D,iBAAiB,CAAC,EAAEI,MAAM,CAAC;QAC3B,qBAAqB,CAAC,gBAAgB,EAAEI,6BAAW,CAAC,CAAC,EAAEA,6BAAW,CAAC,aAAa,CAAC;QACjF,yBAAyB;QACzB,sBAAsB;QACtB,mBAAmB;QACnBC,QAAQ,CAAC,EAAE,CAAC,CAACP,eAAe,sBAAsB,MAAM,CAAC;QACzD,eAAe,CAAC,EAAEE,MAAM,CAAC;QACzB,kBAAkB;QAClB,iBAAiB;IACnB;AACF;AAEO,MAAMZ,8BAA8B,CAACW,gBAA4B,CAAA;QACtEI,UAAU;QACV,wBAAwBJ,gBAAgB,kBAAkB;QAC1D,gBAAgB;QAChB,gBAAgB;IAClB,CAAA"}
1
+ {"version":3,"sources":["../../../src/services/validators/yaml-service.validation.ts"],"names":["exportPrintersFloorsYamlRules","importPrinterPositionsRules","importPrintersFloorsYamlRules","exportPrinters","exportFloorGrid","exportFloors","printerComparisonStrategiesByPriority","floorComparisonStrategiesByPriority","notes","importPrinters","importFloorGrid","importFloors","isTypeormMode","idVal","version","config","printers","UUID_LENGTH","floors"],"mappings":";;;;;;;;;;;IAEaA,6BAA6B;eAA7BA;;IA6CAC,2BAA2B;eAA3BA;;IA7BAC,6BAA6B;eAA7BA;;;kCAlBe;AAErB,MAAMF,gCAAgC;IAE3CG,gBAAgB;IAChBC,iBAAiB;IACjBC,cAAc;IAEdC,uCAAuC;IACvC,2CAA2C;IAC3CC,qCAAqC;IAErCC,OAAO;AAIT;AAEO,MAAMN,gCAAgC,CAC3CO,gBACAC,iBACAC,cACAC;IAEA,MAAMC,QAAQD,gBAAgB,kBAAkB;IAChD,OAAO;QACLE,SAAS;QACTC,QAAQ;QACR,yBAAyB;QACzB,0BAA0B;QAC1B,uBAAuB;QACvB,gDAAgD;QAChD,kDAAkD;QAClD,8CAA8C;QAC9CC,UAAU,CAAC,EAAE,CAAC,CAACP,iBAAiB,sBAAsB,MAAM,CAAC;QAC7D,iBAAiB,CAAC,EAAEI,MAAM,CAAC;QAC3B,qBAAqB,CAAC,gBAAgB,EAAEI,6BAAW,CAAC,CAAC,EAAEA,6BAAW,CAAC,aAAa,CAAC;QACjF,yBAAyB;QACzB,sBAAsB;QACtB,mBAAmB;QACnBC,QAAQ,CAAC,EAAE,CAAC,CAACP,eAAe,sBAAsB,MAAM,CAAC;QACzD,eAAe,CAAC,EAAEE,MAAM,CAAC;QACzB,kBAAkB;QAClB,iBAAiB;IACnB;AACF;AAEO,MAAMZ,8BAA8B,CAACW,gBAA4B,CAAA;QACtEI,UAAU;QACV,wBAAwBJ,gBAAgB,kBAAkB;QAC1D,gBAAgB;QAChB,gBAAgB;IAClB,CAAA"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "PrinterLoginDto", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return PrinterLoginDto;
9
+ }
10
+ });
11
+ const _classvalidator = require("class-validator");
12
+ const _serviceconstants = require("../../constants/service.constants");
13
+ function _ts_decorate(decorators, target, key, desc) {
14
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
16
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
17
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
18
+ }
19
+ function _ts_metadata(k, v) {
20
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
21
+ }
22
+ class PrinterLoginDto {
23
+ printerURL;
24
+ apiKey;
25
+ context = null;
26
+ constructor(printerURL, apiKey, context = null){
27
+ this.printerURL = printerURL;
28
+ this.apiKey = apiKey;
29
+ this.context = context;
30
+ }
31
+ validateParams() {
32
+ return (0, _classvalidator.validateSync)(this);
33
+ }
34
+ toSocketLogin(printerId, protocol = "ws") {
35
+ return {
36
+ printerId,
37
+ loginDto: this,
38
+ protocol
39
+ };
40
+ }
41
+ }
42
+ _ts_decorate([
43
+ (0, _classvalidator.IsNotEmpty)(),
44
+ (0, _classvalidator.IsUrl)(),
45
+ _ts_metadata("design:type", String)
46
+ ], PrinterLoginDto.prototype, "printerURL", void 0);
47
+ _ts_decorate([
48
+ (0, _classvalidator.Length)(_serviceconstants.apiKeyLengthMinimumDefault),
49
+ (0, _classvalidator.IsAlphanumeric)(),
50
+ (0, _classvalidator.IsNotEmpty)(),
51
+ _ts_metadata("design:type", String)
52
+ ], PrinterLoginDto.prototype, "apiKey", void 0);
53
+ _ts_decorate([
54
+ (0, _classvalidator.IsOptional)(),
55
+ _ts_metadata("design:type", Object)
56
+ ], PrinterLoginDto.prototype, "context", void 0);
57
+
58
+ //# sourceMappingURL=printer-login.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/shared/dtos/printer-login.dto.ts"],"names":["PrinterLoginDto","printerURL","apiKey","context","constructor","validateParams","validateSync","toSocketLogin","printerId","protocol","loginDto","IsNotEmpty","IsUrl","Length","apiKeyLengthMinimumDefault","IsAlphanumeric","IsOptional"],"mappings":";;;;+BAIaA;;;eAAAA;;;gCAJuE;kCAEzC;;;;;;;;;;AAEpC,MAAMA;IAGXC,WAAmB;IAKnBC,OAAe;IAGfC,UAAe,KAAK;IAEpBC,YAAYH,UAAkB,EAAEC,MAAc,EAAEC,UAAe,IAAI,CAAE;QACnE,IAAI,CAACF,UAAU,GAAGA;QAClB,IAAI,CAACC,MAAM,GAAGA;QACd,IAAI,CAACC,OAAO,GAAGA;IACjB;IAGOE,iBAAiB;QACtB,OAAOC,IAAAA,4BAAY,EAAC,IAAI;IAC1B;IAEAC,cAAcC,SAAiB,EAAEC,WAAuB,IAAI,EAAuB;QACjF,OAAO;YACLD;YACAE,UAAU,IAAI;YACdD;QACF;IACF;AACF;;IA9BGE,IAAAA,0BAAU;IACVC,IAAAA,qBAAK;;GAFKZ;;IAKVa,IAAAA,sBAAM,EAACC,4CAA0B;IACjCC,IAAAA,8BAAc;IACdJ,IAAAA,0BAAU;;GAPAX;;IAUVgB,IAAAA,0BAAU;;GAVAhB"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "WebsocketAdapter", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return WebsocketAdapter;
9
+ }
10
+ });
11
+ const _serverconstants = require("../server.constants");
12
+ const _ws = require("ws");
13
+ class WebsocketAdapter {
14
+ socket;
15
+ logger;
16
+ constructor({ loggerFactory }){
17
+ this.logger = loggerFactory(WebsocketAdapter.name);
18
+ }
19
+ get isOpened() {
20
+ return this.socket?.readyState === _ws.WebSocket.OPEN;
21
+ }
22
+ close() {
23
+ this.socket?.close();
24
+ delete this.socket;
25
+ }
26
+ open(url) {
27
+ this.socket = new _ws.WebSocket(url, {
28
+ handshakeTimeout: _serverconstants.AppConstants.defaultWebsocketHandshakeTimeout
29
+ });
30
+ this.socket.onopen = (event)=>this.onOpen(event);
31
+ this.socket.onerror = (error)=>this.onError(error);
32
+ this.socket.onclose = (event)=>this.onClose(event);
33
+ this.socket.onmessage = (message)=>this.onMessage(message.data);
34
+ }
35
+ async sendMessage(payload) {
36
+ if (!this.isOpened || !this.socket) {
37
+ this.logger.error("Websocket is not opened, cant send a message");
38
+ return;
39
+ }
40
+ return await new Promise((resolve, reject)=>{
41
+ this.socket.send(payload, (error)=>{
42
+ if (error) reject(error);
43
+ resolve();
44
+ });
45
+ });
46
+ }
47
+ onError(error) {}
48
+ afterOpened(event) {}
49
+ afterClosed(event) {}
50
+ onMessage(event) {}
51
+ async onOpen(event) {
52
+ await this.afterOpened(event);
53
+ }
54
+ async onClose(event) {
55
+ await this.afterClosed(event);
56
+ }
57
+ }
58
+
59
+ //# sourceMappingURL=websocket.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/websocket.adapter.ts"],"names":["WebsocketAdapter","socket","logger","constructor","loggerFactory","name","isOpened","readyState","WebSocket","OPEN","close","open","url","handshakeTimeout","AppConstants","defaultWebsocketHandshakeTimeout","onopen","event","onOpen","onerror","error","onError","onclose","onClose","onmessage","message","onMessage","data","sendMessage","payload","Promise","resolve","reject","send","afterOpened","afterClosed"],"mappings":";;;;+BAOaA;;;eAAAA;;;iCAPgB;oBAC6C;AAMnE,MAAMA;IACXC,OAAmB;IACTC,OAAsB;IAEhCC,YAAY,EAAEC,aAAa,EAAqC,CAAE;QAChE,IAAI,CAACF,MAAM,GAAGE,cAAcJ,iBAAiBK,IAAI;IACnD;IAEA,IAAIC,WAAW;QACb,OAAO,IAAI,CAACL,MAAM,EAAEM,eAAeC,aAAS,CAACC,IAAI;IACnD;IAEOC,QAAQ;QACb,IAAI,CAACT,MAAM,EAAES;QACb,OAAO,IAAI,CAACT,MAAM;IACpB;IASAU,KAAKC,GAAiB,EAAQ;QAC5B,IAAI,CAACX,MAAM,GAAG,IAAIO,aAAS,CAACI,KAAK;YAAEC,kBAAkBC,6BAAY,CAACC,gCAAgC;QAAC;QACnG,IAAI,CAACd,MAAM,CAACe,MAAM,GAAG,CAACC,QAAU,IAAI,CAACC,MAAM,CAACD;QAC5C,IAAI,CAAChB,MAAM,CAACkB,OAAO,GAAG,CAACC,QAAU,IAAI,CAACC,OAAO,CAACD;QAC9C,IAAI,CAACnB,MAAM,CAACqB,OAAO,GAAG,CAACL,QAAU,IAAI,CAACM,OAAO,CAACN;QAC9C,IAAI,CAAChB,MAAM,CAACuB,SAAS,GAAG,CAACC,UAAY,IAAI,CAACC,SAAS,CAACD,QAAQE,IAAI;IAClE;IASA,MAAgBC,YAAYC,OAAe,EAAiB;QAC1D,IAAI,CAAC,IAAI,CAACvB,QAAQ,IAAI,CAAC,IAAI,CAACL,MAAM,EAAE;YAClC,IAAI,CAACC,MAAM,CAACkB,KAAK,CAAC;YAClB;QACF;QACA,OAAO,MAAM,IAAIU,QAAQ,CAACC,SAASC;YACjC,IAAI,CAAC/B,MAAM,CAAEgC,IAAI,CAACJ,SAAS,CAACT;gBAC1B,IAAIA,OAAOY,OAAOZ;gBAClBW;YACF;QACF;IACF;IASUV,QAAQD,KAAiB,EAAwB,CAAC;IASlDc,YAAYjB,KAAc,EAAwB,CAAC;IASnDkB,YAAYlB,KAAiB,EAAwB,CAAC;IAStDS,UAAUT,KAAW,EAAwB,CAAC;IAQxD,MAAcC,OAAOD,KAAc,EAAiB;QAClD,MAAM,IAAI,CAACiB,WAAW,CAACjB;IACzB;IAQA,MAAcM,QAAQN,KAAiB,EAAiB;QACtD,MAAM,IAAI,CAACkB,WAAW,CAAClB;IACzB;AACF"}
@@ -21,7 +21,6 @@ class FileUploadTrackerCache {
21
21
  this.logger = loggerFactory(FileUploadTrackerCache.name);
22
22
  }
23
23
  progressCallback = (token, p)=>{
24
- // Ensure binding of this is correct
25
24
  this.updateUploadProgress(token, p);
26
25
  };
27
26
  getUploads(filterHourOld = false) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/state/file-upload-tracker.cache.ts"],"names":["FileUploadTrackerCache","currentUploads","uploadsDone","uploadsFailed","eventEmitter2","logger","constructor","loggerFactory","name","progressCallback","token","p","updateUploadProgress","getUploads","filterHourOld","currentTime","Date","now","done","filter","d","startedAt","failed","current","getUpload","correlationToken","find","cu","addUploadTracker","multerFile","generateCorrelationToken","log","on","uploadProgressEvent","push","progress","reason","percent","markUploadDone","off","upload","success","trackedUploadIndex","findIndex","warn","trackedUpload","failedAt","succeededAt","splice"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/state/file-upload-tracker.cache.ts"],"names":["FileUploadTrackerCache","currentUploads","uploadsDone","uploadsFailed","eventEmitter2","logger","constructor","loggerFactory","name","progressCallback","token","p","updateUploadProgress","getUploads","filterHourOld","currentTime","Date","now","done","filter","d","startedAt","failed","current","getUpload","correlationToken","find","cu","addUploadTracker","multerFile","generateCorrelationToken","log","on","uploadProgressEvent","push","progress","reason","percent","markUploadDone","off","upload","success","trackedUploadIndex","findIndex","warn","trackedUpload","failedAt","succeededAt","splice"],"mappings":"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"}