@fdm-monster/server 1.5.4 → 1.6.0-rc2

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 (288) hide show
  1. package/.env.template +7 -0
  2. package/.gitattributes +2 -0
  3. package/.yarn/install-state.gz +0 -0
  4. package/.yarn/releases/yarn-4.1.0.cjs +893 -0
  5. package/.yarnrc.yml +4 -0
  6. package/README.md +3 -2
  7. package/dist/consoles/sqlite-torm.js +31 -0
  8. package/dist/consoles/sqlite-torm.js.map +1 -0
  9. package/dist/consoles/typeorm-generate.js +194 -0
  10. package/dist/consoles/typeorm-generate.js.map +1 -0
  11. package/dist/consoles/typeorm-migrate.js +48 -0
  12. package/dist/consoles/typeorm-migrate.js.map +1 -0
  13. package/dist/consoles/upload-test.js +52 -0
  14. package/dist/consoles/upload-test.js.map +1 -0
  15. package/dist/constants/event.constants.js.map +1 -1
  16. package/dist/constants/service.constants.js +3 -18
  17. package/dist/constants/service.constants.js.map +1 -1
  18. package/dist/container.js +64 -19
  19. package/dist/container.js.map +1 -1
  20. package/dist/container.tokens.js +2 -0
  21. package/dist/container.tokens.js.map +1 -1
  22. package/dist/controllers/batch-call.controller.js +10 -5
  23. package/dist/controllers/batch-call.controller.js.map +1 -1
  24. package/dist/controllers/custom-gcode.controller.js.map +1 -1
  25. package/dist/controllers/dto/update-client-dist.dto.js +38 -0
  26. package/dist/controllers/dto/update-client-dist.dto.js.map +1 -0
  27. package/dist/controllers/printer-files.controller.js +10 -49
  28. package/dist/controllers/printer-files.controller.js.map +1 -1
  29. package/dist/controllers/printer.controller.js +1 -1
  30. package/dist/controllers/printer.controller.js.map +1 -1
  31. package/dist/controllers/server-private.controller.js +25 -6
  32. package/dist/controllers/server-private.controller.js.map +1 -1
  33. package/dist/controllers/validation/batch-controller.validation.js +9 -0
  34. package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
  35. package/dist/data-source.js +66 -0
  36. package/dist/data-source.js.map +1 -0
  37. package/dist/entities/base.entity.js +29 -0
  38. package/dist/entities/base.entity.js.map +1 -0
  39. package/dist/entities/camera-stream.entity.js +94 -0
  40. package/dist/entities/camera-stream.entity.js.map +1 -0
  41. package/dist/entities/custom-gcode.entity.js +50 -0
  42. package/dist/entities/custom-gcode.entity.js.map +1 -0
  43. package/dist/entities/floor-position.entity.js +78 -0
  44. package/dist/entities/floor-position.entity.js.map +1 -0
  45. package/dist/entities/floor.entity.js +53 -0
  46. package/dist/entities/floor.entity.js.map +1 -0
  47. package/dist/entities/index.js +58 -0
  48. package/dist/entities/index.js.map +1 -0
  49. package/dist/entities/permission.entity.js +38 -0
  50. package/dist/entities/permission.entity.js.map +1 -0
  51. package/dist/entities/print-completion.entity.js +91 -0
  52. package/dist/entities/print-completion.entity.js.map +1 -0
  53. package/dist/entities/printer-file.entity.js +140 -0
  54. package/dist/entities/printer-file.entity.js.map +1 -0
  55. package/dist/entities/printer.entity.js +105 -0
  56. package/dist/entities/printer.entity.js.map +1 -0
  57. package/dist/entities/refresh-token.entity.js +70 -0
  58. package/dist/entities/refresh-token.entity.js.map +1 -0
  59. package/dist/entities/role.entity.js +46 -0
  60. package/dist/entities/role.entity.js.map +1 -0
  61. package/dist/entities/settings.entity.js +89 -0
  62. package/dist/entities/settings.entity.js.map +1 -0
  63. package/dist/entities/user-role.entity.js +70 -0
  64. package/dist/entities/user-role.entity.js.map +1 -0
  65. package/dist/entities/user.entity.js +90 -0
  66. package/dist/entities/user.entity.js.map +1 -0
  67. package/dist/middleware/exception.filter.js +2 -1
  68. package/dist/middleware/exception.filter.js.map +1 -1
  69. package/dist/middleware/passport.js.map +1 -1
  70. package/dist/migrations/1706829146617-InitSqlite.js +670 -0
  71. package/dist/migrations/1706829146617-InitSqlite.js.map +1 -0
  72. package/dist/models/Floor.js.map +1 -1
  73. package/dist/models/Printer.js +4 -43
  74. package/dist/models/Printer.js.map +1 -1
  75. package/dist/models/PrinterFile.js +85 -0
  76. package/dist/models/PrinterFile.js.map +1 -0
  77. package/dist/models/index.js +4 -0
  78. package/dist/models/index.js.map +1 -1
  79. package/dist/mongo-migrations/20231202183902-printer-files-simpler.js +41 -0
  80. package/dist/mongo-migrations/20231202183902-printer-files-simpler.js.map +1 -0
  81. package/dist/server.constants.js +4 -2
  82. package/dist/server.constants.js.map +1 -1
  83. package/dist/server.core.js +10 -1
  84. package/dist/server.core.js.map +1 -1
  85. package/dist/server.host.js +11 -3
  86. package/dist/server.host.js.map +1 -1
  87. package/dist/services/batch-call.service.js +43 -20
  88. package/dist/services/batch-call.service.js.map +1 -1
  89. package/dist/services/core/client-bundle.service.js +92 -25
  90. package/dist/services/core/client-bundle.service.js.map +1 -1
  91. package/dist/services/core/github.service.js +18 -14
  92. package/dist/services/core/github.service.js.map +1 -1
  93. package/dist/services/core/multer.service.js +3 -3
  94. package/dist/services/core/multer.service.js.map +1 -1
  95. package/dist/services/core/task-manager.service.js +1 -1
  96. package/dist/services/core/task-manager.service.js.map +1 -1
  97. package/dist/services/core/yaml.service.js.map +1 -1
  98. package/dist/services/floor.service.js +1 -1
  99. package/dist/services/floor.service.js.map +1 -1
  100. package/dist/services/interfaces/print-completion.dto.js +0 -2
  101. package/dist/services/interfaces/print-completion.dto.js.map +1 -1
  102. package/dist/services/interfaces/print-completion.interface.js +6 -0
  103. package/dist/services/interfaces/{print-completion.service.js.map → print-completion.interface.js.map} +1 -1
  104. package/dist/services/interfaces/printer-file.dto.js +32 -4
  105. package/dist/services/interfaces/printer-file.dto.js.map +1 -1
  106. package/dist/services/octoprint/dto/connection-state.dto.js +21 -0
  107. package/dist/services/octoprint/dto/connection-state.dto.js.map +1 -0
  108. package/dist/services/{interfaces/print-completion.service.js → octoprint/dto/connection.dto.js} +1 -1
  109. package/dist/services/octoprint/dto/connection.dto.js.map +1 -0
  110. package/dist/services/octoprint/dto/octoprint-currentuser.dto.js +6 -0
  111. package/dist/services/octoprint/dto/octoprint-currentuser.dto.js.map +1 -0
  112. package/dist/services/octoprint/dto/octoprint-event.dto.js +41 -0
  113. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -0
  114. package/dist/services/octoprint/dto/octoprint-file.dto.js +84 -0
  115. package/dist/services/octoprint/dto/octoprint-file.dto.js.map +1 -0
  116. package/dist/services/octoprint/dto/octoprint-files.dto.js +17 -0
  117. package/dist/services/octoprint/dto/octoprint-files.dto.js.map +1 -0
  118. package/dist/services/octoprint/dto/octoprint-session.dto.js +6 -0
  119. package/dist/services/octoprint/dto/octoprint-session.dto.js.map +1 -0
  120. package/dist/services/octoprint/dto/octoprint-settings.dto.js +29 -0
  121. package/dist/services/octoprint/dto/octoprint-settings.dto.js.map +1 -0
  122. package/dist/services/octoprint/dto/octoprint-system-info.dto.js +41 -0
  123. package/dist/services/octoprint/dto/octoprint-system-info.dto.js.map +1 -0
  124. package/dist/services/octoprint/dto/state.dto.js +38 -0
  125. package/dist/services/octoprint/dto/state.dto.js.map +1 -0
  126. package/dist/services/octoprint/dto/websocket-output/connection-message.dto.js +6 -0
  127. package/dist/services/octoprint/dto/websocket-output/connection-message.dto.js.map +1 -0
  128. package/dist/services/octoprint/dto/websocket-output/current-message.dto.js +6 -0
  129. package/dist/services/octoprint/dto/websocket-output/current-message.dto.js.map +1 -0
  130. package/dist/services/octoprint/dto/websocket-output/event-message.dto.js +6 -0
  131. package/dist/services/octoprint/dto/websocket-output/event-message.dto.js.map +1 -0
  132. package/dist/services/octoprint/dto/websocket-output/event.type.js +54 -0
  133. package/dist/services/octoprint/dto/websocket-output/event.type.js.map +1 -0
  134. package/dist/services/octoprint/dto/websocket-output/events/client-authed.dto.js +6 -0
  135. package/dist/services/octoprint/dto/websocket-output/events/client-authed.dto.js.map +1 -0
  136. package/dist/services/octoprint/dto/websocket-output/events/client-closed.dto.js +6 -0
  137. package/dist/services/octoprint/dto/websocket-output/events/client-closed.dto.js.map +1 -0
  138. package/dist/services/octoprint/dto/websocket-output/events/client-opened.dto.js +6 -0
  139. package/dist/services/octoprint/dto/websocket-output/events/client-opened.dto.js.map +1 -0
  140. package/dist/services/octoprint/dto/websocket-output/events/dwelling.dto.js +6 -0
  141. package/dist/services/octoprint/dto/websocket-output/events/dwelling.dto.js.map +1 -0
  142. package/dist/services/octoprint/dto/websocket-output/events/file-added.dto.js +6 -0
  143. package/dist/services/octoprint/dto/websocket-output/events/file-added.dto.js.map +1 -0
  144. package/dist/services/octoprint/dto/websocket-output/events/file-deselected.dto.js +6 -0
  145. package/dist/services/octoprint/dto/websocket-output/events/file-deselected.dto.js.map +1 -0
  146. package/dist/services/octoprint/dto/websocket-output/events/file-removed.dto.js +6 -0
  147. package/dist/services/octoprint/dto/websocket-output/events/file-removed.dto.js.map +1 -0
  148. package/dist/services/octoprint/dto/websocket-output/events/folder-added.dto.js +6 -0
  149. package/dist/services/octoprint/dto/websocket-output/events/folder-added.dto.js.map +1 -0
  150. package/dist/services/octoprint/dto/websocket-output/events/home.dto.js +6 -0
  151. package/dist/services/octoprint/dto/websocket-output/events/home.dto.js.map +1 -0
  152. package/dist/services/octoprint/dto/websocket-output/events/metadata-analysis-finished.dto.js +6 -0
  153. package/dist/services/octoprint/dto/websocket-output/events/metadata-analysis-finished.dto.js.map +1 -0
  154. package/dist/services/octoprint/dto/websocket-output/events/metadata-analysis-started.dto.js +6 -0
  155. package/dist/services/octoprint/dto/websocket-output/events/metadata-analysis-started.dto.js.map +1 -0
  156. package/dist/services/octoprint/dto/websocket-output/events/metadata-statistics-updated.dto.js +6 -0
  157. package/dist/services/octoprint/dto/websocket-output/events/metadata-statistics-updated.dto.js.map +1 -0
  158. package/dist/services/octoprint/dto/websocket-output/events/position-update.dto.js +6 -0
  159. package/dist/services/octoprint/dto/websocket-output/events/position-update.dto.js.map +1 -0
  160. package/dist/services/octoprint/dto/websocket-output/events/print-cancelled.dto.js +6 -0
  161. package/dist/services/octoprint/dto/websocket-output/events/print-cancelled.dto.js.map +1 -0
  162. package/dist/services/octoprint/dto/websocket-output/events/print-cancelling.dto.js +6 -0
  163. package/dist/services/octoprint/dto/websocket-output/events/print-cancelling.dto.js.map +1 -0
  164. package/dist/services/octoprint/dto/websocket-output/events/print-done.dto.js +6 -0
  165. package/dist/services/octoprint/dto/websocket-output/events/print-done.dto.js.map +1 -0
  166. package/dist/services/octoprint/dto/websocket-output/events/print-failed.dto.js +6 -0
  167. package/dist/services/octoprint/dto/websocket-output/events/print-failed.dto.js.map +1 -0
  168. package/dist/services/octoprint/dto/websocket-output/events/print-paused.dto.js +6 -0
  169. package/dist/services/octoprint/dto/websocket-output/events/print-paused.dto.js.map +1 -0
  170. package/dist/services/octoprint/dto/websocket-output/events/print-resumed.dto.js +6 -0
  171. package/dist/services/octoprint/dto/websocket-output/events/print-resumed.dto.js.map +1 -0
  172. package/dist/services/octoprint/dto/websocket-output/events/print-started.dto.js +6 -0
  173. package/dist/services/octoprint/dto/websocket-output/events/print-started.dto.js.map +1 -0
  174. package/dist/services/octoprint/dto/websocket-output/events/printer-state-changed.dto.js +6 -0
  175. package/dist/services/octoprint/dto/websocket-output/events/printer-state-changed.dto.js.map +1 -0
  176. package/dist/services/octoprint/dto/websocket-output/events/transfer-done.dto.js +6 -0
  177. package/dist/services/octoprint/dto/websocket-output/events/transfer-done.dto.js.map +1 -0
  178. package/dist/services/octoprint/dto/websocket-output/events/transfer-started.dto.js +6 -0
  179. package/dist/services/octoprint/dto/websocket-output/events/transfer-started.dto.js.map +1 -0
  180. package/dist/services/octoprint/dto/websocket-output/events/updated-files.dto.js +6 -0
  181. package/dist/services/octoprint/dto/websocket-output/events/updated-files.dto.js.map +1 -0
  182. package/dist/services/octoprint/dto/websocket-output/events/upload.dto.js +6 -0
  183. package/dist/services/octoprint/dto/websocket-output/events/upload.dto.js.map +1 -0
  184. package/dist/services/octoprint/dto/websocket-output/events/user-logged-in.dto.js +6 -0
  185. package/dist/services/octoprint/dto/websocket-output/events/user-logged-in.dto.js.map +1 -0
  186. package/dist/services/octoprint/dto/websocket-output/events/z-change.dto.js +6 -0
  187. package/dist/services/octoprint/dto/websocket-output/events/z-change.dto.js.map +1 -0
  188. package/dist/services/octoprint/dto/websocket-output/history-message.dto.js +6 -0
  189. package/dist/services/octoprint/dto/websocket-output/history-message.dto.js.map +1 -0
  190. package/dist/services/octoprint/dto/websocket-output/plugin-message.dto.js +6 -0
  191. package/dist/services/octoprint/dto/websocket-output/plugin-message.dto.js.map +1 -0
  192. package/dist/services/octoprint/dto/websocket-output/timelapse-message.dto.js +6 -0
  193. package/dist/services/octoprint/dto/websocket-output/timelapse-message.dto.js.map +1 -0
  194. package/dist/services/octoprint/models/octoprint-file.dto.js +6 -0
  195. package/dist/services/octoprint/models/octoprint-file.dto.js.map +1 -0
  196. package/dist/services/octoprint/octoprint-api.routes.js +24 -18
  197. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  198. package/dist/services/octoprint/octoprint-api.service.js +201 -138
  199. package/dist/services/octoprint/octoprint-api.service.js.map +1 -1
  200. package/dist/services/octoprint/octoprint-sockio.adapter.js +72 -66
  201. package/dist/services/octoprint/octoprint-sockio.adapter.js.map +1 -1
  202. package/dist/services/octoprint/utils/api.utils.js +0 -35
  203. package/dist/services/octoprint/utils/api.utils.js.map +1 -1
  204. package/dist/services/octoprint/utils/file.utils.js +44 -0
  205. package/dist/services/octoprint/utils/file.utils.js.map +1 -0
  206. package/dist/services/orm/base.interface.js +6 -0
  207. package/dist/services/orm/base.interface.js.map +1 -0
  208. package/dist/services/orm/base.service.js +72 -0
  209. package/dist/services/orm/base.service.js.map +1 -0
  210. package/dist/services/orm/camera-stream.service.js +25 -0
  211. package/dist/services/orm/camera-stream.service.js.map +1 -0
  212. package/dist/services/orm/custom-gcode.service.js +42 -0
  213. package/dist/services/orm/custom-gcode.service.js.map +1 -0
  214. package/dist/services/orm/floor-position.service.js +55 -0
  215. package/dist/services/orm/floor-position.service.js.map +1 -0
  216. package/dist/services/orm/floor.service.js +122 -0
  217. package/dist/services/orm/floor.service.js.map +1 -0
  218. package/dist/services/orm/permission.service.js +77 -0
  219. package/dist/services/orm/permission.service.js.map +1 -0
  220. package/dist/services/orm/print-completion.service.js +90 -0
  221. package/dist/services/orm/print-completion.service.js.map +1 -0
  222. package/dist/services/orm/printer-files.service.js +123 -0
  223. package/dist/services/orm/printer-files.service.js.map +1 -0
  224. package/dist/services/orm/printer.service.js +145 -0
  225. package/dist/services/orm/printer.service.js.map +1 -0
  226. package/dist/services/orm/refresh-token.service.js +107 -0
  227. package/dist/services/orm/refresh-token.service.js.map +1 -0
  228. package/dist/services/orm/role.service.js +131 -0
  229. package/dist/services/orm/role.service.js.map +1 -0
  230. package/dist/services/orm/settings.service.js +208 -0
  231. package/dist/services/orm/settings.service.js.map +1 -0
  232. package/dist/services/orm/user-role.service.js +55 -0
  233. package/dist/services/orm/user-role.service.js.map +1 -0
  234. package/dist/services/orm/user.service.js +146 -0
  235. package/dist/services/orm/user.service.js.map +1 -0
  236. package/dist/services/orm-migration.service.js +20 -0
  237. package/dist/services/orm-migration.service.js.map +1 -0
  238. package/dist/services/print-completion.service.js +0 -1
  239. package/dist/services/print-completion.service.js.map +1 -1
  240. package/dist/services/printer-files.service.js +73 -49
  241. package/dist/services/printer-files.service.js.map +1 -1
  242. package/dist/services/printer.service.js +0 -2
  243. package/dist/services/printer.service.js.map +1 -1
  244. package/dist/services/typeorm/typeorm.service.js +48 -0
  245. package/dist/services/typeorm/typeorm.service.js.map +1 -0
  246. package/dist/shared/dtos/printer-login.dto.js +58 -0
  247. package/dist/shared/dtos/printer-login.dto.js.map +1 -0
  248. package/dist/{utils → shared}/websocket.adapter.js +3 -3
  249. package/dist/shared/websocket.adapter.js.map +1 -0
  250. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  251. package/dist/state/file.cache.js +12 -35
  252. package/dist/state/file.cache.js.map +1 -1
  253. package/dist/state/printer-connection.cache.js +21 -0
  254. package/dist/state/printer-connection.cache.js.map +1 -0
  255. package/dist/state/printer-events.cache.js +13 -7
  256. package/dist/state/printer-events.cache.js.map +1 -1
  257. package/dist/state/printer-files.store.js +14 -18
  258. package/dist/state/printer-files.store.js.map +1 -1
  259. package/dist/state/printer-socket.store.js +3 -3
  260. package/dist/state/printer-socket.store.js.map +1 -1
  261. package/dist/state/printer.cache.js +3 -0
  262. package/dist/state/printer.cache.js.map +1 -1
  263. package/dist/state/settings.store.js +9 -1
  264. package/dist/state/settings.store.js.map +1 -1
  265. package/dist/state/test-printer-socket.store.js +1 -1
  266. package/dist/task.presets.js.map +1 -1
  267. package/dist/tasks/boot.task.js +30 -18
  268. package/dist/tasks/boot.task.js.map +1 -1
  269. package/dist/tasks/print-completion.socketio.task.js +28 -19
  270. package/dist/tasks/print-completion.socketio.task.js.map +1 -1
  271. package/dist/tasks/printer-file-clean.task.js +14 -0
  272. package/dist/tasks/printer-file-clean.task.js.map +1 -1
  273. package/dist/tasks/printer-state-update-poll.task.js +89 -0
  274. package/dist/tasks/printer-state-update-poll.task.js.map +1 -0
  275. package/dist/tasks/printer-websocket-restore.task.js +4 -3
  276. package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
  277. package/dist/tasks/printer-websocket.task.js +1 -1
  278. package/dist/tasks/printer-websocket.task.js.map +1 -1
  279. package/dist/tasks.js +2 -1
  280. package/dist/tasks.js.map +1 -1
  281. package/dist/utils/env.utils.js +0 -10
  282. package/dist/utils/env.utils.js.map +1 -1
  283. package/dist/utils/semver.utils.js +19 -4
  284. package/dist/utils/semver.utils.js.map +1 -1
  285. package/package.json +58 -47
  286. package/dist/utils/find-predicate.utils.js +0 -18
  287. package/dist/utils/find-predicate.utils.js.map +0 -1
  288. package/dist/utils/websocket.adapter.js.map +0 -1
