@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
package/.yarnrc.yml ADDED
@@ -0,0 +1,4 @@
1
+ nodeLinker: node-modules
2
+
3
+ yarnPath: .yarn/releases/yarn-4.1.0.cjs
4
+ httpTimeout: 1000000
package/README.md CHANGED
@@ -40,7 +40,7 @@ This server is has been battle-tested in the field for 100+ printers, so give it
40
40
  - Import printers from OctoFarm
41
41
  - [Raspberry Pi image MonsterPi](https://docs.fdm-monster.net/guides/monsterpi)
42
42
 
43
- ![Image](docs/images/server-running.png)
43
+ ![docs/images/server-running.png](https://github.com/fdm-monster/fdm-monster-docs/blob/main/docs/images/server-running.png)
44
44
  _The FDM Monster grid after placing one OctoPrint instance._
45
45
 
46
46
  ## Getting started
@@ -61,7 +61,7 @@ Please join the discord, but stay professional and proactive!
61
61
  These are the people involved in the project. Find the meaning of the emoji keys [here](https://allcontributors.org/docs/en/emoji-key).
62
62
 
63
63
  <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
64
- [![All Contributors](https://img.shields.io/badge/all_contributors-10-orange.svg?style=flat-square)](#contributors-)
64
+ [![All Contributors](https://img.shields.io/badge/all_contributors-11-orange.svg?style=flat-square)](#contributors-)
65
65
  <!-- ALL-CONTRIBUTORS-BADGE:END -->
66
66
 
67
67
  <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
@@ -82,6 +82,7 @@ These are the people involved in the project. Find the meaning of the emoji keys
82
82
  <td align="center" valign="top" width="14.28%"><a href="http://www.tophattwaffle.com"><img src="https://avatars.githubusercontent.com/u/6774125?v=4?s=80" width="80px;" alt="tophattwaffle"/><br /><sub><b>tophattwaffle</b></sub></a><br /><a href="https://github.com/fdm-monster/fdm-monster/issues?q=author%3Atophattwaffle" title="Bug reports">🐛</a> <a href="#ideas-tophattwaffle" title="Ideas, Planning, & Feedback">🤔</a></td>
83
83
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/rmhenn"><img src="https://avatars.githubusercontent.com/u/22482801?v=4?s=80" width="80px;" alt="rmhenn"/><br /><sub><b>rmhenn</b></sub></a><br /><a href="#ideas-rmhenn" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/fdm-monster/fdm-monster/issues?q=author%3Armhenn" title="Bug reports">🐛</a></td>
84
84
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/cyrixdx4"><img src="https://avatars.githubusercontent.com/u/62126724?v=4?s=80" width="80px;" alt="cyrixdx4"/><br /><sub><b>cyrixdx4</b></sub></a><br /><a href="https://github.com/fdm-monster/fdm-monster/issues?q=author%3Acyrixdx4" title="Bug reports">🐛</a></td>
85
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/doucettom"><img src="https://avatars.githubusercontent.com/u/6595645?v=4?s=80" width="80px;" alt="doucettom"/><br /><sub><b>doucettom</b></sub></a><br /><a href="https://github.com/fdm-monster/fdm-monster/issues?q=author%3Adoucettom" title="Bug reports">🐛</a></td>
85
86
  </tr>
86
87
  </tbody>
87
88
  </table>
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _serverconstants = require("../server.constants");
6
+ const _datasource = require("../data-source");
7
+ const _printerentity = require("../entities/printer.entity");
8
+ process.env[_serverconstants.AppConstants.DATABASE_FILE] = ":memory:";
9
+ async function main() {
10
+ console.log("Running test sqlite with TypeORM");
11
+ const ds = await _datasource.AppDataSource.initialize();
12
+ const printerRepo = ds.getRepository(_printerentity.Printer);
13
+ const entity = printerRepo.create({
14
+ name: "Default Printer",
15
+ printerUrl: "http://localhost:3000",
16
+ apiKey: "1234567890"
17
+ });
18
+ await ds.transaction(async (manager)=>{
19
+ const result = await manager.save(entity);
20
+ const printer = await printerRepo.findOneByOrFail({
21
+ id: result.id
22
+ });
23
+ console.log("Printer found", printer.id, printer.name, printer.printerUrl, printer.apiKey);
24
+ });
25
+ }
26
+ main().then(()=>{
27
+ console.log("Done!");
28
+ process.exit(0);
29
+ });
30
+
31
+ //# sourceMappingURL=sqlite-torm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/consoles/sqlite-torm.ts"],"names":["process","env","AppConstants","DATABASE_FILE","main","console","log","ds","AppDataSource","initialize","printerRepo","getRepository","Printer","entity","create","name","printerUrl","apiKey","transaction","manager","result","save","printer","findOneByOrFail","id","then","exit"],"mappings":";;;;iCAA6B;4BAIC;+BACN;AAHxBA,QAAQC,GAAG,CAACC,6BAAY,CAACC,aAAa,CAAC,GAAG;AAM1C,eAAeC;IACbC,QAAQC,GAAG,CAAC;IAEZ,MAAMC,KAAK,MAAMC,yBAAa,CAACC,UAAU;IAEzC,MAAMC,cAAcH,GAAGI,aAAa,CAACC,sBAAO;IAC5C,MAAMC,SAASH,YAAYI,MAAM,CAAC;QAChCC,MAAM;QACNC,YAAY;QACZC,QAAQ;IACV;IAEA,MAAMV,GAAGW,WAAW,CAAC,OAAOC;QAC1B,MAAMC,SAAS,MAAMD,QAAQE,IAAI,CAACR;QAClC,MAAMS,UAAU,MAAMZ,YAAYa,eAAe,CAAC;YAAEC,IAAIJ,OAAOI,EAAE;QAAC;QAClEnB,QAAQC,GAAG,CAAC,iBAAiBgB,QAAQE,EAAE,EAAEF,QAAQP,IAAI,EAAEO,QAAQN,UAAU,EAAEM,QAAQL,MAAM;IAC3F;AACF;AAEAb,OAAOqB,IAAI,CAAC;IACVpB,QAAQC,GAAG,CAAC;IAEZN,QAAQ0B,IAAI,CAAC;AACf"}
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _PlatformTools = require("typeorm/platform/PlatformTools");
6
+ const _CommandUtils = require("typeorm/commands/CommandUtils");
7
+ const _path = _interop_require_default(require("path"));
8
+ const _chalk = _interop_require_default(require("chalk"));
9
+ const _StringUtils = require("typeorm/util/StringUtils");
10
+ const _sqlFormatter = require("@sqltools/formatter/lib/sqlFormatter");
11
+ const _readline = _interop_require_wildcard(require("readline"));
12
+ function _interop_require_default(obj) {
13
+ return obj && obj.__esModule ? obj : {
14
+ default: obj
15
+ };
16
+ }
17
+ function _getRequireWildcardCache(nodeInterop) {
18
+ if (typeof WeakMap !== "function") return null;
19
+ var cacheBabelInterop = new WeakMap();
20
+ var cacheNodeInterop = new WeakMap();
21
+ return (_getRequireWildcardCache = function(nodeInterop) {
22
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
23
+ })(nodeInterop);
24
+ }
25
+ function _interop_require_wildcard(obj, nodeInterop) {
26
+ if (!nodeInterop && obj && obj.__esModule) {
27
+ return obj;
28
+ }
29
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
30
+ return {
31
+ default: obj
32
+ };
33
+ }
34
+ var cache = _getRequireWildcardCache(nodeInterop);
35
+ if (cache && cache.has(obj)) {
36
+ return cache.get(obj);
37
+ }
38
+ var newObj = {
39
+ __proto__: null
40
+ };
41
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
42
+ for(var key in obj){
43
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
44
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
45
+ if (desc && (desc.get || desc.set)) {
46
+ Object.defineProperty(newObj, key, desc);
47
+ } else {
48
+ newObj[key] = obj[key];
49
+ }
50
+ }
51
+ }
52
+ newObj.default = obj;
53
+ if (cache) {
54
+ cache.set(obj, newObj);
55
+ }
56
+ return newObj;
57
+ }
58
+ function queryParams(parameters) {
59
+ if (!parameters || !parameters.length) {
60
+ return "";
61
+ }
62
+ return `, ${JSON.stringify(parameters)}`;
63
+ }
64
+ function getTemplate(name, timestamp, upSqls, downSqls) {
65
+ const migrationName = `${(0, _StringUtils.camelCase)(name, true)}${timestamp}`;
66
+ return `import { MigrationInterface, QueryRunner } from "typeorm";
67
+
68
+ export class ${migrationName} implements MigrationInterface {
69
+ name = '${migrationName}'
70
+
71
+ public async up(queryRunner: QueryRunner): Promise<void> {
72
+ ${upSqls.join(`
73
+ `)}
74
+ }
75
+
76
+ public async down(queryRunner: QueryRunner): Promise<void> {
77
+ ${downSqls.join(`
78
+ `)}
79
+ }
80
+
81
+ }
82
+ `;
83
+ }
84
+ function getJavascriptTemplate(name, timestamp, upSqls, downSqls) {
85
+ const migrationName = `${(0, _StringUtils.camelCase)(name, true)}${timestamp}`;
86
+ return `const { MigrationInterface, QueryRunner } = require("typeorm");
87
+
88
+ module.exports = class ${migrationName} {
89
+ name = '${migrationName}'
90
+
91
+ async up(queryRunner) {
92
+ ${upSqls.join(`
93
+ `)}
94
+ }
95
+
96
+ async down(queryRunner) {
97
+ ${downSqls.join(`
98
+ `)}
99
+ }
100
+ }
101
+ `;
102
+ }
103
+ function prettifyQuery(query) {
104
+ const formattedQuery = (0, _sqlFormatter.format)(query, {
105
+ indent: " "
106
+ });
107
+ return "\n" + formattedQuery.replace(/^/gm, " ") + "\n ";
108
+ }
109
+ async function confirm(question, hint) {
110
+ const line = _readline.createInterface({
111
+ input: process.stdin,
112
+ output: process.stdout
113
+ });
114
+ return new Promise((resolve)=>{
115
+ line.question(question, (response)=>{
116
+ line.close();
117
+ resolve(response);
118
+ });
119
+ line.write(hint);
120
+ });
121
+ }
122
+ async function main() {
123
+ const timestamp = _CommandUtils.CommandUtils.getTimestamp(Date.now());
124
+ const extension = ".ts";
125
+ let dataSource = undefined;
126
+ try {
127
+ dataSource = await _CommandUtils.CommandUtils.loadDataSource(_path.default.resolve(process.cwd(), "dist/data-source.js"));
128
+ dataSource.setOptions({
129
+ synchronize: false,
130
+ migrationsRun: false,
131
+ dropSchema: false,
132
+ logging: false
133
+ });
134
+ await dataSource.initialize();
135
+ const hasPendingMigrations = await dataSource.showMigrations();
136
+ if (hasPendingMigrations) {
137
+ console.log(_chalk.default.yellow(`ATTENTION: you have pending migrations (${_chalk.default.blue(hasPendingMigrations)}). Running those first, before generating a new migration.`));
138
+ await dataSource.runMigrations({
139
+ transaction: "each"
140
+ });
141
+ console.log(_chalk.default.green(`Migrations successfully executed.`));
142
+ }
143
+ const upSqls = [], downSqls = [];
144
+ try {
145
+ const sqlInMemory = await dataSource.driver.createSchemaBuilder().log();
146
+ if (true) {
147
+ sqlInMemory.upQueries.forEach((upQuery)=>{
148
+ upQuery.query = prettifyQuery(upQuery.query);
149
+ });
150
+ sqlInMemory.downQueries.forEach((downQuery)=>{
151
+ downQuery.query = prettifyQuery(downQuery.query);
152
+ });
153
+ }
154
+ sqlInMemory.upQueries.forEach((upQuery)=>{
155
+ upSqls.push(" await queryRunner.query(`" + upQuery.query.replace(new RegExp("`", "g"), "\\`") + "`" + queryParams(upQuery.parameters) + ");");
156
+ });
157
+ sqlInMemory.downQueries.forEach((downQuery)=>{
158
+ downSqls.push(" await queryRunner.query(`" + downQuery.query.replace(new RegExp("`", "g"), "\\`") + "`" + queryParams(downQuery.parameters) + ");");
159
+ });
160
+ } finally{
161
+ await dataSource.destroy();
162
+ }
163
+ if (!upSqls.length) {
164
+ console.log(_chalk.default.green(`No changes in database schema were found`));
165
+ process.exit(0);
166
+ }
167
+ console.log(_chalk.default.green(`Migration ready to be saved...`));
168
+ console.log(_chalk.default.blue(upSqls.map((s)=>s).join("\n")));
169
+ let name;
170
+ while(!name){
171
+ name = (await confirm("Please provide a name for the migration: ", "Change"))?.trim();
172
+ if (name) break;
173
+ console.log(_chalk.default.red(`Name is required, try again`));
174
+ process.exit(1);
175
+ }
176
+ const fullPath = _path.default.resolve(process.cwd(), `src/migrations/${name}`);
177
+ const filename = timestamp + "-" + _path.default.basename(fullPath) + extension;
178
+ const fileContent = false ? getJavascriptTemplate(_path.default.basename(fullPath), timestamp, upSqls, downSqls.reverse()) : getTemplate(_path.default.basename(fullPath), timestamp, upSqls, downSqls.reverse());
179
+ const migrationFileName = _path.default.dirname(fullPath) + "/" + filename;
180
+ await _CommandUtils.CommandUtils.createFile(migrationFileName, fileContent);
181
+ console.log(_chalk.default.green(`Migration ${_chalk.default.blue(migrationFileName)} has been generated successfully.`));
182
+ } catch (err) {
183
+ _PlatformTools.PlatformTools.logCmdErr("Error during migration generation:", err);
184
+ process.exit(1);
185
+ }
186
+ }
187
+ let start = new Date().getTime();
188
+ main().then(()=>{
189
+ let end = new Date().getTime();
190
+ console.log("done", end - start, "ms");
191
+ process.exit(0);
192
+ });
193
+
194
+ //# sourceMappingURL=typeorm-generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/consoles/typeorm-generate.ts"],"names":["queryParams","parameters","length","JSON","stringify","getTemplate","name","timestamp","upSqls","downSqls","migrationName","camelCase","join","getJavascriptTemplate","prettifyQuery","query","formattedQuery","format","indent","replace","confirm","question","hint","line","readline","createInterface","input","process","stdin","output","stdout","Promise","resolve","response","close","write","main","CommandUtils","getTimestamp","Date","now","extension","dataSource","undefined","loadDataSource","path","cwd","setOptions","synchronize","migrationsRun","dropSchema","logging","initialize","hasPendingMigrations","showMigrations","console","log","chalk","yellow","blue","runMigrations","transaction","green","sqlInMemory","driver","createSchemaBuilder","upQueries","forEach","upQuery","downQueries","downQuery","push","RegExp","destroy","exit","map","s","trim","red","fullPath","filename","basename","fileContent","reverse","migrationFileName","dirname","createFile","err","PlatformTools","logCmdErr","start","getTime","then","end"],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _PlatformTools = require("typeorm/platform/PlatformTools");
6
+ const _CommandUtils = require("typeorm/commands/CommandUtils");
7
+ const _path = _interop_require_default(require("path"));
8
+ function _interop_require_default(obj) {
9
+ return obj && obj.__esModule ? obj : {
10
+ default: obj
11
+ };
12
+ }
13
+ async function main() {
14
+ let dataSource = undefined;
15
+ try {
16
+ dataSource = await _CommandUtils.CommandUtils.loadDataSource(_path.default.resolve(process.cwd(), "dist/data-source.js"));
17
+ dataSource.setOptions({
18
+ subscribers: [],
19
+ synchronize: false,
20
+ migrationsRun: false,
21
+ dropSchema: false,
22
+ logging: [
23
+ "query",
24
+ "error",
25
+ "schema"
26
+ ]
27
+ });
28
+ await dataSource.initialize();
29
+ const options = {
30
+ transaction: dataSource.options.migrationsTransactionMode ?? "all"
31
+ };
32
+ options.transaction = "all";
33
+ await dataSource.runMigrations(options);
34
+ await dataSource.destroy();
35
+ } catch (err) {
36
+ _PlatformTools.PlatformTools.logCmdErr("Error during migration run:", err);
37
+ if (dataSource && dataSource.isInitialized) await dataSource.destroy();
38
+ process.exit(1);
39
+ }
40
+ }
41
+ let start = new Date().getTime();
42
+ main().then(()=>{
43
+ let end = new Date().getTime();
44
+ console.log("done", end - start, "ms");
45
+ process.exit(0);
46
+ });
47
+
48
+ //# sourceMappingURL=typeorm-migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/consoles/typeorm-migrate.ts"],"names":["main","dataSource","undefined","CommandUtils","loadDataSource","path","resolve","process","cwd","setOptions","subscribers","synchronize","migrationsRun","dropSchema","logging","initialize","options","transaction","migrationsTransactionMode","runMigrations","destroy","err","PlatformTools","logCmdErr","isInitialized","exit","start","Date","getTime","then","end","console","log"],"mappings":";;;;+BAC8B;8BACD;+CACZ;;;;;;AAEjB,eAAeA;IACb,IAAIC,aAAqCC;IACzC,IAAI;QACFD,aAAa,MAAME,0BAAY,CAACC,cAAc,CAACC,aAAI,CAACC,OAAO,CAACC,QAAQC,GAAG,IAAI;QAC3EP,WAAWQ,UAAU,CAAC;YACpBC,aAAa,EAAE;YACfC,aAAa;YACbC,eAAe;YACfC,YAAY;YACZC,SAAS;gBAAC;gBAAS;gBAAS;aAAS;QACvC;QACA,MAAMb,WAAWc,UAAU;QAE3B,MAAMC,UAAU;YACdC,aAAahB,WAAWe,OAAO,CAACE,yBAAyB,IAAK;QAEhE;QACAF,QAAQC,WAAW,GAAG;QAEtB,MAAMhB,WAAWkB,aAAa,CAACH;QAC/B,MAAMf,WAAWmB,OAAO;IAC1B,EAAE,OAAOC,KAAK;QACZC,4BAAa,CAACC,SAAS,CAAC,+BAA+BF;QAEvD,IAAIpB,cAAcA,WAAWuB,aAAa,EAAE,MAAMvB,WAAWmB,OAAO;QACpEb,QAAQkB,IAAI,CAAC;IACf;AACF;AAEA,IAAIC,QAAQ,IAAIC,OAAOC,OAAO;AAC9B5B,OAAO6B,IAAI,CAAC;IACV,IAAIC,MAAM,IAAIH,OAAOC,OAAO;IAC5BG,QAAQC,GAAG,CAAC,QAAQF,MAAMJ,OAAO;IAGjCnB,QAAQkB,IAAI,CAAC;AACf"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const Parser = require("stream-parser");
6
+ const inherits = require("util").inherits;
7
+ const Transform = require("stream").Transform;
8
+ function Throttle(opts) {
9
+ if (!(this instanceof Throttle)) return new Throttle(opts);
10
+ if ("number" == typeof opts) opts = {
11
+ bps: opts
12
+ };
13
+ if (!opts) opts = {};
14
+ if (null == opts.lowWaterMark) opts.lowWaterMark = 0;
15
+ if (null == opts.highWaterMark) opts.highWaterMark = 0;
16
+ if (null == opts.bps) throw new Error('must pass a "bps" bytes-per-second option');
17
+ if (null == opts.chunkSize) opts.chunkSize = opts.bps / 10 | 0;
18
+ Transform.call(this, opts);
19
+ this.bps = opts.bps;
20
+ this.chunkSize = Math.max(1, opts.chunkSize);
21
+ this.totalBytes = 0;
22
+ this.startTime = Date.now();
23
+ this._passthroughChunk();
24
+ }
25
+ inherits(Throttle, Transform);
26
+ Parser(Throttle.prototype);
27
+ Throttle.prototype._passthroughChunk = function() {
28
+ this._passthrough(this.chunkSize, this._onchunk);
29
+ this.totalBytes += this.chunkSize;
30
+ };
31
+ Throttle.prototype._onchunk = function(output, done) {
32
+ const self = this;
33
+ const totalSeconds = (Date.now() - this.startTime) / 1000;
34
+ const expected = totalSeconds * this.bps;
35
+ function d() {
36
+ self._passthroughChunk();
37
+ done();
38
+ }
39
+ if (this.totalBytes > expected) {
40
+ const remainder = this.totalBytes - expected;
41
+ const sleepTime = remainder / this.bps * 1000;
42
+ if (sleepTime > 0) {
43
+ setTimeout(d, sleepTime);
44
+ } else {
45
+ d();
46
+ }
47
+ } else {
48
+ d();
49
+ }
50
+ };
51
+
52
+ //# sourceMappingURL=upload-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/consoles/upload-test.ts"],"names":["Parser","require","inherits","Transform","Throttle","opts","bps","lowWaterMark","highWaterMark","Error","chunkSize","call","Math","max","totalBytes","startTime","Date","now","_passthroughChunk","prototype","_passthrough","_onchunk","output","done","self","totalSeconds","expected","d","remainder","sleepTime","setTimeout"],"mappings":";;;;AAQA,MAAMA,SAASC,QAAQ;AACvB,MAAMC,WAAWD,QAAQ,QAAQC,QAAQ;AACzC,MAAMC,YAAYF,QAAQ,UAAUE,SAAS;AAG7C,SAASC,SAASC,IAAI;IACpB,IAAI,CAAE,CAAA,IAAI,YAAYD,QAAO,GAAI,OAAO,IAAIA,SAASC;IAErD,IAAI,YAAY,OAAOA,MAAMA,OAAO;QAAEC,KAAKD;IAAK;IAChD,IAAI,CAACA,MAAMA,OAAO,CAAC;IACnB,IAAI,QAAQA,KAAKE,YAAY,EAAEF,KAAKE,YAAY,GAAG;IACnD,IAAI,QAAQF,KAAKG,aAAa,EAAEH,KAAKG,aAAa,GAAG;IACrD,IAAI,QAAQH,KAAKC,GAAG,EAAE,MAAM,IAAIG,MAAM;IACtC,IAAI,QAAQJ,KAAKK,SAAS,EAAEL,KAAKK,SAAS,GAAG,AAACL,KAAKC,GAAG,GAAG,KAAM;IAE/DH,UAAUQ,IAAI,CAAC,IAAI,EAAEN;IAErB,IAAI,CAACC,GAAG,GAAGD,KAAKC,GAAG;IACnB,IAAI,CAACI,SAAS,GAAGE,KAAKC,GAAG,CAAC,GAAGR,KAAKK,SAAS;IAE3C,IAAI,CAACI,UAAU,GAAG;IAClB,IAAI,CAACC,SAAS,GAAGC,KAAKC,GAAG;IAEzB,IAAI,CAACC,iBAAiB;AACxB;AAEAhB,SAASE,UAAUD;AAMnBH,OAAOI,SAASe,SAAS;AAQzBf,SAASe,SAAS,CAACD,iBAAiB,GAAG;IACrC,IAAI,CAACE,YAAY,CAAC,IAAI,CAACV,SAAS,EAAE,IAAI,CAACW,QAAQ;IAC/C,IAAI,CAACP,UAAU,IAAI,IAAI,CAACJ,SAAS;AACnC;AASAN,SAASe,SAAS,CAACE,QAAQ,GAAG,SAAUC,MAAM,EAAEC,IAAI;IAClD,MAAMC,OAAO,IAAI;IACjB,MAAMC,eAAe,AAACT,CAAAA,KAAKC,GAAG,KAAK,IAAI,CAACF,SAAS,AAAD,IAAK;IACrD,MAAMW,WAAWD,eAAe,IAAI,CAACnB,GAAG;IAExC,SAASqB;QACPH,KAAKN,iBAAiB;QACtBK;IACF;IAEA,IAAI,IAAI,CAACT,UAAU,GAAGY,UAAU;QAE9B,MAAME,YAAY,IAAI,CAACd,UAAU,GAAGY;QACpC,MAAMG,YAAY,AAACD,YAAY,IAAI,CAACtB,GAAG,GAAI;QAE3C,IAAIuB,YAAY,GAAG;YACjBC,WAAWH,GAAGE;QAChB,OAAO;YACLF;QACF;IACF,OAAO;QACLA;IACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/constants/event.constants.ts"],"names":["fdmMonsterPrinterStoppedEvent","fdmPrinterEventToPrinterId","firmwareFlashUploadEvent","octoPrintWebsocketCurrentEvent","octoPrintWebsocketEvent","prefix","printerEvents","socketIoConnectedEvent","uploadProgressEvent","printersDeleted","printerUpdated","printerCreated","batchPrinterCreated","printerId","token","event","split"],"mappings":";;;;;;;;;;;IAeaA,6BAA6B;eAA7BA;;IACAC,0BAA0B;eAA1BA;;IAJAC,wBAAwB;eAAxBA;;IAFAC,8BAA8B;eAA9BA;;IADAC,uBAAuB;eAAvBA;;IAKAC,MAAM;eAANA;;IAZAC,aAAa;eAAbA;;IAFAC,sBAAsB;eAAtBA;;IAWAC,mBAAmB;eAAnBA;;;AAXN,MAAMD,yBAAyB;AAE/B,MAAMD,gBAAgB;IAC3BG,iBAAiB;IACjBC,gBAAgB;IAChBC,gBAAgB;IAChBC,qBAAqB;AACvB;AAEO,MAAMR,0BAA0B,CAACS,YAAc,CAAC,UAAU,EAAEA,UAAU,CAAC;AACvE,MAAMV,iCAAiC,CAACU,YAAc,CAAC,UAAU,EAAEA,UAAU,QAAQ,CAAC;AACtF,MAAML,sBAAsB,CAACM,QAAU,CAAC,gBAAgB,EAAEA,MAAM,CAAC;AACjE,MAAMZ,2BAA2B,CAACW,YAAc,CAAC,gBAAgB,EAAEA,UAAU,CAAC;AAE9E,MAAMR,SAAS;AACf,MAAML,gCAAgC,CAACa,YAAc,CAAC,EAAER,OAAO,CAAC,EAAEQ,UAAU,gBAAgB,CAAC;AAC7F,MAAMZ,6BAA6B,CAACc,QAAUA,MAAMC,KAAK,CAAC,IAAI,CAAC,EAAE"}
1
+ {"version":3,"sources":["../../src/constants/event.constants.ts"],"names":["fdmMonsterPrinterStoppedEvent","fdmPrinterEventToPrinterId","firmwareFlashUploadEvent","octoPrintWebsocketCurrentEvent","octoPrintWebsocketEvent","prefix","printerEvents","socketIoConnectedEvent","uploadProgressEvent","printersDeleted","printerUpdated","printerCreated","batchPrinterCreated","printerId","token","event","split"],"mappings":";;;;;;;;;;;IAeaA,6BAA6B;eAA7BA;;IACAC,0BAA0B;eAA1BA;;IAJAC,wBAAwB;eAAxBA;;IAFAC,8BAA8B;eAA9BA;;IADAC,uBAAuB;eAAvBA;;IAKAC,MAAM;eAANA;;IAZAC,aAAa;eAAbA;;IAFAC,sBAAsB;eAAtBA;;IAWAC,mBAAmB;eAAnBA;;;AAXN,MAAMD,yBAAyB;AAE/B,MAAMD,gBAAgB;IAC3BG,iBAAiB;IACjBC,gBAAgB;IAChBC,gBAAgB;IAChBC,qBAAqB;AACvB;AAEO,MAAMR,0BAA0B,CAACS,YAAsB,CAAC,UAAU,EAAEA,UAAU,CAAC;AAC/E,MAAMV,iCAAiC,CAACU,YAAsB,CAAC,UAAU,EAAEA,UAAU,QAAQ,CAAC;AAC9F,MAAML,sBAAsB,CAACM,QAAkB,CAAC,gBAAgB,EAAEA,MAAM,CAAC;AACzE,MAAMZ,2BAA2B,CAACW,YAAsB,CAAC,gBAAgB,EAAEA,UAAU,CAAC;AAEtF,MAAMR,SAAS;AACf,MAAML,gCAAgC,CAACa,YAAsB,CAAC,EAAER,OAAO,CAAC,EAAEQ,UAAU,gBAAgB,CAAC;AACrG,MAAMZ,6BAA6B,CAACc,QAAkBA,MAAMC,KAAK,CAAC,IAAI,CAAC,EAAE"}
@@ -12,30 +12,15 @@ _export(exports, {
12
12
  UUID_LENGTH: function() {
13
13
  return UUID_LENGTH;
14
14
  },
15
- getDefaultPrinterEntry: function() {
16
- return getDefaultPrinterEntry;
17
- },
18
- getFileListDefault: function() {
19
- return getFileListDefault;
15
+ apiKeyLengthMinimumDefault: function() {
16
+ return apiKeyLengthMinimumDefault;
20
17
  },
21
18
  minFloorNameLength: function() {
22
19
  return minFloorNameLength;
23
20
  }
24
21
  });
25
- function getFileListDefault() {
26
- return {
27
- files: [],
28
- folders: [],
29
- free: 0,
30
- total: 0
31
- };
32
- }
33
- function getDefaultPrinterEntry() {
34
- return {
35
- fileList: getFileListDefault()
36
- };
37
- }
38
22
  const UUID_LENGTH = 32;
39
23
  const minFloorNameLength = 3;
24
+ const apiKeyLengthMinimumDefault = 32;
40
25
 
41
26
  //# sourceMappingURL=service.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/constants/service.constants.ts"],"names":["UUID_LENGTH","getDefaultPrinterEntry","getFileListDefault","minFloorNameLength","files","folders","free","total","fileList"],"mappings":";;;;;;;;;;;IAeaA,WAAW;eAAXA;;IANGC,sBAAsB;eAAtBA;;IATAC,kBAAkB;eAAlBA;;IAgBHC,kBAAkB;eAAlBA;;;AAhBN,SAASD;IACd,OAAO;QACLE,OAAO,EAAE;QACTC,SAAS,EAAE;QACXC,MAAM;QACNC,OAAO;IACT;AACF;AAEO,SAASN;IACd,OAAO;QACLO,UAAUN;IACZ;AACF;AAEO,MAAMF,cAAc;AACpB,MAAMG,qBAAqB"}
1
+ {"version":3,"sources":["../../src/constants/service.constants.ts"],"names":["UUID_LENGTH","apiKeyLengthMinimumDefault","minFloorNameLength"],"mappings":";;;;;;;;;;;IAAaA,WAAW;eAAXA;;IAGAC,0BAA0B;eAA1BA;;IAFAC,kBAAkB;eAAlBA;;;AADN,MAAMF,cAAc;AACpB,MAAME,qBAAqB;AAE3B,MAAMD,6BAA6B"}
package/dist/container.js CHANGED
@@ -2,9 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- Object.defineProperty(exports, "configureContainer", {
6
- enumerable: true,
7
- get: function() {
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ config: function() {
13
+ return config;
14
+ },
15
+ configureContainer: function() {
8
16
  return configureContainer;
9
17
  }
10
18
  });
@@ -15,6 +23,7 @@ const _awilix = require("awilix");
15
23
  const _toadscheduler = require("toad-scheduler");
16
24
  const _containertokens = require("./container.tokens");
17
25
  const _printerservice = require("./services/printer.service");
26
+ const _printerservice1 = require("./services/orm/printer.service");
18
27
  const _settingsstore = require("./state/settings.store");
19
28
  const _settingsservice = require("./services/settings.service");
20
29
  const _serverreleaseservice = require("./services/core/server-release.service");
@@ -30,6 +39,7 @@ const _printerfilesstore = require("./state/printer-files.store");
30
39
  const _eventemitter = require("./handlers/event-emitter");
31
40
  const _serverconstants = require("./server.constants");
32
41
  const _printerfilesservice = require("./services/printer-files.service");
42
+ const _printerfilesservice1 = require("./services/orm/printer-files.service");
33
43
  const _softwareupdatetask = require("./tasks/software-update.task");
34
44
  const _loggerfactory = require("./handlers/logger-factory");
35
45
  const _multerservice = require("./services/core/multer.service");
@@ -37,12 +47,16 @@ const _fileuploadtrackercache = require("./state/file-upload-tracker.cache");
37
47
  const _serverhost = require("./server.host");
38
48
  const _boottask = require("./tasks/boot.task");
39
49
  const _userservice = require("./services/authentication/user.service");
50
+ const _userservice1 = require("./services/orm/user.service");
40
51
  const _roleservice = require("./services/authentication/role.service");
52
+ const _roleservice1 = require("./services/orm/role.service");
41
53
  const _tasks = require("./tasks");
42
54
  const _permissionservice = require("./services/authentication/permission.service");
55
+ const _permissionservice1 = require("./services/orm/permission.service");
43
56
  const _printerfilecleantask = require("./tasks/printer-file-clean.task");
44
57
  const _authorizationconstants = require("./constants/authorization.constants");
45
58
  const _customgcodeservice = require("./services/custom-gcode.service");
59
+ const _customgcodeservice1 = require("./services/orm/custom-gcode.service");
46
60
  const _printerwebsocketrestoretask = require("./tasks/printer-websocket-restore.task");
47
61
  const _pluginfirmwareupdateservice = require("./services/octoprint/plugin-firmware-update.service");
48
62
  const _pluginrepositorycache = require("./services/octoprint/plugin-repository.cache");
@@ -51,6 +65,7 @@ const _influxdbv2baseservice = require("./services/influxdb-v2/influx-db-v2-base
51
65
  const _configservice = require("./services/core/config.service");
52
66
  const _printcompletionsocketiotask = require("./tasks/print-completion.socketio.task");
53
67
  const _printcompletionservice = require("./services/print-completion.service");
68
+ const _printcompletionservice1 = require("./services/orm/print-completion.service");
54
69
  const _socketiogateway = require("./state/socket-io.gateway");
55
70
  const _clientbundleservice = require("./services/core/client-bundle.service");
56
71
  const _floorservice = require("./services/floor.service");
@@ -66,38 +81,61 @@ const _testprintersocketstore = require("./state/test-printer-socket.store");
66
81
  const _printereventscache = require("./state/printer-events.cache");
67
82
  const _logsmanagerservice = require("./services/core/logs-manager.service");
68
83
  const _camerastreamservice = require("./services/camera-stream.service");
84
+ const _camerastreamservice1 = require("./services/orm/camera-stream.service");
69
85
  const _jwtservice = require("./services/authentication/jwt.service");
70
86
  const _authservice = require("./services/authentication/auth.service");
71
87
  const _refreshtokenservice = require("./services/authentication/refresh-token.service");
88
+ const _pluginthrottling = require("@octokit/plugin-throttling");
89
+ const _printerstateupdatepolltask = require("./tasks/printer-state-update-poll.task");
90
+ const _printerconnectioncache = require("./state/printer-connection.cache");
91
+ const _refreshtokenservice1 = require("./services/orm/refresh-token.service");
92
+ const _settingsservice1 = require("./services/orm/settings.service");
93
+ const _floorservice1 = require("./services/orm/floor.service");
94
+ const _floorpositionservice = require("./services/orm/floor-position.service");
95
+ const _typeormservice = require("./services/typeorm/typeorm.service");
96
+ const _userroleservice = require("./services/orm/user-role.service");
72
97
  function _interop_require_default(obj) {
73
98
  return obj && obj.__esModule ? obj : {
74
99
  default: obj
75
100
  };
76
101
  }
77
- function configureContainer() {
102
+ function config(key, experimentalMode, serviceTypeorm, serviceMongoose) {
103
+ return {
104
+ [key]: experimentalMode ? serviceTypeorm : serviceMongoose
105
+ };
106
+ }
107
+ function configureContainer(isSqlite = false) {
78
108
  const container = (0, _awilix.createContainer)({
79
109
  injectionMode: _awilix.InjectionMode.PROXY
80
110
  });
81
- const isSqlite = false;
82
111
  const di = _containertokens.DITokens;
83
112
  container.register({
84
113
  [di.serverTasks]: (0, _awilix.asValue)(_tasks.ServerTasks),
85
114
  [di.isTypeormMode]: (0, _awilix.asValue)(isSqlite),
86
- [di.appDefaultRole]: (0, _awilix.asValue)(_authorizationconstants.ROLES.ADMIN),
115
+ [di.appDefaultRole]: (0, _awilix.asValue)(_authorizationconstants.ROLES.GUEST),
87
116
  [di.appDefaultRoleNoLogin]: (0, _awilix.asValue)(_authorizationconstants.ROLES.ADMIN),
88
117
  [di.serverVersion]: (0, _awilix.asFunction)(()=>{
89
118
  return process.env[_serverconstants.AppConstants.VERSION_KEY];
90
119
  }),
91
120
  [di.socketFactory]: (0, _awilix.asClass)(_socketfactory.SocketFactory).transient(),
121
+ ...config(di.typeormService, isSqlite, (0, _awilix.asClass)(_typeormservice.TypeormService).singleton(), (0, _awilix.asValue)(null)),
122
+ ...config(di.settingsService, isSqlite, (0, _awilix.asClass)(_settingsservice1.SettingsService2), (0, _awilix.asClass)(_settingsservice.SettingsService)),
123
+ ...config(di.floorService, isSqlite, (0, _awilix.asClass)(_floorservice1.FloorService).singleton(), (0, _awilix.asClass)(_floorservice.FloorService).singleton()),
124
+ ...config(di.floorPositionService, isSqlite, (0, _awilix.asClass)(_floorpositionservice.FloorPositionService).singleton(), (0, _awilix.asValue)(null)),
125
+ ...config(di.cameraStreamService, isSqlite, (0, _awilix.asClass)(_camerastreamservice1.CameraStreamService).singleton(), (0, _awilix.asClass)(_camerastreamservice.CameraStreamService).singleton()),
126
+ ...config(di.printerService, isSqlite, (0, _awilix.asClass)(_printerservice1.PrinterService), (0, _awilix.asClass)(_printerservice.PrinterService)),
127
+ ...config(di.printerFilesService, isSqlite, (0, _awilix.asClass)(_printerfilesservice1.PrinterFilesService), (0, _awilix.asClass)(_printerfilesservice.PrinterFilesService)),
128
+ ...config(di.refreshTokenService, isSqlite, (0, _awilix.asClass)(_refreshtokenservice1.RefreshTokenService).singleton(), (0, _awilix.asClass)(_refreshtokenservice.RefreshTokenService).singleton()),
129
+ ...config(di.userService, isSqlite, (0, _awilix.asClass)(_userservice1.UserService).singleton(), (0, _awilix.asClass)(_userservice.UserService).singleton()),
130
+ ...config(di.userRoleService, isSqlite, (0, _awilix.asClass)(_userroleservice.UserRoleService).singleton(), (0, _awilix.asValue)(null)),
131
+ ...config(di.roleService, isSqlite, (0, _awilix.asClass)(_roleservice1.RoleService).singleton(), (0, _awilix.asClass)(_roleservice.RoleService).singleton()),
132
+ ...config(di.permissionService, isSqlite, (0, _awilix.asClass)(_permissionservice1.PermissionService).singleton(), (0, _awilix.asClass)(_permissionservice.PermissionService).singleton()),
133
+ ...config(di.customGCodeService, isSqlite, (0, _awilix.asClass)(_customgcodeservice1.CustomGcodeService).singleton(), (0, _awilix.asClass)(_customgcodeservice.CustomGcodeService).singleton()),
134
+ ...config(di.printCompletionService, isSqlite, (0, _awilix.asClass)(_printcompletionservice1.PrintCompletionService).singleton(), (0, _awilix.asClass)(_printcompletionservice.PrintCompletionService).singleton()),
92
135
  [di.serverHost]: (0, _awilix.asClass)(_serverhost.ServerHost).singleton(),
93
136
  [di.settingsStore]: (0, _awilix.asClass)(_settingsstore.SettingsStore).singleton(),
94
- [di.settingsService]: (0, _awilix.asClass)(_settingsservice.SettingsService),
95
137
  [di.configService]: (0, _awilix.asClass)(_configservice.ConfigService),
96
138
  [di.authService]: (0, _awilix.asClass)(_authservice.AuthService).singleton(),
97
- [di.refreshTokenService]: (0, _awilix.asClass)(_refreshtokenservice.RefreshTokenService).singleton(),
98
- [di.userService]: (0, _awilix.asClass)(_userservice.UserService),
99
- [di.roleService]: (0, _awilix.asClass)(_roleservice.RoleService).singleton(),
100
- [di.permissionService]: (0, _awilix.asClass)(_permissionservice.PermissionService).singleton(),
101
139
  [di.jwtService]: (0, _awilix.asClass)(_jwtservice.JwtService).singleton(),
102
140
  [di.loggerFactory]: (0, _awilix.asFunction)(_loggerfactory.LoggerFactory).transient(),
103
141
  [di.taskManagerService]: (0, _awilix.asClass)(_taskmanagerservice.TaskManagerService).singleton(),
@@ -110,8 +148,19 @@ function configureContainer() {
110
148
  [di.githubService]: (0, _awilix.asClass)(_githubservice.GithubService),
111
149
  [di.octokitService]: (0, _awilix.asFunction)((cradle)=>{
112
150
  const config = cradle.configService;
113
- return new _octokit.Octokit({
114
- auth: config.get(_serverconstants.AppConstants.GITHUB_PAT)
151
+ const CustomOctoKit = _octokit.Octokit.plugin(_pluginthrottling.throttling);
152
+ return new CustomOctoKit({
153
+ auth: config.get(_serverconstants.AppConstants.GITHUB_PAT),
154
+ throttle: {
155
+ onRateLimit: (retryAfter, options, octokit, retryCount)=>{
156
+ const logger = (0, _loggerfactory.LoggerFactory)()("OctoKitThrottle");
157
+ logger.warn(`Request quota exhaustedd for request ${options.method} ${options.url}`);
158
+ },
159
+ onSecondaryRateLimit: (retryAfter, options, octokit)=>{
160
+ const logger = (0, _loggerfactory.LoggerFactory)()("OctoKitThrottle");
161
+ logger.warn(`SecondaryRateLimit detected for request ${options.method} ${options.url}`);
162
+ }
163
+ }
115
164
  });
116
165
  }),
117
166
  [di.clientBundleService]: (0, _awilix.asClass)(_clientbundleservice.ClientBundleService),
@@ -123,13 +172,8 @@ function configureContainer() {
123
172
  })),
124
173
  [di.socketIoGateway]: (0, _awilix.asClass)(_socketiogateway.SocketIoGateway).singleton(),
125
174
  [di.multerService]: (0, _awilix.asClass)(_multerservice.MulterService).singleton(),
126
- [di.printerService]: (0, _awilix.asClass)(_printerservice.PrinterService),
127
- [di.printerFilesService]: (0, _awilix.asClass)(_printerfilesservice.PrinterFilesService),
128
- [di.floorService]: (0, _awilix.asClass)(_floorservice.FloorService).singleton(),
129
175
  [di.yamlService]: (0, _awilix.asClass)(_yamlservice.YamlService),
130
- [di.printCompletionService]: (0, _awilix.asClass)(_printcompletionservice.PrintCompletionService).singleton(),
131
176
  [di.octoPrintApiService]: (0, _awilix.asClass)(_octoprintapiservice.OctoPrintApiService).singleton(),
132
- [di.cameraStreamService]: (0, _awilix.asClass)(_camerastreamservice.CameraStreamService),
133
177
  [di.batchCallService]: (0, _awilix.asClass)(_batchcallservice.BatchCallService).singleton(),
134
178
  [di.pluginFirmwareUpdateService]: (0, _awilix.asClass)(_pluginfirmwareupdateservice.PluginFirmwareUpdateService).singleton(),
135
179
  [di.octoPrintSockIoAdapter]: (0, _awilix.asClass)(_octoprintsockioadapter.OctoPrintSockIoAdapter).transient(),
@@ -139,10 +183,10 @@ function configureContainer() {
139
183
  [di.fileUploadTrackerCache]: (0, _awilix.asClass)(_fileuploadtrackercache.FileUploadTrackerCache).singleton(),
140
184
  [di.printerFilesStore]: (0, _awilix.asClass)(_printerfilesstore.PrinterFilesStore).singleton(),
141
185
  [di.printerCache]: (0, _awilix.asClass)(_printercache.PrinterCache).singleton(),
186
+ [di.printerConnectionCache]: (0, _awilix.asClass)(_printerconnectioncache.PrinterConnectionCache).singleton(),
142
187
  [di.printerEventsCache]: (0, _awilix.asClass)(_printereventscache.PrinterEventsCache).singleton(),
143
188
  [di.printerSocketStore]: (0, _awilix.asClass)(_printersocketstore.PrinterSocketStore).singleton(),
144
189
  [di.testPrinterSocketStore]: (0, _awilix.asClass)(_testprintersocketstore.TestPrinterSocketStore).singleton(),
145
- [di.customGCodeService]: (0, _awilix.asClass)(_customgcodeservice.CustomGcodeService),
146
190
  [di.influxDbV2BaseService]: (0, _awilix.asClass)(_influxdbv2baseservice.InfluxDbV2BaseService),
147
191
  [di.bootTask]: (0, _awilix.asClass)(_boottask.BootTask),
148
192
  [di.softwareUpdateTask]: (0, _awilix.asClass)(_softwareupdatetask.SoftwareUpdateTask),
@@ -151,6 +195,7 @@ function configureContainer() {
151
195
  [di.printCompletionSocketIoTask]: (0, _awilix.asClass)(_printcompletionsocketiotask.PrintCompletionSocketIoTask).singleton(),
152
196
  [di.printerWebsocketTask]: (0, _awilix.asClass)(_printerwebsockettask.PrinterWebsocketTask).singleton(),
153
197
  [di.printerWebsocketRestoreTask]: (0, _awilix.asClass)(_printerwebsocketrestoretask.PrinterWebsocketRestoreTask).singleton(),
198
+ [di.printerStateUpdatePollTask]: (0, _awilix.asClass)(_printerstateupdatepolltask.PrinterStateUpdatePollTask).singleton(),
154
199
  [di.printerFileCleanTask]: (0, _awilix.asClass)(_printerfilecleantask.PrinterFileCleanTask).singleton()
155
200
  });
156
201
  return container;