@fdm-monster/server 1.5.3 → 1.5.4

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 (181) hide show
  1. package/README.md +1 -1
  2. package/dist/constants/authorization.constants.js +0 -1
  3. package/dist/constants/authorization.constants.js.map +1 -1
  4. package/dist/constants/http-status-codes.constants.js +62 -255
  5. package/dist/constants/http-status-codes.constants.js.map +1 -1
  6. package/dist/constants/server-settings.constants.js +0 -4
  7. package/dist/constants/server-settings.constants.js.map +1 -1
  8. package/dist/constants/service.constants.js +3 -3
  9. package/dist/constants/service.constants.js.map +1 -1
  10. package/dist/container.js +4 -10
  11. package/dist/container.js.map +1 -1
  12. package/dist/container.tokens.js +1 -7
  13. package/dist/container.tokens.js.map +1 -1
  14. package/dist/controllers/auth.controller.js +0 -2
  15. package/dist/controllers/auth.controller.js.map +1 -1
  16. package/dist/controllers/custom-gcode.controller.js +1 -3
  17. package/dist/controllers/custom-gcode.controller.js.map +1 -1
  18. package/dist/controllers/floor.controller.js +0 -5
  19. package/dist/controllers/floor.controller.js.map +1 -1
  20. package/dist/controllers/plugin-firmware-update.controller.js +1 -3
  21. package/dist/controllers/plugin-firmware-update.controller.js.map +1 -1
  22. package/dist/controllers/print-completion.controller.js +1 -3
  23. package/dist/controllers/print-completion.controller.js.map +1 -1
  24. package/dist/controllers/printer-files.controller.js +19 -38
  25. package/dist/controllers/printer-files.controller.js.map +1 -1
  26. package/dist/controllers/printer.controller.js +7 -25
  27. package/dist/controllers/printer.controller.js.map +1 -1
  28. package/dist/controllers/server-private.controller.js +0 -1
  29. package/dist/controllers/server-private.controller.js.map +1 -1
  30. package/dist/controllers/server-public.controller.js +0 -1
  31. package/dist/controllers/server-public.controller.js.map +1 -1
  32. package/dist/controllers/settings.controller.js +0 -2
  33. package/dist/controllers/settings.controller.js.map +1 -1
  34. package/dist/controllers/user.controller.js +1 -10
  35. package/dist/controllers/user.controller.js.map +1 -1
  36. package/dist/controllers/validation/setting.validation.js +0 -1
  37. package/dist/controllers/validation/setting.validation.js.map +1 -1
  38. package/dist/handlers/cache-manager.js +1 -1
  39. package/dist/handlers/cache-manager.js.map +1 -1
  40. package/dist/handlers/event-emitter.js +0 -7
  41. package/dist/handlers/event-emitter.js.map +1 -1
  42. package/dist/handlers/logger.js +1 -1
  43. package/dist/handlers/logger.js.map +1 -1
  44. package/dist/handlers/validators.js +1 -1
  45. package/dist/handlers/validators.js.map +1 -1
  46. package/dist/middleware/authenticate.js +0 -2
  47. package/dist/middleware/authenticate.js.map +1 -1
  48. package/dist/middleware/exception.filter.js +0 -1
  49. package/dist/middleware/exception.filter.js.map +1 -1
  50. package/dist/middleware/global.middleware.js +0 -4
  51. package/dist/middleware/global.middleware.js.map +1 -1
  52. package/dist/models/Auth/User.js +0 -2
  53. package/dist/models/Auth/User.js.map +1 -1
  54. package/dist/models/Printer.js +0 -3
  55. package/dist/models/Printer.js.map +1 -1
  56. package/dist/models/Settings.js +0 -1
  57. package/dist/models/Settings.js.map +1 -1
  58. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js +0 -4
  59. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +1 -1
  60. package/dist/mongo-migrations/20210907173950-printers-enabled.js +0 -4
  61. package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +1 -1
  62. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js +0 -4
  63. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +1 -1
  64. package/dist/mongo-migrations/20231111081809-printer-flatten-name.js +0 -5
  65. package/dist/mongo-migrations/20231111081809-printer-flatten-name.js.map +1 -1
  66. package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js +0 -5
  67. package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js.map +1 -1
  68. package/dist/server.constants.js +1 -19
  69. package/dist/server.constants.js.map +1 -1
  70. package/dist/server.core.js +6 -7
  71. package/dist/server.core.js.map +1 -1
  72. package/dist/server.env.js +4 -16
  73. package/dist/server.env.js.map +1 -1
  74. package/dist/server.host.js +3 -7
  75. package/dist/server.host.js.map +1 -1
  76. package/dist/services/authentication/auth.service.js +2 -20
  77. package/dist/services/authentication/auth.service.js.map +1 -1
  78. package/dist/services/authentication/jwt.service.js +0 -1
  79. package/dist/services/authentication/jwt.service.js.map +1 -1
  80. package/dist/services/authentication/refresh-token.service.js +0 -3
  81. package/dist/services/authentication/refresh-token.service.js.map +1 -1
  82. package/dist/services/authentication/user.service.js +0 -4
  83. package/dist/services/authentication/user.service.js.map +1 -1
  84. package/dist/services/batch-call.service.js +4 -8
  85. package/dist/services/batch-call.service.js.map +1 -1
  86. package/dist/services/camera-stream.service.js +0 -1
  87. package/dist/services/camera-stream.service.js.map +1 -1
  88. package/dist/services/core/client-bundle.service.js +1 -4
  89. package/dist/services/core/client-bundle.service.js.map +1 -1
  90. package/dist/services/core/logs-manager.service.js +1 -2
  91. package/dist/services/core/logs-manager.service.js.map +1 -1
  92. package/dist/services/core/multer.service.js +3 -6
  93. package/dist/services/core/multer.service.js.map +1 -1
  94. package/dist/services/core/server-release.service.js +4 -13
  95. package/dist/services/core/server-release.service.js.map +1 -1
  96. package/dist/services/core/server-update.service.js +0 -2
  97. package/dist/services/core/server-update.service.js.map +1 -1
  98. package/dist/services/core/task-manager.service.js +9 -22
  99. package/dist/services/core/task-manager.service.js.map +1 -1
  100. package/dist/services/core/yaml.service.js +0 -7
  101. package/dist/services/core/yaml.service.js.map +1 -1
  102. package/dist/services/floor.service.js +2 -43
  103. package/dist/services/floor.service.js.map +1 -1
  104. package/dist/services/interfaces/refresh-token.dto.js +0 -2
  105. package/dist/services/interfaces/refresh-token.dto.js.map +1 -1
  106. package/dist/services/interfaces/settings.dto.js +0 -1
  107. package/dist/services/interfaces/settings.dto.js.map +1 -1
  108. package/dist/services/octoprint/constants/octoprint-service.constants.js +0 -3
  109. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
  110. package/dist/services/octoprint/octoprint-api.routes.js +0 -2
  111. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  112. package/dist/services/octoprint/octoprint-api.service.js +10 -27
  113. package/dist/services/octoprint/octoprint-api.service.js.map +1 -1
  114. package/dist/services/octoprint/octoprint-sockio.adapter.js +10 -43
  115. package/dist/services/octoprint/octoprint-sockio.adapter.js.map +1 -1
  116. package/dist/services/octoprint/plugin-base.service.js +0 -1
  117. package/dist/services/octoprint/plugin-base.service.js.map +1 -1
  118. package/dist/services/octoprint/plugin-firmware-update.service.js +0 -3
  119. package/dist/services/octoprint/plugin-firmware-update.service.js.map +1 -1
  120. package/dist/services/print-completion.shared.js +0 -1
  121. package/dist/services/print-completion.shared.js.map +1 -1
  122. package/dist/services/printer-files.service.js +1 -5
  123. package/dist/services/printer-files.service.js.map +1 -1
  124. package/dist/services/printer.service.js +2 -13
  125. package/dist/services/printer.service.js.map +1 -1
  126. package/dist/services/settings.service.js +2 -8
  127. package/dist/services/settings.service.js.map +1 -1
  128. package/dist/services/validators/floor-service.validation.js +3 -3
  129. package/dist/services/validators/floor-service.validation.js.map +1 -1
  130. package/dist/services/validators/yaml-service.validation.js +0 -3
  131. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  132. package/dist/state/file-upload-tracker.cache.js +0 -1
  133. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  134. package/dist/state/file.cache.js +1 -8
  135. package/dist/state/file.cache.js.map +1 -1
  136. package/dist/state/floor.store.js +0 -1
  137. package/dist/state/floor.store.js.map +1 -1
  138. package/dist/state/printer-events.cache.js +1 -3
  139. package/dist/state/printer-events.cache.js.map +1 -1
  140. package/dist/state/{files.store.js → printer-files.store.js} +11 -25
  141. package/dist/state/printer-files.store.js.map +1 -0
  142. package/dist/state/printer-socket.store.js +7 -32
  143. package/dist/state/printer-socket.store.js.map +1 -1
  144. package/dist/state/printer.cache.js +0 -1
  145. package/dist/state/printer.cache.js.map +1 -1
  146. package/dist/state/settings.store.js +0 -2
  147. package/dist/state/settings.store.js.map +1 -1
  148. package/dist/state/socket-io.gateway.js +0 -2
  149. package/dist/state/socket-io.gateway.js.map +1 -1
  150. package/dist/state/test-printer-socket.store.js +1 -7
  151. package/dist/state/test-printer-socket.store.js.map +1 -1
  152. package/dist/task.presets.js +0 -11
  153. package/dist/task.presets.js.map +1 -1
  154. package/dist/tasks/boot.task.js +6 -10
  155. package/dist/tasks/boot.task.js.map +1 -1
  156. package/dist/tasks/print-completion.socketio.task.js +0 -4
  157. package/dist/tasks/print-completion.socketio.task.js.map +1 -1
  158. package/dist/tasks/printer-file-clean.task.js +12 -20
  159. package/dist/tasks/printer-file-clean.task.js.map +1 -1
  160. package/dist/tasks/printer-websocket-restore.task.js +1 -5
  161. package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
  162. package/dist/tasks/printer-websocket.task.js +5 -15
  163. package/dist/tasks/printer-websocket.task.js.map +1 -1
  164. package/dist/tasks/socketio.task.js +0 -1
  165. package/dist/tasks/socketio.task.js.map +1 -1
  166. package/dist/tasks.js +0 -2
  167. package/dist/tasks.js.map +1 -1
  168. package/dist/types/express/index.d.js +0 -1
  169. package/dist/types/express/index.d.js.map +1 -1
  170. package/dist/utils/env.utils.js +2 -5
  171. package/dist/utils/env.utils.js.map +1 -1
  172. package/dist/utils/is-docker.js +1 -1
  173. package/dist/utils/is-docker.js.map +1 -1
  174. package/dist/utils/normalize-url.js +0 -35
  175. package/dist/utils/normalize-url.js.map +1 -1
  176. package/dist/utils/semver.utils.js +0 -1
  177. package/dist/utils/semver.utils.js.map +1 -1
  178. package/dist/utils/websocket.adapter.js +8 -54
  179. package/dist/utils/websocket.adapter.js.map +1 -1
  180. package/package.json +23 -23
  181. package/dist/state/files.store.js.map +0 -1
