@fdm-monster/server 1.5.0-rc2 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +2 -1
  2. package/dist/constants/authorization.constants.js +12 -0
  3. package/dist/constants/authorization.constants.js.map +1 -1
  4. package/dist/container.js +2 -1
  5. package/dist/container.js.map +1 -1
  6. package/dist/container.tokens.js +3 -1
  7. package/dist/container.tokens.js.map +1 -1
  8. package/dist/controllers/auth.controller.js +9 -5
  9. package/dist/controllers/auth.controller.js.map +1 -1
  10. package/dist/controllers/first-time-setup.controller.js +1 -3
  11. package/dist/controllers/first-time-setup.controller.js.map +1 -1
  12. package/dist/controllers/user.controller.js +72 -9
  13. package/dist/controllers/user.controller.js.map +1 -1
  14. package/dist/controllers/validation/user-controller.validation.js +3 -2
  15. package/dist/controllers/validation/user-controller.validation.js.map +1 -1
  16. package/dist/exceptions/job.exceptions.js.map +1 -1
  17. package/dist/exceptions/runtime.exceptions.js +3 -10
  18. package/dist/exceptions/runtime.exceptions.js.map +1 -1
  19. package/dist/middleware/authenticate.js +7 -4
  20. package/dist/middleware/authenticate.js.map +1 -1
  21. package/dist/middleware/{exception.handler.js → exception.filter.js} +6 -11
  22. package/dist/middleware/exception.filter.js.map +1 -0
  23. package/dist/middleware/global.middleware.js +1 -1
  24. package/dist/middleware/global.middleware.js.map +1 -1
  25. package/dist/middleware/passport.js +45 -16
  26. package/dist/middleware/passport.js.map +1 -1
  27. package/dist/server.constants.js +8 -2
  28. package/dist/server.constants.js.map +1 -1
  29. package/dist/server.host.js +3 -3
  30. package/dist/server.host.js.map +1 -1
  31. package/dist/services/authentication/auth.service.js +26 -15
  32. package/dist/services/authentication/auth.service.js.map +1 -1
  33. package/dist/services/authentication/refresh-token.service.js +3 -2
  34. package/dist/services/authentication/refresh-token.service.js.map +1 -1
  35. package/dist/services/authentication/role.service.js +6 -0
  36. package/dist/services/authentication/role.service.js.map +1 -1
  37. package/dist/services/authentication/user.service.js +33 -12
  38. package/dist/services/authentication/user.service.js.map +1 -1
  39. package/dist/services/influxdb-v2/influx-db-v2-base.service.js +4 -8
  40. package/dist/services/influxdb-v2/influx-db-v2-base.service.js.map +1 -1
  41. package/dist/services/interfaces/refresh-token.dto.js +20 -0
  42. package/dist/services/interfaces/refresh-token.dto.js.map +1 -0
  43. package/dist/services/interfaces/role.dto.js +16 -0
  44. package/dist/services/interfaces/role.dto.js.map +1 -0
  45. package/dist/services/octoprint/octoprint-sockio.adapter.js +7 -11
  46. package/dist/services/octoprint/octoprint-sockio.adapter.js.map +1 -1
  47. package/dist/services/settings.service.js +2 -29
  48. package/dist/services/settings.service.js.map +1 -1
  49. package/dist/services/validators/printer-service.validation.js +1 -1
  50. package/dist/services/validators/printer-service.validation.js.map +1 -1
  51. package/dist/services/validators/user-service.validation.js +1 -1
  52. package/dist/services/validators/user-service.validation.js.map +1 -1
  53. package/dist/state/settings.store.js +1 -1
  54. package/dist/state/settings.store.js.map +1 -1
  55. package/dist/state/socket-io.gateway.js +30 -3
  56. package/dist/state/socket-io.gateway.js.map +1 -1
  57. package/dist/tasks/boot.task.js +3 -3
  58. package/dist/tasks/boot.task.js.map +1 -1
  59. package/package.json +36 -36
  60. package/dist/middleware/exception.handler.js.map +0 -1
  61. package/src/index.ts +0 -19
