@fdm-monster/server 1.9.3 → 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.
- package/.env.template +0 -4
- package/.yarn/install-state.gz +0 -0
- package/CONTRIBUTING.md +4 -4
- package/README.md +4 -4
- package/RELEASE_NOTES.MD +24 -0
- package/biome.json +8 -5
- package/dist/consoles/mock-bambu.server.js +23 -54
- package/dist/consoles/mock-bambu.server.js.map +1 -1
- package/dist/consoles/mock-octoprint.server.js.map +1 -1
- package/dist/consoles/mock-prusalink.server.js +6 -6
- package/dist/consoles/mock-prusalink.server.js.map +1 -1
- package/dist/consoles/utils/api-messages.js.map +1 -1
- package/dist/constants/authorization.constants.js +32 -25
- package/dist/constants/authorization.constants.js.map +1 -1
- package/dist/constants/event.constants.js.map +1 -1
- package/dist/constants/server-settings.constants.js +0 -1
- package/dist/constants/server-settings.constants.js.map +1 -1
- package/dist/container.js +30 -54
- package/dist/container.js.map +1 -1
- package/dist/container.tokens.js +0 -1
- package/dist/container.tokens.js.map +1 -1
- package/dist/controllers/auth.controller.js +1 -1
- package/dist/controllers/auth.controller.js.map +1 -1
- package/dist/controllers/batch-call.controller.js +8 -11
- package/dist/controllers/batch-call.controller.js.map +1 -1
- package/dist/controllers/custom-gcode.controller.js +2 -5
- package/dist/controllers/custom-gcode.controller.js.map +1 -1
- package/dist/controllers/first-time-setup.controller.js +4 -4
- package/dist/controllers/first-time-setup.controller.js.map +1 -1
- package/dist/controllers/metrics.controller.js.map +1 -1
- package/dist/controllers/printer-files.controller.js +16 -7
- package/dist/controllers/printer-files.controller.js.map +1 -1
- package/dist/controllers/printer.controller.js +6 -7
- package/dist/controllers/printer.controller.js.map +1 -1
- package/dist/controllers/server-public.controller.js +5 -13
- package/dist/controllers/server-public.controller.js.map +1 -1
- package/dist/controllers/user.controller.js +8 -12
- package/dist/controllers/user.controller.js.map +1 -1
- package/dist/controllers/validation/batch-controller.validation.js +13 -13
- package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
- package/dist/controllers/validation/generic.validation.js +4 -8
- package/dist/controllers/validation/generic.validation.js.map +1 -1
- package/dist/controllers/validation/printer-files-controller.validation.js +2 -2
- package/dist/controllers/validation/user-controller.validation.js +14 -9
- package/dist/controllers/validation/user-controller.validation.js.map +1 -1
- package/dist/data-source.js +6 -5
- package/dist/data-source.js.map +1 -1
- package/dist/entities/index.js +0 -4
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/print-completion.entity.js.map +1 -1
- package/dist/entities/settings.entity.js.map +1 -1
- package/dist/handlers/logging/file-logging.transport.js.map +1 -1
- package/dist/handlers/logging/static.logger.js.map +1 -1
- package/dist/middleware/authenticate.js +4 -4
- package/dist/middleware/authenticate.js.map +1 -1
- package/dist/middleware/database.js +1 -1
- package/dist/middleware/global.middleware.js +4 -12
- package/dist/middleware/global.middleware.js.map +1 -1
- package/dist/middleware/param-converter.middleware.js +5 -13
- package/dist/middleware/param-converter.middleware.js.map +1 -1
- package/dist/middleware/passport.js +2 -2
- package/dist/middleware/passport.js.map +1 -1
- package/dist/middleware/printer-resolver.js.map +1 -1
- package/dist/middleware/printer.js +3 -2
- package/dist/middleware/printer.js.map +1 -1
- package/dist/middleware/socketio.middleware.js.map +1 -1
- package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +1 -1
- package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -1
- package/dist/migrations/1766576698569-DropPermissions.js +28 -0
- package/dist/migrations/1766576698569-DropPermissions.js.map +1 -0
- package/dist/server.constants.js +5 -9
- package/dist/server.constants.js.map +1 -1
- package/dist/server.core.js +3 -7
- package/dist/server.core.js.map +1 -1
- package/dist/server.env.js +4 -49
- package/dist/server.env.js.map +1 -1
- package/dist/server.host.js +3 -13
- package/dist/server.host.js.map +1 -1
- package/dist/services/authentication/auth.service.js.map +1 -1
- package/dist/services/authentication/jwt.service.js.map +1 -1
- package/dist/services/bambu/bambu-ftp.adapter.js +46 -4
- package/dist/services/bambu/bambu-ftp.adapter.js.map +1 -1
- package/dist/services/bambu/bambu-mqtt.adapter.js +35 -22
- package/dist/services/bambu/bambu-mqtt.adapter.js.map +1 -1
- package/dist/services/bambu/bambu.client.js.map +1 -1
- package/dist/services/bambu.api.js +32 -3
- package/dist/services/bambu.api.js.map +1 -1
- package/dist/services/core/batch-call.service.js.map +1 -1
- package/dist/services/core/multer.service.js +37 -71
- package/dist/services/core/multer.service.js.map +1 -1
- package/dist/services/core/yaml.service.js +20 -43
- package/dist/services/core/yaml.service.js.map +1 -1
- package/dist/services/interfaces/camera-stream.dto.js +2 -2
- package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
- package/dist/services/interfaces/custom-gcode.dto.js.map +1 -1
- package/dist/services/interfaces/floor.dto.js.map +1 -1
- package/dist/services/interfaces/print-completion.dto.js.map +1 -1
- package/dist/services/interfaces/printer-group.dto.js.map +1 -1
- package/dist/services/interfaces/printer.dto.js +2 -2
- package/dist/services/interfaces/printer.dto.js.map +1 -1
- package/dist/services/interfaces/refresh-token.dto.js.map +1 -1
- package/dist/services/interfaces/role.dto.js.map +1 -1
- package/dist/services/interfaces/settings.dto.js.map +1 -1
- package/dist/services/interfaces/user.dto.js.map +1 -1
- package/dist/services/moonraker/constants/moonraker-event.dto.js.map +1 -1
- package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
- package/dist/services/moonraker/moonraker.client.js.map +1 -1
- package/dist/services/moonraker.api.js +3 -0
- package/dist/services/moonraker.api.js.map +1 -1
- package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
- package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
- package/dist/services/octoprint.api.js +3 -0
- package/dist/services/octoprint.api.js.map +1 -1
- package/dist/services/orm/base.service.js.map +1 -1
- package/dist/services/orm/camera-stream.service.js.map +1 -1
- package/dist/services/orm/custom-gcode.service.js.map +1 -1
- package/dist/services/orm/floor-position.service.js.map +1 -1
- package/dist/services/orm/floor.service.js +4 -4
- package/dist/services/orm/floor.service.js.map +1 -1
- package/dist/services/orm/permission.service.js +3 -54
- package/dist/services/orm/permission.service.js.map +1 -1
- package/dist/services/orm/print-completion.service.js +2 -2
- package/dist/services/orm/print-completion.service.js.map +1 -1
- package/dist/services/orm/print-completion.shared.js.map +1 -0
- package/dist/services/orm/printer-group.service.js.map +1 -1
- package/dist/services/orm/printer.service.js.map +1 -1
- package/dist/services/orm/refresh-token.service.js.map +1 -1
- package/dist/services/orm/role.service.js +25 -39
- package/dist/services/orm/role.service.js.map +1 -1
- package/dist/services/orm/settings.service.js +4 -7
- package/dist/services/orm/settings.service.js.map +1 -1
- package/dist/services/orm/user.service.js +17 -13
- package/dist/services/orm/user.service.js.map +1 -1
- package/dist/services/printer-api.factory.js +1 -1
- package/dist/services/printer-api.factory.js.map +1 -1
- package/dist/services/printer-api.interface.js.map +1 -1
- package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -1
- package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +28 -6
- package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -1
- package/dist/services/prusa-link/prusa-link.api.js +4 -1
- package/dist/services/prusa-link/prusa-link.api.js.map +1 -1
- package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -1
- package/dist/services/validators/floor-service.validation.js +16 -22
- package/dist/services/validators/floor-service.validation.js.map +1 -1
- package/dist/services/validators/user-service.validation.js +15 -10
- package/dist/services/validators/user-service.validation.js.map +1 -1
- package/dist/services/validators/yaml-service.validation.js +1 -1
- package/dist/shared/runtime-settings.migration.js.map +1 -1
- package/dist/shared/websocket-rpc-extended.adapter.js +13 -4
- package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
- package/dist/shared/websocket.adapter.js.map +1 -1
- package/dist/state/file-upload-tracker.cache.js.map +1 -1
- package/dist/state/file.cache.js +6 -6
- package/dist/state/file.cache.js.map +1 -1
- package/dist/state/floor.store.js +1 -1
- package/dist/state/floor.store.js.map +1 -1
- package/dist/state/printer-events.cache.js +1 -1
- package/dist/state/printer-events.cache.js.map +1 -1
- package/dist/state/printer-files.store.js.map +1 -1
- package/dist/state/printer-socket.store.js +25 -20
- package/dist/state/printer-socket.store.js.map +1 -1
- package/dist/state/printer-thumbnail.cache.js +13 -18
- package/dist/state/printer-thumbnail.cache.js.map +1 -1
- package/dist/state/printer.cache.js +3 -13
- package/dist/state/printer.cache.js.map +1 -1
- package/dist/state/settings.store.js +2 -9
- package/dist/state/settings.store.js.map +1 -1
- package/dist/state/test-printer-socket.store.js +19 -4
- package/dist/state/test-printer-socket.store.js.map +1 -1
- package/dist/tasks/boot.task.js +5 -87
- package/dist/tasks/boot.task.js.map +1 -1
- package/dist/tasks/print-completion.socketio.task.js.map +1 -1
- package/dist/tasks/printer-file-clean.task.js.map +1 -1
- package/dist/utils/cache/key-diff.cache.js +20 -61
- package/dist/utils/cache/key-diff.cache.js.map +1 -1
- package/package.json +8 -19
- package/dist/entities/permission.entity.js +0 -37
- package/dist/entities/permission.entity.js.map +0 -1
- package/dist/models/Auth/Permission.js +0 -20
- package/dist/models/Auth/Permission.js.map +0 -1
- package/dist/models/Auth/RefreshToken.js +0 -41
- package/dist/models/Auth/RefreshToken.js.map +0 -1
- package/dist/models/Auth/Role.js +0 -20
- package/dist/models/Auth/Role.js.map +0 -1
- package/dist/models/Auth/User.js +0 -49
- package/dist/models/Auth/User.js.map +0 -1
- package/dist/models/CameraStream.js +0 -49
- package/dist/models/CameraStream.js.map +0 -1
- package/dist/models/CustomGcode.js +0 -28
- package/dist/models/CustomGcode.js.map +0 -1
- package/dist/models/Floor.js +0 -33
- package/dist/models/Floor.js.map +0 -1
- package/dist/models/FloorPrinter.js +0 -38
- package/dist/models/FloorPrinter.js.map +0 -1
- package/dist/models/PrintCompletion.js +0 -40
- package/dist/models/PrintCompletion.js.map +0 -1
- package/dist/models/Printer.js +0 -78
- package/dist/models/Printer.js.map +0 -1
- package/dist/models/Settings.js +0 -150
- package/dist/models/Settings.js.map +0 -1
- package/dist/models/index.js +0 -54
- package/dist/models/index.js.map +0 -1
- package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js +0 -45
- package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +0 -1
- package/dist/mongo-migrations/20210907173950-printers-enabled.js +0 -35
- package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +0 -1
- package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js +0 -35
- package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +0 -1
- package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js +0 -60
- package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js.map +0 -1
- package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js +0 -30
- package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js.map +0 -1
- package/dist/mongo-migrations/20230716065316-user-remove-name.js +0 -30
- package/dist/mongo-migrations/20230716065316-user-remove-name.js.map +0 -1
- package/dist/mongo-migrations/20231111081809-printer-flatten-name.js +0 -35
- package/dist/mongo-migrations/20231111081809-printer-flatten-name.js.map +0 -1
- package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js +0 -41
- package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js.map +0 -1
- package/dist/mongo-migrations/20231202183902-printer-files-simpler.js +0 -41
- package/dist/mongo-migrations/20231202183902-printer-files-simpler.js.map +0 -1
- package/dist/services/interfaces/permission.dto.js +0 -16
- package/dist/services/interfaces/permission.dto.js.map +0 -1
- package/dist/services/mongoose/camera-stream.service.js +0 -67
- package/dist/services/mongoose/camera-stream.service.js.map +0 -1
- package/dist/services/mongoose/custom-gcode.service.js +0 -50
- package/dist/services/mongoose/custom-gcode.service.js.map +0 -1
- package/dist/services/mongoose/floor.service.js +0 -139
- package/dist/services/mongoose/floor.service.js.map +0 -1
- package/dist/services/mongoose/permission.service.js +0 -73
- package/dist/services/mongoose/permission.service.js.map +0 -1
- package/dist/services/mongoose/print-completion.service.js +0 -134
- package/dist/services/mongoose/print-completion.service.js.map +0 -1
- package/dist/services/mongoose/print-completion.shared.js.map +0 -1
- package/dist/services/mongoose/printer.service.js +0 -216
- package/dist/services/mongoose/printer.service.js.map +0 -1
- package/dist/services/mongoose/refresh-token.service.js +0 -104
- package/dist/services/mongoose/refresh-token.service.js.map +0 -1
- package/dist/services/mongoose/role.service.js +0 -132
- package/dist/services/mongoose/role.service.js.map +0 -1
- package/dist/services/mongoose/settings.service.js +0 -124
- package/dist/services/mongoose/settings.service.js.map +0 -1
- package/dist/services/mongoose/user.service.js +0 -180
- package/dist/services/mongoose/user.service.js.map +0 -1
- package/dist/services/validators/camera-service.validation.js +0 -19
- package/dist/services/validators/camera-service.validation.js.map +0 -1
- package/dist/services/validators/print-completion-service.validation.js +0 -33
- package/dist/services/validators/print-completion-service.validation.js.map +0 -1
- package/dist/shared.constants.js +0 -15
- package/dist/shared.constants.js.map +0 -1
- package/migrate-mongo-config.js +0 -45
- /package/dist/services/{mongoose → orm}/print-completion.shared.js +0 -0
package/.env.template
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
SERVER_PORT=4000
|
|
3
3
|
# Optional, default: production, possible values: "development", "production"
|
|
4
4
|
NODE_ENV=development
|
|
5
|
-
# Optional, default: mongodb://127.0.0.1:27017/fdm-monster
|
|
6
|
-
MONGO=mongodb://127.0.0.1:27017/fdm-monster
|
|
7
5
|
ENABLE_COLORED_LOGS=false
|
|
8
6
|
|
|
9
7
|
# Github Personal Access Token, allows downloading the Client bundle without hitting a Github API rate limit
|
|
@@ -41,8 +39,6 @@ OVERRIDE_DEMO_ROLE=ADMIN
|
|
|
41
39
|
DEBUG_ROUTES=false
|
|
42
40
|
DEBUG_SOCKET_STATES=false
|
|
43
41
|
|
|
44
|
-
# Enables TypeORM
|
|
45
|
-
ENABLE_EXPERIMENTAL_TYPEORM=false
|
|
46
42
|
# Saves SQLite database to ./database/fdm-monster.sqlite
|
|
47
43
|
DATABASE_PATH=./database
|
|
48
44
|
# Optional, default: fdm-monster.sqlite
|
package/.yarn/install-state.gz
CHANGED
|
Binary file
|
package/CONTRIBUTING.md
CHANGED
|
@@ -43,7 +43,7 @@ FDM Monster currently consists of two active repositories:
|
|
|
43
43
|
Server design
|
|
44
44
|
|
|
45
45
|
- **FDM Monster server** was chosen to be a Node.js server. The backend is currently structured as a REST API. It might be surprising that we use `awilix` as Inversion-of-Control implementation, but if you study the resulting architecture it will show its fresh and quick-to-develop benefits rapidly.
|
|
46
|
-
- **FDM Monster server** runs using
|
|
46
|
+
- **FDM Monster server** runs using Sqlite as database and Typeorm as ORM
|
|
47
47
|
- **FDM Monster server** caches data in-memory using a self-written store/cache system between the database (no redis!)
|
|
48
48
|
- **FDM Monster server** API is built up using `awilix-express` and uses `node-input-validation` as API validation
|
|
49
49
|
- **FDM Monster server** is equipped with a task scheduler (ToadScheduler) which gives the capability to run workloads in the background.
|
|
@@ -94,7 +94,7 @@ Explain the problem and include additional details to help maintainers reproduce
|
|
|
94
94
|
You might be delighted to know that the FDM Monster server was structured consistently for other developers to be able to work with it rapidly.
|
|
95
95
|
|
|
96
96
|
1. Clone the repository from the development branch (git clone https://github.com/fdm-monster/fdm-monster.git)
|
|
97
|
-
2. Ensure
|
|
97
|
+
2. Ensure Node (v24) is installed
|
|
98
98
|
3. Adjust/create a `.env` with NODE_ENV=development **inside the server folder**
|
|
99
99
|
4. `npm install` **inside the server folder** to create the `node_modules` folder
|
|
100
100
|
5. Run the server with `npm run dev` to let nodemon detect and apply any changes you make
|
|
@@ -109,11 +109,11 @@ Please make sure you understand the meaning of these files/folders:
|
|
|
109
109
|
- server.constants.js
|
|
110
110
|
- constants
|
|
111
111
|
- controllers (API)
|
|
112
|
+
- entities (typeorm)
|
|
112
113
|
- exceptions
|
|
113
114
|
- handlers
|
|
114
115
|
- middleware
|
|
115
|
-
-
|
|
116
|
-
- migrations (mongodb/mongoose)
|
|
116
|
+
- migrations (typeorm/sqlite)
|
|
117
117
|
- services // services/octoprint/...
|
|
118
118
|
- state // state/printer.state.js // state/files.store.js // state/data/...
|
|
119
119
|
- tasks // tasks/boot.task.js // printer-websocket.task.js
|
package/README.md
CHANGED
|
@@ -38,7 +38,7 @@ Here is a list of features that make FDM Monster stand out:
|
|
|
38
38
|
- Import printers from software like OctoFarm
|
|
39
39
|
- YAML backup and import
|
|
40
40
|
- Thumbnail support
|
|
41
|
-
- SQLite
|
|
41
|
+
- SQLite database
|
|
42
42
|
|
|
43
43
|
## Installation methods ⚙️
|
|
44
44
|
|
|
@@ -75,7 +75,7 @@ Thanks to the following parties for their financial support:
|
|
|
75
75
|
|
|
76
76
|
| Tier 1 | Tier 2 | Tier 3 | Tier 4 | One time |
|
|
77
77
|
|--------|--------|--------|--------|-----------|
|
|
78
|
-
| | [thatguymendel](https://github.com/thatguymendel) | | [doucettom](https://github.com/doucettom) | [th3dstudio](https://github.com/th3dstudio) |
|
|
78
|
+
| | [thatguymendel](https://github.com/thatguymendel) | [MrHitchcock](https://github.com/MrHitchcock) | [doucettom](https://github.com/doucettom) | [th3dstudio](https://github.com/th3dstudio) |
|
|
79
79
|
|
|
80
80
|
|
|
81
81
|
## Contributors ✨
|
|
@@ -83,7 +83,7 @@ Thanks to the following parties for their financial support:
|
|
|
83
83
|
These are the people involved in the project. Find the meaning of the emoji keys [here](https://allcontributors.org/docs/en/emoji-key).
|
|
84
84
|
|
|
85
85
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
86
|
-
[](#contributors-)
|
|
87
87
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
88
88
|
|
|
89
89
|
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
|
@@ -119,6 +119,7 @@ These are the people involved in the project. Find the meaning of the emoji keys
|
|
|
119
119
|
<td align="center" valign="top" width="10%"><a href="https://github.com/Tbwan"><img src="https://avatars.githubusercontent.com/u/44231748?v=4?s=40" width="40px;" alt="Tbwan"/><br /><sub><b>Tbwan</b></sub></a><br /><a href="https://github.com/fdm-monster/fdm-monster/issues?q=author%3ATbwan" title="Bug reports">🐛</a></td>
|
|
120
120
|
<td align="center" valign="top" width="10%"><a href="https://github.com/nuvious"><img src="https://avatars.githubusercontent.com/u/5287736?v=4?s=40" width="40px;" alt="David Cheeseman"/><br /><sub><b>David Cheeseman</b></sub></a><br /><a href="#ideas-nuvious" title="Ideas, Planning, & Feedback">🤔</a> <a href="#platform-nuvious" title="Packaging/porting to new platform">📦</a> <a href="#infra-nuvious" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
|
|
121
121
|
<td align="center" valign="top" width="10%"><a href="https://github.com/thatguy-jaysenodell"><img src="https://avatars.githubusercontent.com/u/118288184?v=4?s=40" width="40px;" alt="That Guy Jaysen"/><br /><sub><b>That Guy Jaysen</b></sub></a><br /><a href="https://github.com/fdm-monster/fdm-monster/issues?q=author%3Athatguy-jaysenodell" title="Bug reports">🐛</a></td>
|
|
122
|
+
<td align="center" valign="top" width="10%"><a href="http://design.zagethy.com"><img src="https://avatars.githubusercontent.com/u/6075740?v=4?s=40" width="40px;" alt="Zagethy"/><br /><sub><b>Zagethy</b></sub></a><br /><a href="https://github.com/fdm-monster/fdm-monster/issues?q=author%3AZagethy" title="Bug reports">🐛</a></td>
|
|
122
123
|
</tr>
|
|
123
124
|
</tbody>
|
|
124
125
|
</table>
|
|
@@ -147,7 +148,6 @@ the [CONTRIBUTING](CONTRIBUTING.md) file.
|
|
|
147
148
|
### Development Progress
|
|
148
149
|
|
|
149
150
|
- [x] :rocket: Docker amd64 image
|
|
150
|
-
- [x] 🛡️ MongoDB 5 & 6 support
|
|
151
151
|
- [x] :rocket: Quick copy paste of FDM Monster printers
|
|
152
152
|
- [x] 🛡️ Complete API test coverage
|
|
153
153
|
- [x] :rocket: Floor management
|
package/RELEASE_NOTES.MD
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Develop
|
|
2
2
|
|
|
3
|
+
# FDM Monster 2.0.0-rc1
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- Remove mongodb support (breaking change)
|
|
8
|
+
- Reimplement role system based on RoleName (not id and name)
|
|
9
|
+
- Cleanup and remove unused permission table
|
|
10
|
+
- Key-diff cache is now Map instead of Object
|
|
11
|
+
|
|
12
|
+
## Fixes
|
|
13
|
+
|
|
14
|
+
- Update printer now replaces old socket with new one
|
|
15
|
+
|
|
16
|
+
# FDM Monster 1.9.4
|
|
17
|
+
|
|
18
|
+
## Fixes
|
|
19
|
+
|
|
20
|
+
- Bambu mqtt adapter should connect using mqtts
|
|
21
|
+
- Bambu FTP works with .3mf (as well as gcode), FDM Monster now supports 3mf upload for bambu printer types
|
|
22
|
+
- Bambu: implemented socket state emitting for test functionality
|
|
23
|
+
- PrusaLink: implemented socket state emitting for test functionality
|
|
24
|
+
- Bambu: download file implemented via FTP
|
|
25
|
+
- FDM-Monster API: file upload now checks file extension after upload (not during upload)
|
|
26
|
+
|
|
3
27
|
# FDM Monster 1.9.3
|
|
4
28
|
|
|
5
29
|
## Fixes
|
package/biome.json
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://biomejs.dev/schemas/
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/2.3.10/schema.json",
|
|
3
3
|
"vcs": {
|
|
4
4
|
"enabled": false,
|
|
5
5
|
"clientKind": "git",
|
|
6
6
|
"useIgnoreFile": false
|
|
7
7
|
},
|
|
8
8
|
"files": {
|
|
9
|
-
"ignoreUnknown": false
|
|
10
|
-
"ignore": []
|
|
9
|
+
"ignoreUnknown": false
|
|
11
10
|
},
|
|
12
11
|
"formatter": {
|
|
13
12
|
"enabled": true,
|
|
@@ -15,8 +14,12 @@
|
|
|
15
14
|
"indentWidth": 2,
|
|
16
15
|
"lineWidth": 120
|
|
17
16
|
},
|
|
18
|
-
"
|
|
19
|
-
"
|
|
17
|
+
"assist": {
|
|
18
|
+
"actions": {
|
|
19
|
+
"source": {
|
|
20
|
+
"organizeImports": "on"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
20
23
|
},
|
|
21
24
|
"linter": {
|
|
22
25
|
"enabled": true,
|
|
@@ -8,8 +8,6 @@ const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
|
|
|
8
8
|
const _nodefs = /*#__PURE__*/ _interop_require_default(require("node:fs"));
|
|
9
9
|
const _nodeos = /*#__PURE__*/ _interop_require_default(require("node:os"));
|
|
10
10
|
const _selfsigned = /*#__PURE__*/ _interop_require_default(require("selfsigned"));
|
|
11
|
-
const _aedes = /*#__PURE__*/ _interop_require_default(require("aedes"));
|
|
12
|
-
const _nodenet = require("node:net");
|
|
13
11
|
function _interop_require_default(obj) {
|
|
14
12
|
return obj && obj.__esModule ? obj : {
|
|
15
13
|
default: obj
|
|
@@ -20,6 +18,7 @@ const DEFAULT_MQTT_PORT = 8883;
|
|
|
20
18
|
const DEFAULT_SERIAL = "01P00A000000001";
|
|
21
19
|
const DEFAULT_ACCESS_CODE = "12345678";
|
|
22
20
|
const MESSAGE_INTERVAL = 1000;
|
|
21
|
+
const DEFAULT_USERNAME = "bblp";
|
|
23
22
|
const port = process.argv[2] ? Number.parseInt(process.argv[2]) : DEFAULT_PORT;
|
|
24
23
|
const mqttPort = process.argv[3] ? Number.parseInt(process.argv[3]) : DEFAULT_MQTT_PORT;
|
|
25
24
|
const serial = process.argv[4] || DEFAULT_SERIAL;
|
|
@@ -27,28 +26,10 @@ const accessCode = process.argv[5] || DEFAULT_ACCESS_CODE;
|
|
|
27
26
|
console.log(`[BAMBU MOCK] Starting Bambu Lab mock server`);
|
|
28
27
|
console.log(`[BAMBU MOCK] Configuration:`);
|
|
29
28
|
console.log(`[BAMBU MOCK] FTP Port: ${port}`);
|
|
30
|
-
console.log(`[BAMBU MOCK]
|
|
29
|
+
console.log(`[BAMBU MOCK] MQTT Broker expected at: mqtts://localhost:${mqttPort}`);
|
|
31
30
|
console.log(`[BAMBU MOCK] Serial: ${serial}`);
|
|
32
31
|
console.log(`[BAMBU MOCK] Access Code: ${accessCode}`);
|
|
33
32
|
console.log(`[BAMBU MOCK] Username: bblp`);
|
|
34
|
-
const aedes = new _aedes.default({});
|
|
35
|
-
const mqttServer = (0, _nodenet.createServer)(aedes.handle);
|
|
36
|
-
mqttServer.listen(mqttPort, ()=>{
|
|
37
|
-
console.log(`[BAMBU MOCK MQTT] Embedded MQTT broker started on port ${mqttPort}`);
|
|
38
|
-
});
|
|
39
|
-
aedes.on('client', (client)=>{
|
|
40
|
-
console.log(`[BAMBU MOCK MQTT] Client connected: ${client.id}`);
|
|
41
|
-
});
|
|
42
|
-
aedes.on('clientDisconnect', (client)=>{
|
|
43
|
-
console.log(`[BAMBU MOCK MQTT] Client disconnected: ${client.id}`);
|
|
44
|
-
});
|
|
45
|
-
aedes.on('publish', (packet, client)=>{
|
|
46
|
-
if (client) {
|
|
47
|
-
if (!packet.topic.startsWith('$SYS')) {
|
|
48
|
-
console.log(`[BAMBU MOCK MQTT] Message published to ${packet.topic} by ${client.id}`);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
33
|
const ftpDir = _nodepath.default.join(_nodeos.default.tmpdir(), "bambu-mock-ftp", serial);
|
|
53
34
|
const sdcardDir = _nodepath.default.join(ftpDir, "sdcard");
|
|
54
35
|
if (!_nodefs.default.existsSync(ftpDir)) {
|
|
@@ -67,21 +48,21 @@ async function generateSelfSignedCert() {
|
|
|
67
48
|
console.log(`[BAMBU MOCK] Generating self-signed certificate for TLS...`);
|
|
68
49
|
const attrs = [
|
|
69
50
|
{
|
|
70
|
-
name:
|
|
71
|
-
value:
|
|
51
|
+
name: "commonName",
|
|
52
|
+
value: "BambuLab Mock Printer"
|
|
72
53
|
},
|
|
73
54
|
{
|
|
74
|
-
name:
|
|
75
|
-
value:
|
|
55
|
+
name: "countryName",
|
|
56
|
+
value: "US"
|
|
76
57
|
},
|
|
77
58
|
{
|
|
78
|
-
name:
|
|
79
|
-
value:
|
|
59
|
+
name: "organizationName",
|
|
60
|
+
value: "Bambu Lab Mock"
|
|
80
61
|
}
|
|
81
62
|
];
|
|
82
63
|
const options = {
|
|
83
64
|
days: 365,
|
|
84
|
-
algorithm:
|
|
65
|
+
algorithm: "sha256",
|
|
85
66
|
keySize: 2048
|
|
86
67
|
};
|
|
87
68
|
const pems = await _selfsigned.default.generate(attrs, options);
|
|
@@ -89,8 +70,8 @@ async function generateSelfSignedCert() {
|
|
|
89
70
|
return {
|
|
90
71
|
key: pems.private,
|
|
91
72
|
cert: pems.cert,
|
|
92
|
-
minVersion:
|
|
93
|
-
ciphers:
|
|
73
|
+
minVersion: "TLSv1.2",
|
|
74
|
+
ciphers: "HIGH:!aNULL:!MD5"
|
|
94
75
|
};
|
|
95
76
|
}
|
|
96
77
|
let isPrinting = false;
|
|
@@ -114,7 +95,7 @@ const PRINT_DURATION = 20;
|
|
|
114
95
|
"Welcome to Bambu Lab Mock FTP Server"
|
|
115
96
|
]
|
|
116
97
|
});
|
|
117
|
-
ftpServer.on("login", ({
|
|
98
|
+
ftpServer.on("login", ({ username, password }, resolve, reject)=>{
|
|
118
99
|
console.log(`[BAMBU MOCK FTP] Login attempt - Username: ${username}`);
|
|
119
100
|
if (username === "bblp" && password === accessCode) {
|
|
120
101
|
console.log(`[BAMBU MOCK FTP] Authentication successful`);
|
|
@@ -126,15 +107,18 @@ const PRINT_DURATION = 20;
|
|
|
126
107
|
reject(new Error("Invalid username or password"));
|
|
127
108
|
}
|
|
128
109
|
});
|
|
129
|
-
ftpServer.on("client-error", ({
|
|
110
|
+
ftpServer.on("client-error", ({ error })=>{
|
|
130
111
|
console.error(`[BAMBU MOCK FTP] Client error:`, error);
|
|
131
112
|
});
|
|
132
113
|
ftpServer.listen().then(()=>{
|
|
133
114
|
console.log(`[BAMBU MOCK FTP] FTP server is running on port ${port}`);
|
|
134
115
|
console.log(`[BAMBU MOCK FTP] FTP directory: ${ftpDir}`);
|
|
135
116
|
});
|
|
136
|
-
const mqttClient = _mqtt.default.connect(`
|
|
137
|
-
clientId: `bambu_mock_${serial}_${Date.now()}
|
|
117
|
+
const mqttClient = _mqtt.default.connect(`mqtts://localhost:${mqttPort}`, {
|
|
118
|
+
clientId: `bambu_mock_${serial}_${Date.now()}`,
|
|
119
|
+
username: DEFAULT_USERNAME,
|
|
120
|
+
password: accessCode,
|
|
121
|
+
rejectUnauthorized: false
|
|
138
122
|
});
|
|
139
123
|
mqttClient.on("connect", ()=>{
|
|
140
124
|
console.log(`[BAMBU MOCK MQTT] Connected to MQTT broker at localhost:${mqttPort}`);
|
|
@@ -170,6 +154,7 @@ const PRINT_DURATION = 20;
|
|
|
170
154
|
nozzleTemp = Math.max(nozzleTemp - 2, 25);
|
|
171
155
|
bedTemp = Math.max(bedTemp - 1, 25);
|
|
172
156
|
}
|
|
157
|
+
const printingLabel = isPaused ? "paused" : "printing";
|
|
173
158
|
const state = {
|
|
174
159
|
print: {
|
|
175
160
|
nozzle_temper: Math.round(nozzleTemp),
|
|
@@ -179,7 +164,7 @@ const PRINT_DURATION = 20;
|
|
|
179
164
|
chamber_temper: 30,
|
|
180
165
|
mc_percent: Math.round(printProgress),
|
|
181
166
|
mc_remaining_time: isPrinting ? Math.round(PRINT_DURATION - (Date.now() - printStartTime) / 1000) : 0,
|
|
182
|
-
mc_print_stage: isPrinting ?
|
|
167
|
+
mc_print_stage: isPrinting ? printingLabel : "idle",
|
|
183
168
|
gcode_state: isPrinting ? "PRINTING" : "IDLE",
|
|
184
169
|
gcode_file: isPrinting ? currentPrintFile : "",
|
|
185
170
|
wifi_signal: "-45dBm",
|
|
@@ -214,12 +199,12 @@ const PRINT_DURATION = 20;
|
|
|
214
199
|
try {
|
|
215
200
|
const payload = JSON.parse(message.toString());
|
|
216
201
|
console.log(`[BAMBU MOCK MQTT] Received command on ${topic}:`, JSON.stringify(payload));
|
|
217
|
-
if (payload.print
|
|
202
|
+
if (payload.print?.command) {
|
|
218
203
|
const command = payload.print.command;
|
|
219
204
|
console.log(`[BAMBU MOCK MQTT] Processing command: ${command}`);
|
|
220
205
|
if (command === "project_file" || command === "start") {
|
|
221
206
|
const filename = payload.print.param || payload.print.subtask_name || "unknown.gcode";
|
|
222
|
-
if (filename.endsWith(
|
|
207
|
+
if (filename.endsWith(".gcode") || filename.endsWith(".3mf")) {
|
|
223
208
|
isPrinting = true;
|
|
224
209
|
isPaused = false;
|
|
225
210
|
printStartTime = Date.now();
|
|
@@ -267,15 +252,6 @@ const PRINT_DURATION = 20;
|
|
|
267
252
|
console.log("[BAMBU MOCK MQTT] Disconnecting MQTT client...");
|
|
268
253
|
await mqttClient.endAsync();
|
|
269
254
|
}
|
|
270
|
-
console.log("[BAMBU MOCK MQTT] Closing embedded MQTT broker...");
|
|
271
|
-
await new Promise((resolve)=>{
|
|
272
|
-
mqttServer.close(()=>{
|
|
273
|
-
aedes.close(()=>{
|
|
274
|
-
console.log("[BAMBU MOCK MQTT] Embedded MQTT broker closed");
|
|
275
|
-
resolve();
|
|
276
|
-
});
|
|
277
|
-
});
|
|
278
|
-
});
|
|
279
255
|
console.log("[BAMBU MOCK FTP] Closing FTP server...");
|
|
280
256
|
await ftpServer.close();
|
|
281
257
|
console.log("[BAMBU MOCK] Cleanup complete. Exiting.");
|
|
@@ -286,19 +262,12 @@ const PRINT_DURATION = 20;
|
|
|
286
262
|
if (mqttClient.connected) {
|
|
287
263
|
await mqttClient.endAsync();
|
|
288
264
|
}
|
|
289
|
-
await new Promise((resolve)=>{
|
|
290
|
-
mqttServer.close(()=>{
|
|
291
|
-
aedes.close(()=>{
|
|
292
|
-
resolve();
|
|
293
|
-
});
|
|
294
|
-
});
|
|
295
|
-
});
|
|
296
265
|
await ftpServer.close();
|
|
297
266
|
process.exit(0);
|
|
298
267
|
});
|
|
299
268
|
console.log(`[BAMBU MOCK] Mock server is running. Press Ctrl+C to stop.`);
|
|
300
269
|
})().catch((error)=>{
|
|
301
|
-
console.error(
|
|
270
|
+
console.error("[BAMBU MOCK] Fatal error during startup:", error);
|
|
302
271
|
process.exit(1);
|
|
303
272
|
});
|
|
304
273
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/consoles/mock-bambu.server.ts"],"names":["DEFAULT_PORT","DEFAULT_MQTT_PORT","DEFAULT_SERIAL","DEFAULT_ACCESS_CODE","MESSAGE_INTERVAL","port","process","argv","Number","parseInt","mqttPort","serial","accessCode","console","log","
|
|
1
|
+
{"version":3,"sources":["../../src/consoles/mock-bambu.server.ts"],"names":["DEFAULT_PORT","DEFAULT_MQTT_PORT","DEFAULT_SERIAL","DEFAULT_ACCESS_CODE","MESSAGE_INTERVAL","DEFAULT_USERNAME","port","process","argv","Number","parseInt","mqttPort","serial","accessCode","console","log","ftpDir","path","join","os","tmpdir","sdcardDir","fs","existsSync","mkdirSync","recursive","generateSelfSignedCert","attrs","name","value","options","days","algorithm","keySize","pems","selfsigned","generate","key","private","cert","minVersion","ciphers","isPrinting","currentPrintFile","printProgress","isPaused","nozzleTemp","bedTemp","printStartTime","PRINT_DURATION","tlsCerts","ftpServer","FtpSrv","url","pasv_url","pasv_min","pasv_max","tls","anonymous","greeting","on","username","password","resolve","reject","root","Error","error","listen","then","mqttClient","mqtt","connect","clientId","Date","now","rejectUnauthorized","reportTopic","requestTopic","subscribe","err","publishState","elapsedSeconds","Math","min","max","printingLabel","state","print","nozzle_temper","round","nozzle_target_temper","bed_temper","bed_target_temper","chamber_temper","mc_percent","mc_remaining_time","mc_print_stage","gcode_state","gcode_file","wifi_signal","layer_num","floor","total_layer_num","subtask_name","heatbreak_fan_speed","cooling_fan_speed","big_fan1_speed","big_fan2_speed","spd_lvl","spd_mag","print_error","lifecycle","command","msg","sequence_id","String","publish","JSON","stringify","qos","setInterval","topic","message","payload","parse","toString","filename","param","endsWith","pausedProgress","connected","endAsync","close","exit","catch"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/consoles/mock-octoprint.server.ts"],"names":["port","process","argv","parseInt","uploadsDir","path","join","__dirname","toString","WS_MESSAGE_INTERVAL","fs","existsSync","console","log","mkdirSync","recursive","cleanupUploads","upload","multer","dest","app","express","server","http","createServer","wss","WebSocketServer","clients","Map","AuthSchema","z","object","command","literal","user","token","string","regex","on","ws","clientId","Date","now","authenticated","messageInterval","message","msgString","includes","json","JSON","parse","close","parts","auth","split","set","setTimeout","send","stringify","currentMessage","fileError","error","setupMessageInterval","validationError","clearInterval","delete","baseInterval","getRandomizedInterval","baseMs","variationFactor","Math","random","floor","sendPeriodicMessage","readyState","OPEN","get","req","res","api","text","name","permissions","groups","method","toUpperCase","url","status","printerHistorySuccessResponse","connectionSuccessResponse","jobSuccessResponse","filesSuccessResponse","post","_is_external_client","_login_mechanism","session","single","select","print","body","file","Object","keys","length","originalname","size","mimetype","use","listen","exit","files","readdirSync","filePath","unlinkSync"],"mappings":";;;;gEAAoB;+DACD;2DACJ;6DACE;oBACoC;6DACpC;qBACC;qEACO;6BAMlB;4BACwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE/B,MAAMA,OAAOC,QAAQC,IAAI,CAAC,EAAE,GAAGC,SAASF,QAAQC,IAAI,CAAC,EAAE,IAAI;AAC3D,MAAME,aAAaC,aAAI,CAACC,IAAI,CAACC,WAAW,WAAW,CAAC,OAAO,EAAEP,KAAKQ,QAAQ,IAAI;AAC9E,MAAMC,sBAAsB;AAE5B,IAAI,CAACC,WAAE,CAACC,UAAU,CAACP,aAAa;IAC9BQ,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,0BAA0B,EAAEI,YAAY;IAClEM,WAAE,CAACI,SAAS,CAACV,YAAY;QAAEW,WAAW;IAAK;AAC7C;AAGAC;AAEA,MAAMC,SAASC,IAAAA,eAAM,EAAC;IAAEC,MAAMf;AAAW;AAEzC,MAAMgB,MAAMC,IAAAA,gBAAO;AACnB,MAAMC,SAASC,aAAI,CAACC,YAAY,CAACJ;AAGjC,MAAMK,MAAM,IAAIC,UAAe,CAAC;IAAEJ;AAAO;AAGzC,MAAMK,UAAU,IAAIC;AAGpB,MAAMC,aAAaC,MAAC,CAACC,MAAM,CAAC;IAC1BC,SAASF,MAAC,CAACG,OAAO,CAAC;IACnBC,MAAMJ,MAAC,CAACG,OAAO,CAAC;IAChBE,OAAOL,MAAC,CAACM,MAAM,GAAGC,KAAK,CAAC;AAC1B;AAGAZ,IAAIa,EAAE,CAAC,cAAc,CAACC;IACpB,MAAMC,WAAWC,KAAKC,GAAG,GAAGlC,QAAQ;IACpCI,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,sCAAsC,CAAC;IACjE,IAAI2C,gBAAgB;IACpB,IAAIC,kBAAyC;IAE7CL,GAAGD,EAAE,CAAC,WAAW,OAAOO;QACtB,IAAI;YACF,MAAMC,YAAYD,QAAQrC,QAAQ;YAClC,IAAIsC,UAAUC,QAAQ,CAAC,aAAa;gBAClCnC,aAAQC,GAAG,CAAC,CAAC,0BAA0B,EAAEiC,WAAW;gBACpD;YACF;YAEA,MAAME,OAAOC,KAAKC,KAAK,CAACJ;YAGxB,IAAI,CAACH,eAAe;gBAClB,IAAI,CAACK,MAAM;oBACTpC,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,6BAA6B,CAAC;oBACxDuC,GAAGY,KAAK;oBACR;gBACF;gBAEA,IAAI;oBAEF,MAAMC,QAAQJ,KAAKK,IAAI,CAACC,KAAK,CAAC;oBAC9BzB,WAAWqB,KAAK,CAAC;wBACflB,SAAS;wBACTE,MAAMkB,KAAK,CAAC,EAAE;wBACdjB,OAAOiB,KAAK,CAAC,EAAE;oBACjB;oBAEAxC,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,qCAAqC,CAAC;oBAChE2C,gBAAgB;oBAGhBhB,QAAQ4B,GAAG,CAACf,UAAU;wBAAED;wBAAII;oBAAc;oBAG1Ca,WAAW;wBACT,IAAI;4BACFjB,GAAGkB,IAAI,CAACR,KAAKS,SAAS,CAACC,0BAAc;wBACvC,EAAE,OAAOC,WAAW;4BAClBhD,aAAQiD,KAAK,CAAC,CAAC,MAAM,EAAE7D,KAAK,6BAA6B,CAAC,EAAE4D;4BAC5DrB,GAAGkB,IAAI,CAACR,KAAKS,SAAS,CAAC;gCAAEG,OAAO;4BAAiC;wBACnE;oBACF,GAAG;oBAGHjB,kBAAkBkB,qBAAqBvB,IAAIC,UAAU/B;gBACvD,EAAE,OAAOsD,iBAAiB;oBACxBnD,aAAQC,GAAG,
|
|
1
|
+
{"version":3,"sources":["../../src/consoles/mock-octoprint.server.ts"],"names":["port","process","argv","parseInt","uploadsDir","path","join","__dirname","toString","WS_MESSAGE_INTERVAL","fs","existsSync","console","log","mkdirSync","recursive","cleanupUploads","upload","multer","dest","app","express","server","http","createServer","wss","WebSocketServer","clients","Map","AuthSchema","z","object","command","literal","user","token","string","regex","on","ws","clientId","Date","now","authenticated","messageInterval","message","msgString","includes","json","JSON","parse","close","parts","auth","split","set","setTimeout","send","stringify","currentMessage","fileError","error","setupMessageInterval","validationError","clearInterval","delete","baseInterval","getRandomizedInterval","baseMs","variationFactor","Math","random","floor","sendPeriodicMessage","readyState","OPEN","get","req","res","api","text","name","permissions","groups","method","toUpperCase","url","status","printerHistorySuccessResponse","connectionSuccessResponse","jobSuccessResponse","filesSuccessResponse","post","_is_external_client","_login_mechanism","session","single","select","print","body","file","Object","keys","length","originalname","size","mimetype","use","listen","exit","files","readdirSync","filePath","unlinkSync"],"mappings":";;;;gEAAoB;+DACD;2DACJ;6DACE;oBACoC;6DACpC;qBACC;qEACO;6BAMlB;4BACwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE/B,MAAMA,OAAOC,QAAQC,IAAI,CAAC,EAAE,GAAGC,SAASF,QAAQC,IAAI,CAAC,EAAE,IAAI;AAC3D,MAAME,aAAaC,aAAI,CAACC,IAAI,CAACC,WAAW,WAAW,CAAC,OAAO,EAAEP,KAAKQ,QAAQ,IAAI;AAC9E,MAAMC,sBAAsB;AAE5B,IAAI,CAACC,WAAE,CAACC,UAAU,CAACP,aAAa;IAC9BQ,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,0BAA0B,EAAEI,YAAY;IAClEM,WAAE,CAACI,SAAS,CAACV,YAAY;QAAEW,WAAW;IAAK;AAC7C;AAGAC;AAEA,MAAMC,SAASC,IAAAA,eAAM,EAAC;IAAEC,MAAMf;AAAW;AAEzC,MAAMgB,MAAMC,IAAAA,gBAAO;AACnB,MAAMC,SAASC,aAAI,CAACC,YAAY,CAACJ;AAGjC,MAAMK,MAAM,IAAIC,UAAe,CAAC;IAAEJ;AAAO;AAGzC,MAAMK,UAAU,IAAIC;AAGpB,MAAMC,aAAaC,MAAC,CAACC,MAAM,CAAC;IAC1BC,SAASF,MAAC,CAACG,OAAO,CAAC;IACnBC,MAAMJ,MAAC,CAACG,OAAO,CAAC;IAChBE,OAAOL,MAAC,CAACM,MAAM,GAAGC,KAAK,CAAC;AAC1B;AAGAZ,IAAIa,EAAE,CAAC,cAAc,CAACC;IACpB,MAAMC,WAAWC,KAAKC,GAAG,GAAGlC,QAAQ;IACpCI,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,sCAAsC,CAAC;IACjE,IAAI2C,gBAAgB;IACpB,IAAIC,kBAAyC;IAE7CL,GAAGD,EAAE,CAAC,WAAW,OAAOO;QACtB,IAAI;YACF,MAAMC,YAAYD,QAAQrC,QAAQ;YAClC,IAAIsC,UAAUC,QAAQ,CAAC,aAAa;gBAClCnC,aAAQC,GAAG,CAAC,CAAC,0BAA0B,EAAEiC,WAAW;gBACpD;YACF;YAEA,MAAME,OAAOC,KAAKC,KAAK,CAACJ;YAGxB,IAAI,CAACH,eAAe;gBAClB,IAAI,CAACK,MAAM;oBACTpC,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,6BAA6B,CAAC;oBACxDuC,GAAGY,KAAK;oBACR;gBACF;gBAEA,IAAI;oBAEF,MAAMC,QAAQJ,KAAKK,IAAI,CAACC,KAAK,CAAC;oBAC9BzB,WAAWqB,KAAK,CAAC;wBACflB,SAAS;wBACTE,MAAMkB,KAAK,CAAC,EAAE;wBACdjB,OAAOiB,KAAK,CAAC,EAAE;oBACjB;oBAEAxC,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,qCAAqC,CAAC;oBAChE2C,gBAAgB;oBAGhBhB,QAAQ4B,GAAG,CAACf,UAAU;wBAAED;wBAAII;oBAAc;oBAG1Ca,WAAW;wBACT,IAAI;4BACFjB,GAAGkB,IAAI,CAACR,KAAKS,SAAS,CAACC,0BAAc;wBACvC,EAAE,OAAOC,WAAW;4BAClBhD,aAAQiD,KAAK,CAAC,CAAC,MAAM,EAAE7D,KAAK,6BAA6B,CAAC,EAAE4D;4BAC5DrB,GAAGkB,IAAI,CAACR,KAAKS,SAAS,CAAC;gCAAEG,OAAO;4BAAiC;wBACnE;oBACF,GAAG;oBAGHjB,kBAAkBkB,qBAAqBvB,IAAIC,UAAU/B;gBACvD,EAAE,OAAOsD,iBAAiB;oBACxBnD,aAAQC,GAAG,CACT,CAAC,MAAM,EAAEb,KAAK,8CAA8C,EAAEiD,KAAKS,SAAS,CAACV,MAAM,CAAC,EAAEe,iBAAiB;oBAEzGxB,GAAGY,KAAK;gBACV;YACF,OAAO;gBAELvC,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,4CAA4C,CAAC;YACzE;QACF,EAAE,OAAO6D,OAAO;YACdjD,aAAQiD,KAAK,CAAC,CAAC,MAAM,EAAE7D,KAAK,2BAA2B,CAAC,EAAE6D;YAC1DtB,GAAGY,KAAK;QACV;IACF;IAEAZ,GAAGD,EAAE,CAAC,SAAS;QACb1B,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,8BAA8B,EAAEwC,UAAU;QAEpE,IAAII,iBAAiB;YACnBoB,cAAcpB;YACdA,kBAAkB;QACpB;QAEAjB,QAAQsC,MAAM,CAACzB;IACjB;IAGA,MAAMsB,uBAAuB,CAACvB,IAAeC,UAAkB0B;QAE7D,IAAItB,iBAAiB;YACnBoB,cAAcpB;YACdA,kBAAkB;QACpB;QAGA,MAAMuB,wBAAwB,CAACC;YAE7B,MAAMC,kBAAkB,OAAOC,KAAKC,MAAM,KAAK;YAC/C,OAAOD,KAAKE,KAAK,CAACJ,SAASC;QAC7B;QAGA,MAAMI,sBAAsB;YAC1B,IAAI;gBACF,IAAIlC,GAAGmC,UAAU,KAAKnC,GAAGoC,IAAI,EAAE;oBAC7BpC,GAAGkB,IAAI,CAACR,KAAKS,SAAS,CAACC,0BAAc;oBACrC/C,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,uCAAuC,EAAEwC,SAAS,CAAC,CAAC;oBAG9EI,kBAAkBY,WAAWiB,qBAAqBN,sBAAsBD;gBAC1E,OAAO;oBAELtD,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,4CAA4C,EAAEwC,SAAS,CAAC,CAAC;oBACnFI,kBAAkB;gBACpB;YACF,EAAE,OAAOiB,OAAO;gBACdjD,aAAQiD,KAAK,CAAC,CAAC,MAAM,EAAE7D,KAAK,iCAAiC,CAAC,EAAE6D;gBAEhEjB,kBAAkB;YACpB;QACF;QAGAA,kBAAkBY,WAAWiB,qBAAqBN,sBAAsBD;QACxE,OAAOtB;IACT;AACF;AAEAxB,IAAIwD,GAAG,CAAC,gBAAgB,OAAOC,KAAKC;IAClCA,IAAIrB,IAAI,CAAC;QACPnC,QAAQ;QACRyD,KAAK;QACLC,MAAM;IACR;AACF;AAEA5D,IAAIwD,GAAG,CAAC,oBAAoB,OAAOC,KAAKC;IACtCA,IAAIrB,IAAI,CAAC;QACPwB,MAAM;QACNC,aAAa,EAAE;QACfC,QAAQ,EAAE;IACZ;AACF;AAEA/D,IAAIwD,GAAG,CAAC,gBAAgB,OAAOC,KAAKC;IAClClE,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,EAAE,EAAE6E,IAAIO,MAAM,CAACC,WAAW,GAAG,CAAC,EAAER,IAAIS,GAAG,CAAC,QAAQ,CAAC;IAC3ER,IAAIS,MAAM,CAAC,KAAKvC,IAAI,CAACwC,0CAA6B;AACpD;AAEApE,IAAIwD,GAAG,CAAC,mBAAmB,OAAOC,KAAKC;IACrClE,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,EAAE,EAAE6E,IAAIO,MAAM,CAACC,WAAW,GAAG,CAAC,EAAER,IAAIS,GAAG,CAAC,QAAQ,CAAC;IAC3ER,IAAIS,MAAM,CAAC,KAAKvC,IAAI,CAACyC,sCAAyB;AAChD;AAEArE,IAAIwD,GAAG,CAAC,YAAY,OAAOC,KAAKC;IAC9BlE,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,EAAE,EAAE6E,IAAIO,MAAM,CAACC,WAAW,GAAG,CAAC,EAAER,IAAIS,GAAG,CAAC,QAAQ,CAAC;IAC3ER,IAAIS,MAAM,CAAC,KAAKvC,IAAI,CAAC0C,+BAAkB;AACzC;AAEAtE,IAAIwD,GAAG,CAAC,oBAAoB,OAAOC,KAAKC;IACtClE,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,EAAE,EAAE6E,IAAIO,MAAM,CAACC,WAAW,GAAG,CAAC,EAAER,IAAIS,GAAG,CAAC,QAAQ,CAAC;IAC3ER,IAAIS,MAAM,CAAC,KAAKvC,IAAI,CAAC2C,iCAAoB;AAC3C;AAEAvE,IAAIwE,IAAI,CAAC,cAAc,OAAOf,KAAKC;IACjCA,IAAIrB,IAAI,CAAC;QACPoC,qBAAqB;QACrBC,kBAAkB;QAClBC,SAAS;IACX;AACF;AAGA3E,IAAIwE,IAAI,CAAC,oBAAoB3E,OAAO+E,MAAM,CAAC,SAAS,CAACnB,KAAKC;IACxD,MAAM,EAAEmB,MAAM,EAAEC,KAAK,EAAE,GAAGrB,IAAIsB,IAAI;IAClC,MAAMC,OAAOvB,IAAIuB,IAAI;IAErB,IAAI,CAACA,MAAM;QACT,OAAOtB,IAAIS,MAAM,CAAC,KAAKvC,IAAI,CAAC;YAAEa,OAAO;QAAe;IACtD;IACA,IAAI,OAAOoC,WAAW,eAAe,OAAOC,UAAU,aAAa;QACjE,OAAOpB,IAAIS,MAAM,CAAC,KAAKvC,IAAI,CAAC;YAAEa,OAAO;QAAyC;IAChF;IACA,IAAIwC,OAAOC,IAAI,CAACzB,IAAIsB,IAAI,EAAEI,MAAM,KAAK,GAAG;QACtC,OAAOzB,IAAIS,MAAM,CAAC,KAAKvC,IAAI,CAAC;YAAEa,OAAO;QAA+C;IACtF;IACA,IAAI,CAAC;QAAC;QAAQ;KAAQ,CAACd,QAAQ,CAACkD,WAAW,CAAC;QAAC;QAAQ;KAAQ,CAAClD,QAAQ,CAACmD,QAAQ;QAC7E,OAAOpB,IAAIS,MAAM,CAAC,KAAKvC,IAAI,CAAC;YAAEa,OAAO;QAAkE;IACzG;IAEAjD,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,gBAAgB,CAAC,EAAEoG,KAAKI,YAAY;IAC9D5F,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,YAAY,CAAC,EAAEoG,KAAKK,IAAI;IAClD7F,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,YAAY,CAAC,EAAEoG,KAAKM,QAAQ;IACtD9F,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,SAAS,CAAC,EAAEiG,QAAQ,CAAC,QAAQ,EAAEjG,KAAK,QAAQ,CAAC,EAAEkG,OAAO,CAAC,OAAO,CAAC;IAEzFpB,IAAI9B,IAAI,CAAC;QAAEH,SAAS;IAA6B;AACnD;AAEAzB,IAAIuF,GAAG,CAAC,CAAC9B,KAAKC;IACZlE,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,EAAE,EAAE6E,IAAIO,MAAM,CAACC,WAAW,GAAG,CAAC,EAAER,IAAIS,GAAG,CAAC,UAAU,CAAC;IAC7ER,IAAIS,MAAM,CAAC,KAAKvC,IAAI,CAAC;QAAEa,OAAO;IAAY;AAC5C;AAEAvC,OAAOsF,MAAM,CAAC5G,MAAM;IAClBY,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,wCAAwC,EAAEA,MAAM;IAC1EY,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,kDAAkD,EAAEA,MAAM;AACtF;AAGAC,QAAQqC,EAAE,CAAC,UAAU;IACnB1B,aAAQC,GAAG,CAAC;IACZG;IACAM,OAAO6B,KAAK,CAAC;QACXvC,aAAQC,GAAG,CAAC;QACZZ,QAAQ4G,IAAI,CAAC;IACf;AACF;AAEA5G,QAAQqC,EAAE,CAAC,WAAW;IACpB1B,aAAQC,GAAG,CAAC;IACZG;IACAM,OAAO6B,KAAK,CAAC;QACXvC,aAAQC,GAAG,CAAC;QACZZ,QAAQ4G,IAAI,CAAC;IACf;AACF;AAEA,SAAS7F;IACP,IAAI;QACFJ,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,+BAA+B,CAAC;QAC1D,MAAM8G,QAAQpG,WAAE,CAACqG,WAAW,CAAC3G;QAE7B,KAAK,MAAMgG,QAAQU,MAAO;YACxB,MAAME,WAAW3G,aAAI,CAACC,IAAI,CAACF,YAAYgG;YACvC1F,WAAE,CAACuG,UAAU,CAACD;YACdpG,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,WAAW,EAAEgH,UAAU;QACnD;QAEApG,aAAQC,GAAG,CAAC,CAAC,MAAM,EAAEb,KAAK,iCAAiC,CAAC;IAC9D,EAAE,OAAO6D,OAAO;QACdjD,aAAQiD,KAAK,CAAC,CAAC,MAAM,EAAE7D,KAAK,mCAAmC,CAAC,EAAE6D;IACpE;AACF"}
|
|
@@ -29,12 +29,12 @@ const app = (0, _express.default)();
|
|
|
29
29
|
const server = _http.default.createServer(app);
|
|
30
30
|
app.get("/api/version", async (req, res)=>{
|
|
31
31
|
res.send({
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
api: "2.0.0",
|
|
33
|
+
server: "2.1.2",
|
|
34
|
+
nozzle_diameter: 0.4,
|
|
35
|
+
text: "PrusaLink",
|
|
36
|
+
hostname: "prusa-mini",
|
|
37
|
+
capabilities: {
|
|
38
38
|
"upload-by-put": true
|
|
39
39
|
}
|
|
40
40
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/consoles/mock-prusalink.server.ts"],"names":["port","process","argv","parseInt","uploadsDir","path","join","__dirname","toString","fs","existsSync","console","log","mkdirSync","recursive","cleanupUploads","upload","multer","dest","app","express","server","http","createServer","get","req","res","send","files","readdirSync","file","filePath","unlinkSync","error"],"mappings":";;;;6DAAiB;2DACF;oEACK;+DACD;gEACC;6DACH;;;;;;AAEjB,MAAMA,OAAOC,QAAQC,IAAI,CAAC,EAAE,GAAGC,SAASF,QAAQC,IAAI,CAAC,EAAE,IAAI;AAC3D,MAAME,aAAaC,aAAI,CAACC,IAAI,CAACC,WAAW,WAAW,CAAC,OAAO,EAAEP,KAAKQ,QAAQ,IAAI;AAE9E,IAAI,CAACC,WAAE,CAACC,UAAU,CAACN,aAAa;IAC9BO,oBAAO,CAACC,GAAG,CAAC,CAAC,MAAM,EAAEZ,KAAK,0BAA0B,EAAEI,YAAY;IAClEK,WAAE,CAACI,SAAS,CAACT,YAAY;QAAEU,WAAW;IAAK;AAC7C;AAGAC;AAEA,MAAMC,SAASC,IAAAA,eAAM,EAAC;IAAEC,MAAMd;AAAW;AAEzC,MAAMe,MAAMC,IAAAA,gBAAO;AACnB,MAAMC,SAASC,aAAI,CAACC,YAAY,CAACJ;AAEjCA,IAAIK,GAAG,CAAC,gBAAgB,OAAOC,KAAKC;IAClCA,IAAIC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"sources":["../../src/consoles/mock-prusalink.server.ts"],"names":["port","process","argv","parseInt","uploadsDir","path","join","__dirname","toString","fs","existsSync","console","log","mkdirSync","recursive","cleanupUploads","upload","multer","dest","app","express","server","http","createServer","get","req","res","send","api","nozzle_diameter","text","hostname","capabilities","files","readdirSync","file","filePath","unlinkSync","error"],"mappings":";;;;6DAAiB;2DACF;oEACK;+DACD;gEACC;6DACH;;;;;;AAEjB,MAAMA,OAAOC,QAAQC,IAAI,CAAC,EAAE,GAAGC,SAASF,QAAQC,IAAI,CAAC,EAAE,IAAI;AAC3D,MAAME,aAAaC,aAAI,CAACC,IAAI,CAACC,WAAW,WAAW,CAAC,OAAO,EAAEP,KAAKQ,QAAQ,IAAI;AAE9E,IAAI,CAACC,WAAE,CAACC,UAAU,CAACN,aAAa;IAC9BO,oBAAO,CAACC,GAAG,CAAC,CAAC,MAAM,EAAEZ,KAAK,0BAA0B,EAAEI,YAAY;IAClEK,WAAE,CAACI,SAAS,CAACT,YAAY;QAAEU,WAAW;IAAK;AAC7C;AAGAC;AAEA,MAAMC,SAASC,IAAAA,eAAM,EAAC;IAAEC,MAAMd;AAAW;AAEzC,MAAMe,MAAMC,IAAAA,gBAAO;AACnB,MAAMC,SAASC,aAAI,CAACC,YAAY,CAACJ;AAEjCA,IAAIK,GAAG,CAAC,gBAAgB,OAAOC,KAAKC;IAClCA,IAAIC,IAAI,CAAC;QACPC,KAAK;QACLP,QAAQ;QACRQ,iBAAiB;QACjBC,MAAM;QACNC,UAAU;QACVC,cAAc;YACZ,iBAAiB;QACnB;IACF;AACF;AAEA,SAASjB;IACP,IAAI;QACFJ,oBAAO,CAACC,GAAG,CAAC,CAAC,MAAM,EAAEZ,KAAK,+BAA+B,CAAC;QAC1D,MAAMiC,QAAQxB,WAAE,CAACyB,WAAW,CAAC9B;QAE7B,KAAK,MAAM+B,QAAQF,MAAO;YACxB,MAAMG,WAAW/B,aAAI,CAACC,IAAI,CAACF,YAAY+B;YACvC1B,WAAE,CAAC4B,UAAU,CAACD;YACdzB,oBAAO,CAACC,GAAG,CAAC,CAAC,MAAM,EAAEZ,KAAK,WAAW,EAAEoC,UAAU;QACnD;QAEAzB,oBAAO,CAACC,GAAG,CAAC,CAAC,MAAM,EAAEZ,KAAK,iCAAiC,CAAC;IAC9D,EAAE,OAAOsC,OAAO;QACd3B,oBAAO,CAAC2B,KAAK,CAAC,CAAC,MAAM,EAAEtC,KAAK,mCAAmC,CAAC,EAAEsC;IACpE;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/consoles/utils/api-messages.ts"],"names":["connectionSuccessResponse","filesSuccessResponse","jobSuccessResponse","printerHistorySuccessResponse","sd","ready","state","error","flags","cancelling","closedOrError","finishing","operational","paused","pausing","printing","resuming","sdReady","text","temperature","bed","actual","offset","target","history","time","tool0","current","baudrate","port","printerProfile","options","baudratePreference","baudrates","portPreference","ports","printerProfilePreference","printerProfiles","id","name","job","averagePrintTime","estimatedPrintTime","filament","file","date","display","origin","path","size","lastPrintTime","user","progress","completion","filepos","printTime","printTimeLeft","printTimeLeftOrigin","files","continuousprint","profile","gcodeAnalysis","dimensions","depth","height","width","length","volume","printingArea","maxX","maxY","maxZ","minX","minY","minZ","travelArea","travelDimensions","hash","prints","failure","last","success","refs","download","resource","statistics","_default","type","typePath","_empty","children","free","total"],"mappings":";;;;;;;;;;;QAgDaA;eAAAA;;QAgDAC;eAAAA;;QA1BAC;eAAAA;;QAtEAC;eAAAA;;;AAAN,MAAMA,gCAAgC;IAC3CC,IAAI;QACFC,OAAO;IACT;IACAC,OAAO;QACLC,OAAO;QACPC,OAAO;YACLC,YAAY;YACZC,eAAe;YACfH,OAAO;YACPI,WAAW;YACXC,aAAa;YACbC,QAAQ;YACRC,SAAS;YACTC,UAAU;YACVV,OAAO;YACPW,UAAU;YACVC,SAAS;QACX;QACAC,MAAM;IACR;IACAC,aAAa;QACXC,KAAK;YACHC,QAAQ;YACRC,QAAQ;YACRC,QAAQ;QACV;QACAC,SAAS;YACP;gBACEJ,KAAK;oBACHC,QAAQ;oBACRE,QAAQ;gBACV;gBACAE,MAAM;gBACNC,OAAO;oBACLL,QAAQ;oBACRE,QAAQ;gBACV;YACF;SACD;QACDG,OAAO;YACLL,QAAQ;YACRC,QAAQ;YACRC,QAAQ;QACV;IACF;AACF;AAEO,MAAMvB,4BAA4B;IACvC2B,SAAS;QACPC,UAAU;QACVC,MAAM;QACNC,gBAAgB;QAChBxB,OAAO;IACT;IACAyB,SAAS;QACPC,oBAAoB;QACpBC,WAAW;YAAC;YAAQ;YAAQ;YAAQ;YAAO;YAAO;YAAO;SAAK;QAC9DC,gBAAgB;QAChBC,OAAO;YAAC;SAAU;QAClBC,0BAA0B;QAC1BC,iBAAiB;YACf;gBACEC,IAAI;gBACJC,MAAM;YACR;SACD;IACH;AACF;AAEO,MAAMrC,qBAAqB;IAChCsC,KAAK;QACHC,kBAAkB;QAClBC,oBAAoB;QACpBC,UAAU;QACVC,MAAM;YACJC,MAAM;YACNC,SAAS;YACTP,MAAM;YACNQ,QAAQ;YACRC,MAAM;YACNC,MAAM;QACR;QACAC,eAAe;QACfC,MAAM;IACR;IACAC,UAAU;QACRC,YAAY;QACZC,SAAS;QACTC,WAAW;QACXC,eAAe;QACfC,qBAAqB;IACvB;IACAnD,OAAO;AACT;AAEO,MAAML,uBAAuB;IAClCyD,OAAO;QACL;YACEC,iBAAiB;gBACfC,SAAS;YACX;YACAf,MAAM;YACNC,SAAS;YACTe,eAAe;gBACbC,YAAY;oBACVC,OAAO;oBACPC,QAAQ;oBACRC,OAAO;gBACT;gBACAvB,oBAAoB;gBACpBC,UAAU;oBACRjB,OAAO;wBACLwC,QAAQ;wBACRC,QAAQ;oBACV;gBACF;gBACAC,cAAc;oBACZC,MAAM;oBACNC,MAAM;oBACNC,MAAM;oBACNC,MAAM;oBACNC,MAAM,CAAC;oBACPC,MAAM;gBACR;gBACAC,YAAY;oBACVN,MAAM;oBACNC,MAAM;oBACNC,MAAM;oBACNC,MAAM;oBACNC,MAAM,CAAC;oBACPC,MAAM;gBACR;gBACAE,kBAAkB;oBAChBb,OAAO;oBACPC,QAAQ;oBACRC,OAAO;gBACT;YACF;YACAY,MAAM;YACNtC,MAAM;YACNQ,QAAQ;YACRC,MAAM;YACN8B,QAAQ;gBACNC,SAAS;gBACTC,MAAM;oBACJnC,MAAM;oBACNU,WAAW;oBACX0B,SAAS;gBACX;gBACAA,SAAS;YACX;YACAC,MAAM;gBACJC,UACE;gBACFC,
|
|
1
|
+
{"version":3,"sources":["../../../src/consoles/utils/api-messages.ts"],"names":["connectionSuccessResponse","filesSuccessResponse","jobSuccessResponse","printerHistorySuccessResponse","sd","ready","state","error","flags","cancelling","closedOrError","finishing","operational","paused","pausing","printing","resuming","sdReady","text","temperature","bed","actual","offset","target","history","time","tool0","current","baudrate","port","printerProfile","options","baudratePreference","baudrates","portPreference","ports","printerProfilePreference","printerProfiles","id","name","job","averagePrintTime","estimatedPrintTime","filament","file","date","display","origin","path","size","lastPrintTime","user","progress","completion","filepos","printTime","printTimeLeft","printTimeLeftOrigin","files","continuousprint","profile","gcodeAnalysis","dimensions","depth","height","width","length","volume","printingArea","maxX","maxY","maxZ","minX","minY","minZ","travelArea","travelDimensions","hash","prints","failure","last","success","refs","download","resource","statistics","_default","type","typePath","_empty","children","free","total"],"mappings":"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"}
|
|
@@ -27,17 +27,17 @@ _export(exports, {
|
|
|
27
27
|
get allPerms () {
|
|
28
28
|
return allPerms;
|
|
29
29
|
},
|
|
30
|
+
get filterToRoleNames () {
|
|
31
|
+
return filterToRoleNames;
|
|
32
|
+
},
|
|
30
33
|
get flattenPermissionDefinition () {
|
|
31
34
|
return flattenPermissionDefinition;
|
|
32
35
|
},
|
|
33
|
-
get
|
|
34
|
-
return
|
|
36
|
+
get isRoleName () {
|
|
37
|
+
return isRoleName;
|
|
35
38
|
}
|
|
36
39
|
});
|
|
37
40
|
const _lodash = require("lodash");
|
|
38
|
-
function serializePerm(group, perm) {
|
|
39
|
-
return `${group}.${perm}`;
|
|
40
|
-
}
|
|
41
41
|
const AUTH_ERROR_REASON = {
|
|
42
42
|
IncorrectCredentials: "IncorrectCredentials",
|
|
43
43
|
InvalidOrExpiredRefreshToken: "InvalidOrExpiredRefreshToken",
|
|
@@ -55,38 +55,38 @@ const PERM_GROUP = {
|
|
|
55
55
|
};
|
|
56
56
|
const PERMS = {
|
|
57
57
|
[PERM_GROUP.PrinterFiles]: {
|
|
58
|
-
Default:
|
|
59
|
-
Get:
|
|
60
|
-
Delete:
|
|
61
|
-
Clear:
|
|
62
|
-
Upload:
|
|
63
|
-
Actions:
|
|
58
|
+
Default: "PrinterFiles.Default",
|
|
59
|
+
Get: "PrinterFiles.Get",
|
|
60
|
+
Delete: "PrinterFiles.Delete",
|
|
61
|
+
Clear: "PrinterFiles.Clear",
|
|
62
|
+
Upload: "PrinterFiles.Upload",
|
|
63
|
+
Actions: "PrinterFiles.Actions"
|
|
64
64
|
},
|
|
65
65
|
[PERM_GROUP.PrintCompletion]: {
|
|
66
|
-
Default:
|
|
67
|
-
List:
|
|
66
|
+
Default: "PrintCompletion.Default",
|
|
67
|
+
List: "PrintCompletion.List"
|
|
68
68
|
},
|
|
69
69
|
[PERM_GROUP.Floors]: {
|
|
70
|
-
Default:
|
|
71
|
-
List:
|
|
72
|
-
Get:
|
|
73
|
-
Create:
|
|
74
|
-
Update:
|
|
75
|
-
Delete:
|
|
70
|
+
Default: "PrinterFloors.Default",
|
|
71
|
+
List: "PrinterFloors.List",
|
|
72
|
+
Get: "PrinterFloors.Get",
|
|
73
|
+
Create: "PrinterFloors.Create",
|
|
74
|
+
Update: "PrinterFloors.Update",
|
|
75
|
+
Delete: "PrinterFloors.Delete"
|
|
76
76
|
},
|
|
77
77
|
[PERM_GROUP.PrinterSettings]: {
|
|
78
|
-
Default:
|
|
79
|
-
Get:
|
|
78
|
+
Default: "PrinterSettings.Default",
|
|
79
|
+
Get: "PrinterSettings.Get"
|
|
80
80
|
},
|
|
81
81
|
[PERM_GROUP.ServerInfo]: {
|
|
82
|
-
Default:
|
|
83
|
-
Get:
|
|
82
|
+
Default: "ServerInfo.Default",
|
|
83
|
+
Get: "ServerInfo.Get"
|
|
84
84
|
}
|
|
85
85
|
};
|
|
86
86
|
function flattenPermissionDefinition() {
|
|
87
87
|
const permissions = [];
|
|
88
|
-
for (
|
|
89
|
-
for (
|
|
88
|
+
for (const key of Object.values(PERM_GROUP)){
|
|
89
|
+
for (const permissionName of Object.values(PERMS[key])){
|
|
90
90
|
permissions.push(permissionName);
|
|
91
91
|
}
|
|
92
92
|
}
|
|
@@ -101,6 +101,13 @@ const ROLES = {
|
|
|
101
101
|
OPERATOR: "OPERATOR",
|
|
102
102
|
GUEST: "GUEST"
|
|
103
103
|
};
|
|
104
|
+
const ROLE_VALUES = Object.values(ROLES);
|
|
105
|
+
function isRoleName(value) {
|
|
106
|
+
return ROLE_VALUES.includes(value);
|
|
107
|
+
}
|
|
108
|
+
function filterToRoleNames(values) {
|
|
109
|
+
return values.filter(isRoleName);
|
|
110
|
+
}
|
|
104
111
|
const ROLE_PERMS = {
|
|
105
112
|
[ROLES.ADMIN]: (0, _lodash.union)(allPerms(PERM_GROUP.Floors), allPerms(PERM_GROUP.PrinterFiles), allPerms(PERM_GROUP.PrintCompletion), allPerms(PERM_GROUP.PrinterSettings), allPerms(PERM_GROUP.ServerInfo)),
|
|
106
113
|
[ROLES.OPERATOR]: (0, _lodash.union)(allPerms(PERM_GROUP.Floors), allPerms(PERM_GROUP.PrinterFiles), allPerms(PERM_GROUP.PrintCompletion), allPerms(PERM_GROUP.PrinterSettings)),
|