@@ -1,4 +1,3 @@
1
- // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs
2
1
  "use strict";
3
2
  Object.defineProperty(exports, "__esModule", {
4
3
  value: true
@@ -38,11 +37,9 @@ const normalizeDataURL = (urlString, { stripHash })=>{
38
37
  mediaType.pop();
39
38
  isBase64 = true;
40
39
  }
41
- // Lowercase MIME type
42
40
  const mimeType = mediaType.shift()?.toLowerCase() ?? "";
43
41
  const attributes = mediaType.map((attribute)=>{
44
42
  let [key, value = ""] = attribute.split("=").map((string)=>string.trim());
45
- // Lowercase `charset`
46
43
  if (key === "charset") {
47
44
  value = value.toLowerCase();
48
45
  if (value === DATA_URL_DEFAULT_CHARSET) {
@@ -82,12 +79,10 @@ function normalizeUrl(urlString, options) {
82
79
  sortQueryParameters: true,
83
80
  ...options
84
81
  };
85
- // Legacy: Append `:` to the protocol if missing.
86
82
  if (typeof options.defaultProtocol === "string" && !options.defaultProtocol.endsWith(":")) {
87
83
  options.defaultProtocol = `${options.defaultProtocol}:`;
88
84
  }
89
85
  urlString = urlString.trim();
90
- // Data URL
91
86
  if (/^data:/i.test(urlString)) {
92
87
  return normalizeDataURL(urlString, options);
93
88
  }
@@ -96,7 +91,6 @@ function normalizeUrl(urlString, options) {
96
91
  }
97
92
  const hasRelativeProtocol = urlString.startsWith("//");
98
93
  const isRelativeUrl = !hasRelativeProtocol && /^\.*\//.test(urlString);
99
- // Prepend protocol
100
94
  if (!isRelativeUrl) {
101
95
  urlString = urlString.replace(/^(?!(?:\w+:)?\/\/)|^\/\//, options.defaultProtocol);
102
96
  }
@@ -110,26 +104,16 @@ function normalizeUrl(urlString, options) {
110
104
  if (options.forceHttps && urlObject.protocol === "http:") {
111
105
  urlObject.protocol = "https:";
112
106
  }
113
- // Remove auth
114
107
  if (options.stripAuthentication) {
115
108
  urlObject.username = "";
116
109
  urlObject.password = "";
117
110
  }
118
- // Remove hash
119
111
  if (options.stripHash) {
120
112
  urlObject.hash = "";
121
113
  } else if (options.stripTextFragment) {
122
114
  urlObject.hash = urlObject.hash.replace(/#?:~:text.*?$/i, "");
123
115
  }
124
- // Remove duplicate slashes if not preceded by a protocol
125
- // NOTE: This could be implemented using a single negative lookbehind
126
- // regex, but we avoid that to maintain compatibility with older js engines
127
- // which do not have support for that feature.
128
116
  if (urlObject.pathname) {
129
- // TODO: Replace everything below with `urlObject.pathname = urlObject.pathname.replace(/(?<!\b[a-z][a-z\d+\-.]{1,50}:)\/{2,}/g, '/');` when Safari supports negative lookbehind.
130
- // Split the string by occurrences of this protocol regex, and perform
131
- // duplicate-slash replacement on the strings between those occurrences
132
- // (if any).
133
117
  const protocolRegex = /\b[a-z][a-z\d+\-.]{1,50}:\/\//g;
134
118
  let lastIndex = 0;
135
119
  let result = "";
@@ -149,13 +133,11 @@ function normalizeUrl(urlString, options) {
149
133
  result += remnant.replace(/\/{2,}/g, "/");
150
134
  urlObject.pathname = result;
151
135
  }
152
- // Decode URI octets
153
136
  if (urlObject.pathname) {
154
137
  try {
155
138
  urlObject.pathname = decodeURI(urlObject.pathname);
156
139
  } catch {}
157
140
  }
158
- // Remove directory index
159
141
  if (options.removeDirectoryIndex === true) {
160
142
  options.removeDirectoryIndex = [
161
143
  /^index\.[a-z]+$/
@@ -170,20 +152,12 @@ function normalizeUrl(urlString, options) {
170
152
  }
171
153
  }
172
154
  if (urlObject.hostname) {
173
- // Remove trailing dot
174
155
  urlObject.hostname = urlObject.hostname.replace(/\.$/, "");
175
- // Remove `www.`
176
156
  if (options.stripWWW && /^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(urlObject.hostname)) {
177
- // Each label should be max 63 at length (min: 1).
178
- // Source: https://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names
179
- // Each TLD should be up to 63 characters long (min: 2).
180
- // It is technically possible to have a single character TLD, but none currently exist.
181
157
  urlObject.hostname = urlObject.hostname.replace(/^www\./, "");
182
158
  }
183
159
  }
184
- // Remove query unwanted parameters
185
160
  if (Array.isArray(options.removeQueryParameters)) {
186
- // eslint-disable-next-line unicorn/no-useless-spread -- We are intentionally spreading to get a copy.
187
161
  for (const key of [
188
162
  ...urlObject.searchParams.keys()
189
163
  ]){
@@ -195,9 +169,7 @@ function normalizeUrl(urlString, options) {
195
169
  if (!Array.isArray(options.keepQueryParameters) && options.removeQueryParameters === true) {
196
170
  urlObject.search = "";
197
171
  }
198
- // Keep wanted query parameters
199
172
  if (Array.isArray(options.keepQueryParameters) && options.keepQueryParameters.length > 0) {
200
- // eslint-disable-next-line unicorn/no-useless-spread -- We are intentionally spreading to get a copy.
201
173
  for (const key of [
202
174
  ...urlObject.searchParams.keys()
203
175
  ]){
@@ -206,10 +178,8 @@ function normalizeUrl(urlString, options) {
206
178
  }
207
179
  }
208
180
  }
209
- // Sort query parameters
210
181
  if (options.sortQueryParameters) {
211
182
  urlObject.searchParams.sort();
212
- // Calling `.sort()` encodes the search parameters, so we need to decode them again.
213
183
  try {
214
184
  urlObject.search = decodeURIComponent(urlObject.search);
215
185
  } catch {}
@@ -217,25 +187,20 @@ function normalizeUrl(urlString, options) {
217
187
  if (options.removeTrailingSlash) {
218
188
  urlObject.pathname = urlObject.pathname.replace(/\/$/, "");
219
189
  }
220
- // Remove an explicit port number, excluding a default port number, if applicable
221
190
  if (options.removeExplicitPort && urlObject.port) {
222
191
  urlObject.port = "";
223
192
  }
224
193
  const oldUrlString = urlString;
225
- // Take advantage of many of the Node `url` normalizations
226
194
  urlString = urlObject.toString();
227
195
  if (!options.removeSingleSlash && urlObject.pathname === "/" && !oldUrlString.endsWith("/") && urlObject.hash === "") {
228
196
  urlString = urlString.replace(/\/$/, "");
229
197
  }
230
- // Remove ending `/` unless removeSingleSlash is false
231
198
  if ((options.removeTrailingSlash || urlObject.pathname === "/") && urlObject.hash === "" && options.removeSingleSlash) {
232
199
  urlString = urlString.replace(/\/$/, "");
233
200
  }
234
- // Restore relative protocol, if applicable
235
201
  if (hasRelativeProtocol && !options.normalizeProtocol) {
236
202
  urlString = urlString.replace(/^http:\/\//, "//");
237
203
  }
238
- // Remove http/https
239
204
  if (options.stripProtocol) {
240
205
  urlString = urlString.replace(/^(?:https?:)?\/\//, "");
241
206
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/normalize-url.ts"],"names":["normalizeUrl","DATA_URL_DEFAULT_MIME_TYPE","DATA_URL_DEFAULT_CHARSET","testParameter","name","filters","some","filter","RegExp","test","supportedProtocols","Set","hasCustomProtocol","urlString","protocol","URL","endsWith","has","normalizeDataURL","stripHash","match","exec","Error","type","data","hash","groups","mediaType","split","isBase64","length","pop","mimeType","shift","toLowerCase","attributes","map","attribute","key","value","string","trim","Boolean","normalizedMediaType","push","unshift","join","options","defaultProtocol","normalizeProtocol","forceHttp","forceHttps","stripAuthentication","stripTextFragment","stripWWW","removeQueryParameters","removeTrailingSlash","removeSingleSlash","removeDirectoryIndex","removeExplicitPort","sortQueryParameters","hasRelativeProtocol","startsWith","isRelativeUrl","replace","urlObject","username","password","pathname","protocolRegex","lastIndex","result","protocolAtIndex","index","intermediate","slice","remnant","decodeURI","Array","isArray","pathComponents","lastComponent","hostname","searchParams","keys","delete","keepQueryParameters","search","sort","decodeURIComponent","port","oldUrlString","toString","stripProtocol"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utils/normalize-url.ts"],"names":["normalizeUrl","DATA_URL_DEFAULT_MIME_TYPE","DATA_URL_DEFAULT_CHARSET","testParameter","name","filters","some","filter","RegExp","test","supportedProtocols","Set","hasCustomProtocol","urlString","protocol","URL","endsWith","has","normalizeDataURL","stripHash","match","exec","Error","type","data","hash","groups","mediaType","split","isBase64","length","pop","mimeType","shift","toLowerCase","attributes","map","attribute","key","value","string","trim","Boolean","normalizedMediaType","push","unshift","join","options","defaultProtocol","normalizeProtocol","forceHttp","forceHttps","stripAuthentication","stripTextFragment","stripWWW","removeQueryParameters","removeTrailingSlash","removeSingleSlash","removeDirectoryIndex","removeExplicitPort","sortQueryParameters","hasRelativeProtocol","startsWith","isRelativeUrl","replace","urlObject","username","password","pathname","protocolRegex","lastIndex","result","protocolAtIndex","index","intermediate","slice","remnant","decodeURI","Array","isArray","pathComponents","lastComponent","hostname","searchParams","keys","delete","keepQueryParameters","search","sort","decodeURIComponent","port","oldUrlString","toString","stripProtocol"],"mappings":"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"}
@@ -11,7 +11,6 @@ Object.defineProperty(exports, "checkVersionSatisfiesMinimum", {
11
11
  const _semver = require("semver");
12
12
  function checkVersionSatisfiesMinimum(newVersion, minimumVersion) {
13
13
  const comparison = (0, _semver.compare)(newVersion, minimumVersion);
14
- // Values 0 or 1 mean the client version is less than the minimum and should be force updated
15
14
  return comparison > -1;
16
15
  }
17
16
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/semver.utils.ts"],"names":["checkVersionSatisfiesMinimum","newVersion","minimumVersion","comparison","compare"],"mappings":";;;;+BAEgBA;;;eAAAA;;;wBAFQ;AAEjB,SAASA,6BAA6BC,UAAkB,EAAEC,cAAsB;IACrF,MAAMC,aAAaC,IAAAA,eAAO,EAACH,YAAYC;IACvC,6FAA6F;IAC7F,OAAOC,aAAa,CAAC;AACvB"}
1
+ {"version":3,"sources":["../../src/utils/semver.utils.ts"],"names":["checkVersionSatisfiesMinimum","newVersion","minimumVersion","comparison","compare"],"mappings":";;;;+BAEgBA;;;eAAAA;;;wBAFQ;AAEjB,SAASA,6BAA6BC,UAAkB,EAAEC,cAAsB;IACrF,MAAMC,aAAaC,IAAAA,eAAO,EAACH,YAAYC;IAEvC,OAAOC,aAAa,CAAC;AACvB"}
@@ -23,13 +23,7 @@ class WebsocketAdapter {
23
23
  this.socket?.close();
24
24
  delete this.socket;
25
25
  }
26
- /**
27
- * @protected
28
- * Open a WebSocket connection.
29
- *
30
- * @param {string|URL} url - The URL to connect to.
31
- * @returns {void}
32
- */ open(url) {
26
+ open(url) {
33
27
  this.socket = new _ws.WebSocket(url, {
34
28
  handshakeTimeout: _serverconstants.AppConstants.defaultWebsocketHandshakeTimeout
35
29
  });
@@ -38,13 +32,7 @@ class WebsocketAdapter {
38
32
  this.socket.onclose = (event)=>this.onClose(event);
39
33
  this.socket.onmessage = (message)=>this.onMessage(message.data);
40
34
  }
41
- /**
42
- * @protected
43
- * Send a message through the WebSocket connection.
44
- *
45
- * @param {string} payload - The message payload to send.
46
- * @returns {Promise<void>} A promise that resolves when the message is sent successfully.
47
- */ async sendMessage(payload) {
35
+ async sendMessage(payload) {
48
36
  if (!this.isOpened || !this.socket) {
49
37
  this.#logger.error("Websocket is not opened, cant send a message");
50
38
  return;
@@ -56,48 +44,14 @@ class WebsocketAdapter {
56
44
  });
57
45
  });
58
46
  }
59
- /**
60
- * Handle error event.
61
- * @protected
62
- * @abstract
63
- * @param {Event} error - The error event object.
64
- * @returns {Promise<void> | void} A promise that resolves when the error handling is complete, or void if no promise is returned.
65
- */ onError(error) {}
66
- /**
67
- * Handle after opened event.
68
- * @protected
69
- * @abstract
70
- * @param {Event} event - The event object.
71
- * @returns {Promise<void> | void} A promise that resolves when the after opened handling is complete, or void if no promise is returned.
72
- */ afterOpened(event) {}
73
- /**
74
- * Handle after closed event.
75
- * @protected
76
- * @abstract
77
- * @param {CloseEvent} event - The event object.
78
- * @returns {Promise<void> | void} A promise that resolves when the after closed handling is complete, or void if no promise is returned.
79
- */ afterClosed(event) {}
80
- /**
81
- * Handle message event.
82
- * @protected
83
- * @abstract
84
- * @param {Data} event - The event object.
85
- * @returns {Promise<void> | void} A promise that resolves when the message handling is complete, or void if no promise is returned.
86
- */ onMessage(event) {}
87
- /**
88
- * Handle open event.
89
- * @private
90
- * @param {Event} event - The event object.
91
- * @returns {Promise<void>} A promise that resolves when the open handling is complete.
92
- */ async onOpen(event) {
47
+ onError(error) {}
48
+ afterOpened(event) {}
49
+ afterClosed(event) {}
50
+ onMessage(event) {}
51
+ async onOpen(event) {
93
52
  await this.afterOpened(event);
94
53
  }
95
- /**
96
- * Handle close event.
97
- * @private
98
- * @param {CloseEvent} event - The event object.
99
- * @returns {Promise<void>} A promise that resolves when the close handling is complete.
100
- */ async onClose(event) {
54
+ async onClose(event) {
101
55
  await this.afterClosed(event);
102
56
  }
103
57
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/websocket.adapter.ts"],"names":["WebsocketAdapter","socket","logger","constructor","loggerFactory","name","isOpened","readyState","WebSocket","OPEN","close","open","url","handshakeTimeout","AppConstants","defaultWebsocketHandshakeTimeout","onopen","event","onOpen","onerror","error","onError","onclose","onClose","onmessage","message","onMessage","data","sendMessage","payload","Promise","resolve","reject","send","afterOpened","afterClosed"],"mappings":";;;;+BAKaA;;;eAAAA;;;iCALgB;oBAC6C;AAInE,MAAMA;IACXC,OAAmB;IACnB,CAACC,MAAM,CAAgB;IAEvBC,YAAY,EAAEC,aAAa,EAAqC,CAAE;QAChE,IAAI,CAAC,CAACF,MAAM,GAAGE,cAAcJ,iBAAiBK,IAAI;IACpD;IAEA,IAAIC,WAAW;QACb,OAAO,IAAI,CAACL,MAAM,EAAEM,eAAeC,aAAS,CAACC,IAAI;IACnD;IAEAC,QAAQ;QACN,IAAI,CAACT,MAAM,EAAES;QACb,OAAO,IAAI,CAACT,MAAM;IACpB;IAEA;;;;;;GAMC,GACDU,KAAKC,GAAiB,EAAQ;QAC5B,IAAI,CAACX,MAAM,GAAG,IAAIO,aAAS,CAACI,KAAK;YAAEC,kBAAkBC,6BAAY,CAACC,gCAAgC;QAAC;QACnG,IAAI,CAACd,MAAM,CAACe,MAAM,GAAG,CAACC,QAAU,IAAI,CAACC,MAAM,CAACD;QAC5C,IAAI,CAAChB,MAAM,CAACkB,OAAO,GAAG,CAACC,QAAU,IAAI,CAACC,OAAO,CAACD;QAC9C,IAAI,CAACnB,MAAM,CAACqB,OAAO,GAAG,CAACL,QAAU,IAAI,CAACM,OAAO,CAACN;QAC9C,IAAI,CAAChB,MAAM,CAACuB,SAAS,GAAG,CAACC,UAAY,IAAI,CAACC,SAAS,CAACD,QAAQE,IAAI;IAClE;IAEA;;;;;;GAMC,GACD,MAAMC,YAAYC,OAAe,EAAiB;QAChD,IAAI,CAAC,IAAI,CAACvB,QAAQ,IAAI,CAAC,IAAI,CAACL,MAAM,EAAE;YAClC,IAAI,CAAC,CAACC,MAAM,CAACkB,KAAK,CAAC;YACnB;QACF;QACA,OAAO,MAAM,IAAIU,QAAQ,CAACC,SAASC;YACjC,IAAI,CAAC/B,MAAM,CAAEgC,IAAI,CAACJ,SAAS,CAACT;gBAC1B,IAAIA,OAAOY,OAAOZ;gBAClBW;YACF;QACF;IACF;IAEA;;;;;;GAMC,GACDV,QAAQD,KAAiB,EAAwB,CAAC;IAElD;;;;;;GAMC,GACDc,YAAYjB,KAAc,EAAwB,CAAC;IAEnD;;;;;;GAMC,GACDkB,YAAYlB,KAAiB,EAAwB,CAAC;IAEtD;;;;;;GAMC,GACDS,UAAUT,KAAW,EAAwB,CAAC;IAE9C;;;;;GAKC,GACD,MAAMC,OAAOD,KAAc,EAAiB;QAC1C,MAAM,IAAI,CAACiB,WAAW,CAACjB;IACzB;IAEA;;;;;GAKC,GACD,MAAMM,QAAQN,KAAiB,EAAiB;QAC9C,MAAM,IAAI,CAACkB,WAAW,CAAClB;IACzB;AACF"}
1
+ {"version":3,"sources":["../../src/utils/websocket.adapter.ts"],"names":["WebsocketAdapter","socket","logger","constructor","loggerFactory","name","isOpened","readyState","WebSocket","OPEN","close","open","url","handshakeTimeout","AppConstants","defaultWebsocketHandshakeTimeout","onopen","event","onOpen","onerror","error","onError","onclose","onClose","onmessage","message","onMessage","data","sendMessage","payload","Promise","resolve","reject","send","afterOpened","afterClosed"],"mappings":";;;;+BAKaA;;;eAAAA;;;iCALgB;oBAC6C;AAInE,MAAMA;IACXC,OAAmB;IACnB,CAACC,MAAM,CAAgB;IAEvBC,YAAY,EAAEC,aAAa,EAAqC,CAAE;QAChE,IAAI,CAAC,CAACF,MAAM,GAAGE,cAAcJ,iBAAiBK,IAAI;IACpD;IAEA,IAAIC,WAAW;QACb,OAAO,IAAI,CAACL,MAAM,EAAEM,eAAeC,aAAS,CAACC,IAAI;IACnD;IAEAC,QAAQ;QACN,IAAI,CAACT,MAAM,EAAES;QACb,OAAO,IAAI,CAACT,MAAM;IACpB;IASAU,KAAKC,GAAiB,EAAQ;QAC5B,IAAI,CAACX,MAAM,GAAG,IAAIO,aAAS,CAACI,KAAK;YAAEC,kBAAkBC,6BAAY,CAACC,gCAAgC;QAAC;QACnG,IAAI,CAACd,MAAM,CAACe,MAAM,GAAG,CAACC,QAAU,IAAI,CAACC,MAAM,CAACD;QAC5C,IAAI,CAAChB,MAAM,CAACkB,OAAO,GAAG,CAACC,QAAU,IAAI,CAACC,OAAO,CAACD;QAC9C,IAAI,CAACnB,MAAM,CAACqB,OAAO,GAAG,CAACL,QAAU,IAAI,CAACM,OAAO,CAACN;QAC9C,IAAI,CAAChB,MAAM,CAACuB,SAAS,GAAG,CAACC,UAAY,IAAI,CAACC,SAAS,CAACD,QAAQE,IAAI;IAClE;IASA,MAAMC,YAAYC,OAAe,EAAiB;QAChD,IAAI,CAAC,IAAI,CAACvB,QAAQ,IAAI,CAAC,IAAI,CAACL,MAAM,EAAE;YAClC,IAAI,CAAC,CAACC,MAAM,CAACkB,KAAK,CAAC;YACnB;QACF;QACA,OAAO,MAAM,IAAIU,QAAQ,CAACC,SAASC;YACjC,IAAI,CAAC/B,MAAM,CAAEgC,IAAI,CAACJ,SAAS,CAACT;gBAC1B,IAAIA,OAAOY,OAAOZ;gBAClBW;YACF;QACF;IACF;IASAV,QAAQD,KAAiB,EAAwB,CAAC;IASlDc,YAAYjB,KAAc,EAAwB,CAAC;IASnDkB,YAAYlB,KAAiB,EAAwB,CAAC;IAStDS,UAAUT,KAAW,EAAwB,CAAC;IAQ9C,MAAMC,OAAOD,KAAc,EAAiB;QAC1C,MAAM,IAAI,CAACiB,WAAW,CAACjB;IACzB;IAQA,MAAMM,QAAQN,KAAiB,EAAiB;QAC9C,MAAM,IAAI,CAACkB,WAAW,CAAClB;IACzB;AACF"}
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "author": "David Zwart",
8
8
  "license": "AGPL-3.0-or-later",
9
9
  "private": false,
10
- "version": "1.5.3",
10
+ "version": "1.5.4",
11
11
  "description": "FDM Monster is a bulk OctoPrint manager to set up, configure and monitor 3D printers. Our aim is to provide extremely optimized websocket performance and reliability.",
12
12
  "main": "dist/index.js",
13
13
  "scripts": {
@@ -39,13 +39,13 @@
39
39
  "vue"
40
40
  ],
41
41
  "dependencies": {
42
- "@fdm-monster/client": "1.4.2",
42
+ "@fdm-monster/client": "1.4.4",
43
43
  "@influxdata/influxdb-client": "1.33.2",
44
- "@sentry/node": "7.80.0",
44
+ "@sentry/node": "7.82.0",
45
45
  "adm-zip": "0.5.10",
46
46
  "awilix": "9.0.0",
47
47
  "awilix-express": "8.0.0",
48
- "axios": "1.6.1",
48
+ "axios": "1.6.2",
49
49
  "bcryptjs": "2.4.3",
50
50
  "cache-manager": "4.1.0",
51
51
  "class-validator": "0.14.0",
@@ -63,20 +63,20 @@
63
63
  "js-yaml": "4.1.0",
64
64
  "jsonwebtoken": "9.0.2",
65
65
  "lodash": "4.17.21",
66
- "luxon": "3.4.3",
66
+ "luxon": "3.4.4",
67
67
  "migrate-mongo": "11.0.0",
68
68
  "mongoose": "6.12.3",
69
- "mqtt": "5.2.1",
69
+ "mqtt": "5.3.0",
70
70
  "multer": "1.4.5-lts.1",
71
71
  "node-input-validator": "4.5.1",
72
72
  "nodemon": "3.0.1",
73
- "octokit": "3.1.1",
73
+ "octokit": "3.1.2",
74
74
  "passport": "0.6.0",
75
75
  "passport-anonymous": "1.0.1",
76
76
  "passport-jwt": "4.0.1",
77
77
  "reflect-metadata": "0.1.13",
78
78
  "semver": "7.5.4",
79
- "simple-git": "3.20.0",
79
+ "simple-git": "3.21.0",
80
80
  "socket.io": "4.7.2",
81
81
  "toad-scheduler": "3.0.0",
82
82
  "uuid": "9.0.1",
@@ -86,32 +86,32 @@
86
86
  "devDependencies": {
87
87
  "@lcov-viewer/cli": "1.3.0",
88
88
  "@lcov-viewer/istanbul-report": "1.4.0",
89
- "@swc/cli": "0.1.62",
90
- "@swc/core": "1.3.96",
89
+ "@swc/cli": "0.1.63",
90
+ "@swc/core": "1.3.99",
91
91
  "@swc/jest": "0.2.29",
92
- "@types/adm-zip": "0.5.4",
92
+ "@types/adm-zip": "0.5.5",
93
93
  "@types/bcryptjs": "2.4.6",
94
- "@types/cache-manager": "4.0.5",
95
- "@types/connect-history-api-fallback": "1.5.3",
94
+ "@types/cache-manager": "4.0.6",
95
+ "@types/connect-history-api-fallback": "1.5.4",
96
96
  "@types/cookie-parser": "1.4.6",
97
97
  "@types/express": "4.17.21",
98
98
  "@types/express-session": "1.17.10",
99
99
  "@types/ip": "1.1.3",
100
- "@types/jest": "29.5.8",
100
+ "@types/jest": "29.5.10",
101
101
  "@types/js-yaml": "4.0.9",
102
- "@types/lodash": "4.14.201",
103
- "@types/luxon": "3.3.4",
102
+ "@types/lodash": "4.14.202",
103
+ "@types/luxon": "3.3.5",
104
104
  "@types/migrate-mongo": "10.0.4",
105
- "@types/multer": "1.4.10",
106
- "@types/node": "20.9.0",
105
+ "@types/multer": "1.4.11",
106
+ "@types/node": "20.10.0",
107
107
  "@types/passport-anonymous": "1.0.5",
108
108
  "@types/passport-jwt": "3.0.13",
109
- "@types/semver": "7.5.5",
109
+ "@types/semver": "7.5.6",
110
110
  "@types/supertest": "2.0.16",
111
111
  "@types/uuid": "9.0.7",
112
112
  "chokidar": "3.5.3",
113
113
  "concurrently": "8.2.2",
114
- "eslint": "8.53.0",
114
+ "eslint": "8.54.0",
115
115
  "eslint-config-airbnb-base": "15.0.0",
116
116
  "eslint-config-prettier": "9.0.0",
117
117
  "eslint-config-standard": "17.1.0",
@@ -122,12 +122,12 @@
122
122
  "express-list-routes": "1.1.9",
123
123
  "jest": "29.7.0",
124
124
  "jest-27-expect-message": "1.1.0",
125
- "mongodb-memory-server": "9.0.1",
126
- "nock": "13.3.8",
125
+ "mongodb-memory-server": "9.1.1",
126
+ "nock": "13.4.0",
127
127
  "prettier": "2.8.8",
128
128
  "supertest": "6.3.3",
129
129
  "ts-node": "10.9.1",
130
- "typescript": "5.2.2"
130
+ "typescript": "5.3.2"
131
131
  },
132
132
  "resolutions": {
133
133
  "got": "11.8.6"
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/state/files.store.ts"],"names":["FilesStore","printerCache","printerFilesService","fileCache","octoPrintApiService","logger","constructor","loggerFactory","name","loadFilesStore","printers","listCachedPrinters","printer","printerFileStorage","getPrinterFilesStorage","id","cachePrinterFileStorage","e","error","stack","eagerLoadPrinterFiles","printerId","recursive","loginDto","getLoginDtoAsync","response","getFiles","unwrap","simple","updatePrinterFiles","data","getPrinterFiles","getOutdatedFiles","ageDaysMax","ValidationException","printerFiles","files","length","nowTimestampSeconds","Date","now","filter","file","date","deleteOutdatedFiles","failedFiles","succeededFiles","nonRecursiveFiles","printerLogin","getCachedPrinterOrThrowAsync","deleteFileOrFolder","path","push","log","purgePrinterFiles","printerState","clearFiles","purgePrinterId","purgeFiles","allPrinters","printerFileList","updateFiles","cachePrinterFiles","appendOrSetPrinterFile","addedFile","fileList","lastPrintedFile","appendOrReplaceFile","setPrinterLastPrintedFile","fileName","setExistingFileForPrint","filePath","deleteFile","throwError","serviceActionResult","cacheActionResult","purgeFile","service","cache"],"mappings":"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"}