@fdm-monster/server 1.6.0-rc1 → 1.6.0-rc3

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