@fdm-monster/server 1.9.4 → 2.0.0
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 +8 -7
- package/.yarn/install-state.gz +0 -0
- package/CONTRIBUTING.md +5 -5
- package/README.md +9 -8
- package/RELEASE_NOTES.MD +52 -0
- package/SECURITY.md +1 -1
- package/biome.json +8 -5
- package/dist/consoles/download-github-releases.js +3 -3
- package/dist/consoles/launch-http-servers.js +4 -4
- package/dist/consoles/launch-http-servers.js.map +1 -1
- package/dist/consoles/mock-bambu.server.js +50 -30
- package/dist/consoles/mock-bambu.server.js.map +1 -1
- package/dist/consoles/mock-camera/default-image.js +13 -0
- package/dist/consoles/mock-camera/default-image.js.map +1 -0
- package/dist/consoles/mock-camera/mock-camera.server.js +160 -0
- package/dist/consoles/mock-camera/mock-camera.server.js.map +1 -0
- package/dist/consoles/mock-octoprint.server.js +281 -73
- package/dist/consoles/mock-octoprint.server.js.map +1 -1
- package/dist/consoles/mock-prusalink.server.js +17 -17
- package/dist/consoles/mock-prusalink.server.js.map +1 -1
- package/dist/consoles/typeorm-create.js +135 -0
- package/dist/consoles/typeorm-create.js.map +1 -0
- package/dist/consoles/typeorm-generate.js +8 -8
- package/dist/consoles/typeorm-generate.js.map +1 -1
- package/dist/consoles/utils/api-messages.js.map +1 -1
- package/dist/constants/authorization.constants.js +25 -31
- 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 +3 -19
- package/dist/constants/server-settings.constants.js.map +1 -1
- package/dist/container.js +43 -59
- package/dist/container.js.map +1 -1
- package/dist/container.tokens.js +9 -6
- 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 +7 -25
- package/dist/controllers/batch-call.controller.js.map +1 -1
- package/dist/controllers/file-storage.controller.js +248 -0
- package/dist/controllers/file-storage.controller.js.map +1 -0
- package/dist/controllers/first-time-setup.controller.js +6 -5
- package/dist/controllers/first-time-setup.controller.js.map +1 -1
- package/dist/controllers/floor.controller.js +12 -12
- package/dist/controllers/floor.controller.js.map +1 -1
- package/dist/controllers/metrics.controller.js.map +1 -1
- package/dist/controllers/print-job.controller.js +666 -0
- package/dist/controllers/print-job.controller.js.map +1 -0
- package/dist/controllers/print-queue.controller.js +375 -0
- package/dist/controllers/print-queue.controller.js.map +1 -0
- package/dist/controllers/printer-files.controller.js +88 -59
- package/dist/controllers/printer-files.controller.js.map +1 -1
- package/dist/controllers/printer-settings.controller.js +0 -21
- package/dist/controllers/printer-settings.controller.js.map +1 -1
- package/dist/controllers/{printer-group.controller.js → printer-tag.controller.js} +51 -34
- package/dist/controllers/printer-tag.controller.js.map +1 -0
- package/dist/controllers/printer.controller.js +21 -7
- package/dist/controllers/printer.controller.js.map +1 -1
- package/dist/controllers/server-private.controller.js +2 -1
- package/dist/controllers/server-private.controller.js.map +1 -1
- package/dist/controllers/server-public.controller.js +11 -15
- package/dist/controllers/server-public.controller.js.map +1 -1
- package/dist/controllers/settings.controller.js +0 -68
- package/dist/controllers/settings.controller.js.map +1 -1
- package/dist/controllers/slicer-compat.controller.js +216 -0
- package/dist/controllers/slicer-compat.controller.js.map +1 -0
- 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 +25 -12
- package/dist/data-source.js.map +1 -1
- package/dist/entities/camera-stream.entity.js +2 -1
- package/dist/entities/camera-stream.entity.js.map +1 -1
- package/dist/entities/floor.entity.js +3 -5
- package/dist/entities/floor.entity.js.map +1 -1
- package/dist/entities/index.js +15 -11
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/print-job.entity.js +195 -0
- package/dist/entities/print-job.entity.js.map +1 -0
- package/dist/entities/{printer-group.entity.js → printer-tag.entity.js} +17 -17
- package/dist/entities/printer-tag.entity.js.map +1 -0
- package/dist/entities/printer.entity.js +4 -10
- package/dist/entities/printer.entity.js.map +1 -1
- package/dist/entities/settings.entity.js +3 -12
- package/dist/entities/settings.entity.js.map +1 -1
- package/dist/entities/{group.entity.js → tag.entity.js} +15 -8
- package/dist/entities/tag.entity.js.map +1 -0
- package/dist/handlers/logging/file-logging.transport.js.map +1 -1
- package/dist/handlers/logging/static.logger.js.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.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/exception.filter.js +114 -90
- package/dist/middleware/exception.filter.js.map +1 -1
- package/dist/middleware/global.middleware.js +10 -18
- 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/migrations/1767278216516-ChangeCameraPrinterOnDeleteSetNull.js +186 -0
- package/dist/migrations/1767278216516-ChangeCameraPrinterOnDeleteSetNull.js.map +1 -0
- package/dist/migrations/1767279607392-DropCustomGcode.js +31 -0
- package/dist/migrations/1767279607392-DropCustomGcode.js.map +1 -0
- package/dist/migrations/1767291804417-DropPrintCompletions.js +37 -0
- package/dist/migrations/1767291804417-DropPrintCompletions.js.map +1 -0
- package/dist/migrations/1767352862576-DropSettingsFileClean.js +88 -0
- package/dist/migrations/1767352862576-DropSettingsFileClean.js.map +1 -0
- package/dist/migrations/1767355639023-ChangeFloorLevelToOrder.js +107 -0
- package/dist/migrations/1767355639023-ChangeFloorLevelToOrder.js.map +1 -0
- package/dist/migrations/1767370191762-ChangeFloorNonUniqueOrder.js +62 -0
- package/dist/migrations/1767370191762-ChangeFloorNonUniqueOrder.js.map +1 -0
- package/dist/migrations/1767432108916-RenameGroupToTag.js +86 -0
- package/dist/migrations/1767432108916-RenameGroupToTag.js.map +1 -0
- package/dist/migrations/1767451444137-AddPrintJob.js +207 -0
- package/dist/migrations/1767451444137-AddPrintJob.js.map +1 -0
- package/dist/server.constants.js +9 -17
- 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 +26 -44
- 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 +3 -3
- package/dist/services/bambu/bambu-ftp.adapter.js.map +1 -1
- package/dist/services/bambu/bambu-mqtt.adapter.js +74 -77
- 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 +11 -0
- package/dist/services/bambu.api.js.map +1 -1
- package/dist/services/core/batch-call.service.js +0 -25
- package/dist/services/core/batch-call.service.js.map +1 -1
- package/dist/services/core/multer.service.js +5 -9
- package/dist/services/core/multer.service.js.map +1 -1
- package/dist/services/core/yaml.service.js +219 -187
- package/dist/services/core/yaml.service.js.map +1 -1
- package/dist/services/file-analysis.service.js +146 -0
- package/dist/services/file-analysis.service.js.map +1 -0
- package/dist/services/file-storage.service.js +386 -0
- package/dist/services/file-storage.service.js.map +1 -0
- 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/floor.dto.js +3 -3
- package/dist/services/interfaces/floor.dto.js.map +1 -1
- package/dist/services/interfaces/{printer-group.dto.js → printer-tag.dto.js} +9 -8
- package/dist/services/interfaces/printer-tag.dto.js.map +1 -0
- package/dist/services/interfaces/{print-completion.interface.js → printer-tag.service.interface.js} +1 -1
- package/dist/services/interfaces/{printer-group.service.interface.js.map → printer-tag.service.interface.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 +0 -1
- package/dist/services/interfaces/settings.dto.js.map +1 -1
- package/dist/services/interfaces/{group.dto.js → tag.dto.js} +1 -1
- package/dist/services/interfaces/tag.dto.js.map +1 -0
- 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/files/gcode-analysis.dto.js.map +1 -0
- package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
- package/dist/services/octoprint/octoprint-api.routes.js +0 -7
- package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
- package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
- package/dist/services/octoprint/octoprint.client.js +0 -4
- package/dist/services/octoprint/octoprint.client.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/floor-position.service.js.map +1 -1
- package/dist/services/orm/floor.service.js +12 -19
- 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-job.service.js +539 -0
- package/dist/services/orm/print-job.service.js.map +1 -0
- package/dist/services/orm/printer-tag.service.js +120 -0
- package/dist/services/orm/printer-tag.service.js.map +1 -0
- 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 -15
- 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/print-file-downloader.service.js +169 -0
- package/dist/services/print-file-downloader.service.js.map +1 -0
- package/dist/services/print-queue.service.js +268 -0
- package/dist/services/print-queue.service.js.map +1 -0
- 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 +1 -3
- 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 +25 -31
- package/dist/services/validators/floor-service.validation.js.map +1 -1
- package/dist/services/validators/print-job.validation.js +31 -0
- package/dist/services/validators/print-job.validation.js.map +1 -0
- package/dist/services/validators/settings-service.validation.js +0 -22
- package/dist/services/validators/settings-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 +8 -14
- package/dist/services/validators/yaml-service.validation.js.map +1 -1
- package/dist/shared/load-controllers.js +2 -1
- package/dist/shared/load-controllers.js.map +1 -1
- package/dist/shared/runtime-settings.migration.js +1 -11
- 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 +3 -10
- package/dist/state/floor.store.js.map +1 -1
- package/dist/state/printer-events.cache.js +180 -20
- 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 +98 -188
- 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 +4 -42
- package/dist/state/settings.store.js.map +1 -1
- package/dist/state/socket-io.gateway.js +1 -1
- package/dist/state/socket-io.gateway.js.map +1 -1
- package/dist/state/test-printer-socket.store.js +6 -3
- package/dist/state/test-printer-socket.store.js.map +1 -1
- package/dist/tasks/boot.task.js +11 -91
- package/dist/tasks/boot.task.js.map +1 -1
- package/dist/tasks/print-job-analysis.task.js +116 -0
- package/dist/tasks/print-job-analysis.task.js.map +1 -0
- package/dist/tasks/printer-files-load.task.js +29 -0
- package/dist/tasks/printer-files-load.task.js.map +1 -0
- package/dist/tasks/socketio.task.js +1 -1
- package/dist/tasks/socketio.task.js.map +1 -1
- package/dist/tasks.js +3 -2
- package/dist/tasks.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/dist/utils/parsers/3mf.parser.js +337 -0
- package/dist/utils/parsers/3mf.parser.js.map +1 -0
- package/dist/utils/parsers/bgcode.parser.js +223 -0
- package/dist/utils/parsers/bgcode.parser.js.map +1 -0
- package/dist/utils/parsers/gcode.parser.js +254 -0
- package/dist/utils/parsers/gcode.parser.js.map +1 -0
- package/dist/utils/swagger/decorators.js +39 -0
- package/dist/utils/swagger/decorators.js.map +1 -0
- package/dist/utils/swagger/generator.js +196 -0
- package/dist/utils/swagger/generator.js.map +1 -0
- package/dist/utils/swagger/swagger.js +93 -0
- package/dist/utils/swagger/swagger.js.map +1 -0
- package/package.json +24 -30
- package/dist/controllers/custom-gcode.controller.js +0 -150
- package/dist/controllers/custom-gcode.controller.js.map +0 -1
- package/dist/controllers/print-completion.controller.js +0 -118
- package/dist/controllers/print-completion.controller.js.map +0 -1
- package/dist/controllers/printer-group.controller.js.map +0 -1
- package/dist/entities/custom-gcode.entity.js +0 -49
- package/dist/entities/custom-gcode.entity.js.map +0 -1
- package/dist/entities/group.entity.js.map +0 -1
- package/dist/entities/permission.entity.js +0 -37
- package/dist/entities/permission.entity.js.map +0 -1
- package/dist/entities/print-completion.entity.js +0 -90
- package/dist/entities/print-completion.entity.js.map +0 -1
- package/dist/entities/printer-group.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/custom-gcode.dto.js +0 -18
- package/dist/services/interfaces/custom-gcode.dto.js.map +0 -1
- package/dist/services/interfaces/custom-gcode.service.interface.js +0 -6
- package/dist/services/interfaces/custom-gcode.service.interface.js.map +0 -1
- package/dist/services/interfaces/gcode-analysis.dto.js.map +0 -1
- package/dist/services/interfaces/group.dto.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/interfaces/print-completion-context.dto.js +0 -6
- package/dist/services/interfaces/print-completion-context.dto.js.map +0 -1
- package/dist/services/interfaces/print-completion.dto.js +0 -38
- package/dist/services/interfaces/print-completion.dto.js.map +0 -1
- package/dist/services/interfaces/print-completion.interface.js.map +0 -1
- package/dist/services/interfaces/printer-group.dto.js.map +0 -1
- package/dist/services/interfaces/printer-group.service.interface.js +0 -6
- 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 +0 -59
- 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/orm/custom-gcode.service.js +0 -42
- package/dist/services/orm/custom-gcode.service.js.map +0 -1
- package/dist/services/orm/print-completion.service.js +0 -87
- package/dist/services/orm/print-completion.service.js.map +0 -1
- package/dist/services/orm/printer-group.service.js +0 -109
- package/dist/services/orm/printer-group.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/dist/tasks/print-completion.socketio.task.js +0 -91
- package/dist/tasks/print-completion.socketio.task.js.map +0 -1
- package/dist/tasks/printer-file-clean.task.js +0 -74
- package/dist/tasks/printer-file-clean.task.js.map +0 -1
- package/migrate-mongo-config.js +0 -45
- /package/dist/services/{interfaces → octoprint/dto/files}/gcode-analysis.dto.js +0 -0
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "AddPrintJob1767451444137", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return AddPrintJob1767451444137;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
class AddPrintJob1767451444137 {
|
|
12
|
+
name = 'AddPrintJob1767451444137';
|
|
13
|
+
async up(queryRunner) {
|
|
14
|
+
await queryRunner.query(`
|
|
15
|
+
CREATE TABLE "print_job" (
|
|
16
|
+
"id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
17
|
+
"printerId" integer,
|
|
18
|
+
"printerName" varchar,
|
|
19
|
+
"fileName" varchar NOT NULL,
|
|
20
|
+
"fileStorageId" varchar,
|
|
21
|
+
"fileFormat" varchar,
|
|
22
|
+
"fileSize" integer,
|
|
23
|
+
"fileHash" varchar,
|
|
24
|
+
"createdAt" datetime NOT NULL DEFAULT (datetime('now')),
|
|
25
|
+
"updatedAt" datetime NOT NULL DEFAULT (datetime('now')),
|
|
26
|
+
"analyzedAt" datetime,
|
|
27
|
+
"startedAt" datetime,
|
|
28
|
+
"endedAt" datetime,
|
|
29
|
+
"status" varchar NOT NULL DEFAULT ('PENDING'),
|
|
30
|
+
"analysisState" varchar NOT NULL DEFAULT ('NOT_ANALYZED'),
|
|
31
|
+
"statusReason" varchar,
|
|
32
|
+
"progress" float,
|
|
33
|
+
"metadata" json,
|
|
34
|
+
"statistics" json,
|
|
35
|
+
"queuePosition" integer,
|
|
36
|
+
"queueGroup" varchar
|
|
37
|
+
)
|
|
38
|
+
`);
|
|
39
|
+
await queryRunner.query(`
|
|
40
|
+
CREATE TABLE "temporary_print_job" (
|
|
41
|
+
"id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
42
|
+
"printerId" integer,
|
|
43
|
+
"printerName" varchar,
|
|
44
|
+
"fileName" varchar NOT NULL,
|
|
45
|
+
"fileStorageId" varchar,
|
|
46
|
+
"fileFormat" varchar,
|
|
47
|
+
"fileSize" integer,
|
|
48
|
+
"fileHash" varchar,
|
|
49
|
+
"createdAt" datetime NOT NULL DEFAULT (datetime('now')),
|
|
50
|
+
"updatedAt" datetime NOT NULL DEFAULT (datetime('now')),
|
|
51
|
+
"analyzedAt" datetime,
|
|
52
|
+
"startedAt" datetime,
|
|
53
|
+
"endedAt" datetime,
|
|
54
|
+
"status" varchar NOT NULL DEFAULT ('PENDING'),
|
|
55
|
+
"analysisState" varchar NOT NULL DEFAULT ('NOT_ANALYZED'),
|
|
56
|
+
"statusReason" varchar,
|
|
57
|
+
"progress" float,
|
|
58
|
+
"metadata" json,
|
|
59
|
+
"statistics" json,
|
|
60
|
+
"queuePosition" integer,
|
|
61
|
+
"queueGroup" varchar,
|
|
62
|
+
CONSTRAINT "FK_12483257f75235517688864f2d0" FOREIGN KEY ("printerId") REFERENCES "printer" ("id") ON DELETE
|
|
63
|
+
SET NULL ON UPDATE NO ACTION
|
|
64
|
+
)
|
|
65
|
+
`);
|
|
66
|
+
await queryRunner.query(`
|
|
67
|
+
INSERT INTO "temporary_print_job"(
|
|
68
|
+
"id",
|
|
69
|
+
"printerId",
|
|
70
|
+
"printerName",
|
|
71
|
+
"fileName",
|
|
72
|
+
"fileStorageId",
|
|
73
|
+
"fileFormat",
|
|
74
|
+
"fileSize",
|
|
75
|
+
"fileHash",
|
|
76
|
+
"createdAt",
|
|
77
|
+
"updatedAt",
|
|
78
|
+
"analyzedAt",
|
|
79
|
+
"startedAt",
|
|
80
|
+
"endedAt",
|
|
81
|
+
"status",
|
|
82
|
+
"analysisState",
|
|
83
|
+
"statusReason",
|
|
84
|
+
"progress",
|
|
85
|
+
"metadata",
|
|
86
|
+
"statistics",
|
|
87
|
+
"queuePosition",
|
|
88
|
+
"queueGroup"
|
|
89
|
+
)
|
|
90
|
+
SELECT "id",
|
|
91
|
+
"printerId",
|
|
92
|
+
"printerName",
|
|
93
|
+
"fileName",
|
|
94
|
+
"fileStorageId",
|
|
95
|
+
"fileFormat",
|
|
96
|
+
"fileSize",
|
|
97
|
+
"fileHash",
|
|
98
|
+
"createdAt",
|
|
99
|
+
"updatedAt",
|
|
100
|
+
"analyzedAt",
|
|
101
|
+
"startedAt",
|
|
102
|
+
"endedAt",
|
|
103
|
+
"status",
|
|
104
|
+
"analysisState",
|
|
105
|
+
"statusReason",
|
|
106
|
+
"progress",
|
|
107
|
+
"metadata",
|
|
108
|
+
"statistics",
|
|
109
|
+
"queuePosition",
|
|
110
|
+
"queueGroup"
|
|
111
|
+
FROM "print_job"
|
|
112
|
+
`);
|
|
113
|
+
await queryRunner.query(`
|
|
114
|
+
DROP TABLE "print_job"
|
|
115
|
+
`);
|
|
116
|
+
await queryRunner.query(`
|
|
117
|
+
ALTER TABLE "temporary_print_job"
|
|
118
|
+
RENAME TO "print_job"
|
|
119
|
+
`);
|
|
120
|
+
}
|
|
121
|
+
async down(queryRunner) {
|
|
122
|
+
await queryRunner.query(`
|
|
123
|
+
ALTER TABLE "print_job"
|
|
124
|
+
RENAME TO "temporary_print_job"
|
|
125
|
+
`);
|
|
126
|
+
await queryRunner.query(`
|
|
127
|
+
CREATE TABLE "print_job" (
|
|
128
|
+
"id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
|
|
129
|
+
"printerId" integer,
|
|
130
|
+
"printerName" varchar,
|
|
131
|
+
"fileName" varchar NOT NULL,
|
|
132
|
+
"fileStorageId" varchar,
|
|
133
|
+
"fileFormat" varchar,
|
|
134
|
+
"fileSize" integer,
|
|
135
|
+
"fileHash" varchar,
|
|
136
|
+
"createdAt" datetime NOT NULL DEFAULT (datetime('now')),
|
|
137
|
+
"updatedAt" datetime NOT NULL DEFAULT (datetime('now')),
|
|
138
|
+
"analyzedAt" datetime,
|
|
139
|
+
"startedAt" datetime,
|
|
140
|
+
"endedAt" datetime,
|
|
141
|
+
"status" varchar NOT NULL DEFAULT ('PENDING'),
|
|
142
|
+
"analysisState" varchar NOT NULL DEFAULT ('NOT_ANALYZED'),
|
|
143
|
+
"statusReason" varchar,
|
|
144
|
+
"progress" float,
|
|
145
|
+
"metadata" json,
|
|
146
|
+
"statistics" json,
|
|
147
|
+
"queuePosition" integer,
|
|
148
|
+
"queueGroup" varchar
|
|
149
|
+
)
|
|
150
|
+
`);
|
|
151
|
+
await queryRunner.query(`
|
|
152
|
+
INSERT INTO "print_job"(
|
|
153
|
+
"id",
|
|
154
|
+
"printerId",
|
|
155
|
+
"printerName",
|
|
156
|
+
"fileName",
|
|
157
|
+
"fileStorageId",
|
|
158
|
+
"fileFormat",
|
|
159
|
+
"fileSize",
|
|
160
|
+
"fileHash",
|
|
161
|
+
"createdAt",
|
|
162
|
+
"updatedAt",
|
|
163
|
+
"analyzedAt",
|
|
164
|
+
"startedAt",
|
|
165
|
+
"endedAt",
|
|
166
|
+
"status",
|
|
167
|
+
"analysisState",
|
|
168
|
+
"statusReason",
|
|
169
|
+
"progress",
|
|
170
|
+
"metadata",
|
|
171
|
+
"statistics",
|
|
172
|
+
"queuePosition",
|
|
173
|
+
"queueGroup"
|
|
174
|
+
)
|
|
175
|
+
SELECT "id",
|
|
176
|
+
"printerId",
|
|
177
|
+
"printerName",
|
|
178
|
+
"fileName",
|
|
179
|
+
"fileStorageId",
|
|
180
|
+
"fileFormat",
|
|
181
|
+
"fileSize",
|
|
182
|
+
"fileHash",
|
|
183
|
+
"createdAt",
|
|
184
|
+
"updatedAt",
|
|
185
|
+
"analyzedAt",
|
|
186
|
+
"startedAt",
|
|
187
|
+
"endedAt",
|
|
188
|
+
"status",
|
|
189
|
+
"analysisState",
|
|
190
|
+
"statusReason",
|
|
191
|
+
"progress",
|
|
192
|
+
"metadata",
|
|
193
|
+
"statistics",
|
|
194
|
+
"queuePosition",
|
|
195
|
+
"queueGroup"
|
|
196
|
+
FROM "temporary_print_job"
|
|
197
|
+
`);
|
|
198
|
+
await queryRunner.query(`
|
|
199
|
+
DROP TABLE "temporary_print_job"
|
|
200
|
+
`);
|
|
201
|
+
await queryRunner.query(`
|
|
202
|
+
DROP TABLE "print_job"
|
|
203
|
+
`);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
//# sourceMappingURL=1767451444137-AddPrintJob.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/migrations/1767451444137-AddPrintJob.ts"],"names":["AddPrintJob1767451444137","name","up","queryRunner","query","down"],"mappings":";;;;+BAEaA;;;eAAAA;;;AAAN,MAAMA;IACTC,OAAO,2BAA0B;IAEjC,MAAaC,GAAGC,WAAwB,EAAiB;QACrD,MAAMA,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;QAwBzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;QA0BzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA8CzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;IACL;IAEA,MAAaC,KAAKF,WAAwB,EAAiB;QACvD,MAAMA,YAAYC,KAAK,CAAC,CAAC;;;QAGzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;QAwBzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA8CzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;QACD,MAAMD,YAAYC,KAAK,CAAC,CAAC;;QAEzB,CAAC;IACL;AAEJ"}
|
package/dist/server.constants.js
CHANGED
|
@@ -12,7 +12,6 @@ const AppConstants = {
|
|
|
12
12
|
NODE_ENV_KEY: "NODE_ENV",
|
|
13
13
|
VERSION_KEY: "npm_package_version",
|
|
14
14
|
SERVER_PORT_KEY: "SERVER_PORT",
|
|
15
|
-
MONGO_KEY: "MONGO",
|
|
16
15
|
DATABASE_PATH: "DATABASE_PATH",
|
|
17
16
|
DATABASE_FILE: "DATABASE_FILE",
|
|
18
17
|
pm2ServiceName: "FDM",
|
|
@@ -24,6 +23,7 @@ const AppConstants = {
|
|
|
24
23
|
defaultClientBundleZipsStorage: "./media/client-dist-zips",
|
|
25
24
|
defaultPrinterThumbnailsStorage: "./media/printer-thumbnails",
|
|
26
25
|
defaultFileUploadsStorage: "./media/file-uploads",
|
|
26
|
+
defaultPrintFilesStorage: "./media/files",
|
|
27
27
|
defaultAcceptedGcodeExtensions: [
|
|
28
28
|
".gcode",
|
|
29
29
|
".bgcode"
|
|
@@ -33,8 +33,7 @@ const AppConstants = {
|
|
|
33
33
|
".3mf"
|
|
34
34
|
],
|
|
35
35
|
defaultServerPort: 4000,
|
|
36
|
-
|
|
37
|
-
apiRoute: "/api",
|
|
36
|
+
apiRoute: "/api/v2",
|
|
38
37
|
enableClientDistAutoUpdateKey: "ENABLE_CLIENT_DIST_AUTO_UPDATE",
|
|
39
38
|
OVERRIDE_LOGIN_REQUIRED: "OVERRIDE_LOGIN_REQUIRED",
|
|
40
39
|
OVERRIDE_REGISTRATION_ENABLED: "OVERRIDE_REGISTRATION_ENABLED",
|
|
@@ -48,7 +47,7 @@ const AppConstants = {
|
|
|
48
47
|
OVERRIDE_JWT_ISSUER: "OVERRIDE_JWT_ISSUER",
|
|
49
48
|
DEFAULT_JWT_ISSUER: "fdm-monster-server",
|
|
50
49
|
OVERRIDE_JWT_AUDIENCE: "OVERRIDE_JWT_AUDIENCE",
|
|
51
|
-
DEFAULT_JWT_AUDIENCE: "fdm-monster-client",
|
|
50
|
+
DEFAULT_JWT_AUDIENCE: "fdm-monster-client-next",
|
|
52
51
|
OVERRIDE_IS_DEMO_MODE: "OVERRIDE_IS_DEMO_MODE",
|
|
53
52
|
OVERRIDE_DEMO_USERNAME: "OVERRIDE_DEMO_USERNAME",
|
|
54
53
|
DEFAULT_DEMO_USERNAME: "demo",
|
|
@@ -68,18 +67,12 @@ const AppConstants = {
|
|
|
68
67
|
GITHUB_PAT: "GITHUB_PAT",
|
|
69
68
|
serverPackageName: "@fdm-monster/server",
|
|
70
69
|
serverRepoName: "fdm-monster",
|
|
71
|
-
clientPackageName: "@fdm-monster/client",
|
|
72
|
-
clientRepoName: "fdm-monster-client",
|
|
73
|
-
clientNextPackageName: "@fdm-monster/client-next",
|
|
74
|
-
clientNextRepoName: "fdm-monster-client-next",
|
|
70
|
+
clientPackageName: "@fdm-monster/client-next",
|
|
71
|
+
clientRepoName: "fdm-monster-client-next",
|
|
75
72
|
githubUrl: "https://github.com/fdm-monster/fdm-monster",
|
|
76
73
|
orgName: "fdm-monster",
|
|
77
74
|
currentWizardVersion: 1,
|
|
78
|
-
defaultClientMinimum: "1.
|
|
79
|
-
influxUrl: "INFLUX_URL",
|
|
80
|
-
influxToken: "INFLUX_TOKEN",
|
|
81
|
-
influxOrg: "INFLUX_ORG",
|
|
82
|
-
influxBucket: "INFLUX_BUCKET",
|
|
75
|
+
defaultClientMinimum: "2.1.0",
|
|
83
76
|
defaultWebsocketHandshakeTimeout: 3000,
|
|
84
77
|
defaultSocketThrottleRate: 1,
|
|
85
78
|
debugSocketStatesKey: "DEBUG_SOCKET_STATES",
|
|
@@ -87,14 +80,13 @@ const AppConstants = {
|
|
|
87
80
|
monsterPiFilePath: "/etc/monsterpi_version",
|
|
88
81
|
sentryCustomDsnToken: "SENTRY_CUSTOM_DSN",
|
|
89
82
|
sentryCustomDsnDefault: "https://164b8028a8a745bba3dbcab991b84ae7@o4503975545733120.ingest.sentry.io/4505101598261248",
|
|
90
|
-
debugRoutesKey: "DEBUG_ROUTES",
|
|
91
|
-
ENABLE_EXPERIMENTAL_TYPEORM: "ENABLE_EXPERIMENTAL_TYPEORM",
|
|
92
|
-
enableExperimentalTypeormDefault: "false",
|
|
93
83
|
ENABLE_PROMETHEUS_METRICS: "ENABLE_PROMETHEUS_METRICS",
|
|
94
84
|
ENABLE_LOKI_LOGGING: "ENABLE_LOKI_LOGGING",
|
|
95
85
|
LOKI_ADDRESS: "LOKI_ADDRESS",
|
|
96
86
|
LOKI_TIMEOUT_SECONDS: "LOKI_TIMEOUT_SECONDS",
|
|
97
|
-
LOKI_INTERVAL: "LOKI_INTERVAL"
|
|
87
|
+
LOKI_INTERVAL: "LOKI_INTERVAL",
|
|
88
|
+
DISABLE_SWAGGER_OPENAPI: "DISABLE_SWAGGER_OPENAPI",
|
|
89
|
+
GENERATE_SWAGGER_JSON: "GENERATE_SWAGGER_JSON"
|
|
98
90
|
};
|
|
99
91
|
|
|
100
92
|
//# sourceMappingURL=server.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server.constants.ts"],"names":["AppConstants","NODE_ENV_KEY","VERSION_KEY","SERVER_PORT_KEY","
|
|
1
|
+
{"version":3,"sources":["../src/server.constants.ts"],"names":["AppConstants","NODE_ENV_KEY","VERSION_KEY","SERVER_PORT_KEY","DATABASE_PATH","DATABASE_FILE","pm2ServiceName","logAppName","defaultFileStorageFolder","defaultLogsFolder","defaultLogZipsFolder","defaultClientBundleStorage","defaultClientBundleZipsStorage","defaultPrinterThumbnailsStorage","defaultFileUploadsStorage","defaultPrintFilesStorage","defaultAcceptedGcodeExtensions","defaultAcceptedBambuExtensions","defaultServerPort","apiRoute","enableClientDistAutoUpdateKey","OVERRIDE_LOGIN_REQUIRED","OVERRIDE_REGISTRATION_ENABLED","DEFAULT_USERNAME_MINLEN","DEFAULT_PASSWORD_MINLEN","OVERRIDE_JWT_SECRET","OVERRIDE_JWT_EXPIRES_IN","DEFAULT_JWT_EXPIRES_IN","DEFAULT_REFRESH_TOKEN_ATTEMPTS","DEFAULT_REFRESH_TOKEN_EXPIRY","OVERRIDE_JWT_ISSUER","DEFAULT_JWT_ISSUER","OVERRIDE_JWT_AUDIENCE","DEFAULT_JWT_AUDIENCE","OVERRIDE_IS_DEMO_MODE","OVERRIDE_DEMO_USERNAME","DEFAULT_DEMO_USERNAME","OVERRIDE_DEMO_PASSWORD","DEFAULT_DEMO_PASSWORD","OVERRIDE_DEMO_ROLE","DEFAULT_DEMO_ROLE","defaultDevelopmentEnv","ENABLE_COLORED_LOGS_KEY","defaultTestEnv","defaultProductionEnv","knownEnvNames","GITHUB_PAT","serverPackageName","serverRepoName","clientPackageName","clientRepoName","githubUrl","orgName","currentWizardVersion","defaultClientMinimum","defaultWebsocketHandshakeTimeout","defaultSocketThrottleRate","debugSocketStatesKey","defaultDebugSocketStates","monsterPiFilePath","sentryCustomDsnToken","sentryCustomDsnDefault","ENABLE_PROMETHEUS_METRICS","ENABLE_LOKI_LOGGING","LOKI_ADDRESS","LOKI_TIMEOUT_SECONDS","LOKI_INTERVAL","DISABLE_SWAGGER_OPENAPI","GENERATE_SWAGGER_JSON"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,eAAe;IAC1BC,cAAc;IACdC,aAAa;IACbC,iBAAiB;IACjBC,eAAe;IACfC,eAAe;IAEfC,gBAAgB;IAChBC,YAAY;IAGZC,0BAA0B;IAC1BC,mBAAmB;IACnBC,sBAAsB;IAEtBC,4BAA4B;IAC5BC,gCAAgC;IAChCC,iCAAiC;IACjCC,2BAA2B;IAC3BC,0BAA0B;IAC1BC,gCAAgC;QAAC;QAAU;KAAU;IACrDC,gCAAgC;QAAC;QAAU;KAAO;IAClDC,mBAAmB;IACnBC,UAAU;IACVC,+BAA+B;IAG/BC,yBAAyB;IAEzBC,+BAA+B;IAE/BC,yBAAyB;IAEzBC,yBAAyB;IAEzBC,qBAAqB;IAErBC,yBAAyB;IACzBC,wBAAwB,KAAK;IAE7BC,gCAAgC,CAAC;IAEjCC,8BAA8B,KAAK,KAAK,KAAK;IAE7CC,qBAAqB;IACrBC,oBAAoB;IAEpBC,uBAAuB;IACvBC,sBAAsB;IAEtBC,uBAAuB;IACvBC,wBAAwB;IACxBC,uBAAuB;IACvBC,wBAAwB;IACxBC,uBAAuB;IACvBC,oBAAoB;IACpBC,mBAAmB;IAEnBC,uBAAuB;IACvBC,yBAAyB;IACzBC,gBAAgB;IAChBC,sBAAsB;IACtBC,eAAe;QAAC;QAAe;QAAc;KAAO;IACpDC,YAAY;IACZC,mBAAmB;IACnBC,gBAAgB;IAChBC,mBAAmB;IACnBC,gBAAgB;IAChBC,WAAW;IACXC,SAAS;IAETC,sBAAsB;IACtBC,sBAAsB;IAGtBC,kCAAkC;IAClCC,2BAA2B;IAC3BC,sBAAsB;IACtBC,0BAA0B;IAG1BC,mBAAmB;IAGnBC,sBAAsB;IACtBC,wBACE;IAEFC,2BAA2B;IAC3BC,qBAAqB;IACrBC,cAAc;IACdC,sBAAsB;IACtBC,eAAe;IAGfC,yBAAyB;IACzBC,uBAAuB;AACzB"}
|
package/dist/server.core.js
CHANGED
|
@@ -21,7 +21,6 @@ const _passport1 = require("./middleware/passport");
|
|
|
21
21
|
const _serverconstants = require("./server.constants");
|
|
22
22
|
const _path = require("path");
|
|
23
23
|
const _fsutils = require("./utils/fs.utils");
|
|
24
|
-
const _envutils = require("./utils/env.utils");
|
|
25
24
|
const _promclient = require("prom-client");
|
|
26
25
|
const _logger = require("./handlers/logger");
|
|
27
26
|
function _interop_require_default(obj) {
|
|
@@ -76,12 +75,9 @@ const httpRequestsTotal = new _promclient.Counter({
|
|
|
76
75
|
});
|
|
77
76
|
async function setupServer() {
|
|
78
77
|
const httpServer = (0, _express.default)();
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
(0, _fsutils.ensureDirExists)((0, _path.join)((0, _fsutils.superRootPath)(), dbFolder));
|
|
83
|
-
}
|
|
84
|
-
const container = (0, _container.configureContainer)(experimentalTypeormEnabled);
|
|
78
|
+
const dbFolder = process.env[_serverconstants.AppConstants.DATABASE_PATH] ?? "./database";
|
|
79
|
+
(0, _fsutils.ensureDirExists)((0, _path.join)((0, _fsutils.superRootPath)(), dbFolder));
|
|
80
|
+
const container = (0, _container.configureContainer)();
|
|
85
81
|
(0, _passport1.initializePassportStrategies)(_passport.default, container);
|
|
86
82
|
httpServer.use((req, res, next)=>{
|
|
87
83
|
const route = req.route?.path ?? req.path ?? "unknown";
|
package/dist/server.core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server.core.ts"],"names":["setupServer","httpRequestsTotal","Counter","name","help","httpServer","express","
|
|
1
|
+
{"version":3,"sources":["../src/server.core.ts"],"names":["setupServer","httpRequestsTotal","Counter","name","help","httpServer","express","dbFolder","process","env","AppConstants","DATABASE_PATH","ensureDirExists","join","superRootPath","container","configureContainer","initializePassportStrategies","passport","use","req","res","next","route","path","includes","start","hrtime","on","inc","delta","duration","logger","LoggerService","newDebug","message","method","originalUrl","statusCode","responseTimeMs","toFixed","clientIp","ip","userAgent","get","cors","origin","methods","helmet","contentSecurityPolicy","json","limit","cookieParser","urlencoded","extended","initialize","authenticate","session","scopePerRequest","interceptDatabaseError","validateWizardCompleted","interceptRoles"],"mappings":";;;;+BAqBsBA;;;eAAAA;;;iEArBoB;qEACjB;iEACJ;6DACJ;+DACE;+BACa;2BACG;0BACI;kCACiB;2BACX;iCAChB;sBACR;yBAC0B;4BACvB;wBACM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE9B,MAAMC,oBAAoB,IAAIC,mBAAO,CAAC;IACpCC,MAAM;IACNC,MAAM;AACR;AAEO,eAAeJ;IACpB,MAAMK,aAAaC,IAAAA,gBAAO;IAE1B,MAAMC,WAAWC,QAAQC,GAAG,CAACC,6BAAY,CAACC,aAAa,CAAC,IAAI;IAC5DC,IAAAA,wBAAe,EAACC,IAAAA,UAAI,EAACC,IAAAA,sBAAa,KAAIP;IAEtC,MAAMQ,YAAYC,IAAAA,6BAAkB;IACpCC,IAAAA,uCAA4B,EAACC,iBAAQ,EAAEH;IAEvCV,WACGc,GAAG,CAAC,CAACC,KAAKC,KAAKC;QACd,MAAMC,QAAQH,IAAIG,KAAK,EAAEC,QAAQJ,IAAII,IAAI,IAAI;QAE7C,IAAID,MAAME,QAAQ,CAAC,SAAS;YAC1B,MAAMC,QAAQlB,QAAQmB,MAAM;YAE5BN,IAAIO,EAAE,CAAC,UAAU;gBACf3B,kBAAkB4B,GAAG;gBAErB,MAAMC,QAAQtB,QAAQmB,MAAM,CAACD;gBAC7B,MAAMK,WAAWD,KAAK,CAAC,EAAE,GAAGA,KAAK,CAAC,EAAE,GAAG;gBACvC,MAAME,SAAS,IAAIC,qBAAa,CAAC;gBACjCD,OAAOE,QAAQ,CAAC;oBACdC,SAAS,CAAC,aAAa,EAAEf,IAAIgB,MAAM,CAAC,CAAC,EAAEhB,IAAIiB,WAAW,CAAC,CAAC,EAAEhB,IAAIiB,UAAU,EAAE;oBAC1EF,QAAQhB,IAAIgB,MAAM;oBAClBZ,MAAMJ,IAAIiB,WAAW;oBACrBC,YAAYjB,IAAIiB,UAAU;oBAC1BC,gBAAgBR,SAASS,OAAO,CAAC;oBACjCC,UAAUrB,IAAIsB,EAAE;oBAChBC,WAAWvB,IAAIwB,GAAG,CAAC;gBACrB;YACF;QACF;QAEAtB;IACF,GACCH,GAAG,CACF0B,IAAAA,aAAI,EAAC;QACHC,QAAQ;QACRC,SAAS;IACX,IAED5B,GAAG,CACF6B,IAAAA,eAAM,EAAC;QACLC,uBAAuB;IACzB,IAED9B,GAAG,CAAC+B,IAAAA,aAAI,EAAC;QAAEC,OAAO;IAAO,IACzBhC,GAAG,CAACiC,IAAAA,qBAAY,KAChBjC,GAAG,CAACkC,IAAAA,mBAAU,EAAC;QAAEC,UAAU;IAAM,IACjCnC,GAAG,CAACD,iBAAQ,CAACqC,UAAU,IACvBpC,GAAG,CAACD,iBAAQ,CAACsC,YAAY,CAAC;QAAC;QAAO;KAAY,EAAE;QAAEC,SAAS;IAAM,IACjEtC,GAAG,CAACuC,IAAAA,8BAAe,EAAC3C,YACpBI,GAAG,CAACwC,gCAAsB,EAE1BxC,GAAG,CAACyC,yCAAuB,EAC3BzC,GAAG,CAAC0C,gCAAc;IAErB,OAAO;QACLxD;QACAU;IACF;AACF"}
|
package/dist/server.env.js
CHANGED
|
@@ -9,24 +9,15 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
get ensureMongoDbConnectionStringSet () {
|
|
13
|
-
return ensureMongoDbConnectionStringSet;
|
|
14
|
-
},
|
|
15
12
|
get ensurePortSet () {
|
|
16
13
|
return ensurePortSet;
|
|
17
14
|
},
|
|
18
|
-
get fetchMongoDBConnectionString () {
|
|
19
|
-
return fetchMongoDBConnectionString;
|
|
20
|
-
},
|
|
21
15
|
get fetchServerPort () {
|
|
22
16
|
return fetchServerPort;
|
|
23
17
|
},
|
|
24
18
|
get isEnvProd () {
|
|
25
19
|
return isEnvProd;
|
|
26
20
|
},
|
|
27
|
-
get runMigrations () {
|
|
28
|
-
return runMigrations;
|
|
29
|
-
},
|
|
30
21
|
get setupEnvConfig () {
|
|
31
22
|
return setupEnvConfig;
|
|
32
23
|
},
|
|
@@ -34,8 +25,7 @@ _export(exports, {
|
|
|
34
25
|
return setupSentry;
|
|
35
26
|
}
|
|
36
27
|
});
|
|
37
|
-
const
|
|
38
|
-
const _path = require("path");
|
|
28
|
+
const _nodepath = require("node:path");
|
|
39
29
|
const _node = /*#__PURE__*/ _interop_require_wildcard(require("@sentry/node"));
|
|
40
30
|
const _serverconstants = require("./server.constants");
|
|
41
31
|
const _logger = require("./handlers/logger");
|
|
@@ -85,7 +75,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
85
75
|
return newObj;
|
|
86
76
|
}
|
|
87
77
|
const instructionsReferralURL = "https://docs.fdm-monster.net";
|
|
88
|
-
const packageJsonPath = (0,
|
|
78
|
+
const packageJsonPath = (0, _nodepath.join)((0, _fsutils.superRootPath)(), "./package.json");
|
|
89
79
|
function isEnvTest() {
|
|
90
80
|
return process.env[_serverconstants.AppConstants.NODE_ENV_KEY] === _serverconstants.AppConstants.defaultTestEnv;
|
|
91
81
|
}
|
|
@@ -113,32 +103,14 @@ function printInstructionsURL() {
|
|
|
113
103
|
const logger = new _logger.LoggerService("FDM-Environment");
|
|
114
104
|
logger.log(`Please make sure to read ${instructionsReferralURL} for more information.`);
|
|
115
105
|
}
|
|
116
|
-
function fetchMongoDBConnectionString() {
|
|
117
|
-
const logger = new _logger.LoggerService("FDM-Environment");
|
|
118
|
-
if (!process.env[_serverconstants.AppConstants.MONGO_KEY]) {
|
|
119
|
-
logger.debug(`~ ${_serverconstants.AppConstants.MONGO_KEY} environment variable is not set. Assuming default`);
|
|
120
|
-
printInstructionsURL();
|
|
121
|
-
process.env[_serverconstants.AppConstants.MONGO_KEY] = _serverconstants.AppConstants.defaultMongoStringUnauthenticated;
|
|
122
|
-
}
|
|
123
|
-
return process.env[_serverconstants.AppConstants.MONGO_KEY];
|
|
124
|
-
}
|
|
125
106
|
function fetchServerPort() {
|
|
126
107
|
let port = process.env[_serverconstants.AppConstants.SERVER_PORT_KEY];
|
|
127
|
-
if (Number.isNaN(parseInt(port))) {
|
|
108
|
+
if (Number.isNaN(Number.parseInt(port))) {
|
|
128
109
|
process.env[_serverconstants.AppConstants.SERVER_PORT_KEY] = _serverconstants.AppConstants.defaultServerPort.toString();
|
|
129
110
|
port = process.env[_serverconstants.AppConstants.SERVER_PORT_KEY];
|
|
130
111
|
}
|
|
131
112
|
return port;
|
|
132
113
|
}
|
|
133
|
-
function ensureMongoDbConnectionStringSet() {
|
|
134
|
-
const logger = new _logger.LoggerService("FDM-Environment");
|
|
135
|
-
const dbConnectionString = process.env[_serverconstants.AppConstants.MONGO_KEY];
|
|
136
|
-
if (!dbConnectionString) {
|
|
137
|
-
fetchMongoDBConnectionString();
|
|
138
|
-
} else {
|
|
139
|
-
logger.log(`✓ ${_serverconstants.AppConstants.MONGO_KEY} environment variable set!`);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
114
|
function setupSentry() {
|
|
143
115
|
const logger = new _logger.LoggerService("FDM-Environment");
|
|
144
116
|
const sentryDsnToken = (0, _envutils.getEnvOrDefault)(_serverconstants.AppConstants.sentryCustomDsnToken, _serverconstants.AppConstants.sentryCustomDsnDefault);
|
|
@@ -147,7 +119,7 @@ function setupSentry() {
|
|
|
147
119
|
environment: process.env.NODE_ENV,
|
|
148
120
|
release: process.env.npm_package_version,
|
|
149
121
|
enabled: !isEnvTest(),
|
|
150
|
-
tracesSampleRate: (0, _envutils.isProductionEnvironment)() ? 0.25 : 1
|
|
122
|
+
tracesSampleRate: (0, _envutils.isProductionEnvironment)() ? 0.25 : 1
|
|
151
123
|
});
|
|
152
124
|
process.on("unhandledRejection", (e)=>{
|
|
153
125
|
const message = `Unhandled rejection error - ${(0, _errorutils.errorSummary)(e)}`;
|
|
@@ -168,7 +140,6 @@ function setupEnvConfig() {
|
|
|
168
140
|
ensureNodeEnvSet();
|
|
169
141
|
ensurePackageVersionSet();
|
|
170
142
|
setupSentry();
|
|
171
|
-
ensureMongoDbConnectionStringSet();
|
|
172
143
|
ensurePortSet();
|
|
173
144
|
if (process.env[_serverconstants.AppConstants.ENABLE_PROMETHEUS_METRICS] === "true") {
|
|
174
145
|
(0, _promclient.collectDefaultMetrics)({
|
|
@@ -177,21 +148,5 @@ function setupEnvConfig() {
|
|
|
177
148
|
_promclient.register.removeSingleMetric("nodejs_version_info");
|
|
178
149
|
}
|
|
179
150
|
}
|
|
180
|
-
async function runMigrations(db, client) {
|
|
181
|
-
const logger = new _logger.LoggerService("FDM-Environment");
|
|
182
|
-
const migrationsStatus = await (0, _migratemongo.status)(db);
|
|
183
|
-
const pendingMigrations = migrationsStatus.filter((m)=>m.appliedAt === "PENDING");
|
|
184
|
-
if (pendingMigrations.length) {
|
|
185
|
-
logger.log(`! MongoDB has ${pendingMigrations.length} migrations left to run (${migrationsStatus.length} migrations in total)`);
|
|
186
|
-
} else {
|
|
187
|
-
logger.log(`✓ Mongo Database is up to date [${migrationsStatus.length} migration applied]`);
|
|
188
|
-
}
|
|
189
|
-
const migrationResult = await (0, _migratemongo.up)(db, client);
|
|
190
|
-
if (migrationResult?.length > 0) {
|
|
191
|
-
logger.log(`Applied ${migrationResult.length} migrations successfully`, migrationResult);
|
|
192
|
-
} else {
|
|
193
|
-
logger.log("No migrations were run");
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
151
|
|
|
197
152
|
//# sourceMappingURL=server.env.js.map
|
package/dist/server.env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server.env.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../src/server.env.ts"],"names":["ensurePortSet","fetchServerPort","isEnvProd","setupEnvConfig","setupSentry","instructionsReferralURL","packageJsonPath","join","superRootPath","isEnvTest","process","env","AppConstants","NODE_ENV_KEY","defaultTestEnv","defaultProductionEnv","ensureNodeEnvSet","logger","Logger","environment","knownEnvNames","includes","newEnvName","warn","log","ensurePackageVersionSet","packageJsonVersion","require","version","VERSION_KEY","printInstructionsURL","port","SERVER_PORT_KEY","Number","isNaN","parseInt","defaultServerPort","toString","sentryDsnToken","getEnvOrDefault","sentryCustomDsnToken","sentryCustomDsnDefault","Sentry","init","dsn","NODE_ENV","release","npm_package_version","enabled","tracesSampleRate","isProductionEnvironment","on","e","message","errorSummary","error","captureException","ENABLE_PROMETHEUS_METRICS","collectDefaultMetrics","register","removeSingleMetric"],"mappings":";;;;;;;;;;;QA6EgBA;eAAAA;;QA/BAC;eAAAA;;QA9BAC;eAAAA;;QAwEAC;eAAAA;;QAhCAC;eAAAA;;;0BAxDK;8DACG;iCACK;wBACW;0BACiB;4BAC5B;yBACC;4BACkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEhD,MAAMC,0BAA0B;AAChC,MAAMC,kBAAkBC,IAAAA,cAAI,EAACC,IAAAA,sBAAa,KAAI;AAE9C,SAASC;IACP,OAAOC,QAAQC,GAAG,CAACC,6BAAY,CAACC,YAAY,CAAC,KAAKD,6BAAY,CAACE,cAAc;AAC/E;AAEO,SAASZ;IACd,OAAOQ,QAAQC,GAAG,CAACC,6BAAY,CAACC,YAAY,CAAC,KAAKD,6BAAY,CAACG,oBAAoB;AACrF;AAEA,SAASC;IACP,MAAMC,SAAS,IAAIC,qBAAM,CAAC;IAE1B,MAAMC,cAAcT,QAAQC,GAAG,CAACC,6BAAY,CAACC,YAAY,CAAC;IAC1D,IAAI,CAACM,eAAe,CAACP,6BAAY,CAACQ,aAAa,CAACC,QAAQ,CAACF,cAAc;QACrE,MAAMG,aAAaV,6BAAY,CAACG,oBAAoB;QACpDL,QAAQC,GAAG,CAACC,6BAAY,CAACC,YAAY,CAAC,GAAGS;QACzCL,OAAOM,IAAI,CAAC,CAAC,SAAS,EAAEJ,YAAY,mDAAmD,EAAEG,YAAY;IACvG,OAAO;QACLL,OAAOO,GAAG,CAAC,CAAC,mCAAmC,EAAEL,YAAY,EAAE,CAAC;IAClE;AACF;AAEA,SAASM;IACP,MAAMR,SAAS,IAAIC,qBAAM,CAAC;IAC1B,MAAMQ,qBAAqBC,QAAQrB,iBAAiBsB,OAAO;IAC3DlB,QAAQC,GAAG,CAACC,6BAAY,CAACiB,WAAW,CAAC,KAAKH;IAE1CT,OAAOO,GAAG,CAAC,CAAC,yBAAyB,EAAEd,QAAQC,GAAG,CAACC,6BAAY,CAACiB,WAAW,CAAC,EAAE;AAChF;AAEA,SAASC;IACP,MAAMb,SAAS,IAAIC,qBAAM,CAAC;IAC1BD,OAAOO,GAAG,CAAC,CAAC,yBAAyB,EAAEnB,wBAAwB,sBAAsB,CAAC;AACxF;AAEO,SAASJ;IACd,IAAI8B,OAAOrB,QAAQC,GAAG,CAACC,6BAAY,CAACoB,eAAe,CAAC;IACpD,IAAIC,OAAOC,KAAK,CAACD,OAAOE,QAAQ,CAACJ,QAAS;QAExCrB,QAAQC,GAAG,CAACC,6BAAY,CAACoB,eAAe,CAAC,GAAGpB,6BAAY,CAACwB,iBAAiB,CAACC,QAAQ;QACnFN,OAAOrB,QAAQC,GAAG,CAACC,6BAAY,CAACoB,eAAe,CAAC;IAClD;IACA,OAAOD;AACT;AAEO,SAAS3B;IACd,MAAMa,SAAS,IAAIC,qBAAM,CAAC;IAC1B,MAAMoB,iBAAiBC,IAAAA,yBAAe,EAAC3B,6BAAY,CAAC4B,oBAAoB,EAAE5B,6BAAY,CAAC6B,sBAAsB;IAE7GC,MAAOC,IAAI,CAAC;QACVC,KAAKN;QACLnB,aAAaT,QAAQC,GAAG,CAACkC,QAAQ;QACjCC,SAASpC,QAAQC,GAAG,CAACoC,mBAAmB;QACxCC,SAAS,CAACvC;QACVwC,kBAAkBC,IAAAA,iCAAuB,MAAK,OAAO;IACvD;IAEAxC,QAAQyC,EAAE,CAAC,sBAAsB,CAACC;QAChC,MAAMC,UAAU,CAAC,4BAA4B,EAAEC,IAAAA,wBAAY,EAACF,IAAI;QAChEnC,OAAOsC,KAAK,CAACF;QAGbX,MAAOc,gBAAgB,CAACJ;IAC1B;AACF;AAEO,SAASpD;IACd,MAAMiB,SAAS,IAAIC,qBAAM,CAAC;IAC1BjB;IAEA,IAAI,CAACS,QAAQC,GAAG,CAACC,6BAAY,CAACoB,eAAe,CAAC,EAAE;QAC9Cf,OAAOO,GAAG,CAAC,CAAC,EAAE,EAAEZ,6BAAY,CAACoB,eAAe,CAAC,gCAAgC,CAAC;QAC9EF;QACApB,QAAQC,GAAG,CAACC,6BAAY,CAACoB,eAAe,CAAC,GAAGpB,6BAAY,CAACwB,iBAAiB,CAACC,QAAQ;IACrF;AACF;AAEO,SAASlC;IACda;IACAS;IACArB;IACAJ;IAGA,IAAIU,QAAQC,GAAG,CAACC,6BAAY,CAAC6C,yBAAyB,CAAC,KAAK,QAAQ;QAClEC,IAAAA,iCAAqB,EAAC;YAAEC,UAAAA,oBAAQ;QAAC;QACjCA,oBAAQ,CAACC,kBAAkB,CAAC;IAC9B;AACF"}
|
package/dist/server.host.js
CHANGED
|
@@ -9,16 +9,14 @@ Object.defineProperty(exports, "ServerHost", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _express = /*#__PURE__*/ _interop_require_default(require("express"));
|
|
12
|
-
const _mongoose = /*#__PURE__*/ _interop_require_default(require("mongoose"));
|
|
13
12
|
const _connecthistoryapifallback = /*#__PURE__*/ _interop_require_default(require("connect-history-api-fallback"));
|
|
14
|
-
const
|
|
15
|
-
const _exceptionfilter = require("./middleware/exception.filter");
|
|
13
|
+
const _nodepath = require("node:path");
|
|
16
14
|
const _serverenv = require("./server.env");
|
|
17
15
|
const _runtimeexceptions = require("./exceptions/runtime.exceptions");
|
|
18
16
|
const _serverconstants = require("./server.constants");
|
|
19
17
|
const _fsutils = require("./utils/fs.utils");
|
|
20
|
-
const _envutils = require("./utils/env.utils");
|
|
21
18
|
const _loadcontrollers = require("./shared/load-controllers");
|
|
19
|
+
const _swagger = require("./utils/swagger/swagger");
|
|
22
20
|
function _interop_require_default(obj) {
|
|
23
21
|
return obj && obj.__esModule ? obj : {
|
|
24
22
|
default: obj
|
|
@@ -26,62 +24,52 @@ function _interop_require_default(obj) {
|
|
|
26
24
|
}
|
|
27
25
|
class ServerHost {
|
|
28
26
|
configService;
|
|
29
|
-
isTypeormMode;
|
|
30
|
-
settingsStore;
|
|
31
27
|
bootTask;
|
|
32
28
|
socketIoGateway;
|
|
33
29
|
typeormService;
|
|
30
|
+
exceptionFilter;
|
|
34
31
|
logger;
|
|
35
|
-
constructor(loggerFactory, configService,
|
|
32
|
+
constructor(loggerFactory, configService, bootTask, socketIoGateway, typeormService, exceptionFilter){
|
|
36
33
|
this.configService = configService;
|
|
37
|
-
this.isTypeormMode = isTypeormMode;
|
|
38
|
-
this.settingsStore = settingsStore;
|
|
39
34
|
this.bootTask = bootTask;
|
|
40
35
|
this.socketIoGateway = socketIoGateway;
|
|
41
36
|
this.typeormService = typeormService;
|
|
37
|
+
this.exceptionFilter = exceptionFilter;
|
|
42
38
|
this.logger = loggerFactory(ServerHost.name);
|
|
43
39
|
}
|
|
44
40
|
async boot(app, quick_boot = false, listenRequests = true) {
|
|
45
|
-
|
|
46
|
-
_mongoose.default.set("strictQuery", true);
|
|
47
|
-
}
|
|
48
|
-
this.serveControllerRoutes(app);
|
|
41
|
+
await this.serveControllerRoutes(app);
|
|
49
42
|
if (!quick_boot) {
|
|
50
43
|
await this.bootTask.runOnce();
|
|
51
44
|
}
|
|
52
45
|
if (listenRequests) return this.httpListen(app);
|
|
53
46
|
}
|
|
54
47
|
hasConnected() {
|
|
55
|
-
|
|
56
|
-
return this.typeormService.hasConnected();
|
|
57
|
-
} else {
|
|
58
|
-
return _mongoose.default.connections[0].readyState;
|
|
59
|
-
}
|
|
48
|
+
return this.typeormService.hasConnected();
|
|
60
49
|
}
|
|
61
|
-
serveControllerRoutes(app) {
|
|
50
|
+
async serveControllerRoutes(app) {
|
|
51
|
+
const swaggerDisabled = process.env[_serverconstants.AppConstants.DISABLE_SWAGGER_OPENAPI] === "true";
|
|
62
52
|
app.use((req, res, next)=>{
|
|
63
|
-
if (!req.originalUrl.startsWith("/metrics") && !req.originalUrl.startsWith("/api") && !req.originalUrl.startsWith("/socket.io")) {
|
|
53
|
+
if (!req.originalUrl.startsWith("/metrics") && !req.originalUrl.startsWith("/api") && !req.originalUrl.startsWith("/api-docs") && !req.originalUrl.startsWith("/socket.io")) {
|
|
64
54
|
(0, _connecthistoryapifallback.default)()(req, res, next);
|
|
65
55
|
} else {
|
|
66
56
|
next();
|
|
67
57
|
}
|
|
68
58
|
}).use((0, _loadcontrollers.loadControllersFunc)());
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
});
|
|
59
|
+
if (swaggerDisabled) {
|
|
60
|
+
this.logger.log("Swagger/OpenAPI documentation disabled");
|
|
61
|
+
} else {
|
|
62
|
+
await (0, _swagger.setupSwagger)(app, this.logger);
|
|
63
|
+
this.logger.log("Swagger/OpenAPI documentation enabled");
|
|
64
|
+
}
|
|
65
|
+
const bundleDistPath = (0, _nodepath.join)((0, _fsutils.superRootPath)(), _serverconstants.AppConstants.defaultClientBundleStorage, "dist");
|
|
66
|
+
const backupClientPath = (0, _nodepath.join)((0, _fsutils.superRootPath)(), "node_modules", _serverconstants.AppConstants.clientPackageName, "dist");
|
|
79
67
|
app.use(_express.default.static(bundleDistPath));
|
|
80
68
|
app.use(_express.default.static(backupClientPath));
|
|
81
69
|
app.get("*", (req, _)=>{
|
|
82
70
|
const path = req.originalUrl;
|
|
83
71
|
let resource = "MVC";
|
|
84
|
-
if (path.startsWith("/socket.io") || path.startsWith("/api") || path.startsWith("/metrics")) {
|
|
72
|
+
if (path.startsWith("/socket.io") || path.startsWith("/api") || path.startsWith("/metrics") || path.startsWith("/api-docs")) {
|
|
85
73
|
resource = "API";
|
|
86
74
|
} else if (path.endsWith(".min.js")) {
|
|
87
75
|
resource = "client-bundle";
|
|
@@ -91,29 +79,23 @@ class ServerHost {
|
|
|
91
79
|
throw new _runtimeexceptions.NotFoundException(`${resource} resource was not found`, path);
|
|
92
80
|
}
|
|
93
81
|
});
|
|
94
|
-
app.use(
|
|
82
|
+
app.use(this.exceptionFilter.handle.bind(this.exceptionFilter));
|
|
95
83
|
}
|
|
96
84
|
async httpListen(app) {
|
|
97
85
|
const port = (0, _serverenv.fetchServerPort)();
|
|
98
|
-
if (!
|
|
99
|
-
const expressListRoutes = require("express-list-routes");
|
|
100
|
-
expressListRoutes(app, {
|
|
101
|
-
prefix: "/"
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
if (!port || Number.isNaN(parseInt(port))) {
|
|
86
|
+
if (!port || Number.isNaN(Number.parseInt(port))) {
|
|
105
87
|
throw new Error("The FDM Server requires a numeric port input argument to run");
|
|
106
88
|
}
|
|
89
|
+
const swaggerDisabled = process.env[_serverconstants.AppConstants.DISABLE_SWAGGER_OPENAPI] === "true";
|
|
107
90
|
const hostOrFqdn = "0.0.0.0";
|
|
108
|
-
const server = app.listen(parseInt(port), hostOrFqdn, ()=>{
|
|
91
|
+
const server = app.listen(Number.parseInt(port), hostOrFqdn, ()=>{
|
|
109
92
|
this.logger.log(`Server started... open it at http://127.0.0.1:${port}`);
|
|
93
|
+
if (!swaggerDisabled) {
|
|
94
|
+
this.logger.log(`API Documentation available at http://127.0.0.1:${port}/api-docs`);
|
|
95
|
+
}
|
|
110
96
|
});
|
|
111
97
|
this.socketIoGateway.attachServer(server);
|
|
112
98
|
}
|
|
113
|
-
isClientNextEnabled() {
|
|
114
|
-
const settings = this.settingsStore.getServerSettings();
|
|
115
|
-
return settings.experimentalClientSupport;
|
|
116
|
-
}
|
|
117
99
|
}
|
|
118
100
|
|
|
119
101
|
//# sourceMappingURL=server.host.js.map
|