@fdm-monster/server 1.8.3 → 1.9.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 (439) hide show
  1. package/.env.template +5 -3
  2. package/.gitattributes +4 -2
  3. package/.yarn/install-state.gz +0 -0
  4. package/.yarn/releases/yarn-4.9.1.cjs +948 -0
  5. package/.yarnrc.yml +1 -1
  6. package/README.md +25 -26
  7. package/RELEASE_NOTES.MD +50 -1
  8. package/biome.json +33 -0
  9. package/dist/consoles/download-github-releases.js.map +1 -1
  10. package/dist/consoles/launch-http-servers.js +31 -0
  11. package/dist/consoles/launch-http-servers.js.map +1 -0
  12. package/dist/consoles/mock-octoprint.server.js +291 -0
  13. package/dist/consoles/mock-octoprint.server.js.map +1 -0
  14. package/dist/consoles/mock-prusalink.server.js +57 -0
  15. package/dist/consoles/mock-prusalink.server.js.map +1 -0
  16. package/dist/consoles/utils/api-messages.js +856 -0
  17. package/dist/consoles/utils/api-messages.js.map +1 -0
  18. package/dist/consoles/utils/delayed-memory.storage.js +42 -0
  19. package/dist/consoles/utils/delayed-memory.storage.js.map +1 -0
  20. package/dist/consoles/utils/ws-messages.js +88 -0
  21. package/dist/consoles/utils/ws-messages.js.map +1 -0
  22. package/dist/constants/event.constants.js +5 -21
  23. package/dist/constants/event.constants.js.map +1 -1
  24. package/dist/constants/server-settings.constants.js +6 -11
  25. package/dist/constants/server-settings.constants.js.map +1 -1
  26. package/dist/container.js +13 -14
  27. package/dist/container.js.map +1 -1
  28. package/dist/container.tokens.js +3 -4
  29. package/dist/container.tokens.js.map +1 -1
  30. package/dist/controllers/auth.controller.js +114 -24
  31. package/dist/controllers/auth.controller.js.map +1 -1
  32. package/dist/controllers/batch-call.controller.js +95 -24
  33. package/dist/controllers/batch-call.controller.js.map +1 -1
  34. package/dist/controllers/camera-stream.controller.js +16 -12
  35. package/dist/controllers/camera-stream.controller.js.map +1 -1
  36. package/dist/controllers/custom-gcode.controller.js +116 -40
  37. package/dist/controllers/custom-gcode.controller.js.map +1 -1
  38. package/dist/controllers/dto/update-client-dist.dto.js +0 -21
  39. package/dist/controllers/dto/update-client-dist.dto.js.map +1 -1
  40. package/dist/controllers/first-time-setup.controller.js +54 -18
  41. package/dist/controllers/first-time-setup.controller.js.map +1 -1
  42. package/dist/controllers/floor.controller.js +154 -43
  43. package/dist/controllers/floor.controller.js.map +1 -1
  44. package/dist/controllers/metrics.controller.js +56 -0
  45. package/dist/controllers/metrics.controller.js.map +1 -0
  46. package/dist/controllers/print-completion.controller.js +81 -18
  47. package/dist/controllers/print-completion.controller.js.map +1 -1
  48. package/dist/controllers/printer-files.controller.js +42 -28
  49. package/dist/controllers/printer-files.controller.js.map +1 -1
  50. package/dist/controllers/printer-group.controller.js +123 -33
  51. package/dist/controllers/printer-group.controller.js.map +1 -1
  52. package/dist/controllers/printer-settings.controller.js +73 -26
  53. package/dist/controllers/printer-settings.controller.js.map +1 -1
  54. package/dist/controllers/printer.controller.js +57 -198
  55. package/dist/controllers/printer.controller.js.map +1 -1
  56. package/dist/controllers/server-private.controller.js +153 -39
  57. package/dist/controllers/server-private.controller.js.map +1 -1
  58. package/dist/controllers/server-public.controller.js +79 -84
  59. package/dist/controllers/server-public.controller.js.map +1 -1
  60. package/dist/controllers/settings.controller.js +222 -79
  61. package/dist/controllers/settings.controller.js.map +1 -1
  62. package/dist/controllers/user.controller.js +67 -57
  63. package/dist/controllers/user.controller.js.map +1 -1
  64. package/dist/controllers/validation/auth-controller.validation.js +6 -5
  65. package/dist/controllers/validation/auth-controller.validation.js.map +1 -1
  66. package/dist/controllers/validation/batch-controller.validation.js +17 -18
  67. package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
  68. package/dist/controllers/validation/generic.validation.js +8 -3
  69. package/dist/controllers/validation/generic.validation.js.map +1 -1
  70. package/dist/controllers/validation/printer-completion-controller.validation.js +16 -0
  71. package/dist/controllers/validation/printer-completion-controller.validation.js.map +1 -0
  72. package/dist/controllers/validation/printer-controller.validation.js +31 -50
  73. package/dist/controllers/validation/printer-controller.validation.js.map +1 -1
  74. package/dist/controllers/validation/printer-files-controller.validation.js +16 -15
  75. package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
  76. package/dist/controllers/validation/printer-settings-controller.validation.js +6 -5
  77. package/dist/controllers/validation/printer-settings-controller.validation.js.map +1 -1
  78. package/dist/controllers/validation/server-private.validation.js +17 -0
  79. package/dist/controllers/validation/server-private.validation.js.map +1 -0
  80. package/dist/controllers/validation/setting.validation.js +28 -10
  81. package/dist/controllers/validation/setting.validation.js.map +1 -1
  82. package/dist/controllers/validation/user-controller.validation.js +44 -13
  83. package/dist/controllers/validation/user-controller.validation.js.map +1 -1
  84. package/dist/data-source.js +10 -6
  85. package/dist/data-source.js.map +1 -1
  86. package/dist/entities/camera-stream.entity.js +2 -3
  87. package/dist/entities/camera-stream.entity.js.map +1 -1
  88. package/dist/entities/custom-gcode.entity.js +1 -2
  89. package/dist/entities/custom-gcode.entity.js.map +1 -1
  90. package/dist/entities/floor-position.entity.js.map +1 -1
  91. package/dist/entities/floor.entity.js +1 -2
  92. package/dist/entities/floor.entity.js.map +1 -1
  93. package/dist/entities/group.entity.js +6 -2
  94. package/dist/entities/group.entity.js.map +1 -1
  95. package/dist/entities/permission.entity.js +1 -2
  96. package/dist/entities/permission.entity.js.map +1 -1
  97. package/dist/entities/print-completion.entity.js +1 -2
  98. package/dist/entities/print-completion.entity.js.map +1 -1
  99. package/dist/entities/printer-group.entity.js +6 -2
  100. package/dist/entities/printer-group.entity.js.map +1 -1
  101. package/dist/entities/printer.entity.js +22 -4
  102. package/dist/entities/printer.entity.js.map +1 -1
  103. package/dist/entities/refresh-token.entity.js +1 -2
  104. package/dist/entities/refresh-token.entity.js.map +1 -1
  105. package/dist/entities/role.entity.js +1 -2
  106. package/dist/entities/role.entity.js.map +1 -1
  107. package/dist/entities/settings.entity.js +1 -2
  108. package/dist/entities/settings.entity.js.map +1 -1
  109. package/dist/entities/user-role.entity.js +1 -2
  110. package/dist/entities/user-role.entity.js.map +1 -1
  111. package/dist/entities/user.entity.js +1 -2
  112. package/dist/entities/user.entity.js.map +1 -1
  113. package/dist/exceptions/runtime.exceptions.js.map +1 -1
  114. package/dist/handlers/logger.js +131 -36
  115. package/dist/handlers/logger.js.map +1 -1
  116. package/dist/handlers/validators.js +7 -116
  117. package/dist/handlers/validators.js.map +1 -1
  118. package/dist/index.js.map +1 -1
  119. package/dist/middleware/authenticate.js +11 -22
  120. package/dist/middleware/authenticate.js.map +1 -1
  121. package/dist/middleware/database.js.map +1 -1
  122. package/dist/middleware/demo.middleware.js +4 -17
  123. package/dist/middleware/demo.middleware.js.map +1 -1
  124. package/dist/middleware/exception.filter.js +23 -23
  125. package/dist/middleware/exception.filter.js.map +1 -1
  126. package/dist/middleware/global.middleware.js +4 -4
  127. package/dist/middleware/global.middleware.js.map +1 -1
  128. package/dist/middleware/param-converter.middleware.js +81 -0
  129. package/dist/middleware/param-converter.middleware.js.map +1 -0
  130. package/dist/middleware/passport.js +3 -5
  131. package/dist/middleware/passport.js.map +1 -1
  132. package/dist/middleware/printer-resolver.js +37 -0
  133. package/dist/middleware/printer-resolver.js.map +1 -0
  134. package/dist/middleware/printer.js +22 -10
  135. package/dist/middleware/printer.js.map +1 -1
  136. package/dist/middleware/socketio.middleware.js +27 -0
  137. package/dist/middleware/socketio.middleware.js.map +1 -0
  138. package/dist/migrations/1706829146617-InitSqlite.js +1 -1
  139. package/dist/migrations/1706829146617-InitSqlite.js.map +1 -1
  140. package/dist/migrations/1707494762198-PrinterGroup.js +1 -1
  141. package/dist/migrations/1707494762198-PrinterGroup.js.map +1 -1
  142. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js +1 -1
  143. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js.map +1 -1
  144. package/dist/migrations/1713897879622-AddPrinterType.js +1 -1
  145. package/dist/migrations/1713897879622-AddPrinterType.js.map +1 -1
  146. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +229 -0
  147. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -0
  148. package/dist/models/Auth/Permission.js.map +1 -1
  149. package/dist/models/Auth/RefreshToken.js +1 -1
  150. package/dist/models/Auth/RefreshToken.js.map +1 -1
  151. package/dist/models/Auth/Role.js.map +1 -1
  152. package/dist/models/Auth/User.js.map +1 -1
  153. package/dist/models/CameraStream.js +20 -0
  154. package/dist/models/CameraStream.js.map +1 -1
  155. package/dist/models/CustomGcode.js.map +1 -1
  156. package/dist/models/Floor.js.map +1 -1
  157. package/dist/models/FloorPrinter.js +10 -1
  158. package/dist/models/FloorPrinter.js.map +1 -1
  159. package/dist/models/PrintCompletion.js.map +1 -1
  160. package/dist/models/Printer.js +12 -5
  161. package/dist/models/Printer.js.map +1 -1
  162. package/dist/models/Settings.js +5 -42
  163. package/dist/models/Settings.js.map +1 -1
  164. package/dist/models/index.js +0 -4
  165. package/dist/models/index.js.map +1 -1
  166. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +1 -1
  167. package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +1 -1
  168. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +1 -1
  169. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js.map +1 -1
  170. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js.map +1 -1
  171. package/dist/mongo-migrations/20230716065316-user-remove-name.js.map +1 -1
  172. package/dist/mongo-migrations/20231111081809-printer-flatten-name.js.map +1 -1
  173. package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js.map +1 -1
  174. package/dist/mongo-migrations/20231202183902-printer-files-simpler.js.map +1 -1
  175. package/dist/server.constants.js +7 -4
  176. package/dist/server.constants.js.map +1 -1
  177. package/dist/server.core.js +29 -2
  178. package/dist/server.core.js.map +1 -1
  179. package/dist/server.env.js +13 -8
  180. package/dist/server.env.js.map +1 -1
  181. package/dist/server.host.js +24 -33
  182. package/dist/server.host.js.map +1 -1
  183. package/dist/services/authentication/auth.service.js +15 -20
  184. package/dist/services/authentication/auth.service.js.map +1 -1
  185. package/dist/services/authentication/jwt.service.js +1 -1
  186. package/dist/services/authentication/jwt.service.js.map +1 -1
  187. package/dist/services/core/batch-call.service.js +23 -25
  188. package/dist/services/core/batch-call.service.js.map +1 -1
  189. package/dist/services/core/client-bundle.service.js +78 -136
  190. package/dist/services/core/client-bundle.service.js.map +1 -1
  191. package/dist/services/core/config.service.js.map +1 -1
  192. package/dist/services/core/cradle.service.js +21 -0
  193. package/dist/services/core/cradle.service.js.map +1 -0
  194. package/dist/services/core/github.service.js +2 -2
  195. package/dist/services/core/github.service.js.map +1 -1
  196. package/dist/services/core/http-client.factory.js +1 -1
  197. package/dist/services/core/http-client.factory.js.map +1 -1
  198. package/dist/services/core/logs-manager.service.js +3 -3
  199. package/dist/services/core/logs-manager.service.js.map +1 -1
  200. package/dist/services/core/monsterpi.service.js +1 -1
  201. package/dist/services/core/monsterpi.service.js.map +1 -1
  202. package/dist/services/core/multer.service.js +8 -7
  203. package/dist/services/core/multer.service.js.map +1 -1
  204. package/dist/services/core/server-release.service.js +14 -8
  205. package/dist/services/core/server-release.service.js.map +1 -1
  206. package/dist/services/core/yaml.service.js +16 -17
  207. package/dist/services/core/yaml.service.js.map +1 -1
  208. package/dist/services/interfaces/camera-stream.dto.js +4 -34
  209. package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
  210. package/dist/services/interfaces/custom-gcode.dto.js.map +1 -1
  211. package/dist/services/interfaces/floor.dto.js +5 -47
  212. package/dist/services/interfaces/floor.dto.js.map +1 -1
  213. package/dist/services/interfaces/login.dto.js +2 -0
  214. package/dist/services/interfaces/login.dto.js.map +1 -1
  215. package/dist/services/interfaces/print-completion.dto.js.map +1 -1
  216. package/dist/services/interfaces/printer-group.dto.js +0 -14
  217. package/dist/services/interfaces/printer-group.dto.js.map +1 -1
  218. package/dist/services/interfaces/printer.dto.js +11 -11
  219. package/dist/services/interfaces/printer.dto.js.map +1 -1
  220. package/dist/services/interfaces/settings.dto.js.map +1 -1
  221. package/dist/services/interfaces/task.interfaces.js +6 -0
  222. package/dist/services/interfaces/task.interfaces.js.map +1 -0
  223. package/dist/services/mongoose/camera-stream.service.js +17 -15
  224. package/dist/services/mongoose/camera-stream.service.js.map +1 -1
  225. package/dist/services/mongoose/custom-gcode.service.js +4 -2
  226. package/dist/services/mongoose/custom-gcode.service.js.map +1 -1
  227. package/dist/services/mongoose/floor.service.js +37 -30
  228. package/dist/services/mongoose/floor.service.js.map +1 -1
  229. package/dist/services/mongoose/permission.service.js +1 -1
  230. package/dist/services/mongoose/permission.service.js.map +1 -1
  231. package/dist/services/mongoose/print-completion.service.js +2 -2
  232. package/dist/services/mongoose/print-completion.service.js.map +1 -1
  233. package/dist/services/mongoose/print-completion.shared.js +2 -2
  234. package/dist/services/mongoose/print-completion.shared.js.map +1 -1
  235. package/dist/services/mongoose/printer.service.js +33 -45
  236. package/dist/services/mongoose/printer.service.js.map +1 -1
  237. package/dist/services/mongoose/refresh-token.service.js +5 -8
  238. package/dist/services/mongoose/refresh-token.service.js.map +1 -1
  239. package/dist/services/mongoose/role.service.js +14 -5
  240. package/dist/services/mongoose/role.service.js.map +1 -1
  241. package/dist/services/mongoose/settings.service.js +35 -62
  242. package/dist/services/mongoose/settings.service.js.map +1 -1
  243. package/dist/services/mongoose/user.service.js +8 -7
  244. package/dist/services/mongoose/user.service.js.map +1 -1
  245. package/dist/services/moonraker/constants/{websocket.constants.js → moonraker.constants.js} +1 -1
  246. package/dist/services/moonraker/constants/{websocket.constants.js.map → moonraker.constants.js.map} +1 -1
  247. package/dist/services/moonraker/moonraker-websocket.adapter.js +102 -94
  248. package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
  249. package/dist/services/moonraker/moonraker.client.js +19 -14
  250. package/dist/services/moonraker/moonraker.client.js.map +1 -1
  251. package/dist/services/moonraker.api.js +3 -5
  252. package/dist/services/moonraker.api.js.map +1 -1
  253. package/dist/services/octoprint/constants/octoprint-service.constants.js +7 -36
  254. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
  255. package/dist/services/octoprint/constants/octoprint-websocket.constants.js +12 -3
  256. package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -1
  257. package/dist/services/octoprint/dto/octoprint-event.dto.js +2 -1
  258. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
  259. package/dist/services/octoprint/octoprint-api.routes.js +0 -37
  260. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  261. package/dist/services/octoprint/octoprint-websocket.adapter.js +66 -72
  262. package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
  263. package/dist/services/octoprint/octoprint.client.js +12 -185
  264. package/dist/services/octoprint/octoprint.client.js.map +1 -1
  265. package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -1
  266. package/dist/services/octoprint.api.js +8 -14
  267. package/dist/services/octoprint.api.js.map +1 -1
  268. package/dist/services/orm/base.service.js +11 -12
  269. package/dist/services/orm/base.service.js.map +1 -1
  270. package/dist/services/orm/camera-stream.service.js +5 -1
  271. package/dist/services/orm/camera-stream.service.js.map +1 -1
  272. package/dist/services/orm/custom-gcode.service.js +2 -2
  273. package/dist/services/orm/custom-gcode.service.js.map +1 -1
  274. package/dist/services/orm/floor-position.service.js +0 -5
  275. package/dist/services/orm/floor-position.service.js.map +1 -1
  276. package/dist/services/orm/floor.service.js +43 -39
  277. package/dist/services/orm/floor.service.js.map +1 -1
  278. package/dist/services/orm/permission.service.js +3 -4
  279. package/dist/services/orm/permission.service.js.map +1 -1
  280. package/dist/services/orm/print-completion.service.js +2 -4
  281. package/dist/services/orm/print-completion.service.js.map +1 -1
  282. package/dist/services/orm/printer-group.service.js +2 -7
  283. package/dist/services/orm/printer-group.service.js.map +1 -1
  284. package/dist/services/orm/printer.service.js +21 -36
  285. package/dist/services/orm/printer.service.js.map +1 -1
  286. package/dist/services/orm/refresh-token.service.js +5 -11
  287. package/dist/services/orm/refresh-token.service.js.map +1 -1
  288. package/dist/services/orm/role.service.js +11 -10
  289. package/dist/services/orm/role.service.js.map +1 -1
  290. package/dist/services/orm/settings.service.js +37 -133
  291. package/dist/services/orm/settings.service.js.map +1 -1
  292. package/dist/services/orm/user.service.js +13 -15
  293. package/dist/services/orm/user.service.js.map +1 -1
  294. package/dist/services/printer-api.factory.js +9 -6
  295. package/dist/services/printer-api.factory.js.map +1 -1
  296. package/dist/services/printer-api.interface.js +13 -6
  297. package/dist/services/printer-api.interface.js.map +1 -1
  298. package/dist/services/prusa-link/constants/prusalink-event.dto.js +18 -0
  299. package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -0
  300. package/dist/services/prusa-link/constants/prusalink.constants.js +13 -0
  301. package/dist/services/prusa-link/constants/prusalink.constants.js.map +1 -0
  302. package/dist/services/prusa-link/dto/file-response.dto.js +6 -0
  303. package/dist/services/prusa-link/dto/file-response.dto.js.map +1 -0
  304. package/dist/services/{octoprint/dto/plugin.dto.js → prusa-link/dto/file.dto.js} +1 -1
  305. package/dist/services/prusa-link/dto/file.dto.js.map +1 -0
  306. package/dist/services/prusa-link/dto/job-state.dto.js +6 -0
  307. package/dist/services/prusa-link/dto/job-state.dto.js.map +1 -0
  308. package/dist/services/prusa-link/dto/printer-state.dto.js +6 -0
  309. package/dist/services/prusa-link/dto/printer-state.dto.js.map +1 -0
  310. package/dist/services/prusa-link/dto/status.dto.js +6 -0
  311. package/dist/services/prusa-link/dto/status.dto.js.map +1 -0
  312. package/dist/services/prusa-link/dto/version.dto.js +6 -0
  313. package/dist/services/prusa-link/dto/version.dto.js.map +1 -0
  314. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +142 -0
  315. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -0
  316. package/dist/services/prusa-link/prusa-link.api.js +233 -0
  317. package/dist/services/prusa-link/prusa-link.api.js.map +1 -0
  318. package/dist/services/prusa-link/utils/digest-auth.params.js +6 -0
  319. package/dist/services/prusa-link/utils/digest-auth.params.js.map +1 -0
  320. package/dist/services/prusa-link/utils/digest-auth.util.js +28 -0
  321. package/dist/services/prusa-link/utils/digest-auth.util.js.map +1 -0
  322. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js +131 -0
  323. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -0
  324. package/dist/services/socket.factory.js +9 -6
  325. package/dist/services/socket.factory.js.map +1 -1
  326. package/dist/services/{core/task-manager.service.js → task-manager.service.js} +72 -78
  327. package/dist/services/task-manager.service.js.map +1 -0
  328. package/dist/services/validators/camera-service.validation.js +19 -0
  329. package/dist/services/validators/camera-service.validation.js.map +1 -0
  330. package/dist/services/validators/floor-service.validation.js +47 -36
  331. package/dist/services/validators/floor-service.validation.js.map +1 -1
  332. package/dist/services/validators/print-completion-service.validation.js +22 -9
  333. package/dist/services/validators/print-completion-service.validation.js.map +1 -1
  334. package/dist/services/validators/printer-service.validation.js +112 -29
  335. package/dist/services/validators/printer-service.validation.js.map +1 -1
  336. package/dist/services/validators/settings-service.validation.js +78 -66
  337. package/dist/services/validators/settings-service.validation.js.map +1 -1
  338. package/dist/services/validators/user-service.validation.js +17 -16
  339. package/dist/services/validators/user-service.validation.js.map +1 -1
  340. package/dist/services/validators/yaml-service.validation.js +94 -51
  341. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  342. package/dist/shared/default-http-client.builder.js.map +1 -1
  343. package/dist/shared/load-controllers.js +20 -0
  344. package/dist/shared/load-controllers.js.map +1 -0
  345. package/dist/shared/runtime-settings.migration.js +46 -0
  346. package/dist/shared/runtime-settings.migration.js.map +1 -0
  347. package/dist/shared/websocket-rpc-extended.adapter.js +15 -14
  348. package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
  349. package/dist/shared/websocket.adapter.js +4 -5
  350. package/dist/shared/websocket.adapter.js.map +1 -1
  351. package/dist/state/file-upload-tracker.cache.js +5 -4
  352. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  353. package/dist/state/file.cache.js +1 -1
  354. package/dist/state/file.cache.js.map +1 -1
  355. package/dist/state/floor.store.js +6 -6
  356. package/dist/state/floor.store.js.map +1 -1
  357. package/dist/state/printer-events.cache.js +21 -22
  358. package/dist/state/printer-events.cache.js.map +1 -1
  359. package/dist/state/printer-files.store.js +6 -8
  360. package/dist/state/printer-files.store.js.map +1 -1
  361. package/dist/state/printer-socket.store.js +27 -50
  362. package/dist/state/printer-socket.store.js.map +1 -1
  363. package/dist/state/printer-thumbnail.cache.js +5 -9
  364. package/dist/state/printer-thumbnail.cache.js.map +1 -1
  365. package/dist/state/printer.cache.js +14 -12
  366. package/dist/state/printer.cache.js.map +1 -1
  367. package/dist/state/settings.store.js +74 -50
  368. package/dist/state/settings.store.js.map +1 -1
  369. package/dist/state/socket-io.gateway.js +39 -36
  370. package/dist/state/socket-io.gateway.js.map +1 -1
  371. package/dist/state/test-printer-socket.store.js +20 -15
  372. package/dist/state/test-printer-socket.store.js.map +1 -1
  373. package/dist/state/validation/create-test-printer.validation.js +13 -11
  374. package/dist/state/validation/create-test-printer.validation.js.map +1 -1
  375. package/dist/task.presets.js.map +1 -1
  376. package/dist/tasks/boot.task.js +14 -19
  377. package/dist/tasks/boot.task.js.map +1 -1
  378. package/dist/tasks/client-bundle.task.js +1 -3
  379. package/dist/tasks/client-bundle.task.js.map +1 -1
  380. package/dist/tasks/print-completion.socketio.task.js +27 -28
  381. package/dist/tasks/print-completion.socketio.task.js.map +1 -1
  382. package/dist/tasks/printer-file-clean.task.js +6 -10
  383. package/dist/tasks/printer-file-clean.task.js.map +1 -1
  384. package/dist/tasks/printer-websocket-restore.task.js +3 -14
  385. package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
  386. package/dist/tasks/printer-websocket.task.js +2 -14
  387. package/dist/tasks/printer-websocket.task.js.map +1 -1
  388. package/dist/tasks/socketio.task.js +6 -33
  389. package/dist/tasks/socketio.task.js.map +1 -1
  390. package/dist/tasks/software-update.task.js +1 -1
  391. package/dist/tasks/software-update.task.js.map +1 -1
  392. package/dist/tasks.js +3 -3
  393. package/dist/tasks.js.map +1 -1
  394. package/dist/utils/array.util.js.map +1 -1
  395. package/dist/utils/cache/key-diff.cache.js.map +1 -1
  396. package/dist/utils/env.utils.js +0 -2
  397. package/dist/utils/env.utils.js.map +1 -1
  398. package/dist/utils/normalize-url.js +3 -2
  399. package/dist/utils/normalize-url.js.map +1 -1
  400. package/dist/utils/printer-type.utils.js.map +1 -1
  401. package/dist/utils/time.utils.js +7 -17
  402. package/dist/utils/time.utils.js.map +1 -1
  403. package/dist/utils/url.utils.js +3 -4
  404. package/dist/utils/url.utils.js.map +1 -1
  405. package/package.json +44 -47
  406. package/tsconfig.json +2 -1
  407. package/.yarn/releases/yarn-4.7.0.cjs +0 -935
  408. package/dist/consoles/check-ports.js +0 -170
  409. package/dist/consoles/check-ports.js.map +0 -1
  410. package/dist/consoles/http-file-receiver.console.js +0 -81
  411. package/dist/consoles/http-file-receiver.console.js.map +0 -1
  412. package/dist/consoles/sqlite-torm.js +0 -31
  413. package/dist/consoles/sqlite-torm.js.map +0 -1
  414. package/dist/consoles/upload-test.js +0 -52
  415. package/dist/consoles/upload-test.js.map +0 -1
  416. package/dist/controllers/plugin-firmware-update.controller.js +0 -234
  417. package/dist/controllers/plugin-firmware-update.controller.js.map +0 -1
  418. package/dist/entities/base.entity.js +0 -29
  419. package/dist/entities/base.entity.js.map +0 -1
  420. package/dist/entities/printer-file.entity.js +0 -140
  421. package/dist/entities/printer-file.entity.js.map +0 -1
  422. package/dist/handlers/cache-manager.js +0 -18
  423. package/dist/handlers/cache-manager.js.map +0 -1
  424. package/dist/models/PrinterFile.js +0 -44
  425. package/dist/models/PrinterFile.js.map +0 -1
  426. package/dist/services/core/task-manager.service.js.map +0 -1
  427. package/dist/services/octoprint/dto/plugin.dto.js.map +0 -1
  428. package/dist/services/octoprint/plugin-base.service.js +0 -101
  429. package/dist/services/octoprint/plugin-base.service.js.map +0 -1
  430. package/dist/services/octoprint/plugin-firmware-update.service.js +0 -100
  431. package/dist/services/octoprint/plugin-firmware-update.service.js.map +0 -1
  432. package/dist/services/octoprint/plugin-repository.cache.js +0 -46
  433. package/dist/services/octoprint/plugin-repository.cache.js.map +0 -1
  434. package/dist/utils/benchmark.util.js +0 -39
  435. package/dist/utils/benchmark.util.js.map +0 -1
  436. package/dist/utils/is-docker.js +0 -40
  437. package/dist/utils/is-docker.js.map +0 -1
  438. package/dist/utils/metric.utils.js +0 -35
  439. package/dist/utils/metric.utils.js.map +0 -1