package/package.json CHANGED
@@ -7,9 +7,9 @@
7
7
  "author": "David Zwart",
8
8
  "license": "AGPL-3.0-or-later",
9
9
  "private": false,
10
- "version": "1.5.0-rc2",
10
+ "version": "1.5.1",
11
11
  "description": "FDM Monster is a bulk OctoPrint manager to set up, configure and monitor 3D printers. Our aim is to provide extremely optimized websocket performance and reliability.",
12
- "main": "src/index.ts",
12
+ "main": "dist/index.js",
13
13
  "scripts": {
14
14
  "dev": "concurrently \"yarn build:watch\" \"yarn watch-dev\"",
15
15
  "watch-dev": "cross-env NODE_ENV=development nodemon --watch \"dist/**/*\" -e js ./dist/index.js",
@@ -24,8 +24,8 @@
24
24
  "format": "prettier --write \"src/**/*.js\" \"test/**/*.js\"",
25
25
  "swc": "swc",
26
26
  "tsc": "tsc --noEmit",
27
- "test": "jest --forceExit",
28
- "test:cov": "jest --forceExit --coverage",
27
+ "test": "jest --forceExit --maxConcurrency=8 --runInBand ",
28
+ "test:cov": "jest --forceExit --coverage --maxConcurrency=8 --runInBand ",
29
29
  "cov:show": "./coverage/lcov-report/index.html"
30
30
  },
31
31
  "keywords": [
@@ -39,19 +39,20 @@
39
39
  "vue"
40
40
  ],