@@ -25,12 +25,13 @@ _export(exports, {
25
25
  return octoPrintEvent;
26
26
  }
27
27
  });
28
- const _websocketadapter = require("../../utils/websocket.adapter");
29
28
  const _httpstatuscodesconstants = require("../../constants/http-status-codes.constants");
30
29
  const _serverconstants = require("../../server.constants");
31
30
  const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
32
31
  const _urlutils = require("../../utils/url.utils");
33
32
  const _normalizeurl = require("../../utils/normalize-url");
33
+ const _websocketadapter = require("../../shared/websocket.adapter");
34
+ const _nodefs = require("node:fs");
34
35
  const Message = {
35
36
  connected: "connected",
36
37
  reauthRequired: "reauthRequired",
@@ -65,15 +66,10 @@ const API_STATE = {
65
66
  };
66
67
  const octoPrintEvent = (event)=>`octoprint.${event}`;
67
68
  class OctoPrintSockIoAdapter extends _websocketadapter.WebsocketAdapter {
68
- printerId;
69
- loginDto;
70
- socketURL;
71
- sessionDto;
72
- username;
73
69
  octoPrintApiService;
74
70
  eventEmitter;
75
- logger;
76
71
  configService;
72
+ printerId;
77
73
  stateUpdated = false;
78
74
  stateUpdateTimestamp = null;
79
75
  socketState = SOCKET_STATE.unopened;
@@ -83,6 +79,11 @@ class OctoPrintSockIoAdapter extends _websocketadapter.WebsocketAdapter {
83
79
  lastMessageReceivedTimestamp = null;
84
80
  reauthRequired = false;
85
81
  reauthRequiredTimestamp = null;
82
+ loginDto;
83
+ logger;
84
+ socketURL;
85
+ sessionDto;
86
+ username;
86
87
  constructor({ loggerFactory, octoPrintApiService, eventEmitter2, configService }){
87
88
  super({
88
89
  loggerFactory
@@ -117,7 +118,7 @@ class OctoPrintSockIoAdapter extends _websocketadapter.WebsocketAdapter {
117
118
  wsUrl.pathname = "/sockjs/websocket";
118
119
  this.socketURL = wsUrl;
119
120
  }
120
- open(_) {
121
+ open() {
121
122
  if (this.socket) {
122
123
  throw new Error(`Socket already exists (printerId: ${this.printerId}, ignoring open request`);
123
124
  }
@@ -132,6 +133,7 @@ class OctoPrintSockIoAdapter extends _websocketadapter.WebsocketAdapter {
132
133
  }));
133
134
  }
134
135
  async reauthSession() {
136
+ this.logger.log("Sending reauthSession");
135
137
  await this.setupSocketSession();
136
138
  await this.sendAuth();
137
139
  this.resetReauthRequired();
@@ -140,42 +142,42 @@ class OctoPrintSockIoAdapter extends _websocketadapter.WebsocketAdapter {
140
142
  this.resetSocketState();
141
143
  this.sessionDto = await this.octoPrintApiService.login(this.loginDto).then((r)=>{
142
144
  if (r.name === "_api") {
143
- this.setApiState(API_STATE.globalKey);
144
- this.setSocketState(SOCKET_STATE.aborted);
145
+ this.setApiState("globalKey");
146
+ this.setSocketState("aborted");
145
147
  throw new _runtimeexceptions.ExternalServiceError("Global API Key detected, aborting socket connection");
146
148
  } else if (r.needs?.group[0] === "guests") {
147
149
  this.logger.warn("Detected group guests in OctoPrint login response, marking as unauthorized");
148
- this.setApiState(API_STATE.authFail);
149
- this.setSocketState(SOCKET_STATE.aborted);
150
+ this.setApiState("authFail");
151
+ this.setSocketState("aborted");
150
152
  throw new _runtimeexceptions.ExternalServiceError("Guest group detected, authentication failed, aborting socket connection");
151
153
  }
152
- this.setApiState(API_STATE.responding);
153
- this.setSocketState(SOCKET_STATE.opening);
154
+ this.setApiState("responding");
155
+ this.setSocketState("opening");
154
156
  return r;
155
157
  }).catch((e)=>{
156
- this.setSocketState(SOCKET_STATE.aborted);
158
+ this.setSocketState("aborted");
157
159
  if (e instanceof _runtimeexceptions.ExternalServiceError) {
158
160
  this.logger.warn(`Printer authorization error (id: ${this.printerId}), apiState: ${this.apiState}`);
159
161
  throw e;
160
162
  } else {
161
163
  if (e?.response?.status === 403) {
162
- this.setApiState(API_STATE.authFail);
163
- this.setSocketState(SOCKET_STATE.aborted);
164
+ this.setApiState("authFail");
165
+ this.setSocketState("aborted");
164
166
  throw new _runtimeexceptions.ExternalServiceError(e);
165
167
  }
166
168
  this.logger.error(`Printer (${this.printerId}) network or transport error, marking it as unreachable; ${e}`);
167
- this.setApiState(API_STATE.noResponse);
169
+ this.setApiState("noResponse");
168
170
  }
169
171
  throw e;
170
172
  });
171
173
  this.username = await this.octoPrintApiService.getAdminUserOrDefault(this.loginDto).catch((e)=>{
172
174
  const status = e.response?.status;
173
175
  if (status === _httpstatuscodesconstants.HttpStatusCode.FORBIDDEN) {
174
- this.setApiState(API_STATE.authFail);
175
- this.setSocketState(SOCKET_STATE.aborted);
176
+ this.setApiState("authFail");
177
+ this.setSocketState("aborted");
176
178
  } else {
177
- this.setApiState(API_STATE.authFail);
178
- this.setSocketState(SOCKET_STATE.aborted);
179
+ this.setApiState("authFail");
180
+ this.setSocketState("aborted");
179
181
  }
180
182
  if ([
181
183
  _httpstatuscodesconstants.HttpStatusCode.BAD_GATEWAY,
@@ -188,59 +190,70 @@ class OctoPrintSockIoAdapter extends _websocketadapter.WebsocketAdapter {
188
190
  throw e;
189
191
  });
190
192
  }
193
+ setReauthRequired() {
194
+ this.reauthRequired = true;
195
+ this.reauthRequiredTimestamp = Date.now();
196
+ }
197
+ resetReauthRequired() {
198
+ this.reauthRequired = false;
199
+ this.reauthRequiredTimestamp = null;
200
+ }
201
+ resetSocketState() {
202
+ this.setSocketState("unopened");
203
+ this.setApiState("unset");
204
+ }
205
+ emitEventSync(event, payload) {
206
+ this.eventEmitter.emit(octoPrintEvent(event), {
207
+ event,
208
+ payload,
209
+ printerId: this.printerId
210
+ });
211
+ }
191
212
  async afterOpened(event) {
192
- this.setSocketState(SOCKET_STATE.opened);
213
+ this.setSocketState("opened");
193
214
  await this.sendAuth();
194
215
  await this.sendThrottle(_serverconstants.AppConstants.defaultSocketThrottleRate);
195
216
  }
196
217
  async onMessage(message) {
197
218
  this.lastMessageReceivedTimestamp = Date.now();
198
219
  if (this.socketState !== SOCKET_STATE.authenticated) {
199
- this.setSocketState(SOCKET_STATE.authenticated);
220
+ this.setSocketState("authenticated");
200
221
  }
201
222
  const data = JSON.parse(message);
202
223
  const eventName = Object.keys(data)[0];
203
224
  const payload = data[eventName];
225
+ if (this._debugMode) {
226
+ this.logger.log(`RX Msg ${eventName} ${message.substring(0, 140)}...`);
227
+ }
204
228
  if (eventName === Message.reauthRequired) {
229
+ this.logger.log("Received 'reauthRequired', acting on it");
205
230
  this.setReauthRequired();
231
+ } else if (eventName === Message.current && this.configService.get(_serverconstants.AppConstants.debugFileWritePrinterStatesKey, _serverconstants.AppConstants.defaultDebugFileWritePrinterStates) === "true") {
232
+ (0, _nodefs.writeFileSync)(`websocket_current_${this.printerId}.txt`, JSON.stringify(payload, null, 2));
206
233
  }
207
234
  await this.emitEvent(eventName, payload);
208
235
  }
209
- async sendAuth() {
210
- this.setSocketState(SOCKET_STATE.authenticating);
211
- await this.sendMessage(JSON.stringify({
212
- auth: `${this.username}:${this.sessionDto.session}`
213
- }));
214
- }
215
236
  async afterClosed(event) {
216
- this.setSocketState(SOCKET_STATE.closed);
237
+ this.setSocketState("closed");
217
238
  delete this.socket;
218
239
  await this.emitEvent(Message.WS_CLOSED);
219
240
  }
220
241
  async onError(error) {
221
- this.setSocketState(SOCKET_STATE.error);
242
+ this.setSocketState("error");
222
243
  await this.emitEvent(Message.WS_ERROR, error);
223
244
  }
224
- setReauthRequired() {
225
- this.reauthRequired = true;
226
- this.reauthRequiredTimestamp = Date.now();
227
- }
228
- resetReauthRequired() {
229
- this.reauthRequired = false;
230
- this.reauthRequiredTimestamp = null;
231
- }
232
- resetSocketState() {
233
- this.setSocketState(SOCKET_STATE.unopened);
234
- this.setApiState(API_STATE.unset);
245
+ async emitEvent(event, payload) {
246
+ await this.eventEmitter.emitAsync(octoPrintEvent(event), {
247
+ event,
248
+ payload,
249
+ printerId: this.printerId
250
+ });
235
251
  }
236
- setApiState(state) {
237
- this.apiState = state;
238
- this.apiStateUpdated = true;
239
- this.apiStateUpdateTimestamp = Date.now();
240
- if (this._debugMode) {
241
- this.logger.log(`${this.printerId} API state updated to: ` + state);
242
- }
243
- this.emitEventSync(Message.API_STATE_UPDATED, state);
252
+ async sendAuth() {
253
+ this.setSocketState(SOCKET_STATE.authenticating);
254
+ await this.sendMessage(JSON.stringify({
255
+ auth: `${this.username}:${this.sessionDto.session}`
256
+ }));
244
257
  }
245
258
  setSocketState(state) {
246
259
  this.socketState = state;
@@ -251,21 +264,14 @@ class OctoPrintSockIoAdapter extends _websocketadapter.WebsocketAdapter {
251
264
  }
252
265
  this.emitEventSync(Message.WS_STATE_UPDATED, state);
253
266
  }
254
- async emitEvent(event, payload) {
255
- const data = {
256
- event,
257
- payload,
258
- printerId: this.printerId
259
- };
260
- await this.eventEmitter.emitAsync(octoPrintEvent(event), data);
261
- }
262
- emitEventSync(event, payload) {
263
- const data = {
264
- event,
265
- payload,
266
- printerId: this.printerId
267
- };
268
- this.eventEmitter.emit(octoPrintEvent(event), data);
267
+ setApiState(state) {
268
+ this.apiState = state;
269
+ this.apiStateUpdated = true;
270
+ this.apiStateUpdateTimestamp = Date.now();
271
+ if (this._debugMode) {
272
+ this.logger.log(`${this.printerId} API state updated to: ` + state);
273
+ }
274
+ this.emitEventSync(Message.API_STATE_UPDATED, state);
269
275
  }
270
276
  }
271
277
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/services/octoprint/octoprint-sockio.adapter.ts"],"names":["API_STATE","Message","OctoPrintSockIoAdapter","SOCKET_STATE","octoPrintEvent","connected","reauthRequired","current","history","event","plugin","timelapse","slicingProgress","WS_OPENED","WS_CLOSED","WS_ERROR","API_STATE_UPDATED","WS_STATE_UPDATED","unopened","opening","authenticating","opened","authenticated","aborted","error","closed","unset","noResponse","globalKey","authFail","responding","WebsocketAdapter","printerId","loginDto","socketURL","sessionDto","username","octoPrintApiService","eventEmitter","logger","configService","stateUpdated","stateUpdateTimestamp","socketState","apiStateUpdated","apiStateUpdateTimestamp","apiState","lastMessageReceivedTimestamp","reauthRequiredTimestamp","constructor","loggerFactory","eventEmitter2","name","_debugMode","get","AppConstants","debugSocketStatesKey","defaultDebugSocketStates","needsReopen","isApiOnline","needsSetup","needsReauth","isClosedOrAborted","registerCredentials","socketLogin","protocol","httpUrl","normalizeUrl","printerURL","wsUrl","httpToWsUrl","pathname","open","_","socket","Error","close","sendThrottle","throttle","defaultSocketThrottleRate","sendMessage","JSON","stringify","reauthSession","setupSocketSession","sendAuth","resetReauthRequired","resetSocketState","login","then","r","setApiState","setSocketState","ExternalServiceError","needs","group","warn","catch","e","response","status","getAdminUserOrDefault","HttpStatusCode","FORBIDDEN","BAD_GATEWAY","NOT_IMPLEMENTED","SERVICE_UNAVAILABLE","GATEWAY_TIMEOUT","includes","afterOpened","onMessage","message","Date","now","data","parse","eventName","Object","keys","payload","setReauthRequired","emitEvent","auth","session","afterClosed","onError","state","log","emitEventSync","emitAsync","emit"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/services/octoprint/octoprint-sockio.adapter.ts"],"names":["API_STATE","Message","OctoPrintSockIoAdapter","SOCKET_STATE","octoPrintEvent","connected","reauthRequired","current","history","event","plugin","timelapse","slicingProgress","WS_OPENED","WS_CLOSED","WS_ERROR","API_STATE_UPDATED","WS_STATE_UPDATED","unopened","opening","authenticating","opened","authenticated","aborted","error","closed","unset","noResponse","globalKey","authFail","responding","WebsocketAdapter","octoPrintApiService","eventEmitter","configService","printerId","stateUpdated","stateUpdateTimestamp","socketState","apiStateUpdated","apiStateUpdateTimestamp","apiState","lastMessageReceivedTimestamp","reauthRequiredTimestamp","loginDto","logger","socketURL","sessionDto","username","constructor","loggerFactory","eventEmitter2","name","_debugMode","get","AppConstants","debugSocketStatesKey","defaultDebugSocketStates","needsReopen","isApiOnline","needsSetup","needsReauth","isClosedOrAborted","registerCredentials","socketLogin","protocol","httpUrl","normalizeUrl","printerURL","wsUrl","httpToWsUrl","pathname","open","socket","Error","close","sendThrottle","throttle","defaultSocketThrottleRate","sendMessage","JSON","stringify","reauthSession","log","setupSocketSession","sendAuth","resetReauthRequired","resetSocketState","login","then","r","setApiState","setSocketState","ExternalServiceError","needs","group","warn","catch","e","response","status","getAdminUserOrDefault","HttpStatusCode","FORBIDDEN","BAD_GATEWAY","NOT_IMPLEMENTED","SERVICE_UNAVAILABLE","GATEWAY_TIMEOUT","includes","setReauthRequired","Date","now","emitEventSync","payload","emit","afterOpened","onMessage","message","data","parse","eventName","Object","keys","substring","debugFileWritePrinterStatesKey","defaultDebugFileWritePrinterStates","writeFileSync","emitEvent","afterClosed","onError","emitAsync","auth","session","state"],"mappings":"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"}
@@ -12,12 +12,6 @@ _export(exports, {
12
12
  constructHeaders: function() {
13
13
  return constructHeaders;
14
14
  },
15
- processGotResponse: function() {
16
- return processGotResponse;
17
- },
18
- processResponse: function() {
19
- return processResponse;
20
- },
21
15
  validateLogin: function() {
22
16
  return validateLogin;
23
17
  }
@@ -39,34 +33,5 @@ function constructHeaders(apiKey, contentType = _octoprintserviceconstants.jsonC
39
33
  [_octoprintserviceconstants.apiKeyHeaderKey]: apiKey
40
34
  };
41
35
  }
42
- function processResponse(response, options = {
43
- unwrap: true
44
- }) {
45
- if (options.unwrap) {
46
- return response?.data;
47
- }
48
- if (options.simple) {
49
- return {
50
- status: response.status,
51
- data: response.data
52
- };
53
- }
54
- return response;
55
- }
56
- async function processGotResponse(response, options = {
57
- unwrap: true
58
- }) {
59
- if (options.unwrap) {
60
- return JSON.parse(response.body);
61
- }
62
- if (options.simple) {
63
- const data = JSON.parse(response.body);
64
- return {
65
- status: response.statusCode,
66
- data
67
- };
68
- }
69
- return response;
70
- }
71
36
 
72
37
  //# sourceMappingURL=api.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/services/octoprint/utils/api.utils.ts"],"names":["constructHeaders","processGotResponse","processResponse","validateLogin","login","apiKey","printerURL","ValidationException","contentType","jsonContentType","contentTypeHeaderKey","apiKeyHeaderKey","response","options","unwrap","data","simple","status","JSON","parse","body","statusCode"],"mappings":";;;;;;;;;;;IAmBgBA,gBAAgB;eAAhBA;;IA6BMC,kBAAkB;eAAlBA;;IAhBNC,eAAe;eAAfA;;IAxBAC,aAAa;eAAbA;;;2CAJT;mCAC6B;AAG7B,SAASA,cAAcC,KAAe;IAC3C,IAAI,CAACA,MAAMC,MAAM,IAAI,CAACD,MAAME,UAAU,EAAE;QACtC,MAAM,IAAIC,sCAAmB,CAAC;IAChC;IAEA,OAAO;QACLF,QAAQD,MAAMC,MAAM;QACpBC,YAAYF,MAAME,UAAU;IAC9B;AACF;AAEO,SAASN,iBAAiBK,MAAc,EAAEG,cAAcC,0CAAe;IAC5E,OAAO;QACL,CAACC,+CAAoB,CAAC,EAAEF;QACxB,CAACG,0CAAe,CAAC,EAAEN;IACrB;AACF;AAQO,SAASH,gBAAgBU,QAAQ,EAAEC,UAAU;IAAEC,QAAQ;AAAK,CAAC;IAClE,IAAID,QAAQC,MAAM,EAAE;QAClB,OAAOF,UAAUG;IACnB;IACA,IAAIF,QAAQG,MAAM,EAAE;QAClB,OAAO;YAAEC,QAAQL,SAASK,MAAM;YAAEF,MAAMH,SAASG,IAAI;QAAC;IACxD;IACA,OAAOH;AACT;AAQO,eAAeX,mBAAmBW,QAAQ,EAAEC,UAAU;IAAEC,QAAQ;AAAK,CAAC;IAC3E,IAAID,QAAQC,MAAM,EAAE;QAClB,OAAOI,KAAKC,KAAK,CAACP,SAASQ,IAAI;IACjC;IACA,IAAIP,QAAQG,MAAM,EAAE;QAClB,MAAMD,OAAOG,KAAKC,KAAK,CAACP,SAASQ,IAAI;QACrC,OAAO;YAAEH,QAAQL,SAASS,UAAU;YAAEN;QAAK;IAC7C;IACA,OAAOH;AACT"}
1
+ {"version":3,"sources":["../../../../src/services/octoprint/utils/api.utils.ts"],"names":["constructHeaders","validateLogin","login","apiKey","printerURL","ValidationException","contentType","jsonContentType","contentTypeHeaderKey","apiKeyHeaderKey"],"mappings":";;;;;;;;;;;IAmBgBA,gBAAgB;eAAhBA;;IAXAC,aAAa;eAAbA;;;2CAJT;mCAC6B;AAG7B,SAASA,cAAcC,KAAe;IAC3C,IAAI,CAACA,MAAMC,MAAM,IAAI,CAACD,MAAME,UAAU,EAAE;QACtC,MAAM,IAAIC,sCAAmB,CAAC;IAChC;IAEA,OAAO;QACLF,QAAQD,MAAMC,MAAM;QACpBC,YAAYF,MAAME,UAAU;IAC9B;AACF;AAEO,SAASJ,iBAAiBG,MAAc,EAAEG,cAAcC,0CAAe;IAC5E,OAAO;QACL,CAACC,+CAAoB,CAAC,EAAEF;QACxB,CAACG,0CAAe,CAAC,EAAEN;IACrB;AACF"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "normalizePrinterFile", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return normalizePrinterFile;
9
+ }
10
+ });
11
+ function normalizePrinterFile(file) {
12
+ if (!file) {
13
+ throw new Error("File should not be null for normalization");
14
+ }
15
+ const keys = Object.keys(file);
16
+ const fileCopy = {
17
+ ...file
18
+ };
19
+ const knownKeys = [
20
+ "name",
21
+ "date",
22
+ "display",
23
+ "gcodeAnalysis",
24
+ "hash",
25
+ "origin",
26
+ "path",
27
+ "prints",
28
+ "refs",
29
+ "size",
30
+ "statistics",
31
+ "type",
32
+ "typePath"
33
+ ];
34
+ const unknownKeys = keys.filter((k)=>!knownKeys.includes(k));
35
+ const customData = {};
36
+ for (const unknownKey of unknownKeys){
37
+ customData[unknownKey] = fileCopy[unknownKey];
38
+ delete fileCopy[unknownKey];
39
+ }
40
+ fileCopy.customData = customData;
41
+ return fileCopy;
42
+ }
43
+
44
+ //# sourceMappingURL=file.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/services/octoprint/utils/file.utils.ts"],"names":["normalizePrinterFile","file","Error","keys","Object","fileCopy","knownKeys","unknownKeys","filter","k","includes","customData","unknownKey"],"mappings":";;;;+BAGgBA;;;eAAAA;;;AAAT,SAASA,qBAAqBC,IAAyB;IAC5D,IAAI,CAACA,MAAM;QACT,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAMC,OAAOC,OAAOD,IAAI,CAACF;IACzB,MAAMI,WAAW;QACf,GAAGJ,IAAI;IACT;IAEA,MAAMK,YAAY;QAChB;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IAED,MAAMC,cAAcJ,KAAKK,MAAM,CAAC,CAACC,IAAM,CAACH,UAAUI,QAAQ,CAACD;IAE3D,MAAME,aAAiC,CAAC;IACxC,KAAK,MAAMC,cAAcL,YAAa;QACpCI,UAAU,CAACC,WAAW,GAAGP,QAAQ,CAACO,WAAW;QAC7C,OAAOP,QAAQ,CAACO,WAAW;IAC7B;IAEAP,SAASM,UAAU,GAAGA;IAEtB,OAAON;AACT"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+
6
+ //# sourceMappingURL=base.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/services/orm/base.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "BaseService", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return BaseService;
9
+ }
10
+ });
11
+ const _typeorm = require("typeorm");
12
+ const _classvalidator = require("class-validator");
13
+ const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
14
+ const _pageinterface = require("../interfaces/page.interface");
15
+ function BaseService(entity, dto, createDTO, updateDto) {
16
+ class BaseServiceHost {
17
+ typeormService;
18
+ repository;
19
+ constructor({ typeormService }){
20
+ this.typeormService = typeormService;
21
+ this.repository = typeormService.getDataSource().getRepository(entity);
22
+ }
23
+ async get(id, throwIfNotFound = true) {
24
+ try {
25
+ return this.repository.findOneByOrFail({
26
+ id
27
+ });
28
+ } catch (e) {
29
+ if (throwIfNotFound && e instanceof _typeorm.EntityNotFoundError) {
30
+ throw new _runtimeexceptions.NotFoundException(`The entity ${entity} with id '${id}' was not found.`);
31
+ }
32
+ return undefined;
33
+ }
34
+ }
35
+ async list(options) {
36
+ return this.repository.find(options);
37
+ }
38
+ async listPaged(page = _pageinterface.DEFAULT_PAGE, options) {
39
+ return this.repository.find({
40
+ take: page.pageSize,
41
+ skip: page.pageSize * page.page,
42
+ ...options
43
+ });
44
+ }
45
+ async update(id, updateDto) {
46
+ const entity = await this.get(id);
47
+ await (0, _classvalidator.validate)(updateDto);
48
+ await (0, _classvalidator.validate)(Object.assign(entity, updateDto));
49
+ await this.repository.update(entity.id, updateDto);
50
+ return entity;
51
+ }
52
+ async create(dto) {
53
+ if (dto.id) {
54
+ delete dto.id;
55
+ }
56
+ await (0, _classvalidator.validate)(dto);
57
+ const entity = this.repository.create(dto);
58
+ await (0, _classvalidator.validate)(entity);
59
+ return await this.repository.save(entity);
60
+ }
61
+ async delete(id, throwIfNotFound = true) {
62
+ const entity = await this.get(id, throwIfNotFound);
63
+ return await this.repository.delete(entity.id);
64
+ }
65
+ async deleteMany(ids, emitEvent = true) {
66
+ return await this.repository.delete(ids);
67
+ }
68
+ }
69
+ return BaseServiceHost;
70
+ }
71
+
72
+ //# sourceMappingURL=base.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/services/orm/base.service.ts"],"names":["BaseService","entity","dto","createDTO","updateDto","BaseServiceHost","typeormService","repository","constructor","getDataSource","getRepository","get","id","throwIfNotFound","findOneByOrFail","e","EntityNotFoundError","NotFoundException","undefined","list","options","find","listPaged","page","DEFAULT_PAGE","take","pageSize","skip","update","validate","Object","assign","create","save","delete","deleteMany","ids","emitEvent"],"mappings":";;;;+BAWgBA;;;eAAAA;;;yBAR0F;gCACjF;mCAGS;+BACQ;AAGnC,SAASA,YAKdC,MAAuB,EAAEC,GAAc,EAAEC,SAA2B,EAAEC,SAA2B;IACjG,MAAeC;QACbC,eAA+B;QAC/BC,WAA0B;QAE1BC,YAAY,EAAEF,cAAc,EAAsC,CAAE;YAClE,IAAI,CAACA,cAAc,GAAGA;YACtB,IAAI,CAACC,UAAU,GAAGD,eAAeG,aAAa,GAAGC,aAAa,CAACT;QACjE;QAIA,MAAMU,IAAIC,EAAgB,EAAEC,kBAAkB,IAAI,EAAE;YAClD,IAAI;gBACF,OAAO,IAAI,CAACN,UAAU,CAACO,eAAe,CAAC;oBAAEF;gBAAG;YAC9C,EAAE,OAAOG,GAAG;gBACV,IAAIF,mBAAmBE,aAAaC,4BAAmB,EAAE;oBACvD,MAAM,IAAIC,oCAAiB,CAAC,CAAC,WAAW,EAAEhB,OAAO,UAAU,EAAEW,GAAG,gBAAgB,CAAC;gBACnF;gBACA,OAAOM;YACT;QACF;QAEA,MAAMC,KAAKC,OAA4B,EAAE;YACvC,OAAO,IAAI,CAACb,UAAU,CAACc,IAAI,CAACD;QAC9B;QAEA,MAAME,UAAUC,OAAoBC,2BAAY,EAAEJ,OAA4B,EAAE;YAC9E,OAAO,IAAI,CAACb,UAAU,CAACc,IAAI,CAAC;gBAAEI,MAAMF,KAAKG,QAAQ;gBAAEC,MAAMJ,KAAKG,QAAQ,GAAGH,KAAKA,IAAI;gBAAE,GAAGH,OAAO;YAAC;QACjG;QAEA,MAAMQ,OAAOhB,EAAgB,EAAER,SAAoB,EAAE;YACnD,MAAMH,SAAS,MAAM,IAAI,CAACU,GAAG,CAACC;YAC9B,MAAMiB,IAAAA,wBAAQ,EAACzB;YACf,MAAMyB,IAAAA,wBAAQ,EAACC,OAAOC,MAAM,CAAC9B,QAAQG;YACrC,MAAM,IAAI,CAACG,UAAU,CAACqB,MAAM,CAAC3B,OAAOW,EAAE,EAAER;YACxC,OAAOH;QACT;QAEA,MAAM+B,OAAO9B,GAAc,EAAE;YAE3B,IAAIA,IAAIU,EAAE,EAAE;gBACV,OAAOV,IAAIU,EAAE;YACf;YACA,MAAMiB,IAAAA,wBAAQ,EAAC3B;YACf,MAAMD,SAAS,IAAI,CAACM,UAAU,CAACyB,MAAM,CAAC9B;YACtC,MAAM2B,IAAAA,wBAAQ,EAAC5B;YAEf,OAAO,MAAM,IAAI,CAACM,UAAU,CAAC0B,IAAI,CAAChC;QACpC;QAEA,MAAMiC,OAAOtB,EAAgB,EAAEC,kBAAkB,IAAI,EAAE;YACrD,MAAMZ,SAAS,MAAM,IAAI,CAACU,GAAG,CAACC,IAAIC;YAClC,OAAO,MAAM,IAAI,CAACN,UAAU,CAAC2B,MAAM,CAACjC,OAAOW,EAAE;QAC/C;QAEA,MAAMuB,WAAWC,GAAmB,EAAEC,YAAY,IAAI,EAAyB;YAC7E,OAAO,MAAM,IAAI,CAAC9B,UAAU,CAAC2B,MAAM,CAACE;QACtC;IACF;IAEA,OAAO/B;AACT"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "CameraStreamService", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return CameraStreamService;
9
+ }
10
+ });
11
+ const _baseservice = require("./base.service");
12
+ const _entities = require("../../entities");
13
+ const _camerastreamdto = require("../interfaces/camera-stream.dto");
14
+ class CameraStreamService extends (0, _baseservice.BaseService)(_entities.CameraStream, _camerastreamdto.CameraStreamDto) {
15
+ toDto(entity) {
16
+ return {
17
+ id: entity.id,
18
+ streamURL: entity.streamURL,
19
+ name: entity.name,
20
+ printerId: entity.printerId
21
+ };
22
+ }
23
+ }
24
+
25
+ //# sourceMappingURL=camera-stream.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/services/orm/camera-stream.service.ts"],"names":["CameraStreamService","BaseService","CameraStream","CameraStreamDto","toDto","entity","id","streamURL","name","printerId"],"mappings":";;;;+BAMaA;;;eAAAA;;;6BANe;0BACC;iCACG;AAIzB,MAAMA,4BACHC,IAAAA,wBAAW,EAACC,sBAAY,EAAEC,gCAAe;IAGjDC,MAAMC,MAAoB,EAAiC;QAEzD,OAAO;YACLC,IAAID,OAAOC,EAAE;YACbC,WAAWF,OAAOE,SAAS;YAC3BC,MAAMH,OAAOG,IAAI;YACjBC,WAAWJ,OAAOI,SAAS;QAO7B;IACF;AACF"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "CustomGcodeService", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return CustomGcodeService;
9
+ }
10
+ });
11
+ const _entities = require("../../entities");
12
+ const _customgcodedto = require("../interfaces/custom-gcode.dto");
13
+ const _baseservice = require("./base.service");
14
+ class CustomGcodeService extends (0, _baseservice.BaseService)(_entities.CustomGcode, _customgcodedto.CustomGcodeDto) {
15
+ toDto(entity) {
16
+ return {
17
+ id: entity.id,
18
+ name: entity.name,
19
+ description: entity.description,
20
+ gcode: [
21
+ ...entity.gcode
22
+ ]
23
+ };
24
+ }
25
+ async create(gcodeScript) {
26
+ return await super.create(gcodeScript);
27
+ }
28
+ async delete(gcodeScriptId, throwIfNotFound) {
29
+ return await super.delete(gcodeScriptId, throwIfNotFound);
30
+ }
31
+ async get(gcodeScriptId) {
32
+ return await super.get(gcodeScriptId);
33
+ }
34
+ async list() {
35
+ return await super.list();
36
+ }
37
+ async update(gcodeScriptId, updatedData) {
38
+ return await super.update(gcodeScriptId, updatedData);
39
+ }
40
+ }
41
+
42
+ //# sourceMappingURL=custom-gcode.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/services/orm/custom-gcode.service.ts"],"names":["CustomGcodeService","BaseService","CustomGcode","CustomGcodeDto","toDto","entity","id","name","description","gcode","create","gcodeScript","delete","gcodeScriptId","throwIfNotFound","get","list","update","updatedData"],"mappings":";;;;+BAMaA;;;eAAAA;;;0BALe;gCAEG;6BACH;AAErB,MAAMA,2BACHC,IAAAA,wBAAW,EAACC,qBAAW,EAAEC,8BAAc;IAG/CC,MAAMC,MAAmB,EAAkB;QACzC,OAAO;YACLC,IAAID,OAAOC,EAAE;YACbC,MAAMF,OAAOE,IAAI;YACjBC,aAAaH,OAAOG,WAAW;YAC/BC,OAAO;mBAAIJ,OAAOI,KAAK;aAAC;QAC1B;IACF;IAEA,MAAMC,OAAOC,WAAyC,EAAwB;QAC5E,OAAO,MAAM,KAAK,CAACD,OAAOC;IAC5B;IAEA,MAAMC,OAAOC,aAA2B,EAAEC,eAAyB,EAAE;QACnE,OAAO,MAAM,KAAK,CAACF,OAAOC,eAAeC;IAC3C;IAEA,MAAMC,IAAIF,aAA2B,EAAwB;QAC3D,OAAO,MAAM,KAAK,CAACE,IAAIF;IACzB;IAEA,MAAMG,OAA+B;QACnC,OAAO,MAAM,KAAK,CAACA;IACrB;IAEA,MAAMC,OAAOJ,aAA2B,EAAEK,WAAyC,EAAwB;QACzG,OAAO,MAAM,KAAK,CAACD,OAAOJ,eAAeK;IAC3C;AACF"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "FloorPositionService", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return FloorPositionService;
9
+ }
10
+ });
11
+ const _floorpositionentity = require("../../entities/floor-position.entity");
12
+ const _baseservice = require("./base.service");
13
+ const _floordto = require("../interfaces/floor.dto");
14
+ class FloorPositionService extends (0, _baseservice.BaseService)(_floorpositionentity.FloorPosition, _floordto.PositionDto) {
15
+ constructor({ typeormService }){
16
+ super({
17
+ typeormService
18
+ });
19
+ }
20
+ async create(dto) {
21
+ return super.create(dto);
22
+ }
23
+ findPosition(x, y) {
24
+ return this.repository.findOneBy({
25
+ x,
26
+ y
27
+ });
28
+ }
29
+ findPrinterPosition(printerId) {
30
+ return this.repository.findOneBy({
31
+ id: printerId
32
+ });
33
+ }
34
+ deletePrinterPositionsByPrinterId(printerId) {
35
+ return this.repository.delete({
36
+ id: printerId
37
+ });
38
+ }
39
+ findPrinterPositionOnFloor(floorId, printerId) {
40
+ return this.repository.findOneBy({
41
+ floorId,
42
+ printerId
43
+ });
44
+ }
45
+ toDto(entity) {
46
+ return {
47
+ x: entity.x,
48
+ y: entity.y,
49
+ printerId: entity.printerId,
50
+ floorId: entity.floorId
51
+ };
52
+ }
53
+ }
54
+
55
+ //# sourceMappingURL=floor-position.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/services/orm/floor-position.service.ts"],"names":["FloorPositionService","BaseService","FloorPosition","PositionDto","constructor","typeormService","create","dto","findPosition","x","y","repository","findOneBy","findPrinterPosition","printerId","id","deletePrinterPositionsByPrinterId","delete","findPrinterPositionOnFloor","floorId","toDto","entity"],"mappings":";;;;+BAOaA;;;eAAAA;;;qCAPiB;6BACF;0BAGA;AAGrB,MAAMA,6BAA6BC,IAAAA,wBAAW,EAACC,kCAAa,EAAEC,qBAAW;IAC9EC,YAAY,EAAEC,cAAc,EAAsC,CAAE;QAClE,KAAK,CAAC;YAAEA;QAAe;IACzB;IAEA,MAAMC,OAAOC,GAA8B,EAA0B;QACnE,OAAO,KAAK,CAACD,OAAOC;IACtB;IAEAC,aAAaC,CAAS,EAAEC,CAAS,EAAE;QACjC,OAAO,IAAI,CAACC,UAAU,CAACC,SAAS,CAAC;YAAEH;YAAGC;QAAE;IAC1C;IAEAG,oBAAoBC,SAAuB,EAAE;QAC3C,OAAO,IAAI,CAACH,UAAU,CAACC,SAAS,CAAC;YAAEG,IAAID;QAAU;IACnD;IAEAE,kCAAkCF,SAAuB,EAAE;QACzD,OAAO,IAAI,CAACH,UAAU,CAACM,MAAM,CAAC;YAAEF,IAAID;QAAU;IAChD;IAEAI,2BAA2BC,OAAqB,EAAEL,SAAuB,EAAE;QACzE,OAAO,IAAI,CAACH,UAAU,CAACC,SAAS,CAAC;YAAEO;YAASL;QAAU;IACxD;IAEAM,MAAMC,MAAqB,EAA6B;QACtD,OAAO;YACLZ,GAAGY,OAAOZ,CAAC;YACXC,GAAGW,OAAOX,CAAC;YACXI,WAAWO,OAAOP,SAAS;YAC3BK,SAASE,OAAOF,OAAO;QACzB;IACF;AACF"}