@fdm-monster/server 1.8.2 → 1.8.3

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 (102) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/.yarn/releases/{yarn-4.6.0.cjs → yarn-4.7.0.cjs} +292 -291
  3. package/.yarnrc.yml +1 -1
  4. package/RELEASE_NOTES.MD +19 -6
  5. package/dist/consoles/http-file-receiver.console.js +81 -0
  6. package/dist/consoles/http-file-receiver.console.js.map +1 -0
  7. package/dist/constants/event.constants.js +8 -0
  8. package/dist/constants/event.constants.js.map +1 -1
  9. package/dist/container.js +2 -10
  10. package/dist/container.js.map +1 -1
  11. package/dist/container.tokens.js +1 -1
  12. package/dist/container.tokens.js.map +1 -1
  13. package/dist/controllers/plugin-firmware-update.controller.js +4 -6
  14. package/dist/controllers/plugin-firmware-update.controller.js.map +1 -1
  15. package/dist/controllers/printer-files.controller.js +19 -22
  16. package/dist/controllers/printer-files.controller.js.map +1 -1
  17. package/dist/controllers/printer-settings.controller.js +3 -3
  18. package/dist/controllers/printer-settings.controller.js.map +1 -1
  19. package/dist/controllers/printer.controller.js +14 -8
  20. package/dist/controllers/printer.controller.js.map +1 -1
  21. package/dist/handlers/validators.js +9 -6
  22. package/dist/handlers/validators.js.map +1 -1
  23. package/dist/server.constants.js +1 -1
  24. package/dist/server.host.js +3 -1
  25. package/dist/server.host.js.map +1 -1
  26. package/dist/services/core/http-client.factory.js +40 -0
  27. package/dist/services/core/http-client.factory.js.map +1 -0
  28. package/dist/services/core/logs-manager.service.js +4 -3
  29. package/dist/services/core/logs-manager.service.js.map +1 -1
  30. package/dist/services/core/multer.service.js +72 -22
  31. package/dist/services/core/multer.service.js.map +1 -1
  32. package/dist/services/interfaces/file-upload-tracker.interface.js +6 -0
  33. package/dist/services/interfaces/file-upload-tracker.interface.js.map +1 -0
  34. package/dist/services/interfaces/printer.dto.js +6 -0
  35. package/dist/services/interfaces/printer.dto.js.map +1 -1
  36. package/dist/services/mongoose/printer.service.js +10 -3
  37. package/dist/services/mongoose/printer.service.js.map +1 -1
  38. package/dist/services/moonraker/moonraker-websocket.adapter.js +6 -2
  39. package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
  40. package/dist/services/moonraker/moonraker.client.js +196 -156
  41. package/dist/services/moonraker/moonraker.client.js.map +1 -1
  42. package/dist/services/octoprint/dto/plugin.dto.js +6 -0
  43. package/dist/services/octoprint/dto/plugin.dto.js.map +1 -0
  44. package/dist/services/octoprint/octoprint-api.routes.js +0 -61
  45. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  46. package/dist/services/octoprint/octoprint-websocket.adapter.js +11 -5
  47. package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
  48. package/dist/services/octoprint/octoprint.client.js +117 -200
  49. package/dist/services/octoprint/octoprint.client.js.map +1 -1
  50. package/dist/services/octoprint/plugin-base.service.js +15 -15
  51. package/dist/services/octoprint/plugin-base.service.js.map +1 -1
  52. package/dist/services/octoprint/plugin-firmware-update.service.js +1 -1
  53. package/dist/services/octoprint/plugin-firmware-update.service.js.map +1 -1
  54. package/dist/services/octoprint/plugin-repository.cache.js +2 -1
  55. package/dist/services/octoprint/plugin-repository.cache.js.map +1 -1
  56. package/dist/services/octoprint/utils/octoprint-http-client.builder.js +31 -0
  57. package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -0
  58. package/dist/services/octoprint.api.js +6 -4
  59. package/dist/services/octoprint.api.js.map +1 -1
  60. package/dist/services/orm/printer.service.js +8 -3
  61. package/dist/services/orm/printer.service.js.map +1 -1
  62. package/dist/shared/default-http-client.builder.js +94 -0
  63. package/dist/shared/default-http-client.builder.js.map +1 -0
  64. package/dist/shared/websocket.adapter.js.map +1 -1
  65. package/dist/state/file-upload-tracker.cache.js +30 -40
  66. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  67. package/dist/state/settings.store.js +4 -1
  68. package/dist/state/settings.store.js.map +1 -1
  69. package/dist/state/test-printer-socket.store.js.map +1 -1
  70. package/dist/state/validation/create-test-printer.validation.js +1 -0
  71. package/dist/state/validation/create-test-printer.validation.js.map +1 -1
  72. package/dist/tasks/boot.task.js.map +1 -1
  73. package/dist/tasks/printer-websocket-restore.task.js +1 -1
  74. package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
  75. package/dist/tasks/socketio.task.js +2 -2
  76. package/dist/tasks/socketio.task.js.map +1 -1
  77. package/dist/tasks.js.map +1 -1
  78. package/dist/utils/normalize-url.js +3 -1
  79. package/dist/utils/normalize-url.js.map +1 -1
  80. package/dist/utils/pretty-print.utils.js +1 -1
  81. package/dist/utils/pretty-print.utils.js.map +1 -1
  82. package/dist/utils/url.utils.js +12 -14
  83. package/dist/utils/url.utils.js.map +1 -1
  84. package/package.json +30 -29
  85. package/requests/moonraker/api_job.http +0 -5
  86. package/requests/moonraker/api_printer.http +0 -5
  87. package/requests/moonraker/api_settings.http +0 -5
  88. package/requests/moonraker/printer_info.http +0 -5
  89. package/requests/moonraker/printer_objects_list.http +0 -6
  90. package/requests/moonraker/printer_objects_pause_resume.http +0 -6
  91. package/requests/moonraker/printer_objects_print_stats.http +0 -6
  92. package/requests/moonraker/printer_objects_webhooks.http +0 -6
  93. package/requests/moonraker/server_info.http +0 -5
  94. package/requests/octoprint/octoprint-api-printer-current.http +0 -7
  95. package/requests/octoprint/octoprint-pluginmanager-plugins.http +0 -7
  96. package/requests/printer-file/get-partial-file-moonraker.http +0 -5
  97. package/requests/printer-file/get-thumbnails.http +0 -5
  98. package/requests/printer-file/reload-printer-thumbnails.http +0 -10
  99. package/requests/printer-file/testfile.gcode +0 -5665
  100. package/requests/printer-file/upload-file.http +0 -11
  101. package/requests/printer-file/upload-slicer-file.http +0 -11
  102. package/requests/printers/list.http +0 -5