41
41
  "dependencies": {
42
- "@fdm-monster/client": "1.3.11",
42
+ "@fdm-monster/client": "1.4.1",
43
43
  "@influxdata/influxdb-client": "1.33.2",
44
- "@sentry/node": "7.74.0",
44
+ "@sentry/node": "7.77.0",
45
45
  "adm-zip": "0.5.10",
46
46
  "awilix": "9.0.0",
47
47
  "awilix-express": "8.0.0",
48
- "axios": "1.5.1",
48
+ "axios": "1.6.0",
49
49
  "bcryptjs": "2.4.3",
50
50
  "cache-manager": "4.1.0",
51
51
  "class-validator": "0.14.0",
52
52
  "connect-history-api-fallback": "2.0.0",
53
53
  "cookie-parser": "1.4.6",
54
54
  "cors": "2.8.5",
55
+ "cross-env": "7.0.3",
55
56
  "dotenv": "16.3.1",
56
57
  "eventemitter2": "6.4.9",
57
58
  "express": "4.18.2",
@@ -64,8 +65,8 @@
64
65
  "lodash": "4.17.21",
65
66
  "luxon": "3.4.3",
66
67
  "migrate-mongo": "11.0.0",
67
- "mongoose": "6.12.1",
68
- "mqtt": "5.1.2",
68
+ "mongoose": "6.12.2",
69
+ "mqtt": "5.1.4",
69
70
  "multer": "1.4.5-lts.1",
70
71
  "node-input-validator": "4.5.1",
71
72
  "nodemon": "3.0.1",
@@ -86,44 +87,43 @@
86
87
  "@lcov-viewer/cli": "1.3.0",
87
88
  "@lcov-viewer/istanbul-report": "1.4.0",
88
89
  "@swc/cli": "0.1.62",
89
- "@swc/core": "1.3.93",
90
+ "@swc/core": "1.3.95",
90
91
  "@swc/jest": "0.2.29",
91
- "@types/adm-zip": "0.5.2",
92
- "@types/bcryptjs": "2.4.4",
93
- "@types/cache-manager": "4.0.3",
94
- "@types/connect-history-api-fallback": "1.5.1",
95
- "@types/cookie-parser": "1.4.4",
96
- "@types/express": "4.17.19",
97
- "@types/express-session": "1.17.8",
98
- "@types/ip": "1.1.1",
99
- "@types/jest": "29.5.5",
100
- "@types/js-yaml": "4.0.7",
101
- "@types/lodash": "4.14.199",
102
- "@types/luxon": "3.3.2",
103
- "@types/migrate-mongo": "10.0.2",
104
- "@types/multer": "1.4.8",
105
- "@types/node": "20.8.6",
106
- "@types/passport-anonymous": "1.0.3",
107
- "@types/passport-jwt": "3.0.10",
108
- "@types/semver": "7.5.3",
109
- "@types/supertest": "2.0.14",
110
- "@types/uuid": "9.0.5",
92
+ "@types/adm-zip": "0.5.3",
93
+ "@types/bcryptjs": "2.4.5",
94
+ "@types/cache-manager": "4.0.4",
95
+ "@types/connect-history-api-fallback": "1.5.2",
96
+ "@types/cookie-parser": "1.4.5",
97
+ "@types/express": "4.17.20",
98
+ "@types/express-session": "1.17.9",
99
+ "@types/ip": "1.1.2",
100
+ "@types/jest": "29.5.7",
101
+ "@types/js-yaml": "4.0.8",
102
+ "@types/lodash": "4.14.200",
103
+ "@types/luxon": "3.3.3",
104
+ "@types/migrate-mongo": "10.0.3",
105
+ "@types/multer": "1.4.9",
106
+ "@types/node": "20.8.10",
107
+ "@types/passport-anonymous": "1.0.4",
108
+ "@types/passport-jwt": "3.0.12",
109
+ "@types/semver": "7.5.4",
110
+ "@types/supertest": "2.0.15",
111
+ "@types/uuid": "9.0.6",
111
112
  "chokidar": "3.5.3",
112
- "concurrently": "8.2.1",
113
- "cross-env": "7.0.3",
114
- "eslint": "8.51.0",
113
+ "concurrently": "8.2.2",
114
+ "eslint": "8.53.0",
115
115
  "eslint-config-airbnb-base": "15.0.0",
116
116
  "eslint-config-prettier": "9.0.0",
117
117
  "eslint-config-standard": "17.1.0",
118
- "eslint-plugin-import": "2.28.1",
118
+ "eslint-plugin-import": "2.29.0",
119
119
  "eslint-plugin-node": "11.1.0",
120
120
  "eslint-plugin-prettier": "4.2.1",
121
121
  "eslint-plugin-promise": "6.1.1",
122
- "express-list-routes": "1.1.5",
122
+ "express-list-routes": "1.1.9",
123
123
  "jest": "29.7.0",
124
124
  "jest-27-expect-message": "1.1.0",
125
125
  "mongodb-memory-server": "9.0.1",
126
- "nock": "13.3.4",
126
+ "nock": "13.3.8",
127
127
  "prettier": "2.8.8",
128
128
  "supertest": "6.3.3",
129
129
  "ts-node": "10.9.1",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/middleware/exception.handler.ts"],"names":["exceptionHandler","err","req","res","next","isTest","process","env","NODE_ENV","AppConstants","defaultTestEnv","console","error","stack","response","data","isAxiosError","code","status","send","type","AuthenticationError","statusCode","message","AuthorizationError","HttpStatusCode","FORBIDDEN","permissions","roles","reason","ForbiddenError","PasswordChangeRequiredError","CONFLICT","NotFoundException","BadRequestException","ValidationException","name","errors","InternalServerException","ExternalServiceError"],"mappings":"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"}
package/src/index.ts DELETED
@@ -1,19 +0,0 @@
1
- import { captureException, flush } from "@sentry/node";
2
- import { setupEnvConfig } from "./server.env";
3
- import { setupServer } from "./server.core";
4
- import { DITokens } from "./container.tokens";
5
-
6
- setupEnvConfig();
7
-
8
- setupServer().then(({ httpServer, container }) => {
9
- container
10
- .resolve(DITokens.serverHost)
11
- .boot(httpServer)
12
- .catch(async (e: any | Error) => {
13
- console.error("Server has crashed unintentionally - please report this", e);
14
-
15
- captureException(e);
16
- await flush(0);
17
- process.exit(1);
18
- });
19
- });