@fdm-monster/server 1.9.4 → 2.0.0-rc1

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 (249) hide show
  1. package/.env.template +0 -4
  2. package/.yarn/install-state.gz +0 -0
  3. package/CONTRIBUTING.md +4 -4
  4. package/README.md +4 -4
  5. package/RELEASE_NOTES.MD +13 -0
  6. package/biome.json +8 -5
  7. package/dist/consoles/mock-bambu.server.js +17 -16
  8. package/dist/consoles/mock-bambu.server.js.map +1 -1
  9. package/dist/consoles/mock-octoprint.server.js.map +1 -1
  10. package/dist/consoles/mock-prusalink.server.js +6 -6
  11. package/dist/consoles/mock-prusalink.server.js.map +1 -1
  12. package/dist/consoles/utils/api-messages.js.map +1 -1
  13. package/dist/constants/authorization.constants.js +32 -25
  14. package/dist/constants/authorization.constants.js.map +1 -1
  15. package/dist/constants/event.constants.js.map +1 -1
  16. package/dist/constants/server-settings.constants.js +0 -1
  17. package/dist/constants/server-settings.constants.js.map +1 -1
  18. package/dist/container.js +30 -54
  19. package/dist/container.js.map +1 -1
  20. package/dist/container.tokens.js +0 -1
  21. package/dist/container.tokens.js.map +1 -1
  22. package/dist/controllers/auth.controller.js +1 -1
  23. package/dist/controllers/auth.controller.js.map +1 -1
  24. package/dist/controllers/batch-call.controller.js +8 -11
  25. package/dist/controllers/batch-call.controller.js.map +1 -1
  26. package/dist/controllers/custom-gcode.controller.js +2 -5
  27. package/dist/controllers/custom-gcode.controller.js.map +1 -1
  28. package/dist/controllers/first-time-setup.controller.js +4 -4
  29. package/dist/controllers/first-time-setup.controller.js.map +1 -1
  30. package/dist/controllers/metrics.controller.js.map +1 -1
  31. package/dist/controllers/printer-files.controller.js +5 -3
  32. package/dist/controllers/printer-files.controller.js.map +1 -1
  33. package/dist/controllers/printer.controller.js +6 -7
  34. package/dist/controllers/printer.controller.js.map +1 -1
  35. package/dist/controllers/server-public.controller.js +5 -13
  36. package/dist/controllers/server-public.controller.js.map +1 -1
  37. package/dist/controllers/user.controller.js +8 -12
  38. package/dist/controllers/user.controller.js.map +1 -1
  39. package/dist/controllers/validation/batch-controller.validation.js +13 -13
  40. package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
  41. package/dist/controllers/validation/generic.validation.js +4 -8
  42. package/dist/controllers/validation/generic.validation.js.map +1 -1
  43. package/dist/controllers/validation/printer-files-controller.validation.js +2 -2
  44. package/dist/controllers/validation/user-controller.validation.js +14 -9
  45. package/dist/controllers/validation/user-controller.validation.js.map +1 -1
  46. package/dist/data-source.js +6 -5
  47. package/dist/data-source.js.map +1 -1
  48. package/dist/entities/index.js +0 -4
  49. package/dist/entities/index.js.map +1 -1
  50. package/dist/entities/print-completion.entity.js.map +1 -1
  51. package/dist/entities/settings.entity.js.map +1 -1
  52. package/dist/handlers/logging/file-logging.transport.js.map +1 -1
  53. package/dist/handlers/logging/static.logger.js.map +1 -1
  54. package/dist/middleware/authenticate.js +4 -4
  55. package/dist/middleware/authenticate.js.map +1 -1
  56. package/dist/middleware/database.js +1 -1
  57. package/dist/middleware/global.middleware.js +4 -12
  58. package/dist/middleware/global.middleware.js.map +1 -1
  59. package/dist/middleware/param-converter.middleware.js +5 -13
  60. package/dist/middleware/param-converter.middleware.js.map +1 -1
  61. package/dist/middleware/passport.js +2 -2
  62. package/dist/middleware/passport.js.map +1 -1
  63. package/dist/middleware/printer-resolver.js.map +1 -1
  64. package/dist/middleware/printer.js +3 -2
  65. package/dist/middleware/printer.js.map +1 -1
  66. package/dist/middleware/socketio.middleware.js.map +1 -1
  67. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +1 -1
  68. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -1
  69. package/dist/migrations/1766576698569-DropPermissions.js +28 -0
  70. package/dist/migrations/1766576698569-DropPermissions.js.map +1 -0
  71. package/dist/server.constants.js +1 -9
  72. package/dist/server.constants.js.map +1 -1
  73. package/dist/server.core.js +3 -7
  74. package/dist/server.core.js.map +1 -1
  75. package/dist/server.env.js +4 -49
  76. package/dist/server.env.js.map +1 -1
  77. package/dist/server.host.js +3 -13
  78. package/dist/server.host.js.map +1 -1
  79. package/dist/services/authentication/auth.service.js.map +1 -1
  80. package/dist/services/authentication/jwt.service.js.map +1 -1
  81. package/dist/services/bambu/bambu-ftp.adapter.js +2 -2
  82. package/dist/services/bambu/bambu-ftp.adapter.js.map +1 -1
  83. package/dist/services/bambu/bambu-mqtt.adapter.js +1 -1
  84. package/dist/services/bambu/bambu-mqtt.adapter.js.map +1 -1
  85. package/dist/services/bambu/bambu.client.js.map +1 -1
  86. package/dist/services/bambu.api.js +11 -0
  87. package/dist/services/bambu.api.js.map +1 -1
  88. package/dist/services/core/batch-call.service.js.map +1 -1
  89. package/dist/services/core/multer.service.js.map +1 -1
  90. package/dist/services/core/yaml.service.js +20 -43
  91. package/dist/services/core/yaml.service.js.map +1 -1
  92. package/dist/services/interfaces/camera-stream.dto.js +2 -2
  93. package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
  94. package/dist/services/interfaces/custom-gcode.dto.js.map +1 -1
  95. package/dist/services/interfaces/floor.dto.js.map +1 -1
  96. package/dist/services/interfaces/print-completion.dto.js.map +1 -1
  97. package/dist/services/interfaces/printer-group.dto.js.map +1 -1
  98. package/dist/services/interfaces/printer.dto.js +2 -2
  99. package/dist/services/interfaces/printer.dto.js.map +1 -1
  100. package/dist/services/interfaces/refresh-token.dto.js.map +1 -1
  101. package/dist/services/interfaces/role.dto.js.map +1 -1
  102. package/dist/services/interfaces/settings.dto.js.map +1 -1
  103. package/dist/services/interfaces/user.dto.js.map +1 -1
  104. package/dist/services/moonraker/constants/moonraker-event.dto.js.map +1 -1
  105. package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
  106. package/dist/services/moonraker/moonraker.client.js.map +1 -1
  107. package/dist/services/moonraker.api.js +3 -0
  108. package/dist/services/moonraker.api.js.map +1 -1
  109. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
  110. package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
  111. package/dist/services/octoprint.api.js +3 -0
  112. package/dist/services/octoprint.api.js.map +1 -1
  113. package/dist/services/orm/base.service.js.map +1 -1
  114. package/dist/services/orm/camera-stream.service.js.map +1 -1
  115. package/dist/services/orm/custom-gcode.service.js.map +1 -1
  116. package/dist/services/orm/floor-position.service.js.map +1 -1
  117. package/dist/services/orm/floor.service.js +4 -4
  118. package/dist/services/orm/floor.service.js.map +1 -1
  119. package/dist/services/orm/permission.service.js +3 -54
  120. package/dist/services/orm/permission.service.js.map +1 -1
  121. package/dist/services/orm/print-completion.service.js +2 -2
  122. package/dist/services/orm/print-completion.service.js.map +1 -1
  123. package/dist/services/orm/print-completion.shared.js.map +1 -0
  124. package/dist/services/orm/printer-group.service.js.map +1 -1
  125. package/dist/services/orm/printer.service.js.map +1 -1
  126. package/dist/services/orm/refresh-token.service.js.map +1 -1
  127. package/dist/services/orm/role.service.js +25 -39
  128. package/dist/services/orm/role.service.js.map +1 -1
  129. package/dist/services/orm/settings.service.js +4 -7
  130. package/dist/services/orm/settings.service.js.map +1 -1
  131. package/dist/services/orm/user.service.js +17 -13
  132. package/dist/services/orm/user.service.js.map +1 -1
  133. package/dist/services/printer-api.factory.js +1 -1
  134. package/dist/services/printer-api.factory.js.map +1 -1
  135. package/dist/services/printer-api.interface.js.map +1 -1
  136. package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -1
  137. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -1
  138. package/dist/services/prusa-link/prusa-link.api.js +4 -1
  139. package/dist/services/prusa-link/prusa-link.api.js.map +1 -1
  140. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -1
  141. package/dist/services/validators/floor-service.validation.js +16 -22
  142. package/dist/services/validators/floor-service.validation.js.map +1 -1
  143. package/dist/services/validators/user-service.validation.js +15 -10
  144. package/dist/services/validators/user-service.validation.js.map +1 -1
  145. package/dist/services/validators/yaml-service.validation.js +1 -1
  146. package/dist/shared/runtime-settings.migration.js.map +1 -1
  147. package/dist/shared/websocket-rpc-extended.adapter.js +13 -4
  148. package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
  149. package/dist/shared/websocket.adapter.js.map +1 -1
  150. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  151. package/dist/state/file.cache.js +6 -6
  152. package/dist/state/file.cache.js.map +1 -1
  153. package/dist/state/floor.store.js +1 -1
  154. package/dist/state/floor.store.js.map +1 -1
  155. package/dist/state/printer-events.cache.js +1 -1
  156. package/dist/state/printer-events.cache.js.map +1 -1
  157. package/dist/state/printer-files.store.js.map +1 -1
  158. package/dist/state/printer-socket.store.js +25 -20
  159. package/dist/state/printer-socket.store.js.map +1 -1
  160. package/dist/state/printer-thumbnail.cache.js +13 -18
  161. package/dist/state/printer-thumbnail.cache.js.map +1 -1
  162. package/dist/state/printer.cache.js +3 -13
  163. package/dist/state/printer.cache.js.map +1 -1
  164. package/dist/state/settings.store.js +2 -9
  165. package/dist/state/settings.store.js.map +1 -1
  166. package/dist/state/test-printer-socket.store.js +6 -3
  167. package/dist/state/test-printer-socket.store.js.map +1 -1
  168. package/dist/tasks/boot.task.js +5 -87
  169. package/dist/tasks/boot.task.js.map +1 -1
  170. package/dist/tasks/print-completion.socketio.task.js.map +1 -1
  171. package/dist/tasks/printer-file-clean.task.js.map +1 -1
  172. package/dist/utils/cache/key-diff.cache.js +20 -61
  173. package/dist/utils/cache/key-diff.cache.js.map +1 -1
  174. package/package.json +8 -18
  175. package/dist/entities/permission.entity.js +0 -37
  176. package/dist/entities/permission.entity.js.map +0 -1
  177. package/dist/models/Auth/Permission.js +0 -20
  178. package/dist/models/Auth/Permission.js.map +0 -1
  179. package/dist/models/Auth/RefreshToken.js +0 -41
  180. package/dist/models/Auth/RefreshToken.js.map +0 -1
  181. package/dist/models/Auth/Role.js +0 -20
  182. package/dist/models/Auth/Role.js.map +0 -1
  183. package/dist/models/Auth/User.js +0 -49
  184. package/dist/models/Auth/User.js.map +0 -1
  185. package/dist/models/CameraStream.js +0 -49
  186. package/dist/models/CameraStream.js.map +0 -1
  187. package/dist/models/CustomGcode.js +0 -28
  188. package/dist/models/CustomGcode.js.map +0 -1
  189. package/dist/models/Floor.js +0 -33
  190. package/dist/models/Floor.js.map +0 -1
  191. package/dist/models/FloorPrinter.js +0 -38
  192. package/dist/models/FloorPrinter.js.map +0 -1
  193. package/dist/models/PrintCompletion.js +0 -40
  194. package/dist/models/PrintCompletion.js.map +0 -1
  195. package/dist/models/Printer.js +0 -78
  196. package/dist/models/Printer.js.map +0 -1
  197. package/dist/models/Settings.js +0 -150
  198. package/dist/models/Settings.js.map +0 -1
  199. package/dist/models/index.js +0 -54
  200. package/dist/models/index.js.map +0 -1
  201. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js +0 -45
  202. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +0 -1
  203. package/dist/mongo-migrations/20210907173950-printers-enabled.js +0 -35
  204. package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +0 -1
  205. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js +0 -35
  206. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +0 -1
  207. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js +0 -60
  208. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js.map +0 -1
  209. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js +0 -30
  210. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js.map +0 -1
  211. package/dist/mongo-migrations/20230716065316-user-remove-name.js +0 -30
  212. package/dist/mongo-migrations/20230716065316-user-remove-name.js.map +0 -1
  213. package/dist/mongo-migrations/20231111081809-printer-flatten-name.js +0 -35
  214. package/dist/mongo-migrations/20231111081809-printer-flatten-name.js.map +0 -1
  215. package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js +0 -41
  216. package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js.map +0 -1
  217. package/dist/mongo-migrations/20231202183902-printer-files-simpler.js +0 -41
  218. package/dist/mongo-migrations/20231202183902-printer-files-simpler.js.map +0 -1
  219. package/dist/services/interfaces/permission.dto.js +0 -16
  220. package/dist/services/interfaces/permission.dto.js.map +0 -1
  221. package/dist/services/mongoose/camera-stream.service.js +0 -67
  222. package/dist/services/mongoose/camera-stream.service.js.map +0 -1
  223. package/dist/services/mongoose/custom-gcode.service.js +0 -50
  224. package/dist/services/mongoose/custom-gcode.service.js.map +0 -1
  225. package/dist/services/mongoose/floor.service.js +0 -139
  226. package/dist/services/mongoose/floor.service.js.map +0 -1
  227. package/dist/services/mongoose/permission.service.js +0 -73
  228. package/dist/services/mongoose/permission.service.js.map +0 -1
  229. package/dist/services/mongoose/print-completion.service.js +0 -134
  230. package/dist/services/mongoose/print-completion.service.js.map +0 -1
  231. package/dist/services/mongoose/print-completion.shared.js.map +0 -1
  232. package/dist/services/mongoose/printer.service.js +0 -216
  233. package/dist/services/mongoose/printer.service.js.map +0 -1
  234. package/dist/services/mongoose/refresh-token.service.js +0 -104
  235. package/dist/services/mongoose/refresh-token.service.js.map +0 -1
  236. package/dist/services/mongoose/role.service.js +0 -132
  237. package/dist/services/mongoose/role.service.js.map +0 -1
  238. package/dist/services/mongoose/settings.service.js +0 -124
  239. package/dist/services/mongoose/settings.service.js.map +0 -1
  240. package/dist/services/mongoose/user.service.js +0 -180
  241. package/dist/services/mongoose/user.service.js.map +0 -1
  242. package/dist/services/validators/camera-service.validation.js +0 -19
  243. package/dist/services/validators/camera-service.validation.js.map +0 -1
  244. package/dist/services/validators/print-completion-service.validation.js +0 -33
  245. package/dist/services/validators/print-completion-service.validation.js.map +0 -1
  246. package/dist/shared.constants.js +0 -15
  247. package/dist/shared.constants.js.map +0 -1
  248. package/migrate-mongo-config.js +0 -45
  249. /package/dist/services/{mongoose → orm}/print-completion.shared.js +0 -0