@@ -20,6 +20,9 @@ _export(exports, {
20
20
  },
21
21
  octoPrintEvent: function() {
22
22
  return octoPrintEvent;
23
+ },
24
+ octoPrintWebsocketEvent: function() {
25
+ return octoPrintWebsocketEvent;
23
26
  }
24
27
  });
25
28
  const _httpstatuscodesconstants = require("../../constants/http-status-codes.constants");
@@ -28,7 +31,6 @@ const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
28
31
  const _urlutils = require("../../utils/url.utils");
29
32
  const _normalizeurl = require("../../utils/normalize-url");
30
33
  const _websocketadapter = require("../../shared/websocket.adapter");
31
- const _nodefs = require("node:fs");
32
34
  const _socketstatetype = require("../../shared/dtos/socket-state.type");
33
35
  const _apistatetype = require("../../shared/dtos/api-state.type");
34
36
  const _printerapiinterface = require("../printer-api.interface");
@@ -49,35 +51,31 @@ const OctoPrintMessage = {
49
51
  timelapse: "timelapse",
50
52
  slicingProgress: "slicingProgress"
51
53
  };
54
+ const octoPrintWebsocketEvent = (printerId)=>`octoprint.${printerId}`;
52
55
  const octoPrintEvent = (event)=>`octoprint.${event}`;