@@ -15,9 +15,9 @@ const _octoprintserviceconstants = require("./constants/octoprint-service.consta
15
15
  const _eventconstants = require("../../constants/event.constants");
16
16
  const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
17
17
  const _octoprintapiroutes = require("./octoprint-api.routes");
18
- const _axios = /*#__PURE__*/ _interop_require_default(require("axios"));
19
18
  const _fileutils = require("./utils/file.utils");
20
19
  const _node = require("@sentry/node");
20
+ const _octoprinthttpclientbuilder = require("./utils/octoprint-http-client.builder");
21
21
  function _interop_require_default(obj) {
22
22
  return obj && obj.__esModule ? obj : {
23
23
  default: obj
@@ -66,31 +66,25 @@ function _interop_require_wildcard(obj, nodeInterop) {
66
66
  }
67
67
  class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
68
68
  eventEmitter2;
69
- httpClient;
69
+ httpClientFactory;
70
70
  logger;
71
- constructor({ settingsStore, httpClient, loggerFactory, eventEmitter2 }){
72
- super({
73
- settingsStore
74
- });
75
- this.httpClient = httpClient;
71
+ constructor({ httpClientFactory, loggerFactory, eventEmitter2 }){
72
+ super();
73
+ this.httpClientFactory = httpClientFactory;
76
74
  this.eventEmitter2 = eventEmitter2;
77
75
  this.logger = loggerFactory(OctoprintClient.name);
78
76
  }
79
- async getApiVersion(login, timeout) {
80
- const { url, options } = this.prepareRequest(login, this.apiVersion, timeout);
81
- return await this.httpClient.get(url, options);
77
+ async getApiVersion(login) {
78
+ return await this.createClient(login).get(this.apiVersion);
82
79
  }
83
80
  async getServer(login) {
84
- const { url, options } = this.prepareRequest(login, this.apiServer);
85
- return await this.httpClient.get(url, options);
81
+ return await this.createClient(login).get(this.apiServer);
86
82
  }
87
83
  async login(login) {
88
- const { url, options } = this.prepareRequest(login, this.apiLogin);
89
- return await this.httpClient.post(url, {}, options);
84
+ return await this.createClient(login).post(this.apiLogin);
90
85
  }
91
86
  async sendConnectionCommand(login, commandData) {
92
- const { url, options, data } = this.prepareJsonRequest(login, this.apiConnection, commandData);
93
- await this.httpClient.post(url, data, options);
87
+ await this.createClient(login).post(this.apiConnection, commandData);
94
88
  }
95
89
  async sendPrintHeadJogCommand(login, amounts) {
96
90
  const axesToHome = {
@@ -123,80 +117,57 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
123
117
  return this.sendPrintHeadCommand(login, commandData);
124
118
  }
125
119
  async sendPrintHeadCommand(login, commandData) {
126
- const { url, options, data } = this.prepareJsonRequest(login, this.apiPrinterHead, commandData);
127
- const response = await this.httpClient.post(url, data, options);
128
- return response?.data;
120
+ await this.createClient(login).post(this.apiPrinterHead, commandData);
129
121
  }
130
122
  async sendCustomGCodeCommand(login, commandString) {
131
- const { url, options, data } = this.prepareJsonRequest(login, this.apiPrinterCustomCommand, {
123
+ await this.createClient(login).post(this.apiPrinterCustomCommand, {
132
124
  command: commandString
133
125
  });
134
- const response = await this.httpClient.post(url, data, options);
135
- return response?.data;
136
126
  }
137
127
  async getJob(login) {
138
- const { url, options } = this.prepareRequest(login, this.apiJob);
139
- const response = await this.httpClient.get(url, options);
140
- return response?.data;
128
+ return await this.createClient(login).get(this.apiJob);
141
129
  }
142
130
  async sendJobCommand(login, commandData) {
143
- const { url, options, data } = this.prepareJsonRequest(login, this.apiJob, commandData);
144
- const response = await this.httpClient.post(url, data, options);
145
- return response?.data;
131
+ return await this.createClient(login).post(this.apiJob, commandData);
146
132
  }
147
133
  async sendBedTempCommand(login, targetTemp) {
148
- const { url, options, data } = this.prepareJsonRequest(login, this.apiPrinterBed, this.getBedTargetCommand(targetTemp));
149
- const response = await this.httpClient.post(url, data, options);
150
- return response?.data;
134
+ const data = this.getBedTargetCommand(targetTemp);
135
+ return await this.createClient(login).post(this.apiPrinterBed, data);
151
136
  }
152
137
  async getSettings(login) {
153
- const { url, options } = this.prepareRequest(login, this.apiSettingsPart);
154
- const response = await this.httpClient.get(url, options);
155
- return response?.data;
138
+ return await this.createClient(login).get(this.apiSettingsPart);
156
139
  }
157
140
  async updatePrinterNameSetting(login, printerName) {
158
- const { url, options } = this.prepareRequest(login, this.apiSettingsPart);
159
141
  const settingPatch = this.printerNameSetting(printerName);
160
- const response = await this.httpClient.post(url, settingPatch, options);
161
- return response?.data;
142
+ return await this.createClient(login).post(this.apiSettingsPart, settingPatch);
162
143
  }
163
144
  async updateFirmwareUpdaterSettings(login, firmwareUpdateConfig) {
164
- const { url, options } = this.prepareRequest(login, this.apiSettingsPart);
165
145
  const settingPatch = this.pluginFirmwareUpdaterSettings(firmwareUpdateConfig);
166
- const response = await this.httpClient.post(url, settingPatch, options);
167
- return response?.data;
146
+ return await this.createClient(login).post(this.apiSettingsPart, settingPatch);
168
147
  }
169
148
  async setGCodeAnalysis(login, enabled) {
170
- const { url, options } = this.prepareRequest(login, this.apiSettingsPart);
171
149
  const settingPatch = this.gcodeAnalysisSetting(enabled);
172
- const response = await this.httpClient.post(url, settingPatch, options);
173
- return response?.data;
150
+ return await this.createClient(login).post(this.apiSettingsPart, settingPatch);
174
151
  }
175
152
  async getCurrentUser(login) {
176
- const { url, options } = this.prepareRequest(login, this.apiCurrentUser);
177
- const response = await this.httpClient.get(url, options);
178
- return response?.data;
153
+ return await this.createClient(login).get(this.apiCurrentUser);
179
154
  }
180
155
  async getAdminUserOrDefault(login) {
181
- const currentUser = await this.getCurrentUser(login);
182
- return currentUser?.name;
156
+ const currentUserResponse = await this.getCurrentUser(login);
157
+ return currentUserResponse?.data?.name;
183
158
  }
184
159
  async getUsers(login) {
185
- const { url, options } = this.prepareRequest(login, this.apiUsers);
186
- const response = await this.httpClient.get(url, options);
187
- return response?.data;
160
+ return await this.createClient(login).get(this.apiUsers);
188
161
  }
189
162
  async getLocalFiles(login, recursive = false) {
190
- const { url, options } = this.prepareRequest(login, this.apiGetFiles(recursive));
191
- const response = await this.httpClient.get(url, options);
163
+ const response = await this.createClient(login).get(this.apiGetFiles(recursive));
192
164
  return response?.data?.files?.filter((f)=>f.date && f.type === "machinecode").map((f)=>{
193
165
  return (0, _fileutils.normalizePrinterFile)(f);
194
166
  }) || [];
195
167
  }
196
168
  async getFile(login, path) {
197
- const pathUrl = this.apiFile(path);
198
- const { url, options } = this.prepareRequest(login, pathUrl);
199
- const response = await this.httpClient.get(url, options);
169
+ const urlPath = this.apiFile(path);
170
+ const response = await this.createClient(login).get(urlPath);
200
171
  try {
201
172
  return (0, _fileutils.normalizePrinterFile)(response?.data);
202
173
  } catch (e) {
@@ -206,52 +177,37 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
206
177
  }
207
178
  }
208
179
  async downloadFile(login, path) {
209
- const pathUrl = this.downloadFileLocal(path);
210
- const { url, options } = this.prepareRequest(login, pathUrl);
211
- return await this.httpClient.get(url, {
212
- responseType: "stream",
213
- ...options
180
+ const urlPath = this.downloadFileLocal(path);
181
+ return await this.createClient(login).get(urlPath, {
182
+ responseType: "stream"
214
183
  });
215
184
  }
216
- getFileChunk(login, filePath, startBytes, endBytes) {
185
+ async getFileChunk(login, filePath, startBytes, endBytes) {
217
186
  const pathUrl = this.downloadFileLocal(filePath);
218
- const { url, options } = this.prepareRequest(login, pathUrl);
219
- return this.httpClient.get(url, {
220
- headers: {
221
- ...options.headers,
187
+ return await this.createClient(login, (o)=>o.withHeaders({
222
188
  Range: `bytes=${startBytes}-${endBytes}`
223
- },
224
- timeout: options.timeout
225
- });
189
+ })).get(pathUrl);
226
190
  }
227
191
  async createFolder(login, path, foldername) {
228
- const { url, options } = this.prepareRequest(login, this.apiFilesLocal);
229
192
  const formData = new _formdata.default();
230
193
  formData.append("path", path);
231
194
  formData.append("foldername", foldername);
232
195
  const headers = {
233
- ...options.headers,
234
196
  ...formData.getHeaders(),
235
- "Content-Length": formData.getLengthSync()
197
+ "Content-Length": formData.getLengthSync().toString()
236
198
  };
237
- const response = await this.httpClient.post(url, formData, {
238
- headers
239
- });
240
- return response?.data;
199
+ return await this.createClient(login, (o)=>o.withHeaders(headers)).post(this.apiFilesLocal, formData);
241
200
  }
242
201
  async moveFileOrFolder(login, path, destination) {
243
- const { url, options } = this.prepareRequest(login, this.apiFile(path));
244
202
  const command = this.moveFileCommand(destination);
245
- const response = await this.httpClient.post(url, command, options);
246
- return response?.data;
203
+ return await this.createClient(login).post(this.apiFile(path), command);
247
204
  }
248
205
  async postSelectPrintFile(login, path, print) {
249
- const { url, options } = this.prepareRequest(login, this.apiFile(path));
250
206
  const command = this.selectCommand(print);
251
- await this.httpClient.post(url, command, options);
207
+ await this.createClient(login).post(this.apiFile(path), command);
252
208
  }
253
- async uploadFileAsMultiPart(login, multerFileOrBuffer, commands, token) {
254
- const { url, options } = this.prepareRequest(login, this.apiFilesLocal, null, _octoprintserviceconstants.multiPartContentType);
209
+ async uploadFileAsMultiPart(login, multerFileOrBuffer, commands, progressToken) {
210
+ const urlPath = this.apiFilesLocal;
255
211
  const formData = new _formdata.default();
256
212
  if (commands.select) {
257
213
  formData.append("select", "true");
@@ -259,14 +215,21 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
259
215
  if (commands.print) {
260
216
  formData.append("print", "true");
261
217
  }
262
- let source = multerFileOrBuffer.buffer;
263
- const isPhysicalFile = !source;
264
- if (isPhysicalFile) {
265
- source = (0, _fs.createReadStream)(multerFileOrBuffer.path);
218
+ let fileBuffer = multerFileOrBuffer.buffer;
219
+ const filename = multerFileOrBuffer.originalname;
220
+ if (fileBuffer) {
221
+ this.logger.log("Attaching file from memory buffer to formdata for upload");
222
+ formData.append("file", fileBuffer, {
223
+ filename
224
+ });
225
+ } else {
226
+ const filePath = multerFileOrBuffer.path;
227
+ const fileStream = (0, _fs.createReadStream)(filePath);
228
+ this.logger.log(`Attaching file from disk to formdata for upload`);
229
+ formData.append("file", fileStream, {
230
+ filename
231
+ });
266
232
  }
267
- formData.append("file", source, {
268
- filename: multerFileOrBuffer.originalname
269
- });
270
233
  const result = await new Promise((resolve, reject)=>{
271
234
  return formData.getLength((err, length)=>{
272
235
  if (err) resolve(null);
@@ -274,27 +237,18 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
274
237
  });
275
238
  });
276
239
  try {
277
- const headers = {
278
- ...options.headers,
279
- ...formData.getHeaders(),
280
- "Content-Length": result
281
- };
282
- const response = await (0, _axios.default)({
283
- method: "POST",
284
- url,
285
- data: formData,
286
- headers,
287
- onUploadProgress: (p)=>{
288
- if (token) {
289
- this.eventEmitter2.emit(`${(0, _eventconstants.uploadProgressEvent)(token)}`, token, p);
240
+ const response = await this.createClient(login, (builder)=>builder.withMultiPartFormData().withHeaders({
241
+ ...formData.getHeaders(),
242
+ "Content-Length": result.toString()
243
+ }).withOnUploadProgress((p)=>{
244
+ if (progressToken) {
245
+ this.eventEmitter2.emit(`${(0, _eventconstants.uploadProgressEvent)(progressToken)}`, progressToken, p);
290
246
  }
291
- }
292
- });
247
+ })).post(urlPath, formData);
248
+ this.eventEmitter2.emit(`${(0, _eventconstants.uploadDoneEvent)(progressToken)}`, progressToken);
293
249
  return response.data;
294
250
  } catch (e) {
295
- this.eventEmitter2.emit(`${(0, _eventconstants.uploadProgressEvent)(token)}`, token, {
296
- failed: true
297
- }, e);
251
+ this.eventEmitter2.emit(`${(0, _eventconstants.uploadFailedEvent)(progressToken)}`, progressToken, e?.message);
298
252
  let data;
299
253
  try {
300
254
  data = JSON.parse(e.response?.body);
@@ -311,50 +265,36 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
311
265
  }
312
266
  }
313
267
  async deleteFileOrFolder(login, path) {
314
- const { url, options } = this.prepareRequest(login, this.apiFile(path));
315
- const response = await this.httpClient.delete(url, options);
316
- return response?.data;
268
+ await this.createClient(login).delete(this.apiFile(path));
317
269
  }
318
270
  async getPrinterCurrent(login, history, limit, exclude) {
319
271
  const pathUrl = this.apiPrinterCurrent(history, limit, exclude);
320
- const { url, options } = this.prepareRequest(login, pathUrl);
321
- return await this.httpClient.get(url, options);
272
+ return await this.createClient(login).get(pathUrl);
322
273
  }
323
274
  async getConnection(login) {
324
- const { url, options } = this.prepareRequest(login, this.apiConnection);
325
- const response = await this.httpClient.get(url, options);
326
- return response?.data;
275
+ return await this.createClient(login).get(this.apiConnection);
327
276
  }
328
277
  async getPrinterProfiles(login) {
329
- const { url, options } = this.prepareRequest(login, this.apiPrinterProfiles);
330
- const response = await this.httpClient.get(url, options);
331
- return response?.data;
278
+ return await this.createClient(login).get(this.apiPrinterProfiles);
332
279
  }
333
280
  async postSoftwareUpdate(login, targets) {
334
- const { url, options } = this.prepareJsonRequest(login, this.pluginSoftwareUpdateUpdate, {
281
+ return await this.createClient(login).post(this.pluginSoftwareUpdateUpdate, {
335
282
  targets
336
283
  });
337
- const response = await this.httpClient.post(url, {}, options);
338
- return response?.data;
339
284
  }
340
285
  async getPluginManagerPlugins(login) {
341
- const { url, options } = this.prepareRequest(login, this.pluginManagerPlugins);
342
- const response = await this.httpClient.get(url, options);
343
- return response?.data;
286
+ return await this.createClient(login).get(this.pluginManagerPlugins);
344
287
  }
345
288
  async getPluginManagerPlugin(login, pluginName) {
346
- const { url, options } = this.prepareRequest(login, this.pluginManagerPlugin(pluginName));
347
- const response = await this.httpClient.get(url, options);
348
- return response?.data;
289
+ const urlPath = this.pluginManagerPlugin(pluginName);
290
+ return await this.createClient(login).get(urlPath);
349
291
  }
350
292
  async postApiPluginManagerCommand(login, pluginCommand, pluginUrl) {
351
- const { url, options } = this.prepareRequest(login, this.apiPluginManager);
352
293
  const command = this.pluginManagerCommand(pluginCommand, pluginUrl);
353
- const response = await this.httpClient.post(url, command, options);
354
- return response?.data;
294
+ return await this.createClient(login).post(this.apiPluginManager, command);
355
295
  }
356
296
  async postPluginFirmwareUpdateFlash(currentPrinterId, login, firmwarePath) {
357
- const { url, options } = this.prepareRequest(login, this.pluginFirmwareUpdaterFlash, null, _octoprintserviceconstants.multiPartContentType);
297
+ const urlPath = this.pluginFirmwareUpdaterFlash;
358
298
  const formData = new _formdata.default();
359
299
  formData.append("port", "/dev/op2");
360
300
  formData.append("profile", "default");
@@ -364,22 +304,16 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
364
304
  filename
365
305
  });
366
306
  try {
367
- const headers = {
368
- ...options.headers,
369
- ...formData.getHeaders()
370
- };
371
- const response = await this.httpClient.post(url, {
372
- body: formData,
373
- headers,
374
- uploadProgress: (p)=>{
307
+ const response = await this.createClient(login, (builder)=>builder.withMultiPartFormData().withHeaders({
308
+ ...formData.getHeaders()
309
+ }).withOnUploadProgress((p)=>{
375
310
  if (currentPrinterId) {
376
311
  this.eventEmitter2.emit(`${(0, _eventconstants.firmwareFlashUploadEvent)(currentPrinterId)}`, currentPrinterId, p);
377
312
  }
378
- }
379
- });
313
+ })).post(urlPath, formData);
380
314
  return response?.data;
381
315
  } catch (e) {
382
- this.eventEmitter2.emit(`${(0, _eventconstants.uploadProgressEvent)(currentPrinterId)}`, currentPrinterId, {
316
+ this.eventEmitter2.emit(`${(0, _eventconstants.uploadProgressEvent)(currentPrinterId.toString())}`, currentPrinterId, {
383
317
  failed: true
384
318
  }, e);
385
319
  let data;
@@ -398,80 +332,52 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
398
332
  }
399
333
  }
400
334
  async getPluginFirmwareUpdateStatus(login) {
401
- const { url, options } = this.prepareRequest(login, this.pluginFirmwareUpdaterStatus);
402
- const response = await this.httpClient.get(url, options);
403
- return response?.data;
335
+ return await this.createClient(login).get(this.pluginFirmwareUpdaterStatus);
404
336
  }
405
337
  async fetchOctoPrintPlugins() {
406
- const { url, options } = this.prepareAnonymousRequest(_octoprintserviceconstants.pluginRepositoryUrl);
407
- const response = await this.httpClient.get(url, options);
408
- return response?.data;
338
+ return await this.createAnonymousClient(_octoprintserviceconstants.pluginRepositoryUrl).get("");
409
339
  }
410
340
  async getSystemInfo(login) {
411
- const { url, options } = this.prepareRequest(login, this.apiSystemInfo);
412
- const response = await this.httpClient.get(url, options);
413
- return response?.data;
341
+ return await this.createClient(login).get(this.apiSystemInfo);
414
342
  }
415
343
  async getSystemCommands(login) {
416
- const { url, options } = this.prepareRequest(login, this.apiSystemCommands);
417
- const response = await this.httpClient.get(url, options);
418
- return response?.data;
344
+ return await this.createClient(login).get(this.apiSystemCommands);
419
345
  }
420
346
  async postServerRestartCommand(login) {
421
- const { url, options } = this.prepareRequest(login, this.apiServerRestartCommand);
422
- const response = await this.httpClient.post(url, {}, options);
423
- return response?.data;
347
+ await this.createClient(login).post(this.apiServerRestartCommand);
424
348
  }
425
349
  async getSoftwareUpdateCheck(login, force) {
426
- const { url, options } = this.prepareRequest(login, this.apiSoftwareUpdateCheck(force));
427
- const response = await this.httpClient.get(url, options);
428
- return response?.data;
350
+ return await this.createClient(login).get(this.apiSoftwareUpdateCheck(force));
429
351
  }
430
352
  async getPluginPiSupport(login) {
431
- const { url, options } = this.prepareRequest(login, this.apiPluginPiSupport);
432
- const response = await this.httpClient.get(url, options);
433
- return response?.data;
353
+ return await this.createClient(login).get(this.apiPluginPiSupport);
434
354
  }
435
355
  async deleteTimeLapse(login, fileName) {
436
- const path = `${this.apiTimelapse}/${fileName}`;
437
- const { url, options } = this.prepareRequest(login, path);
438
- const response = await this.httpClient.delete(url, options);
439
- return response?.data;
356
+ const urlPath = `${this.apiTimelapse}/${fileName}`;
357
+ await this.createClient(login).delete(urlPath);
440
358
  }
441
359
  async listUnrenderedTimeLapses(login) {
442
- const path = `${this.apiTimelapse}?unrendered=true`;
443
- const { url, options } = this.prepareRequest(login, path);
444
- const response = await this.httpClient.get(url, options);
445
- return response?.data;
360
+ const urlPath = `${this.apiTimelapse}?unrendered=true`;
361
+ return await this.createClient(login).get(urlPath);
446
362
  }
447
363
  async listProfiles(login) {
448
- const { url, options } = this.prepareRequest(login, this.apiProfiles);
449
- const response = await this.httpClient.get(url, options);
450
- return response?.data;
364
+ return await this.createClient(login).get(this.apiProfiles);
451
365
  }
452
366
  async getBackupOverview(login) {
453
- const { url, options } = this.prepareRequest(login, this.pluginBackupIndex);
454
- const response = await this.httpClient.get(url, options);
455
- return response?.data;
367
+ return await this.createClient(login).get(this.pluginBackupIndex);
456
368
  }
457
369
  async getBackups(login) {
458
- const { url, options } = this.prepareRequest(login, this.pluginBackupEndpoint);
459
- const response = await this.httpClient.get(url, options);
460
- return response?.data;
370
+ return await this.createClient(login).get(this.pluginBackupEndpoint);
461
371
  }
462
372
  async createBackup(login, excludeArray) {
463
- const { url, options } = this.prepareRequest(login, this.pluginBackupEndpoint);
464
- const response = await this.httpClient.post(url, {
373
+ return await this.createClient(login).post(this.pluginBackupEndpoint, {
465
374
  exclude: excludeArray
466
- }, options);
467
- return response?.data;
375
+ });
468
376
  }
469
377
  async getDownloadBackupStream(login, filename) {
470
- const { url, options } = this.prepareRequest(login, this.pluginBackupFileDownload(filename));
471
- const response = await this.httpClient.get(url, {
472
- responseType: "stream",
473
- ...options
474
- }).catch((e)=>{
378
+ const response = await this.createClient(login, (builder)=>{
379
+ builder.withStreamResponse();
380
+ }).get(this.pluginBackupFileDownload(filename)).catch((e)=>{
475
381
  throw new _runtimeexceptions.ExternalServiceError({
476
382
  error: e.message,
477
383
  statusCode: e.response?.statusCode,
@@ -479,20 +385,16 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
479
385
  stack: e.stack
480
386
  }, "OctoPrint");
481
387
  });
482
- return response.data;
388
+ return response?.data;
483
389
  }
484
390
  async forwardRestoreBackupFileStream(login, buffer) {
485
- const { url, options } = this.prepareRequest(login, this.pluginBackupFileRestore, null, _octoprintserviceconstants.multiPartContentType);
486
391
  const formData = new _formdata.default();
487
392
  formData.append("file", buffer, {
488
393
  filename: "op-fdmm-restore.zip"
489
394
  });
490
- const response = await this.httpClient.post(url, formData, {
491
- headers: {
492
- ...options.headers,
395
+ const response = await this.createClient(login, (builder)=>builder.withMultiPartFormData().withHeaders({
493
396
  ...formData.getHeaders()
494
- }
495
- }).catch((e)=>{
397
+ })).post(this.pluginBackupFileRestore, formData).catch((e)=>{
496
398
  throw new _runtimeexceptions.ExternalServiceError({
497
399
  error: e.message,
498
400
  statusCode: e.response?.statusCode,
@@ -503,9 +405,24 @@ class OctoprintClient extends _octoprintapiroutes.OctoprintRoutes {
503
405
  return response?.data;
504
406
  }
505
407
  async deleteBackup(login, filename) {
506
- const { url, options } = this.prepareRequest(login, this.pluginBackupFile(filename));
507
- const response = await this.httpClient.delete(url, options);
508
- return response?.data;
408
+ return await this.createClient(login).delete(this.pluginBackupFile(filename));
409
+ }
410
+ createClient(login, buildFluentOptions) {
411
+ const baseAddress = login.printerURL;
412
+ return this.createAnonymousClient(baseAddress, (o)=>{
413
+ if (buildFluentOptions) {
414
+ buildFluentOptions(o);
415
+ }
416
+ o.withXApiKeyHeader(login.apiKey);
417
+ });
418
+ }
419
+ createAnonymousClient(baseAddress, buildFluentOptions) {
420
+ const builder = new _octoprinthttpclientbuilder.OctoprintHttpClientBuilder();
421
+ return this.httpClientFactory.createClientWithBaseUrl(builder, baseAddress, (b)=>{
422
+ if (buildFluentOptions) {
423
+ buildFluentOptions(b);
424
+ }
425
+ });
509
426
  }
510
427
  }
511
428
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/services/octoprint/octoprint.client.ts"],"names":["OctoprintClient","OctoprintRoutes","eventEmitter2","httpClient","logger","constructor","settingsStore","loggerFactory","name","getApiVersion","login","timeout","url","options","prepareRequest","apiVersion","get","getServer","apiServer","apiLogin","post","sendConnectionCommand","commandData","data","prepareJsonRequest","apiConnection","sendPrintHeadJogCommand","amounts","axesToHome","x","y","z","command","sendPrintHeadCommand","sendPrintHeadHomeCommand","axes","apiPrinterHead","response","sendCustomGCodeCommand","commandString","apiPrinterCustomCommand","getJob","apiJob","sendJobCommand","sendBedTempCommand","targetTemp","apiPrinterBed","getBedTargetCommand","getSettings","apiSettingsPart","updatePrinterNameSetting","printerName","settingPatch","printerNameSetting","updateFirmwareUpdaterSettings","firmwareUpdateConfig","pluginFirmwareUpdaterSettings","setGCodeAnalysis","enabled","gcodeAnalysisSetting","getCurrentUser","apiCurrentUser","getAdminUserOrDefault","currentUser","getUsers","apiUsers","getLocalFiles","recursive","apiGetFiles","files","filter","f","date","type","map","normalizePrinterFile","getFile","path","pathUrl","apiFile","e","captureException","error","downloadFile","downloadFileLocal","responseType","getFileChunk","filePath","startBytes","endBytes","headers","Range","createFolder","foldername","apiFilesLocal","formData","FormData","append","getHeaders","getLengthSync","moveFileOrFolder","destination","moveFileCommand","postSelectPrintFile","print","selectCommand","uploadFileAsMultiPart","multerFileOrBuffer","commands","token","multiPartContentType","select","source","buffer","isPhysicalFile","createReadStream","filename","originalname","result","Promise","resolve","reject","getLength","err","length","axios","method","onUploadProgress","p","emit","uploadProgressEvent","failed","JSON","parse","body","ExternalServiceError","message","statusCode","success","stack","deleteFileOrFolder","delete","getPrinterCurrent","history","limit","exclude","apiPrinterCurrent","getConnection","getPrinterProfiles","apiPrinterProfiles","postSoftwareUpdate","targets","pluginSoftwareUpdateUpdate","getPluginManagerPlugins","pluginManagerPlugins","getPluginManagerPlugin","pluginName","pluginManagerPlugin","postApiPluginManagerCommand","pluginCommand","pluginUrl","apiPluginManager","pluginManagerCommand","postPluginFirmwareUpdateFlash","currentPrinterId","firmwarePath","pluginFirmwareUpdaterFlash","basename","fileReadStream","fs","uploadProgress","firmwareFlashUploadEvent","getPluginFirmwareUpdateStatus","pluginFirmwareUpdaterStatus","fetchOctoPrintPlugins","prepareAnonymousRequest","pluginRepositoryUrl","getSystemInfo","apiSystemInfo","getSystemCommands","apiSystemCommands","postServerRestartCommand","apiServerRestartCommand","getSoftwareUpdateCheck","force","apiSoftwareUpdateCheck","getPluginPiSupport","apiPluginPiSupport","deleteTimeLapse","fileName","apiTimelapse","listUnrenderedTimeLapses","listProfiles","apiProfiles","getBackupOverview","pluginBackupIndex","getBackups","pluginBackupEndpoint","createBackup","excludeArray","getDownloadBackupStream","pluginBackupFileDownload","catch","forwardRestoreBackupFileStream","pluginBackupFileRestore","deleteBackup","pluginBackupFile"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/services/octoprint/octoprint.client.ts"],"names":["OctoprintClient","OctoprintRoutes","eventEmitter2","httpClientFactory","logger","constructor","loggerFactory","name","getApiVersion","login","createClient","get","apiVersion","getServer","apiServer","post","apiLogin","sendConnectionCommand","commandData","apiConnection","sendPrintHeadJogCommand","amounts","axesToHome","x","y","z","command","sendPrintHeadCommand","sendPrintHeadHomeCommand","axes","apiPrinterHead","sendCustomGCodeCommand","commandString","apiPrinterCustomCommand","getJob","apiJob","sendJobCommand","sendBedTempCommand","targetTemp","data","getBedTargetCommand","apiPrinterBed","getSettings","apiSettingsPart","updatePrinterNameSetting","printerName","settingPatch","printerNameSetting","updateFirmwareUpdaterSettings","firmwareUpdateConfig","pluginFirmwareUpdaterSettings","setGCodeAnalysis","enabled","gcodeAnalysisSetting","getCurrentUser","apiCurrentUser","getAdminUserOrDefault","currentUserResponse","getUsers","apiUsers","getLocalFiles","recursive","response","apiGetFiles","files","filter","f","date","type","map","normalizePrinterFile","getFile","path","urlPath","apiFile","e","captureException","error","downloadFile","downloadFileLocal","responseType","getFileChunk","filePath","startBytes","endBytes","pathUrl","o","withHeaders","Range","createFolder","foldername","formData","FormData","append","headers","getHeaders","getLengthSync","toString","apiFilesLocal","moveFileOrFolder","destination","moveFileCommand","postSelectPrintFile","print","selectCommand","uploadFileAsMultiPart","multerFileOrBuffer","commands","progressToken","select","fileBuffer","buffer","filename","originalname","log","fileStream","createReadStream","result","Promise","resolve","reject","getLength","err","length","builder","withMultiPartFormData","withOnUploadProgress","p","emit","uploadProgressEvent","uploadDoneEvent","uploadFailedEvent","message","JSON","parse","body","ExternalServiceError","statusCode","success","stack","deleteFileOrFolder","delete","getPrinterCurrent","history","limit","exclude","apiPrinterCurrent","getConnection","getPrinterProfiles","apiPrinterProfiles","postSoftwareUpdate","targets","pluginSoftwareUpdateUpdate","getPluginManagerPlugins","pluginManagerPlugins","getPluginManagerPlugin","pluginName","pluginManagerPlugin","postApiPluginManagerCommand","pluginCommand","pluginUrl","pluginManagerCommand","apiPluginManager","postPluginFirmwareUpdateFlash","currentPrinterId","firmwarePath","pluginFirmwareUpdaterFlash","basename","fileReadStream","fs","firmwareFlashUploadEvent","failed","getPluginFirmwareUpdateStatus","pluginFirmwareUpdaterStatus","fetchOctoPrintPlugins","createAnonymousClient","pluginRepositoryUrl","getSystemInfo","apiSystemInfo","getSystemCommands","apiSystemCommands","postServerRestartCommand","apiServerRestartCommand","getSoftwareUpdateCheck","force","apiSoftwareUpdateCheck","getPluginPiSupport","apiPluginPiSupport","deleteTimeLapse","fileName","apiTimelapse","listUnrenderedTimeLapses","listProfiles","apiProfiles","getBackupOverview","pluginBackupIndex","getBackups","pluginBackupEndpoint","createBackup","excludeArray","getDownloadBackupStream","withStreamResponse","pluginBackupFileDownload","catch","forwardRestoreBackupFileStream","pluginBackupFileRestore","deleteBackup","pluginBackupFile","buildFluentOptions","baseAddress","printerURL","withXApiKeyHeader","apiKey","OctoprintHttpClientBuilder","createClientWithBaseUrl","b"],"mappings":"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"}