@@ -1,216 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "PrinterService", {
6
- enumerable: true,
7
- get: function() {
8
- return PrinterService;
9
- }
10
- });
11
- const _models = require("../../models");
12
- const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
13
- const _validators = require("../../handlers/validators");
14
- const _printerservicevalidation = require("../validators/printer-service.validation");
15
- const _eventconstants = require("../../constants/event.constants");
16
- const _normalizeurl = require("../../utils/normalize-url");
17
- const _urlutils = require("../../utils/url.utils");
18
- class PrinterService {
19
- eventEmitter2;
20
- logger;
21
- constructor(eventEmitter2, loggerFactory){
22
- this.eventEmitter2 = eventEmitter2;
23
- this.logger = loggerFactory(PrinterService.name);
24
- }
25
- toDto(entity) {
26
- return {
27
- id: entity.id,
28
- name: entity.name,
29
- enabled: entity.enabled,
30
- disabledReason: entity.disabledReason,
31
- dateAdded: entity.dateAdded,
32
- apiKey: entity.apiKey,
33
- username: entity.username,
34
- password: entity.password,
35
- printerURL: entity.printerURL,
36
- printerType: entity.printerType
37
- };
38
- }
39
- async list() {
40
- return _models.Printer.find({}, null, {
41
- sort: {
42
- dateAdded: 1
43
- }
44
- });
45
- }
46
- async get(printerId) {
47
- const filter = {
48
- _id: printerId
49
- };
50
- const printer = await _models.Printer.findOne(filter);
51
- if (!printer) {
52
- throw new _runtimeexceptions.NotFoundException(`The printer with provided id was not found`);
53
- }
54
- return printer;
55
- }
56
- async create(newPrinter, emitEvent = true) {
57
- if (!newPrinter) throw new Error("Missing printer to create");
58
- const mergedPrinter = await this.validateAndDefault(newPrinter);
59
- mergedPrinter.dateAdded = Date.now();
60
- const printer = await _models.Printer.create(mergedPrinter);
61
- if (emitEvent) {
62
- this.eventEmitter2.emit(_eventconstants.printerEvents.printerCreated, {
63
- printer
64
- });
65
- }
66
- return printer;
67
- }
68
- async update(printerId, updateData) {
69
- const printer = await this.get(printerId);
70
- updateData.printerURL = (0, _normalizeurl.normalizeUrl)(updateData.printerURL, {
71
- defaultProtocol: _urlutils.defaultHttpProtocol
72
- });
73
- const { printerURL, apiKey, username, password, enabled, name, printerType } = await (0, _validators.validateInput)(updateData, _printerservicevalidation.createPrinterSchema);
74
- printer.printerURL = printerURL;
75
- printer.apiKey = apiKey;
76
- printer.username = username;
77
- printer.password = password;
78
- if (enabled !== undefined) {
79
- printer.enabled = enabled;
80
- }
81
- printer.name = name;
82
- printer.printerType = printerType;
83
- await printer.save();
84
- this.eventEmitter2.emit(_eventconstants.printerEvents.printerUpdated, {
85
- printer
86
- });
87
- return printer;
88
- }
89
- async deleteMany(printerIds, emitEvent = true) {
90
- await _models.Printer.deleteMany({
91
- _id: {
92
- $in: printerIds
93
- }
94
- });
95
- if (emitEvent) {
96
- this.eventEmitter2.emit(_eventconstants.printerEvents.printersDeleted, {
97
- printerIds
98
- });
99
- }
100
- }
101
- async delete(printerId, emitEvent = true) {
102
- const filter = {
103
- _id: printerId
104
- };
105
- await _models.Printer.findOneAndDelete(filter);
106
- if (emitEvent) {
107
- this.eventEmitter2.emit(_eventconstants.printerEvents.printersDeleted, {
108
- printerIds: [
109
- printerId
110
- ]
111
- });
112
- }
113
- }
114
- async batchImport(printers) {
115
- if (!printers?.length) return [];
116
- for (let printer of printers){
117
- await this.validateAndDefault(printer);
118
- }
119
- this.logger.log("Validation passed");
120
- const newPrinters = [];
121
- for (let printer of printers){
122
- const createdPrinter = await this.create(printer, false);
123
- newPrinters.push(createdPrinter);
124
- }
125
- this.logger.log("Batch create succeeded");
126
- this.eventEmitter2.emit(_eventconstants.printerEvents.batchPrinterCreated, {
127
- printers: newPrinters
128
- });
129
- return newPrinters;
130
- }
131
- async updateFlowRate(printerId, flowRate) {
132
- const update = {
133
- flowRate
134
- };
135
- await this.get(printerId);
136
- const printer = await _models.Printer.findByIdAndUpdate(printerId, update, {
137
- new: true,
138
- useFindAndModify: false
139
- });
140
- if (printer) {
141
- this.eventEmitter2.emit(_eventconstants.printerEvents.printerUpdated, {
142
- printer
143
- });
144
- }
145
- return printer;
146
- }
147
- async updateFeedRate(printerId, feedRate) {
148
- const update = {
149
- feedRate
150
- };
151
- await this.get(printerId);
152
- const printer = await _models.Printer.findByIdAndUpdate(printerId, update, {
153
- new: true,
154
- useFindAndModify: false
155
- });
156
- if (printer) {
157
- this.eventEmitter2.emit(_eventconstants.printerEvents.printerUpdated, {
158
- printer
159
- });
160
- }
161
- return printer;
162
- }
163
- async updateEnabled(printerId, enabled) {
164
- const update = enabled ? {
165
- enabled,
166
- disabledReason: null
167
- } : {
168
- enabled
169
- };
170
- await (0, _validators.validateInput)(update, _printerservicevalidation.updatePrinterEnabledSchema);
171
- await this.get(printerId);
172
- const printer = await _models.Printer.findByIdAndUpdate(printerId, update, {
173
- new: true,
174
- useFindAndModify: false
175
- });
176
- if (printer) {
177
- this.eventEmitter2.emit(_eventconstants.printerEvents.printerUpdated, {
178
- printer
179
- });
180
- }
181
- return printer;
182
- }
183
- async updateDisabledReason(printerId, disabledReason) {
184
- const enabled = !disabledReason?.length;
185
- const update = {
186
- disabledReason,
187
- enabled
188
- };
189
- await (0, _validators.validateInput)(update, _printerservicevalidation.updatePrinterDisabledReasonSchema);
190
- await this.get(printerId);
191
- const printer = await _models.Printer.findByIdAndUpdate(printerId, update, {
192
- new: true,
193
- useFindAndModify: false
194
- });
195
- if (printer) {
196
- this.eventEmitter2.emit(_eventconstants.printerEvents.printerUpdated, {
197
- printer
198
- });
199
- }
200
- return printer;
201
- }
202
- async validateAndDefault(printer) {
203
- const mergedPrinter = {
204
- enabled: true,
205
- ...printer
206
- };
207
- if (mergedPrinter.printerURL?.length) {
208
- mergedPrinter.printerURL = (0, _normalizeurl.normalizeUrl)(mergedPrinter.printerURL, {
209
- defaultProtocol: _urlutils.defaultHttpProtocol
210
- });
211
- }
212
- return await (0, _validators.validateInput)(mergedPrinter, _printerservicevalidation.createPrinterSchema);
213
- }
214
- }
215
-
216
- //# sourceMappingURL=printer.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/services/mongoose/printer.service.ts"],"names":["PrinterService","logger","eventEmitter2","loggerFactory","name","toDto","entity","id","enabled","disabledReason","dateAdded","apiKey","username","password","printerURL","printerType","list","Printer","find","sort","get","printerId","filter","_id","printer","findOne","NotFoundException","create","newPrinter","emitEvent","Error","mergedPrinter","validateAndDefault","Date","now","emit","printerEvents","printerCreated","update","updateData","normalizeUrl","defaultProtocol","defaultHttpProtocol","validateInput","createPrinterSchema","undefined","save","printerUpdated","deleteMany","printerIds","$in","printersDeleted","delete","findOneAndDelete","batchImport","printers","length","log","newPrinters","createdPrinter","push","batchPrinterCreated","updateFlowRate","flowRate","findByIdAndUpdate","new","useFindAndModify","updateFeedRate","feedRate","updateEnabled","updatePrinterEnabledSchema","updateDisabledReason","updatePrinterDisabledReasonSchema"],"mappings":"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"}
@@ -1,104 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "RefreshTokenService", {
6
- enumerable: true,
7
- get: function() {
8
- return RefreshTokenService;
9
- }
10
- });
11
- const _models = require("../../models");
12
- const _uuid = require("uuid");
13
- const _serverconstants = require("../../server.constants");
14
- const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
15
- const _authorizationconstants = require("../../constants/authorization.constants");
16
- class RefreshTokenService {
17
- settingsStore;
18
- logger;
19
- constructor(loggerFactory, settingsStore){
20
- this.settingsStore = settingsStore;
21
- this.logger = loggerFactory(RefreshTokenService.name);
22
- }
23
- toDto(entity) {
24
- return {
25
- id: entity.id,
26
- userId: entity.userId.toString(),
27
- expiresAt: entity.expiresAt,
28
- refreshAttemptsUsed: entity.refreshAttemptsUsed
29
- };
30
- }
31
- async getRefreshToken(refreshToken) {
32
- const userRefreshToken = await _models.RefreshToken.findOne({
33
- refreshToken
34
- });
35
- if (!userRefreshToken) {
36
- throw new _runtimeexceptions.AuthenticationError("The refresh token was not found", _authorizationconstants.AUTH_ERROR_REASON.InvalidOrExpiredRefreshToken);
37
- }
38
- return userRefreshToken;
39
- }
40
- async createRefreshTokenForUserId(userId) {
41
- const { refreshTokenExpiry } = await this.settingsStore.getCredentialSettings();
42
- const refreshToken = (0, _uuid.v4)();
43
- const timespan = refreshTokenExpiry ?? _serverconstants.AppConstants.DEFAULT_REFRESH_TOKEN_EXPIRY;
44
- if (!refreshTokenExpiry) {
45
- this.logger.warn(`Refresh token expiry not set in Settings:credentials, using default ${timespan} seconds}`);
46
- }
47
- await _models.RefreshToken.create({
48
- userId,
49
- expiresAt: Date.now() + timespan * 1000,
50
- refreshToken,
51
- refreshAttemptsUsed: 0
52
- });
53
- return refreshToken;
54
- }
55
- async updateRefreshTokenAttempts(refreshToken, refreshAttemptsUsed) {
56
- await this.getRefreshToken(refreshToken);
57
- await _models.RefreshToken.updateOne({
58
- refreshToken
59
- }, {
60
- refreshAttemptsUsed
61
- }, {
62
- new: true
63
- });
64
- }
65
- async purgeOutdatedRefreshTokensByUserId(userId) {
66
- const result = await _models.RefreshToken.deleteMany({
67
- userId,
68
- expiresAt: {
69
- $lt: Date.now()
70
- }
71
- });
72
- if (result.deletedCount) {
73
- this.logger.debug(`Removed ${result.deletedCount} outdated login refresh tokens for user ${userId}`);
74
- }
75
- }
76
- async purgeAllOutdatedRefreshTokens() {
77
- const result = await _models.RefreshToken.deleteMany({
78
- expiresAt: {
79
- $lt: Date.now()
80
- }
81
- });
82
- if (result.deletedCount) {
83
- this.logger.debug(`Removed ${result.deletedCount} outdated login refresh tokens`);
84
- }
85
- }
86
- async deleteRefreshTokenByUserId(userId) {
87
- const result = await _models.RefreshToken.deleteMany({
88
- userId
89
- });
90
- if (result.deletedCount) {
91
- this.logger.debug(`Removed ${result.deletedCount} login refresh tokens`);
92
- }
93
- }
94
- async deleteRefreshToken(refreshToken) {
95
- const result = await _models.RefreshToken.deleteOne({
96
- refreshToken
97
- });
98
- if (result.deletedCount) {
99
- this.logger.debug(`Removed ${result.deletedCount} login refresh tokens`);
100
- }
101
- }
102
- }
103
-
104
- //# sourceMappingURL=refresh-token.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/services/mongoose/refresh-token.service.ts"],"names":["RefreshTokenService","logger","loggerFactory","settingsStore","name","toDto","entity","id","userId","toString","expiresAt","refreshAttemptsUsed","getRefreshToken","refreshToken","userRefreshToken","RefreshToken","findOne","AuthenticationError","AUTH_ERROR_REASON","InvalidOrExpiredRefreshToken","createRefreshTokenForUserId","refreshTokenExpiry","getCredentialSettings","uuidv4","timespan","AppConstants","DEFAULT_REFRESH_TOKEN_EXPIRY","warn","create","Date","now","updateRefreshTokenAttempts","updateOne","new","purgeOutdatedRefreshTokensByUserId","result","deleteMany","$lt","deletedCount","debug","purgeAllOutdatedRefreshTokens","deleteRefreshTokenByUserId","deleteRefreshToken","deleteOne"],"mappings":"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"}
@@ -1,132 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "RoleService", {
6
- enumerable: true,
7
- get: function() {
8
- return RoleService;
9
- }
10
- });
11
- const _lodash = require("lodash");
12
- const _authorizationconstants = require("../../constants/authorization.constants");
13
- const _models = require("../../models");
14
- const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
15
- class RoleService {
16
- appDefaultRole;
17
- appDefaultRoleNoLogin;
18
- settingsStore;
19
- logger;
20
- constructor(loggerFactory, appDefaultRole, appDefaultRoleNoLogin, settingsStore){
21
- this.appDefaultRole = appDefaultRole;
22
- this.appDefaultRoleNoLogin = appDefaultRoleNoLogin;
23
- this.settingsStore = settingsStore;
24
- this.logger = loggerFactory(RoleService.name);
25
- }
26
- _roles = [];
27
- get roles() {
28
- return this._roles;
29
- }
30
- toDto(role) {
31
- return {
32
- id: role.id,
33
- name: role.name
34
- };
35
- }
36
- async getAppDefaultRole() {
37
- if (await this.settingsStore.getLoginRequired()) {
38
- return this.appDefaultRole;
39
- }
40
- return this.appDefaultRoleNoLogin;
41
- }
42
- getRolesPermissions(roles) {
43
- let permissions = [];
44
- if (!roles?.length) return [];
45
- for (let role of roles){
46
- const normalizedRole = this.normalizeRoleIdOrName(role);
47
- const rolePermissions = this.getRolePermissions(normalizedRole);
48
- permissions = (0, _lodash.union)(permissions, rolePermissions);
49
- }
50
- return permissions;
51
- }
52
- getRolePermissions(role) {
53
- if (!role?.length) {
54
- return [];
55
- }
56
- const normalizedRole = this.normalizeRoleIdOrName(role);
57
- if (!normalizedRole?.length) {
58
- return [];
59
- }
60
- return _authorizationconstants.ROLE_PERMS[normalizedRole];
61
- }
62
- async getAppDefaultRoleIds() {
63
- if (!this._roles?.length) {
64
- await this.syncRoles();
65
- }
66
- const guestRole = this.getRoleByName(await this.getAppDefaultRole());
67
- return [
68
- guestRole.id
69
- ];
70
- }
71
- async getSynchronizedRoleByName(roleName) {
72
- if (!this._roles?.length) {
73
- await this.syncRoles();
74
- }
75
- return this.getRoleByName(roleName);
76
- }
77
- authorizeRole(requiredRole, assignedRoles) {
78
- return !!assignedRoles.find((ar)=>{
79
- const normalizedRole = this.normalizeRoleIdOrName(ar);
80
- if (!normalizedRole) return false;
81
- return normalizedRole === requiredRole;
82
- });
83
- }
84
- authorizeRoles(requiredRoles, assignedRoles, subset = true) {
85
- let isAuthorized = false;
86
- if (!requiredRoles?.length) return true;
87
- requiredRoles.forEach((rr)=>{
88
- const result = this.authorizeRole(rr, assignedRoles);
89
- isAuthorized = subset ? isAuthorized || result : isAuthorized && result;
90
- });
91
- return isAuthorized;
92
- }
93
- getRoleByName(roleName) {
94
- const role = this._roles.find((r)=>r.name === roleName);
95
- if (!role) throw new _runtimeexceptions.NotFoundException(`Role by provided name not found`);
96
- return role;
97
- }
98
- getManyRoles(roleIds) {
99
- return roleIds.map((roleId)=>this.getRole(roleId));
100
- }
101
- getRole(roleId) {
102
- const role = this._roles.find((r)=>r.id === roleId);
103
- if (!role) throw new _runtimeexceptions.NotFoundException(`Role by provided id not found`);
104
- return role;
105
- }
106
- async syncRoles() {
107
- this._roles = [];
108
- for (let roleName of Object.values(_authorizationconstants.ROLES)){
109
- const storedRole = await _models.Role.findOne({
110
- name: roleName
111
- });
112
- if (!storedRole) {
113
- const newRole = await _models.Role.create({
114
- name: roleName
115
- });
116
- this._roles.push(newRole);
117
- } else {
118
- this._roles.push(storedRole);
119
- }
120
- }
121
- }
122
- normalizeRoleIdOrName(assignedRole) {
123
- const roleInstance = this.roles.find((r)=>r.id === assignedRole || r.name === assignedRole);
124
- if (!roleInstance) {
125
- this.logger.warn(`The role by provided id was not found. Skipping.`);
126
- return;
127
- }
128
- return roleInstance.name;
129
- }
130
- }
131
-
132
- //# sourceMappingURL=role.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/services/mongoose/role.service.ts"],"names":["RoleService","logger","loggerFactory","appDefaultRole","appDefaultRoleNoLogin","settingsStore","name","_roles","roles","toDto","role","id","getAppDefaultRole","getLoginRequired","getRolesPermissions","permissions","length","normalizedRole","normalizeRoleIdOrName","rolePermissions","getRolePermissions","union","ROLE_PERMS","getAppDefaultRoleIds","syncRoles","guestRole","getRoleByName","getSynchronizedRoleByName","roleName","authorizeRole","requiredRole","assignedRoles","find","ar","authorizeRoles","requiredRoles","subset","isAuthorized","forEach","rr","result","r","NotFoundException","getManyRoles","roleIds","map","roleId","getRole","Object","values","ROLES","storedRole","Role","findOne","newRole","create","push","assignedRole","roleInstance","warn"],"mappings":"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"}
@@ -1,124 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "SettingsService", {
6
- enumerable: true,
7
- get: function() {
8
- return SettingsService;
9
- }
10
- });
11
- const _models = require("../../models");
12
- const _serversettingsconstants = require("../../constants/server-settings.constants");
13
- const _validators = require("../../handlers/validators");
14
- const _settingsservicevalidation = require("../validators/settings-service.validation");
15
- const _runtimesettingsmigration = require("../../shared/runtime-settings.migration");
16
- class SettingsService {
17
- toDto(entity) {
18
- return {
19
- [_serversettingsconstants.serverSettingsKey]: {
20
- ...entity[_serversettingsconstants.serverSettingsKey],
21
- experimentalTypeormSupport: false
22
- },
23
- [_serversettingsconstants.wizardSettingKey]: entity[_serversettingsconstants.wizardSettingKey],
24
- [_serversettingsconstants.frontendSettingKey]: entity[_serversettingsconstants.frontendSettingKey],
25
- [_serversettingsconstants.printerFileCleanSettingKey]: entity[_serversettingsconstants.printerFileCleanSettingKey],
26
- [_serversettingsconstants.timeoutSettingKey]: entity[_serversettingsconstants.timeoutSettingKey]
27
- };
28
- }
29
- async getOrCreate() {
30
- let settings = await this.getOptional();
31
- if (!settings) {
32
- const defaultSettings = new _models.Settings((0, _serversettingsconstants.getDefaultSettings)());
33
- await defaultSettings.save();
34
- return defaultSettings;
35
- } else {
36
- settings = (0, _runtimesettingsmigration.migrateSettingsRuntime)(settings);
37
- return await _models.Settings.findOneAndUpdate({
38
- _id: settings.id
39
- }, settings, {
40
- new: true
41
- });
42
- }
43
- }
44
- async updateFileCleanSettings(update) {
45
- const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.fileCleanSettingsUpdateSchema);
46
- const settingsDoc = await this.getOrCreate();
47
- settingsDoc[_serversettingsconstants.printerFileCleanSettingKey] = Object.assign(settingsDoc[_serversettingsconstants.printerFileCleanSettingKey], validatedInput);
48
- return await _models.Settings.findOneAndUpdate({
49
- _id: settingsDoc.id
50
- }, settingsDoc, {
51
- new: true
52
- });
53
- }
54
- async updateWizardSettings(update) {
55
- const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.wizardUpdateSchema);
56
- const settingsDoc = await this.getOrCreate();
57
- settingsDoc[_serversettingsconstants.wizardSettingKey] = Object.assign(settingsDoc[_serversettingsconstants.wizardSettingKey], validatedInput);
58
- return await _models.Settings.findOneAndUpdate({
59
- _id: settingsDoc.id
60
- }, settingsDoc, {
61
- new: true
62
- });
63
- }
64
- async updateFrontendSettings(update) {
65
- const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.frontendSettingsUpdateSchema);
66
- const settingsDoc = await this.getOrCreate();
67
- const frontendSettings = settingsDoc[_serversettingsconstants.frontendSettingKey];
68
- Object.assign(frontendSettings, validatedInput);
69
- return await _models.Settings.findOneAndUpdate({
70
- _id: settingsDoc.id
71
- }, settingsDoc, {
72
- new: true
73
- });
74
- }
75
- async updateJwtSecretCredentialSetting(update) {
76
- const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.jwtSecretCredentialSettingUpdateSchema);
77
- const settingsDoc = await this.getOrCreate();
78
- const credentialSettings = settingsDoc[_serversettingsconstants.credentialSettingsKey];
79
- Object.assign(credentialSettings, validatedInput);
80
- return await _models.Settings.findOneAndUpdate({
81
- _id: settingsDoc.id
82
- }, settingsDoc, {
83
- new: true
84
- });
85
- }
86
- async updateCredentialSettings(patchUpdate) {
87
- const validatedInput = await (0, _validators.validateInput)(patchUpdate, _settingsservicevalidation.credentialSettingUpdateSchema);
88
- const settingsDoc = await this.getOrCreate();
89
- const credentialSettings = settingsDoc[_serversettingsconstants.credentialSettingsKey];
90
- Object.assign(credentialSettings, validatedInput);
91
- return await _models.Settings.findOneAndUpdate({
92
- _id: settingsDoc.id
93
- }, settingsDoc, {
94
- new: true
95
- });
96
- }
97
- async updateServerSettings(update) {
98
- const validatedInput = await (0, _validators.validateInput)(update, _settingsservicevalidation.serverSettingsUpdateSchema);
99
- const settingsDoc = await this.getOrCreate();
100
- const serverSettings = settingsDoc[_serversettingsconstants.serverSettingsKey];
101
- Object.assign(serverSettings, validatedInput);
102
- return await _models.Settings.findOneAndUpdate({
103
- _id: settingsDoc.id
104
- }, settingsDoc, {
105
- new: true
106
- });
107
- }
108
- async updateTimeoutSettings(patchUpdate) {
109
- const validatedInput = await (0, _validators.validateInput)(patchUpdate, _settingsservicevalidation.timeoutSettingsUpdateSchema);
110
- const settingsDoc = await this.getOrCreate();
111
- const timeoutSettings = settingsDoc[_serversettingsconstants.timeoutSettingKey];
112
- Object.assign(timeoutSettings, validatedInput);
113
- return await _models.Settings.findOneAndUpdate({
114
- _id: settingsDoc.id
115
- }, settingsDoc, {
116
- new: true
117
- });
118
- }
119
- async getOptional() {
120
- return _models.Settings.findOne();
121
- }
122
- }
123
-
124
- //# sourceMappingURL=settings.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/services/mongoose/settings.service.ts"],"names":["SettingsService","toDto","entity","serverSettingsKey","experimentalTypeormSupport","wizardSettingKey","frontendSettingKey","printerFileCleanSettingKey","timeoutSettingKey","getOrCreate","settings","getOptional","defaultSettings","Settings","getDefaultSettings","save","migrateSettingsRuntime","findOneAndUpdate","_id","id","new","updateFileCleanSettings","update","validatedInput","validateInput","fileCleanSettingsUpdateSchema","settingsDoc","Object","assign","updateWizardSettings","wizardUpdateSchema","updateFrontendSettings","frontendSettingsUpdateSchema","frontendSettings","updateJwtSecretCredentialSetting","jwtSecretCredentialSettingUpdateSchema","credentialSettings","credentialSettingsKey","updateCredentialSettings","patchUpdate","credentialSettingUpdateSchema","updateServerSettings","serverSettingsUpdateSchema","serverSettings","updateTimeoutSettings","timeoutSettingsUpdateSchema","timeoutSettings","findOne"],"mappings":"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"}