53
56
  class OctoprintWebsocketAdapter extends _websocketadapter.WebsocketAdapter {
54
- printerType = 0;
55
57
  octoprintClient;
58
+ eventEmitter2;
59
+ configService;
60
+ printerType;
56
61
  printerId;
57
- stateUpdated = false;
58
- stateUpdateTimestamp = null;
59
- socketState = _socketstatetype.SOCKET_STATE.unopened;
60
- apiStateUpdated = false;
61
- apiStateUpdateTimestamp = null;
62
- apiState = _apistatetype.API_STATE.unset;
63
- lastMessageReceivedTimestamp = null;
64
- reauthRequired = false;
65
- reauthRequiredTimestamp = null;
62
+ stateUpdated;
63
+ stateUpdateTimestamp;
64
+ socketState;
65
+ apiStateUpdated;
66
+ apiStateUpdateTimestamp;
67
+ apiState;
68
+ lastMessageReceivedTimestamp;
69
+ reauthRequired;
70
+ reauthRequiredTimestamp;
66
71
  login;
67
- eventEmitter;
68
- configService;
69
72
  socketURL;
70
73
  sessionDto;
71
74
  username;
72
75
  refreshPrinterCurrentInterval;
73
- constructor({ loggerFactory, octoprintClient, eventEmitter2, configService }){
74
- super({
75
- loggerFactory
76
- });
76
+ constructor(loggerFactory, octoprintClient, eventEmitter2, configService){
77
+ super(loggerFactory), this.octoprintClient = octoprintClient, this.eventEmitter2 = eventEmitter2, this.configService = configService, this.printerType = 0, this.stateUpdated = false, this.stateUpdateTimestamp = null, this.socketState = _socketstatetype.SOCKET_STATE.unopened, this.apiStateUpdated = false, this.apiStateUpdateTimestamp = null, this.apiState = _apistatetype.API_STATE.unset, this.lastMessageReceivedTimestamp = null, this.reauthRequired = false, this.reauthRequiredTimestamp = null;
77
78
  this.logger = loggerFactory(OctoprintWebsocketAdapter.name);
78
- this.octoprintClient = octoprintClient;
79
- this.eventEmitter = eventEmitter2;
80
- this.configService = configService;
81
79
  }
82
80
  get _debugMode() {
83
81
  return this.configService.get(_serverconstants.AppConstants.debugSocketStatesKey, _serverconstants.AppConstants.defaultDebugSocketStates) === "true";
@@ -162,14 +160,9 @@ class OctoprintWebsocketAdapter extends _websocketadapter.WebsocketAdapter {
162
160
  });
163
161
  this.username = await this.octoprintClient.getAdminUserOrDefault(this.login).catch((e)=>{
164
162
  const status = e.response?.status;
165
- if (status === _httpstatuscodesconstants.HttpStatusCode.FORBIDDEN) {
166
- this.setApiState("authFail");
167
- this.setSocketState("aborted");
168
- } else {
169
- this.setApiState("authFail");
170
- this.setSocketState("aborted");
171
- }
172
- if ([
163
+ this.setApiState("authFail");
164
+ this.setSocketState("aborted");
165
+ if (status && [
173
166
  _httpstatuscodesconstants.HttpStatusCode.BAD_GATEWAY,
174
167
  _httpstatuscodesconstants.HttpStatusCode.NOT_IMPLEMENTED,
175
168
  _httpstatuscodesconstants.HttpStatusCode.SERVICE_UNAVAILABLE,
@@ -188,46 +181,6 @@ class OctoprintWebsocketAdapter extends _websocketadapter.WebsocketAdapter {
188
181
  await this.updateCurrentStateSafely();
189
182
  }, 10000);
190
183
  }
191
- async updateCurrentStateSafely() {
192
- try {
193
- const current = await this.octoprintClient.getPrinterCurrent(this.login, true);
194
- const isOperational = current.data?.state?.flags?.operational;
195
- let job = {};
196
- if (isOperational) {
197
- const jobResponse = await this.octoprintClient.getJob(this.login);
198
- job = jobResponse.data;
199
- }
200
- this.setApiState(_apistatetype.API_STATE.responding);
201
- return await this.emitEvent("current", {
202
- ...current.data,
203
- progress: job?.progress,
204
- job: job?.job
205
- });
206
- } catch (e) {
207
- if (e.isAxiosError) {
208
- const castError = e;
209
- if (castError?.response?.status == 409) {
210
- this.logger.error(`Printer current interval loop error`);
211
- await this.emitEvent("current", {
212
- state: {
213
- flags: {
214
- operational: false,
215
- error: false
216
- },
217
- text: "USB disconnected",
218
- error: castError?.response.data.error
219
- }
220
- });
221
- return;
222
- }
223
- this.logger.error(`Could not update Octoprint current due to a request error`);
224
- this.setApiState(_apistatetype.API_STATE.noResponse);
225
- return;
226
- }
227
- this.logger.error(`Could not update Octoprint current due to an unknown error`);
228
- this.setApiState(_apistatetype.API_STATE.noResponse);
229
- }
230
- }
231
184
  setReauthRequired() {
232
185
  this.reauthRequired = true;
233
186
  this.reauthRequiredTimestamp = Date.now();
@@ -244,7 +197,7 @@ class OctoprintWebsocketAdapter extends _websocketadapter.WebsocketAdapter {
244
197
  if (!this.eventEmittingAllowed) {
245
198
  return;
246
199
  }
247
- this.eventEmitter.emit(octoPrintEvent(event), {
200
+ this.eventEmitter2.emit(octoPrintEvent(event), {
248
201
  event,
249
202
  payload,
250
203
  printerId: this.printerId,
@@ -270,8 +223,6 @@ class OctoprintWebsocketAdapter extends _websocketadapter.WebsocketAdapter {
270
223
  if (eventName === OctoPrintMessage.reauthRequired) {
271
224
  this.logger.log("Received 'reauthRequired', acting on it");
272
225
  this.setReauthRequired();
273
- } else if (eventName === OctoPrintMessage.current && this.configService.get(_serverconstants.AppConstants.debugFileWritePrinterStatesKey, _serverconstants.AppConstants.defaultDebugFileWritePrinterStates) === "true") {
274
- (0, _nodefs.writeFileSync)(`websocket_current_${this.printerId}.txt`, JSON.stringify(payload, null, 2));
275
226
  }
276
227
  await this.emitEvent(eventName, payload);
277
228
  }
@@ -284,11 +235,51 @@ class OctoprintWebsocketAdapter extends _websocketadapter.WebsocketAdapter {
284
235
  this.setSocketState("error");
285
236
  await this.emitEvent(WsMessage.WS_ERROR, error?.length ? error : "connection error");
286
237
  }
238
+ async updateCurrentStateSafely() {
239
+ try {
240
+ const current = await this.octoprintClient.getPrinterCurrent(this.login, true);
241
+ const isOperational = current.data?.state?.flags?.operational;
242
+ let job = {};
243
+ if (isOperational) {
244
+ const jobResponse = await this.octoprintClient.getJob(this.login);
245
+ job = jobResponse.data;
246
+ }
247
+ this.setApiState(_apistatetype.API_STATE.responding);
248
+ return await this.emitEvent("current", {
249
+ ...current.data,
250
+ progress: job?.progress,
251
+ job: job?.job
252
+ });
253
+ } catch (e) {
254
+ if (e.isAxiosError) {
255
+ const castError = e;
256
+ if (castError?.response?.status == 409) {
257
+ this.logger.error(`Printer current interval loop error`);
258
+ await this.emitEvent("current", {
259
+ state: {
260
+ flags: {
261
+ operational: false,
262
+ error: false
263
+ },
264
+ text: "USB disconnected",
265
+ error: castError?.response.data.error
266
+ }
267
+ });
268
+ return;
269
+ }
270
+ this.logger.error(`Could not update Octoprint current due to a request error`);
271
+ this.setApiState(_apistatetype.API_STATE.noResponse);
272
+ return;
273
+ }
274
+ this.logger.error(`Could not update Octoprint current due to an unknown error`);
275
+ this.setApiState(_apistatetype.API_STATE.noResponse);
276
+ }
277
+ }
287
278
  async emitEvent(event, payload) {
288
279
  if (!this.eventEmittingAllowed) {
289
280
  return;
290
281
  }
291
- await this.eventEmitter.emitAsync(octoPrintEvent(event), {
282
+ await this.eventEmitter2.emitAsync(octoPrintEvent(event), {
292
283
  event,
293
284
  payload,
294
285
  printerId: this.printerId,
@@ -296,6 +287,9 @@ class OctoprintWebsocketAdapter extends _websocketadapter.WebsocketAdapter {
296
287
  });
297
288
  }
298
289
  async sendAuth() {
290
+ if (!this.sessionDto?.session?.length) {
291
+ throw new Error("Cant send auth, session is unset.");
292
+ }
299
293
  this.setSocketState(_socketstatetype.SOCKET_STATE.authenticating);
300
294
  await this.sendMessage(JSON.stringify({
301
295
  auth: `${this.username}:${this.sessionDto.session}`
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/services/octoprint/octoprint-websocket.adapter.ts"],"names":["OctoPrintMessage","OctoprintWebsocketAdapter","WsMessage","octoPrintEvent","WS_OPENED","WS_CLOSED","WS_ERROR","API_STATE_UPDATED","WS_STATE_UPDATED","connected","reauthRequired","current","history","event","plugin","timelapse","slicingProgress","WebsocketAdapter","printerType","octoprintClient","printerId","stateUpdated","stateUpdateTimestamp","socketState","SOCKET_STATE","unopened","apiStateUpdated","apiStateUpdateTimestamp","apiState","API_STATE","unset","lastMessageReceivedTimestamp","reauthRequiredTimestamp","login","eventEmitter","configService","socketURL","sessionDto","username","refreshPrinterCurrentInterval","constructor","loggerFactory","eventEmitter2","logger","name","_debugMode","get","AppConstants","debugSocketStatesKey","defaultDebugSocketStates","needsReopen","isApiOnline","responding","closed","error","needsSetup","needsReauth","isClosedOrAborted","aborted","registerCredentials","socketLogin","loginDto","httpUrlString","normalizeUrl","printerURL","httpUrl","URL","httpUrlPath","pathname","wsUrl","httpToWsUrl","open","socket","Error","close","clearInterval","sendThrottle","throttle","defaultSocketThrottleRate","sendMessage","JSON","stringify","reauthSession","log","setupSocketSession","sendAuth","resetReauthRequired","resetSocketState","then","d","r","data","setApiState","setSocketState","ExternalServiceError","needs","group","warn","catch","e","response","status","getAdminUserOrDefault","HttpStatusCode","FORBIDDEN","BAD_GATEWAY","NOT_IMPLEMENTED","SERVICE_UNAVAILABLE","GATEWAY_TIMEOUT","includes","updateCurrentStateSafely","setInterval","getPrinterCurrent","isOperational","state","flags","operational","job","jobResponse","getJob","emitEvent","progress","isAxiosError","castError","text","noResponse","setReauthRequired","Date","now","emitEventSync","payload","eventEmittingAllowed","emit","OctoprintType","afterOpened","_","onMessage","message","authenticated","parse","eventName","Object","keys","substring","debugFileWritePrinterStatesKey","defaultDebugFileWritePrinterStates","writeFileSync","afterClosed","onError","length","emitAsync","authenticating","auth","session","globalKey"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/services/octoprint/octoprint-websocket.adapter.ts"],"names":["OctoPrintMessage","OctoprintWebsocketAdapter","WsMessage","octoPrintEvent","octoPrintWebsocketEvent","WS_OPENED","WS_CLOSED","WS_ERROR","API_STATE_UPDATED","WS_STATE_UPDATED","connected","reauthRequired","current","history","event","plugin","timelapse","slicingProgress","printerId","WebsocketAdapter","printerType","stateUpdated","stateUpdateTimestamp","socketState","apiStateUpdated","apiStateUpdateTimestamp","apiState","lastMessageReceivedTimestamp","reauthRequiredTimestamp","login","socketURL","sessionDto","username","refreshPrinterCurrentInterval","constructor","loggerFactory","octoprintClient","eventEmitter2","configService","SOCKET_STATE","unopened","API_STATE","unset","logger","name","_debugMode","get","AppConstants","debugSocketStatesKey","defaultDebugSocketStates","needsReopen","isApiOnline","responding","closed","error","needsSetup","needsReauth","isClosedOrAborted","aborted","registerCredentials","socketLogin","loginDto","httpUrlString","normalizeUrl","printerURL","httpUrl","URL","httpUrlPath","pathname","wsUrl","httpToWsUrl","open","socket","Error","close","clearInterval","sendThrottle","throttle","defaultSocketThrottleRate","sendMessage","JSON","stringify","reauthSession","log","setupSocketSession","sendAuth","resetReauthRequired","resetSocketState","then","d","r","data","setApiState","setSocketState","ExternalServiceError","needs","group","warn","catch","e","response","status","getAdminUserOrDefault","HttpStatusCode","BAD_GATEWAY","NOT_IMPLEMENTED","SERVICE_UNAVAILABLE","GATEWAY_TIMEOUT","includes","updateCurrentStateSafely","setInterval","setReauthRequired","Date","now","emitEventSync","payload","eventEmittingAllowed","emit","OctoprintType","afterOpened","_","onMessage","message","authenticated","parse","eventName","Object","keys","substring","emitEvent","afterClosed","onError","length","getPrinterCurrent","isOperational","state","flags","operational","job","jobResponse","getJob","progress","isAxiosError","castError","text","noResponse","emitAsync","session","authenticating","auth","globalKey"],"mappings":";;;;;;;;;;;IAmCaA,gBAAgB;eAAhBA;;IAcAC,yBAAyB;eAAzBA;;IAvBAC,SAAS;eAATA;;IAqBAC,cAAc;eAAdA;;IADAC,uBAAuB;eAAvBA;;;0CA9CkB;iCACF;mCACQ;0BACT;8BACC;kCASI;iCAGS;8BACN;qCAKN;AAIvB,MAAMF,YAAY;IAEvBG,WAAW;IACXC,WAAW;IACXC,UAAU;IACVC,mBAAmB;IACnBC,kBAAkB;AACpB;AAEO,MAAMT,mBAAmB;IAC9BU,WAAW;IACXC,gBAAgB;IAChBC,SAAS;IACTC,SAAS;IACTC,OAAO;IACPC,QAAQ;IACRC,WAAW;IACXC,iBAAiB;AACnB;AAEO,MAAMb,0BAA0B,CAACc,YAAsB,CAAC,UAAU,EAAEA,WAAW;AAC/E,MAAMf,iBAAiB,CAACW,QAAkB,CAAC,UAAU,EAAEA,OAAO;AAE9D,MAAMb,kCAAkCkB,kCAAgB;;;;IAC7CC,YAAgB;IACzBF,UAAmB;IAC1BG,aAAqB;IACrBC,qBAA2C;IAC3CC,YAAiD;IACjDC,gBAAwB;IACxBC,wBAA8C;IAC9CC,SAAqC;IACrCC,6BAAmD;IACnDhB,eAAuB;IACvBiB,wBAA8C;IAE9CC,MAAgB;IAERC,UAAgB;IAChBC,WAAyB;IACzBC,SAAkB;IAClBC,8BAA+C;IAEvDC,YACEC,aAA6B,EAC7B,AAAiBC,eAAgC,EACjD,AAAiBC,aAA4B,EAC7C,AAAiBC,aAA4B,CAC7C;QACA,KAAK,CAACH,qBAJWC,kBAAAA,sBACAC,gBAAAA,oBACAC,gBAAAA,oBAvBHlB,cAAc,QAE9BC,eAAe,YACfC,uBAAsC,WACtCC,cAA2BgB,6BAAY,CAACC,QAAQ,OAChDhB,kBAAkB,YAClBC,0BAAyC,WACzCC,WAAqBe,uBAAS,CAACC,KAAK,OACpCf,+BAA8C,WAC9ChB,iBAAiB,YACjBiB,0BAAyC;QAiBvC,IAAI,CAACe,MAAM,GAAGR,cAAclC,0BAA0B2C,IAAI;IAC5D;IAEA,IAAIC,aAAa;QACf,OAAO,IAAI,CAACP,aAAa,CAACQ,GAAG,CAACC,6BAAY,CAACC,oBAAoB,EAAED,6BAAY,CAACE,wBAAwB,MAAM;IAC9G;IAEAC,cAAc;QACZ,MAAMC,cAAc,IAAI,CAACzB,QAAQ,KAAKe,uBAAS,CAACW,UAAU;QAC1D,OAAOD,eAAgB,CAAA,IAAI,CAAC5B,WAAW,KAAKgB,6BAAY,CAACc,MAAM,IAAI,IAAI,CAAC9B,WAAW,KAAKgB,6BAAY,CAACe,KAAK,AAAD;IAC3G;IAEAC,aAAa;QACX,OAAO,IAAI,CAAChC,WAAW,KAAKgB,6BAAY,CAACC,QAAQ;IACnD;IAEAgB,cAAc;QACZ,OAAO,IAAI,CAAC7C,cAAc;IAC5B;IAEA8C,oBAAoB;QAClB,OAAO,IAAI,CAAClC,WAAW,KAAKgB,6BAAY,CAACc,MAAM,IAAI,IAAI,CAAC9B,WAAW,KAAKgB,6BAAY,CAACmB,OAAO;IAC9F;IAEAC,oBAAoBC,WAAyB,EAAE;QAC7C,MAAM,EAAE1C,SAAS,EAAE2C,QAAQ,EAAE,GAAGD;QAChC,IAAI,CAAC1C,SAAS,GAAGA;QACjB,IAAI,CAACW,KAAK,GAAGgC;QAEb,MAAMC,gBAAgBC,IAAAA,0BAAY,EAAC,IAAI,CAAClC,KAAK,CAACmC,UAAU;QACxD,MAAMC,UAAU,IAAIC,IAAIJ;QACxB,MAAMK,cAAcF,QAAQG,QAAQ;QAEpC,MAAMC,QAAQC,IAAAA,qBAAW,EAACR;QAC1BO,MAAMD,QAAQ,GAAG,AAACD,CAAAA,eAAe,GAAE,IAAK;QACxC,IAAI,CAACrC,SAAS,GAAGuC;IACnB;IAEAE,OAAO;QACL,IAAI,IAAI,CAACC,MAAM,EAAE;YACf,MAAM,IAAIC,MAAM,CAAC,yDAAyD,CAAC;QAC7E;QAEA,KAAK,CAACF,KAAK,IAAI,CAACzC,SAAS;IAC3B;IAEA4C,QAAQ;QACNC,cAAc,IAAI,CAAC1C,6BAA6B;QAChD,KAAK,CAACyC;IACR;IAEA,MAAME,aAAaC,WAAmB9B,6BAAY,CAAC+B,yBAAyB,EAAiB;QAC3F,OAAO,MAAM,IAAI,CAACC,WAAW,CAACC,KAAKC,SAAS,CAAC;YAAEJ;QAAS;IAC1D;IAEA,MAAMK,gBAAgB;QACpB,IAAI,CAACvC,MAAM,CAACwC,GAAG,CAAC;QAChB,MAAM,IAAI,CAACC,kBAAkB;QAC7B,MAAM,IAAI,CAACC,QAAQ;QACnB,IAAI,CAACC,mBAAmB;IAC1B;IAKA,MAAMF,qBAAoC;QACxC,IAAI,CAACG,gBAAgB;QACrB,IAAI,CAACxD,UAAU,GAAG,MAAM,IAAI,CAACK,eAAe,CACzCP,KAAK,CAAC,IAAI,CAACA,KAAK,EAChB2D,IAAI,CAAC,CAACC;YACL,MAAMC,IAAID,EAAEE,IAAI;YAEhB,IAAID,EAAE9C,IAAI,KAAK,QAAQ;gBAErB,IAAI,CAACgD,WAAW,CAAC;gBACjB,IAAI,CAACC,cAAc,CAAC;gBACpB,MAAM,IAAIC,uCAAoB,CAAC,uDAAuD;YACxF,OAAO,IAAIJ,EAAEK,KAAK,EAAEC,KAAK,CAAC,EAAE,KAAK,UAAU;gBACzC,IAAI,CAACrD,MAAM,CAACsD,IAAI,CAAC;gBAEjB,IAAI,CAACL,WAAW,CAAC;gBACjB,IAAI,CAACC,cAAc,CAAC;gBACpB,MAAM,IAAIC,uCAAoB,CAC5B,2EACA;YAEJ;YACA,IAAI,CAACF,WAAW,CAAC;YACjB,IAAI,CAACC,cAAc,CAAC;YACpB,OAAOH;QACT,GACCQ,KAAK,CAAC,CAACC;YACN,IAAI,CAACN,cAAc,CAAC;YAEpB,IAAIM,aAAaL,uCAAoB,EAAE;gBACrC,IAAI,CAACnD,MAAM,CAACsD,IAAI,CAAC,CAAC,uCAAuC,EAAE,IAAI,CAACvE,QAAQ,EAAE;gBAC1E,MAAMyE;YACR,OAAO;gBACL,IAAIA,GAAGC,UAAUC,WAAW,KAAK;oBAC/B,IAAI,CAACT,WAAW,CAAC;oBACjB,IAAI,CAACC,cAAc,CAAC;oBACpB,MAAM,IAAIC,uCAAoB,CAACK,GAAG;gBACpC;gBAEA,IAAI,CAACxD,MAAM,CAACW,KAAK,CAAC,CAAC,SAAS,EAAE,IAAI,CAACpC,SAAS,CAAC,yDAAyD,EAAEiF,GAAG;gBAC3G,IAAI,CAACP,WAAW,CAAC;YACnB;YACA,MAAMO;QACR;QAEF,IAAI,CAACnE,QAAQ,GAAG,MAAM,IAAI,CAACI,eAAe,CAACkE,qBAAqB,CAAC,IAAI,CAACzE,KAAK,EAAEqE,KAAK,CAAC,CAACC;YAClF,MAAME,SAASF,EAAEC,QAAQ,EAAEC;YAE3B,IAAI,CAACT,WAAW,CAAC;YACjB,IAAI,CAACC,cAAc,CAAC;YAEpB,IACEQ,UACA;gBACEE,wCAAc,CAACC,WAAW;gBAC1BD,wCAAc,CAACE,eAAe;gBAC9BF,wCAAc,CAACG,mBAAmB;gBAClCH,wCAAc,CAACI,eAAe;aAC/B,CAACC,QAAQ,CAACP,SACX;gBACA,IAAI,CAAC1D,MAAM,CAACW,KAAK,CAAC,CAAC,0BAA0B,EAAE+C,OAAO,iDAAiD,CAAC;YAC1G;YACA,MAAMF;QACR;QAEA,MAAM,IAAI,CAACU,wBAAwB;QAEnC,IAAI,CAAClE,MAAM,CAACwC,GAAG,CAAC,CAAC,iEAAiE,CAAC;QACnF,IAAI,IAAI,CAAClD,6BAA6B,EAAE;YACtC0C,cAAc,IAAI,CAAC1C,6BAA6B;QAClD;QACA,IAAI,CAACA,6BAA6B,GAAG6E,YAAY;YAC/C,MAAM,IAAI,CAACD,wBAAwB;QAErC,GAAG;IACL;IAEAE,oBAAoB;QAClB,IAAI,CAACpG,cAAc,GAAG;QACtB,IAAI,CAACiB,uBAAuB,GAAGoF,KAAKC,GAAG;IACzC;IAEA3B,sBAAsB;QACpB,IAAI,CAAC3E,cAAc,GAAG;QACtB,IAAI,CAACiB,uBAAuB,GAAG;IACjC;IAEA2D,mBAAmB;QACjB,IAAI,CAACM,cAAc,CAAC;QACpB,IAAI,CAACD,WAAW,CAAC;IACnB;IAEAsB,cAAcpG,KAAa,EAAEqG,OAAY,EAAE;QACzC,IAAI,CAAC,IAAI,CAACC,oBAAoB,EAAE;YAC9B;QACF;QAEA,IAAI,CAAC/E,aAAa,CAACgF,IAAI,CAAClH,eAAeW,QAAQ;YAC7CA;YACAqG;YACAjG,WAAW,IAAI,CAACA,SAAS;YACzBE,aAAakG,kCAAa;QAC5B;IACF;IAEA,MAAgBC,YAAYC,CAAU,EAAiB;QACrD,IAAI,CAAC3B,cAAc,CAAC;QACpB,MAAM,IAAI,CAACR,QAAQ;QACnB,MAAM,IAAI,CAACT,YAAY,CAAC7B,6BAAY,CAAC+B,yBAAyB;IAChE;IAEA,MAAgB2C,UAAUC,OAAe,EAAiB;QACxD,IAAI,CAAC/F,4BAA4B,GAAGqF,KAAKC,GAAG;QAE5C,IAAI,IAAI,CAAC1F,WAAW,KAAKgB,6BAAY,CAACoF,aAAa,EAAE;YACnD,IAAI,CAAC9B,cAAc,CAAC;QACtB;QAEA,MAAMF,OAAOX,KAAK4C,KAAK,CAACF;QACxB,MAAMG,YAAYC,OAAOC,IAAI,CAACpC,KAAK,CAAC,EAAE;QACtC,MAAMwB,UAAUxB,IAAI,CAACkC,UAAU;QAE/B,IAAI,IAAI,CAAChF,UAAU,EAAE;YACnB,IAAI,CAACF,MAAM,CAACwC,GAAG,CAAC,CAAC,OAAO,EAAE0C,UAAU,CAAC,EAAEH,QAAQM,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC;QACvE;QAEA,IAAIH,cAAc7H,iBAAiBW,cAAc,EAAE;YACjD,IAAI,CAACgC,MAAM,CAACwC,GAAG,CAAC;YAChB,IAAI,CAAC4B,iBAAiB;QACxB;QAEA,MAAM,IAAI,CAACkB,SAAS,CAACJ,WAAWV;IAClC;IAEA,MAAgBe,YAAYpH,KAAU,EAAE;QACtC,IAAI,CAAC+E,cAAc,CAAC;QACpB,OAAO,IAAI,CAACrB,MAAM;QAClB,MAAM,IAAI,CAACyD,SAAS,CAAC/H,UAAUI,SAAS,EAAE;IAC5C;IAEA,MAAgB6H,QAAQ7E,KAAU,EAAE;QAClC,IAAI,CAACuC,cAAc,CAAC;QACpB,MAAM,IAAI,CAACoC,SAAS,CAAC/H,UAAUK,QAAQ,EAAE+C,OAAO8E,SAAS9E,QAAQ;IACnE;IAMA,MAAcuD,2BAA2B;QACvC,IAAI;YACF,MAAMjG,UAAU,MAAM,IAAI,CAACwB,eAAe,CAACiG,iBAAiB,CAAC,IAAI,CAACxG,KAAK,EAAE;YACzE,MAAMyG,gBAAgB1H,QAAQ+E,IAAI,EAAE4C,OAAOC,OAAOC;YAElD,IAAIC,MAAM,CAAC;YACX,IAAIJ,eAAe;gBACjB,MAAMK,cAAc,MAAM,IAAI,CAACvG,eAAe,CAACwG,MAAM,CAAC,IAAI,CAAC/G,KAAK;gBAChE6G,MAAMC,YAAYhD,IAAI;YACxB;YAEA,IAAI,CAACC,WAAW,CAACnD,uBAAS,CAACW,UAAU;YACrC,OAAO,MAAM,IAAI,CAAC6E,SAAS,CAAC,WAAW;gBAAE,GAAGrH,QAAQ+E,IAAI;gBAAEkD,UAAUH,KAAKG;gBAAUH,KAAKA,KAAKA;YAAI;QACnG,EAAE,OAAOvC,GAAG;YACV,IAAI,AAACA,EAAiB2C,YAAY,EAAE;gBAClC,MAAMC,YAAY5C;gBAClB,IAAI4C,WAAW3C,UAAUC,UAAU,KAAK;oBACtC,IAAI,CAAC1D,MAAM,CAACW,KAAK,CAAC,CAAC,mCAAmC,CAAC;oBACvD,MAAM,IAAI,CAAC2E,SAAS,CAAC,WAAW;wBAC9BM,OAAO;4BACLC,OAAO;gCACLC,aAAa;gCACbnF,OAAO;4BACT;4BACA0F,MAAM;4BACN1F,OAAOyF,WAAW3C,SAAST,KAAKrC;wBAClC;oBACF;oBACA;gBACF;gBACA,IAAI,CAACX,MAAM,CAACW,KAAK,CAAC,CAAC,yDAAyD,CAAC;gBAC7E,IAAI,CAACsC,WAAW,CAACnD,uBAAS,CAACwG,UAAU;gBACrC;YACF;YACA,IAAI,CAACtG,MAAM,CAACW,KAAK,CAAC,CAAC,0DAA0D,CAAC;YAC9E,IAAI,CAACsC,WAAW,CAACnD,uBAAS,CAACwG,UAAU;QACvC;IACF;IAEA,MAAchB,UAAUnH,KAAa,EAAEqG,OAAa,EAAE;QACpD,IAAI,CAAC,IAAI,CAACC,oBAAoB,EAAE;YAC9B;QACF;QAEA,MAAM,IAAI,CAAC/E,aAAa,CAAC6G,SAAS,CAAC/I,eAAeW,QAAQ;YACxDA;YACAqG;YACAjG,WAAW,IAAI,CAACA,SAAS;YACzBE,aAAa;QACf;IACF;IAEA,MAAciE,WAA0B;QACtC,IAAI,CAAC,IAAI,CAACtD,UAAU,EAAEoH,SAASf,QAAQ;YACrC,MAAM,IAAI3D,MAAM;QAClB;QAEA,IAAI,CAACoB,cAAc,CAACtD,6BAAY,CAAC6G,cAAc;QAC/C,MAAM,IAAI,CAACrE,WAAW,CACpBC,KAAKC,SAAS,CAAC;YACboE,MAAM,GAAG,IAAI,CAACrH,QAAQ,CAAC,CAAC,EAAE,IAAI,CAACD,UAAU,CAACoH,OAAO,EAAE;QACrD;IAEJ;IAEQtD,eAAe0C,KAAkB,EAAE;QACzC,IAAI,CAAChH,WAAW,GAAGgH;QACnB,IAAI,CAAClH,YAAY,GAAG;QACpB,IAAI,CAACC,oBAAoB,GAAG0F,KAAKC,GAAG;QACpC,IAAI,IAAI,CAACpE,UAAU,EAAE;YACnB,IAAI,CAACF,MAAM,CAACwC,GAAG,CAAC,GAAG,IAAI,CAACjE,SAAS,CAAC,0BAA0B,CAAC,GAAGqH;QAClE;QACA,IAAI,CAACrB,aAAa,CAAChH,UAAUO,gBAAgB,EAAE8H;IACjD;IAEQ3C,YAAY2C,KAAe,EAAE;QACnC,IAAIA,UAAU9F,uBAAS,CAAC6G,SAAS,EAAE;YACjC,IAAI,CAAC3G,MAAM,CAACsD,IAAI,CAAC;QACnB;QACA,IAAI,CAACvE,QAAQ,GAAG6G;QAChB,IAAI,CAAC/G,eAAe,GAAG;QACvB,IAAI,CAACC,uBAAuB,GAAGuF,KAAKC,GAAG;QACvC,IAAI,IAAI,CAACpE,UAAU,EAAE;YACnB,IAAI,CAACF,MAAM,CAACwC,GAAG,CAAC,GAAG,IAAI,CAACjE,SAAS,CAAC,uBAAuB,CAAC,GAAGqH;QAC/D;QACA,IAAI,CAACrB,aAAa,CAAChH,UAAUM,iBAAiB,EAAE+H;IAClD;AACF"}
@@ -8,70 +8,24 @@ Object.defineProperty(exports, "OctoprintClient", {
8
8
  return OctoprintClient;
9
9
  }
10
10
  });
11
- const _fs = /*#__PURE__*/ _interop_require_wildcard(require("fs"));
12
- const _path = /*#__PURE__*/ _interop_require_default(require("path"));
11
+ const _fs = require("fs");
13
12
  const _formdata = /*#__PURE__*/ _interop_require_default(require("form-data"));
14
- const _octoprintserviceconstants = require("./constants/octoprint-service.constants");
15
13
  const _eventconstants = require("../../constants/event.constants");
16
14
  const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
17
15
  const _octoprintapiroutes = require("./octoprint-api.routes");
18
16
  const _fileutils = require("./utils/file.utils");
19
- const _node = require("@sentry/node");
20
17
  const _octoprinthttpclientbuilder = require("./utils/octoprint-http-client.builder");
21
18
  function _interop_require_default(obj) {
22
19
  return obj && obj.__esModule ? obj : {
23
20
  default: obj
24
21
  };
25
22
  }
26
- function _getRequireWildcardCache(nodeInterop) {
27
- if (typeof WeakMap !== "function") return null;
28
- var cacheBabelInterop = new WeakMap();
29
- var cacheNodeInterop = new WeakMap();
30
- return (_getRequireWildcardCache = function(nodeInterop) {
31
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
32
- })(nodeInterop);
33
- }
34
- function _interop_require_wildcard(obj, nodeInterop) {
35
- if (!nodeInterop && obj && obj.__esModule) {
36
- return obj;
37
- }
38
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
39
- return {
40
- default: obj
41
- };
42
- }
43
- var cache = _getRequireWildcardCache(nodeInterop);
44
- if (cache && cache.has(obj)) {
45
- return cache.get(obj);
46
- }
47
- var newObj = {
48
- __proto__: null
49
- };
50
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
51
- for(var key in obj){
52
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
53
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
54
- if (desc && (desc.get || desc.set)) {
55
- Object.defineProperty(newObj, key, desc);
56
- } else {
57
- newObj[key] = obj[key];
58
- }
59
- }
60
- }
61
- newObj.default = obj;
62
- if (cache) {
63
- cache.set(obj, newObj);
64
- }
65
- return newObj;
66
- }
67
23
  class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
68
- eventEmitter2;
69
24
  httpClientFactory;
25
+ eventEmitter2;
70
26
  logger;
71
- constructor({ httpClientFactory, loggerFactory, eventEmitter2 }){
72
- super();
73
- this.httpClientFactory = httpClientFactory;
74
- this.eventEmitter2 = eventEmitter2;
27
+ constructor(loggerFactory, httpClientFactory, eventEmitter2){
28
+ super(), this.httpClientFactory = httpClientFactory, this.eventEmitter2 = eventEmitter2;
75
29
  this.logger = loggerFactory(OctoprintClient.name);
76
30
  }
77
31
  async getApiVersion(login) {
@@ -141,10 +95,6 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
141
95
  const settingPatch = this.printerNameSetting(printerName);
142
96
  return await this.createClient(login).post(this.apiSettingsPart, settingPatch);
143
97
  }
144
- async updateFirmwareUpdaterSettings(login, firmwareUpdateConfig) {
145
- const settingPatch = this.pluginFirmwareUpdaterSettings(firmwareUpdateConfig);
146
- return await this.createClient(login).post(this.apiSettingsPart, settingPatch);
147
- }
148
98
  async setGCodeAnalysis(login, enabled) {
149
99
  const settingPatch = this.gcodeAnalysisSetting(enabled);
150
100
  return await this.createClient(login).post(this.apiSettingsPart, settingPatch);
@@ -168,13 +118,7 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
168
118
  async getFile(login, path) {
169
119
  const urlPath = this.apiFile(path);
170
120
  const response = await this.createClient(login).get(urlPath);
171
- try {
172
- return (0, _fileutils.normalizePrinterFile)(response?.data);
173
- } catch (e) {
174
- (0, _node.captureException)(e);
175
- this.logger.error("File was empty or normalization failed");
176
- return;
177
- }
121
+ return (0, _fileutils.normalizePrinterFile)(response?.data);
178
122
  }
179
123
  async downloadFile(login, path) {
180
124
  const urlPath = this.downloadFileLocal(path);
@@ -232,7 +176,7 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
232
176
  }
233
177
  const result = await new Promise((resolve, reject)=>{
234
178
  return formData.getLength((err, length)=>{
235
- if (err) resolve(null);
179
+ if (err) reject(new Error("Could not retrieve formData length"));
236
180
  resolve(length);
237
181
  });
238
182
  });
@@ -245,10 +189,14 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
245
189
  this.eventEmitter2.emit(`${(0, _eventconstants.uploadProgressEvent)(progressToken)}`, progressToken, p);
246
190
  }
247
191
  })).post(urlPath, formData);
248
- this.eventEmitter2.emit(`${(0, _eventconstants.uploadDoneEvent)(progressToken)}`, progressToken);
192
+ if (progressToken) {
193
+ this.eventEmitter2.emit(`${(0, _eventconstants.uploadDoneEvent)(progressToken)}`, progressToken);
194
+ }
249
195
  return response.data;
250
196
  } catch (e) {
251
- this.eventEmitter2.emit(`${(0, _eventconstants.uploadFailedEvent)(progressToken)}`, progressToken, e?.message);
197
+ if (progressToken) {
198
+ this.eventEmitter2.emit(`${(0, _eventconstants.uploadFailedEvent)(progressToken)}`, progressToken, e?.message);
199
+ }
252
200
  let data;
253
201
  try {
254
202
  data = JSON.parse(e.response?.body);
@@ -277,66 +225,6 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
277
225
  async getPrinterProfiles(login) {
278
226
  return await this.createClient(login).get(this.apiPrinterProfiles);
279
227
  }
280
- async postSoftwareUpdate(login, targets) {
281
- return await this.createClient(login).post(this.pluginSoftwareUpdateUpdate, {
282
- targets
283
- });
284
- }
285
- async getPluginManagerPlugins(login) {
286
- return await this.createClient(login).get(this.pluginManagerPlugins);
287
- }
288
- async getPluginManagerPlugin(login, pluginName) {
289
- const urlPath = this.pluginManagerPlugin(pluginName);
290
- return await this.createClient(login).get(urlPath);
291
- }
292
- async postApiPluginManagerCommand(login, pluginCommand, pluginUrl) {
293
- const command = this.pluginManagerCommand(pluginCommand, pluginUrl);
294
- return await this.createClient(login).post(this.apiPluginManager, command);
295
- }
296
- async postPluginFirmwareUpdateFlash(currentPrinterId, login, firmwarePath) {
297
- const urlPath = this.pluginFirmwareUpdaterFlash;
298
- const formData = new _formdata.default();
299
- formData.append("port", "/dev/op2");
300
- formData.append("profile", "default");
301
- const filename = _path.default.basename(firmwarePath);
302
- const fileReadStream = _fs.default.createReadStream(firmwarePath);
303
- formData.append("file", fileReadStream, {
304
- filename
305
- });
306
- try {
307
- const response = await this.createClient(login, (builder)=>builder.withMultiPartFormData().withHeaders({
308
- ...formData.getHeaders()
309
- }).withOnUploadProgress((p)=>{
310
- if (currentPrinterId) {
311
- this.eventEmitter2.emit(`${(0, _eventconstants.firmwareFlashUploadEvent)(currentPrinterId)}`, currentPrinterId, p);
312
- }
313
- })).post(urlPath, formData);
314
- return response?.data;
315
- } catch (e) {
316
- this.eventEmitter2.emit(`${(0, _eventconstants.uploadProgressEvent)(currentPrinterId.toString())}`, currentPrinterId, {
317
- failed: true
318
- }, e);
319
- let data;
320
- try {
321
- data = JSON.parse(e.response?.body);
322
- } catch {
323
- data = e.response?.body;
324
- }
325
- throw new _runtimeexceptions.ExternalServiceError({
326
- error: e.message,
327
- statusCode: e.response?.statusCode,
328
- data,
329
- success: false,
330
- stack: e.stack
331
- }, "OctoPrint");
332
- }
333
- }
334
- async getPluginFirmwareUpdateStatus(login) {
335
- return await this.createClient(login).get(this.pluginFirmwareUpdaterStatus);
336
- }
337
- async fetchOctoPrintPlugins() {
338
- return await this.createAnonymousClient(_octoprintserviceconstants.pluginRepositoryUrl).get("");
339
- }
340
228
  async getSystemInfo(login) {
341
229
  return await this.createClient(login).get(this.apiSystemInfo);
342
230
  }
@@ -346,67 +234,6 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
346
234
  async postServerRestartCommand(login) {
347
235
  await this.createClient(login).post(this.apiServerRestartCommand);
348
236
  }
349
- async getSoftwareUpdateCheck(login, force) {
350
- return await this.createClient(login).get(this.apiSoftwareUpdateCheck(force));
351
- }
352
- async getPluginPiSupport(login) {
353
- return await this.createClient(login).get(this.apiPluginPiSupport);
354
- }
355
- async deleteTimeLapse(login, fileName) {
356
- const urlPath = `${this.apiTimelapse}/${fileName}`;
357
- await this.createClient(login).delete(urlPath);
358
- }
359
- async listUnrenderedTimeLapses(login) {
360
- const urlPath = `${this.apiTimelapse}?unrendered=true`;
361
- return await this.createClient(login).get(urlPath);
362
- }
363
- async listProfiles(login) {
364
- return await this.createClient(login).get(this.apiProfiles);
365
- }
366
- async getBackupOverview(login) {
367
- return await this.createClient(login).get(this.pluginBackupIndex);
368
- }
369
- async getBackups(login) {
370
- return await this.createClient(login).get(this.pluginBackupEndpoint);
371
- }
372
- async createBackup(login, excludeArray) {
373
- return await this.createClient(login).post(this.pluginBackupEndpoint, {
374
- exclude: excludeArray
375
- });
376
- }
377
- async getDownloadBackupStream(login, filename) {
378
- const response = await this.createClient(login, (builder)=>{
379
- builder.withStreamResponse();
380
- }).get(this.pluginBackupFileDownload(filename)).catch((e)=>{
381
- throw new _runtimeexceptions.ExternalServiceError({
382
- error: e.message,
383
- statusCode: e.response?.statusCode,
384
- success: false,
385
- stack: e.stack
386
- }, "OctoPrint");
387
- });
388
- return response?.data;
389
- }
390
- async forwardRestoreBackupFileStream(login, buffer) {
391
- const formData = new _formdata.default();
392
- formData.append("file", buffer, {
393
- filename: "op-fdmm-restore.zip"
394
- });
395
- const response = await this.createClient(login, (builder)=>builder.withMultiPartFormData().withHeaders({
396
- ...formData.getHeaders()
397
- })).post(this.pluginBackupFileRestore, formData).catch((e)=>{
398
- throw new _runtimeexceptions.ExternalServiceError({
399
- error: e.message,
400
- statusCode: e.response?.statusCode,
401
- success: false,
402
- stack: e.stack
403
- }, "OctoPrint");
404
- });
405
- return response?.data;
406
- }
407
- async deleteBackup(login, filename) {
408
- return await this.createClient(login).delete(this.pluginBackupFile(filename));
409
- }
410
237
  createClient(login, buildFluentOptions) {
411
238
  const baseAddress = login.printerURL;
412
239
  return this.createAnonymousClient(baseAddress, (o)=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/services/octoprint/octoprint.client.ts"],"names":["OctoprintClient","OctoprintRoutes","eventEmitter2","httpClientFactory","logger","constructor","loggerFactory","name","getApiVersion","login","createClient","get","apiVersion","getServer","apiServer","post","apiLogin","sendConnectionCommand","commandData","apiConnection","sendPrintHeadJogCommand","amounts","axesToHome","x","y","z","command","sendPrintHeadCommand","sendPrintHeadHomeCommand","axes","apiPrinterHead","sendCustomGCodeCommand","commandString","apiPrinterCustomCommand","getJob","apiJob","sendJobCommand","sendBedTempCommand","targetTemp","data","getBedTargetCommand","apiPrinterBed","getSettings","apiSettingsPart","updatePrinterNameSetting","printerName","settingPatch","printerNameSetting","updateFirmwareUpdaterSettings","firmwareUpdateConfig","pluginFirmwareUpdaterSettings","setGCodeAnalysis","enabled","gcodeAnalysisSetting","getCurrentUser","apiCurrentUser","getAdminUserOrDefault","currentUserResponse","getUsers","apiUsers","getLocalFiles","recursive","response","apiGetFiles","files","filter","f","date","type","map","normalizePrinterFile","getFile","path","urlPath","apiFile","e","captureException","error","downloadFile","downloadFileLocal","responseType","getFileChunk","filePath","startBytes","endBytes","pathUrl","o","withHeaders","Range","createFolder","foldername","formData","FormData","append","headers","getHeaders","getLengthSync","toString","apiFilesLocal","moveFileOrFolder","destination","moveFileCommand","postSelectPrintFile","print","selectCommand","uploadFileAsMultiPart","multerFileOrBuffer","commands","progressToken","select","fileBuffer","buffer","filename","originalname","log","fileStream","createReadStream","result","Promise","resolve","reject","getLength","err","length","builder","withMultiPartFormData","withOnUploadProgress","p","emit","uploadProgressEvent","uploadDoneEvent","uploadFailedEvent","message","JSON","parse","body","ExternalServiceError","statusCode","success","stack","deleteFileOrFolder","delete","getPrinterCurrent","history","limit","exclude","apiPrinterCurrent","getConnection","getPrinterProfiles","apiPrinterProfiles","postSoftwareUpdate","targets","pluginSoftwareUpdateUpdate","getPluginManagerPlugins","pluginManagerPlugins","getPluginManagerPlugin","pluginName","pluginManagerPlugin","postApiPluginManagerCommand","pluginCommand","pluginUrl","pluginManagerCommand","apiPluginManager","postPluginFirmwareUpdateFlash","currentPrinterId","firmwarePath","pluginFirmwareUpdaterFlash","basename","fileReadStream","fs","firmwareFlashUploadEvent","failed","getPluginFirmwareUpdateStatus","pluginFirmwareUpdaterStatus","fetchOctoPrintPlugins","createAnonymousClient","pluginRepositoryUrl","getSystemInfo","apiSystemInfo","getSystemCommands","apiSystemCommands","postServerRestartCommand","apiServerRestartCommand","getSoftwareUpdateCheck","force","apiSoftwareUpdateCheck","getPluginPiSupport","apiPluginPiSupport","deleteTimeLapse","fileName","apiTimelapse","listUnrenderedTimeLapses","listProfiles","apiProfiles","getBackupOverview","pluginBackupIndex","getBackups","pluginBackupEndpoint","createBackup","excludeArray","getDownloadBackupStream","withStreamResponse","pluginBackupFileDownload","catch","forwardRestoreBackupFileStream","pluginBackupFileRestore","deleteBackup","pluginBackupFile","buildFluentOptions","baseAddress","printerURL","withXApiKeyHeader","apiKey","OctoprintHttpClientBuilder","createClientWithBaseUrl","b"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/services/octoprint/octoprint.client.ts"],"names":["OctoprintClient","OctoprintRoutes","logger","constructor","loggerFactory","httpClientFactory","eventEmitter2","name","getApiVersion","login","createClient","get","apiVersion","getServer","apiServer","post","apiLogin","sendConnectionCommand","commandData","apiConnection","sendPrintHeadJogCommand","amounts","axesToHome","x","y","z","command","sendPrintHeadCommand","sendPrintHeadHomeCommand","axes","apiPrinterHead","sendCustomGCodeCommand","commandString","apiPrinterCustomCommand","getJob","apiJob","sendJobCommand","sendBedTempCommand","targetTemp","data","getBedTargetCommand","apiPrinterBed","getSettings","apiSettingsPart","updatePrinterNameSetting","printerName","settingPatch","printerNameSetting","setGCodeAnalysis","enabled","gcodeAnalysisSetting","getCurrentUser","apiCurrentUser","getAdminUserOrDefault","currentUserResponse","getUsers","apiUsers","getLocalFiles","recursive","response","apiGetFiles","files","filter","f","date","type","map","normalizePrinterFile","getFile","path","urlPath","apiFile","downloadFile","downloadFileLocal","responseType","getFileChunk","filePath","startBytes","endBytes","pathUrl","o","withHeaders","Range","createFolder","foldername","formData","FormData","append","headers","getHeaders","getLengthSync","toString","apiFilesLocal","moveFileOrFolder","destination","moveFileCommand","postSelectPrintFile","print","selectCommand","uploadFileAsMultiPart","multerFileOrBuffer","commands","progressToken","select","fileBuffer","buffer","filename","originalname","log","fileStream","createReadStream","result","Promise","resolve","reject","getLength","err","length","Error","builder","withMultiPartFormData","withOnUploadProgress","p","emit","uploadProgressEvent","uploadDoneEvent","e","uploadFailedEvent","message","JSON","parse","body","ExternalServiceError","error","statusCode","success","stack","deleteFileOrFolder","delete","getPrinterCurrent","history","limit","exclude","apiPrinterCurrent","getConnection","getPrinterProfiles","apiPrinterProfiles","getSystemInfo","apiSystemInfo","getSystemCommands","apiSystemCommands","postServerRestartCommand","apiServerRestartCommand","buildFluentOptions","baseAddress","printerURL","createAnonymousClient","withXApiKeyHeader","apiKey","OctoprintHttpClientBuilder","createClientWithBaseUrl","b"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/services/octoprint/utils/octoprint-http-client.builder.ts"],"names":["OctoprintHttpClientBuilder","DefaultHttpClientBuilder","build","axiosOptions","baseURL","Error","withXApiKeyHeader","apiKey","length","withHeaders","apiKeyHeaderKey"],"mappings":";;;;+BAIaA;;;eAAAA;;;0CAJ4B;2CACT;AAGzB,MAAMA,mCAAmCC,kDAAwB;IACtDC,QAAgC;QAC9C,IAAI,CAAC,IAAI,CAACC,YAAY,CAACC,OAAO,EAAE;YAC9B,MAAM,IAAIC,MAAM;QAClB;QAEA,OAAO,KAAK,CAACH;IACf;IAEOI,kBAAkBC,MAAc,EAA8B;QACnE,IAAI,CAACA,QAAQC,QAAQ;YACnB,MAAM,IAAIH,MAAM;QAClB;QAEA,IAAI,CAACI,WAAW,CAAC;YAAE,CAACC,0CAAe,CAAC,EAAEH;QAAO;QAE7C,OAAO,IAAI;IACb;AACF"}
1
+ {"version":3,"sources":["../../../../src/services/octoprint/utils/octoprint-http-client.builder.ts"],"names":["OctoprintHttpClientBuilder","DefaultHttpClientBuilder","build","axiosOptions","baseURL","Error","withXApiKeyHeader","apiKey","length","withHeaders","apiKeyHeaderKey"],"mappings":";;;;+BAIaA;;;eAAAA;;;0CAJ4B;2CACT;AAGzB,MAAMA,mCAAmCC,kDAAwB;IACtDC,QAAgC;QAC9C,IAAI,CAAC,IAAI,CAACC,YAAY,CAACC,OAAO,EAAE;YAC9B,MAAM,IAAIC,MAAM;QAClB;QAEA,OAAO,KAAK,CAACH;IACf;IAEOI,kBAAkBC,MAAe,EAA8B;QACpE,IAAI,CAACA,QAAQC,QAAQ;YACnB,MAAM,IAAIH,MAAM;QAClB;QAEA,IAAI,CAACI,WAAW,CAAC;YAAE,CAACC,0CAAe,CAAC,EAAEH;QAAO;QAE7C,OAAO,IAAI;IACb;AACF"}
@@ -11,21 +11,21 @@ Object.defineProperty(exports, "OctoprintApi", {
11
11
  const _printerapiinterface = require("./printer-api.interface");
12
12
  const _runtimeexceptions = require("../exceptions/runtime.exceptions");
13
13
  class OctoprintApi {
14
- client;
15
14
  printerLogin;
16
- constructor({ octoprintClient, printerLogin }){
17
- this.client = octoprintClient;
15
+ client;
16
+ constructor(octoprintClient, printerLogin){
18
17
  this.printerLogin = printerLogin;
18
+ this.client = octoprintClient;
19
19
  }
20
20
  get type() {
21
21
  return _printerapiinterface.OctoprintType;
22
22
  }
23
- set login(login) {
24
- this.printerLogin = login;
25
- }
26
23
  get login() {
27
24
  return this.printerLogin;
28
25
  }
26
+ set login(login) {
27
+ this.printerLogin = login;
28
+ }
29
29
  async getVersion() {
30
30
  const result = await this.client.getApiVersion(this.login);
31
31
  return result.data?.server;
@@ -70,12 +70,7 @@ class OctoprintApi {
70
70
  await this.client.sendPrintHeadHomeCommand(this.login, axes);
71
71
  }
72
72
  async getFile(path) {
73
- const file = await this.client.getFile(this.login, path);
74
- return {
75
- path: file.path,
76
- size: file.size,
77
- date: file.date
78
- };
73
+ return this.client.getFile(this.login, path);
79
74
  }
80
75
  async getFiles() {
81
76
  const files = await this.client.getLocalFiles(this.login, false);
@@ -113,7 +108,7 @@ class OctoprintApi {
113
108
  const selectedJobResponse = await this.client.getJob(this.login);
114
109
  const selectedJob = selectedJobResponse.data;
115
110
  const currentJobFile = selectedJob?.job?.file;
116
- if (!currentJobFile?.name) {
111
+ if (!currentJobFile?.path) {
117
112
  return {
118
113
  connectionState,
119
114
  reprintState: _printerapiinterface.ReprintState.NoLastPrint
@@ -125,7 +120,6 @@ class OctoprintApi {
125
120
  reprintState: _printerapiinterface.ReprintState.LastPrintReady
126
121
  };
127
122
  }
128
- async getThumbnail() {}
129
123
  }
130
124
 
131
125
  //# sourceMappingURL=octoprint.api.js.map