/src/test/javascript/spec/component/**/*.spec.ts',
diff --git a/package-lock.json b/package-lock.json
index f05b86d4cc8f..3cc579e1ab93 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,31 +1,30 @@
{
"name": "artemis",
- "version": "7.5.2",
+ "version": "7.5.5",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "artemis",
- "version": "7.5.2",
+ "version": "7.5.5",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
- "@angular/animations": "18.2.3",
- "@angular/cdk": "18.2.3",
- "@angular/common": "18.2.3",
- "@angular/compiler": "18.2.3",
- "@angular/core": "18.2.3",
- "@angular/forms": "18.2.3",
- "@angular/localize": "18.2.3",
- "@angular/material": "18.2.3",
- "@angular/platform-browser": "18.2.3",
- "@angular/platform-browser-dynamic": "18.2.3",
- "@angular/router": "18.2.3",
- "@angular/service-worker": "18.2.3",
+ "@angular/animations": "18.2.6",
+ "@angular/cdk": "18.2.6",
+ "@angular/common": "18.2.6",
+ "@angular/compiler": "18.2.6",
+ "@angular/core": "18.2.6",
+ "@angular/forms": "18.2.6",
+ "@angular/localize": "18.2.6",
+ "@angular/material": "18.2.6",
+ "@angular/platform-browser": "18.2.6",
+ "@angular/platform-browser-dynamic": "18.2.6",
+ "@angular/router": "18.2.6",
+ "@angular/service-worker": "18.2.6",
"@ctrl/ngx-emoji-mart": "9.2.0",
"@danielmoncada/angular-datetime-picker": "18.1.0",
- "@fingerprintjs/fingerprintjs": "4.4.3",
- "@flaviosantoro92/ngx-datatable": "1.0.2",
+ "@fingerprintjs/fingerprintjs": "4.5.0",
"@fortawesome/angular-fontawesome": "0.15.0",
"@fortawesome/fontawesome-svg-core": "6.6.0",
"@fortawesome/free-regular-svg-icons": "6.6.0",
@@ -34,7 +33,8 @@
"@ng-bootstrap/ng-bootstrap": "17.0.1",
"@ngx-translate/core": "15.0.0",
"@ngx-translate/http-loader": "8.0.0",
- "@sentry/angular": "8.28.0",
+ "@sentry/angular": "8.32.0",
+ "@siemens/ngx-datatable": "22.4.1",
"@swimlane/ngx-charts": "20.5.0",
"@swimlane/ngx-graph": "8.4.0",
"@vscode/codicons": "0.0.36",
@@ -44,7 +44,7 @@
"crypto-js": "4.2.0",
"dayjs": "1.11.13",
"diff-match-patch-typescript": "1.1.0",
- "dompurify": "3.1.6",
+ "dompurify": "3.1.7",
"export-to-csv": "1.4.0",
"fast-json-patch": "3.1.1",
"franc-min": "6.2.0",
@@ -60,7 +60,7 @@
"ngx-webstorage": "18.0.0",
"papaparse": "5.4.1",
"pdfjs-dist": "4.6.82",
- "posthog-js": "1.160.3",
+ "posthog-js": "1.165.0",
"rxjs": "7.8.1",
"showdown": "2.1.0",
"showdown-highlight": "3.1.0",
@@ -78,55 +78,56 @@
},
"devDependencies": {
"@angular-builders/jest": "18.0.0",
- "@angular-devkit/build-angular": "18.2.3",
- "@angular-eslint/builder": "18.3.0",
- "@angular-eslint/eslint-plugin": "18.3.0",
- "@angular-eslint/eslint-plugin-template": "18.3.0",
- "@angular-eslint/schematics": "18.3.0",
- "@angular-eslint/template-parser": "18.3.0",
- "@angular/cli": "18.2.3",
- "@angular/compiler-cli": "18.2.3",
- "@angular/language-service": "18.2.3",
- "@sentry/types": "8.28.0",
+ "@angular-devkit/build-angular": "18.2.6",
+ "@angular-eslint/builder": "18.3.1",
+ "@angular-eslint/eslint-plugin": "18.3.1",
+ "@angular-eslint/eslint-plugin-template": "18.3.1",
+ "@angular-eslint/schematics": "18.3.1",
+ "@angular-eslint/template-parser": "18.3.1",
+ "@angular/cli": "18.2.6",
+ "@angular/compiler-cli": "18.2.6",
+ "@angular/language-service": "18.2.6",
+ "@sentry/types": "8.32.0",
"@types/crypto-js": "4.2.2",
"@types/d3-shape": "3.1.6",
"@types/dompurify": "3.0.5",
- "@types/jest": "29.5.12",
+ "@types/jest": "29.5.13",
"@types/lodash-es": "4.17.12",
- "@types/node": "22.5.4",
+ "@types/node": "22.7.3",
"@types/papaparse": "5.3.14",
"@types/showdown": "2.0.6",
"@types/smoothscroll-polyfill": "0.3.4",
"@types/sockjs-client": "1.5.4",
"@types/uuid": "10.0.0",
- "@typescript-eslint/eslint-plugin": "8.4.0",
- "@typescript-eslint/parser": "8.4.0",
- "eslint": "9.9.1",
+ "@typescript-eslint/eslint-plugin": "8.7.0",
+ "@typescript-eslint/parser": "8.7.0",
+ "eslint": "9.11.1",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-deprecation": "3.0.0",
"eslint-plugin-jest": "28.8.3",
"eslint-plugin-jest-extended": "2.4.0",
"eslint-plugin-prettier": "5.2.1",
"folder-hash": "4.0.4",
- "husky": "9.1.5",
+ "husky": "9.1.6",
"jest": "29.7.0",
"jest-canvas-mock": "2.5.2",
"jest-date-mock": "1.0.10",
"jest-extended": "4.0.2",
"jest-fail-on-console": "3.3.0",
"jest-junit": "16.0.0",
- "jest-preset-angular": "14.2.2",
+ "jest-preset-angular": "14.2.4",
"lint-staged": "15.2.10",
"ng-mocks": "14.13.1",
+ "ngxtension": "4.0.0",
"prettier": "3.3.3",
"rimraf": "6.0.1",
- "sass": "1.78.0",
+ "sass": "1.79.3",
"ts-jest": "29.2.5",
"typescript": "5.5.4",
"weak-napi": "2.0.2"
},
"engines": {
- "node": ">=20.14.0"
+ "node": ">=20.16.0"
}
},
"node_modules/@ampproject/remapping": {
@@ -211,13 +212,13 @@
}
},
"node_modules/@angular-devkit/architect": {
- "version": "0.1802.3",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.3.tgz",
- "integrity": "sha512-WQ2AmkUKy1bqrDlNfozW8+VT2Tv/Fdmu4GIXps3ytZANyAKiIvTzmmql2cRCXXraa9FNMjLWNvz+qolDxWVdYQ==",
+ "version": "0.1802.6",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.6.tgz",
+ "integrity": "sha512-oF7cPFdTLxeuvXkK/opSdIxZ1E4LrBbmuytQ/nCoAGOaKBWdqvwagRZ6jVhaI0Gwu48rkcV7Zhesg/ESNnROdw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-devkit/core": "18.2.3",
+ "@angular-devkit/core": "18.2.6",
"rxjs": "7.8.1"
},
"engines": {
@@ -227,17 +228,17 @@
}
},
"node_modules/@angular-devkit/build-angular": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-18.2.3.tgz",
- "integrity": "sha512-uUQba0SIskKORHcPayt7LpqPRKD//48EW92SgGHEArn2KklM+FSYBOA9OtrJeZ/UAcoJpdLDtvyY4+S7oFzomg==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-18.2.6.tgz",
+ "integrity": "sha512-u12cJZttgs5j7gICHWSmcaTCu0EFXEzKqI8nkYCwq2MtuJlAXiMQSXYuEP9OU3Go4vMAPtQh2kShyOWCX5b4EQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "2.3.0",
- "@angular-devkit/architect": "0.1802.3",
- "@angular-devkit/build-webpack": "0.1802.3",
- "@angular-devkit/core": "18.2.3",
- "@angular/build": "18.2.3",
+ "@angular-devkit/architect": "0.1802.6",
+ "@angular-devkit/build-webpack": "0.1802.6",
+ "@angular-devkit/core": "18.2.6",
+ "@angular/build": "18.2.6",
"@babel/core": "7.25.2",
"@babel/generator": "7.25.0",
"@babel/helper-annotate-as-pure": "7.24.7",
@@ -248,7 +249,7 @@
"@babel/preset-env": "7.25.3",
"@babel/runtime": "7.25.0",
"@discoveryjs/json-ext": "0.6.1",
- "@ngtools/webpack": "18.2.3",
+ "@ngtools/webpack": "18.2.6",
"@vitejs/plugin-basic-ssl": "1.1.0",
"ansi-colors": "4.1.3",
"autoprefixer": "10.4.20",
@@ -288,7 +289,7 @@
"terser": "5.31.6",
"tree-kill": "1.2.2",
"tslib": "2.6.3",
- "vite": "5.4.0",
+ "vite": "5.4.6",
"watchpack": "2.4.1",
"webpack": "5.94.0",
"webpack-dev-middleware": "7.4.2",
@@ -381,13 +382,13 @@
"license": "0BSD"
},
"node_modules/@angular-devkit/build-webpack": {
- "version": "0.1802.3",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1802.3.tgz",
- "integrity": "sha512-/Nixv9uAg6v/OPoZa0PB0zi+iezzBkgLrnrJnestny5B536l9WRtsw97RjeQDu+x2BClQsxNe8NL2A7EvjVD6w==",
+ "version": "0.1802.6",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1802.6.tgz",
+ "integrity": "sha512-JMLcXFaitJplwZMKkqhbYirINCRD6eOPZuIGaIOVynXYGWgvJkLT9t5C2wm9HqSLtp1K7NcYG2Y7PtTVR4krnQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-devkit/architect": "0.1802.3",
+ "@angular-devkit/architect": "0.1802.6",
"rxjs": "7.8.1"
},
"engines": {
@@ -401,9 +402,9 @@
}
},
"node_modules/@angular-devkit/core": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.3.tgz",
- "integrity": "sha512-vbFs+ofNK9OWeMIcFarFjegXVklhtSdLTEFKZ9trDVr8alTJdjI9AiYa6OOUTDAyq0hqYxV26xlCisWAPe7s5w==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.6.tgz",
+ "integrity": "sha512-la4CFvs5PcRWSkQ/H7TB5cPZirFVA9GoWk5LzIk8si6VjWBJRm8b3keKJoC9LlNeABRUIR5z0ocYkyQQUhdMfg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -429,13 +430,13 @@
}
},
"node_modules/@angular-devkit/schematics": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.2.3.tgz",
- "integrity": "sha512-N3tRAzBW2yWQhebvc1Ha18XTMSXOQTfr8HNjx7Fasx0Fg1tNyGR612MJNZw6je/PqyItKeUHOhztvFMfCQjRyg==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.2.6.tgz",
+ "integrity": "sha512-uIttrQ2cQ2PWAFFVPeCoNR8xvs7tPJ2i8gzqsIwYdge107xDC6u9CqfgmBqPDSFpWj+IiC2Jwcm8Z4HYKU4+7A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-devkit/core": "18.2.3",
+ "@angular-devkit/core": "18.2.6",
"jsonc-parser": "3.3.1",
"magic-string": "0.30.11",
"ora": "5.4.1",
@@ -448,9 +449,9 @@
}
},
"node_modules/@angular-eslint/builder": {
- "version": "18.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-18.3.0.tgz",
- "integrity": "sha512-httEQyqyBw3+0CRtAa7muFxHrauRfkEfk/jmrh5fn2Eiu+I53hAqFPgrwVi1V6AP/kj2zbAiWhd5xM3pMJdoRQ==",
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-18.3.1.tgz",
+ "integrity": "sha512-cPc7Ye9zDs5M4i+feL6vob+mh7yX5vxvOS5KQIhneUrp5e9D+IGuNFMmBLlOPpmklSc9XJBtuvI5Zjuh4z1ETw==",
"dev": true,
"license": "MIT",
"peerDependencies": {
@@ -459,21 +460,21 @@
}
},
"node_modules/@angular-eslint/bundled-angular-compiler": {
- "version": "18.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-18.3.0.tgz",
- "integrity": "sha512-v/59FxUKnMzymVce99gV43huxoqXWMb85aKvzlNvLN+ScDu6ZE4YMiTQNpfapVL2lkxhs0uwB3jH17EYd5TcsA==",
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-18.3.1.tgz",
+ "integrity": "sha512-sikmkjfsXPpPTku1aQkQ1MNNEKGBgGGRvUN/WeNS9dhCJ4dxU3O7dZctt1aQWj+W3nbuUtDiimAWF5fZHGFE2Q==",
"dev": true,
"license": "MIT"
},
"node_modules/@angular-eslint/eslint-plugin": {
- "version": "18.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.3.0.tgz",
- "integrity": "sha512-Vl7gfPMXxvtHTjYdlzR161aj5xrqW6T57wd8ToQ7Gqzm0qHGfY6kE4SQobUa2LCYckTNSlv+zXe48C4ah/dSjw==",
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.3.1.tgz",
+ "integrity": "sha512-MP4Nm+SHboF8KdnN0KpPEGAaTTzDLPm3+S/4W3Mg8onqWCyadyd4mActh9mK/pvCj8TVlb/SW1zeTtdMYhwonw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-eslint/bundled-angular-compiler": "18.3.0",
- "@angular-eslint/utils": "18.3.0"
+ "@angular-eslint/bundled-angular-compiler": "18.3.1",
+ "@angular-eslint/utils": "18.3.1"
},
"peerDependencies": {
"@typescript-eslint/utils": "^7.11.0 || ^8.0.0",
@@ -482,14 +483,14 @@
}
},
"node_modules/@angular-eslint/eslint-plugin-template": {
- "version": "18.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.3.0.tgz",
- "integrity": "sha512-ddR/qwYbUeq9IpyVKrPbfZyRBTy6V8uc5I0JcBKttQ4CZ4joXhqsVgWFsI+JAMi8E66uNj1VC7NuKCOjDINv2Q==",
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.3.1.tgz",
+ "integrity": "sha512-hBJ3+f7VSidvrtYaXH7Vp0sWvblA9jLK2c6uQzhYGWdEDUcTg7g7VI9ThW39WvMbHqkyzNE4PPOynK69cBEDGg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-eslint/bundled-angular-compiler": "18.3.0",
- "@angular-eslint/utils": "18.3.0",
+ "@angular-eslint/bundled-angular-compiler": "18.3.1",
+ "@angular-eslint/utils": "18.3.1",
"aria-query": "5.3.0",
"axobject-query": "4.1.0"
},
@@ -500,14 +501,14 @@
}
},
"node_modules/@angular-eslint/schematics": {
- "version": "18.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-18.3.0.tgz",
- "integrity": "sha512-rQ4DEWwf3f5n096GAK6JvXD0SRzRJ52WRaIyKg8MMkk6qvUDfZI8seOkcbjDtZoIe6Ds7DfqSfJgNVte75qvPQ==",
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-18.3.1.tgz",
+ "integrity": "sha512-BTsQHDu7LjvXannJTb5BqMPCFIHRNN94eRyb60VfjJxB/ZFtsbAQDFFOi5lEZsRsd4mBeUMuL9mW4IMcPtUQ9Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-eslint/eslint-plugin": "18.3.0",
- "@angular-eslint/eslint-plugin-template": "18.3.0",
+ "@angular-eslint/eslint-plugin": "18.3.1",
+ "@angular-eslint/eslint-plugin-template": "18.3.1",
"ignore": "5.3.2",
"semver": "7.6.3",
"strip-json-comments": "3.1.1"
@@ -518,13 +519,13 @@
}
},
"node_modules/@angular-eslint/template-parser": {
- "version": "18.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-18.3.0.tgz",
- "integrity": "sha512-1mUquqcnugI4qsoxcYZKZ6WMi6RPelDcJZg2YqGyuaIuhWmi3ZqJZLErSSpjP60+TbYZu7wM8Kchqa1bwJtEaQ==",
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-18.3.1.tgz",
+ "integrity": "sha512-JUUkfWH1G+u/Uk85ZYvJSt/qwN/Ko+jlXFtzBEcknJZsTWTwBcp36v77gPZe5FmKSziJZpyPUd+7Kiy6tuSCTw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-eslint/bundled-angular-compiler": "18.3.0",
+ "@angular-eslint/bundled-angular-compiler": "18.3.1",
"eslint-scope": "^8.0.2"
},
"peerDependencies": {
@@ -533,13 +534,13 @@
}
},
"node_modules/@angular-eslint/utils": {
- "version": "18.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.3.0.tgz",
- "integrity": "sha512-sCrkHkpxBJZLuCikdboZoawCfc2UgbJv+T14tu2uQCv+Vwzeadnu04vkeY2vTkA8GeBdBij/G9/N/nvwmwVw3g==",
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.3.1.tgz",
+ "integrity": "sha512-sd9niZI7h9H2FQ7OLiQsLFBhjhRQTASh+Q0+4+hyjv9idbSHBJli8Gsi2fqj9zhtMKpAZFTrWzuLUpubJ9UYbA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-eslint/bundled-angular-compiler": "18.3.0"
+ "@angular-eslint/bundled-angular-compiler": "18.3.1"
},
"peerDependencies": {
"@typescript-eslint/utils": "^7.11.0 || ^8.0.0",
@@ -548,9 +549,9 @@
}
},
"node_modules/@angular/animations": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.3.tgz",
- "integrity": "sha512-rIATopHr83lYR0X05buHeHssq9CGw0I0YPIQcpUTGnlqIpJcQVCf7jCFn4KGZrE9V55hFY3MD4S28njlwCToQQ==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.6.tgz",
+ "integrity": "sha512-vy9wy+Q9beiRxkEO8wNxFQ63AqAujGvk8AUHepxxIT7QNNc512TNKz8uH+feWDPO38Dm2obwYQHMGzs3WO7pUA==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -559,18 +560,18 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
- "@angular/core": "18.2.3"
+ "@angular/core": "18.2.6"
}
},
"node_modules/@angular/build": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular/build/-/build-18.2.3.tgz",
- "integrity": "sha512-USrD2Zvcb1te2dnqhH7JZ5XeJDg/t7fjUHR4f93vvMrnrncwCjLoHbHpz01HCHfcIVRgsYUdAmAi1iG7vpak7w==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular/build/-/build-18.2.6.tgz",
+ "integrity": "sha512-TQzX6Mi7uXFvmz7+OVl4Za7WawYPcx+B5Ewm6IY/DdMyB9P/Z4tbKb1LO+ynWUXYwm7avXo6XQQ4m5ArDY5F/A==",
"dev": true,
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "2.3.0",
- "@angular-devkit/architect": "0.1802.3",
+ "@angular-devkit/architect": "0.1802.6",
"@babel/core": "7.25.2",
"@babel/helper-annotate-as-pure": "7.24.7",
"@babel/helper-split-export-declaration": "7.24.7",
@@ -589,10 +590,10 @@
"parse5-html-rewriting-stream": "7.0.0",
"picomatch": "4.0.2",
"piscina": "4.6.1",
- "rollup": "4.20.0",
+ "rollup": "4.22.4",
"sass": "1.77.6",
"semver": "7.6.3",
- "vite": "5.4.0",
+ "vite": "5.4.6",
"watchpack": "2.4.1"
},
"engines": {
@@ -650,9 +651,9 @@
}
},
"node_modules/@angular/cdk": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-18.2.3.tgz",
- "integrity": "sha512-lUcpYTxPZuntJ1FK7V2ugapCGMIhT6TUDjIGgXfS9AxGSSKgwr8HNs6Ze9pcjYC44UhP40sYAZuiaFwmE60A2A==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-18.2.6.tgz",
+ "integrity": "sha512-Gfq/iv4zhlKYpdQkDaBRwxI71NHNUHM1Cs1XhnZ0/oFct5HXvSv1RHRGTKqBJLLACaAPzZKXJ/UglLoyO5CNiQ==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -667,18 +668,18 @@
}
},
"node_modules/@angular/cli": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.2.3.tgz",
- "integrity": "sha512-40258vuliH6+p8QSByZe5EcIXSj0iR3PNF6yuusClR/ByToHOnmuPw7WC+AYr0ooozmqlim/EjQe4/037OUB3w==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.2.6.tgz",
+ "integrity": "sha512-tdXsnV/w+Rgu8q0zFsLU5L9ImTVqrTol1vppHaQkJ/vuoHy+s8ZEbBqhVrO/ffosNb2xseUybGYvqMS4zkNQjg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-devkit/architect": "0.1802.3",
- "@angular-devkit/core": "18.2.3",
- "@angular-devkit/schematics": "18.2.3",
+ "@angular-devkit/architect": "0.1802.6",
+ "@angular-devkit/core": "18.2.6",
+ "@angular-devkit/schematics": "18.2.6",
"@inquirer/prompts": "5.3.8",
"@listr2/prompt-adapter-inquirer": "2.0.15",
- "@schematics/angular": "18.2.3",
+ "@schematics/angular": "18.2.6",
"@yarnpkg/lockfile": "1.1.0",
"ini": "4.1.3",
"jsonc-parser": "3.3.1",
@@ -701,9 +702,9 @@
}
},
"node_modules/@angular/common": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.3.tgz",
- "integrity": "sha512-NFL4yXXImSCH7i1xnHykUjHa9vl9827fGiwSV2mnf7LjSUsyDzFD8/54dNuYN9OY8AUD+PnK0YdNro6cczVyIA==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.6.tgz",
+ "integrity": "sha512-89793ow+wrI1c7C6kyMbnweLNIZHzXthosxAEjipRZGBrqBYjvTtkE45Fl+5yBa3JO7bAhyGkUnEoyvWtZIAEA==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -712,14 +713,14 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
- "@angular/core": "18.2.3",
+ "@angular/core": "18.2.6",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/compiler": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.3.tgz",
- "integrity": "sha512-Il3ljs0j1GaYoqYFdShjUP1ryck5xTOaA8uQuRgqwU0FOwEDfugSAM3Qf7nJx/sgxTM0Lm/Nrdv2u6i1gZWeuQ==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.6.tgz",
+ "integrity": "sha512-3tX2/Qw+bZ8XzKitviH8jzNGyY0uohhehhBB57OJOCc+yr4ojy/7SYFnun1lSsRnDztdCE461641X4iQLCQ94w==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -728,7 +729,7 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
- "@angular/core": "18.2.3"
+ "@angular/core": "18.2.6"
},
"peerDependenciesMeta": {
"@angular/core": {
@@ -737,9 +738,9 @@
}
},
"node_modules/@angular/compiler-cli": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.3.tgz",
- "integrity": "sha512-BcmqYKnkcJTkGjuPztClZNQve7tdI290J5F3iZBx6c7/vaw8EU8EGZtpWYZpgiVn5S6jhcKyc1dLF9ggO9vftg==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.6.tgz",
+ "integrity": "sha512-b5x9STfjNiNM/S0D+CnqRP9UOxPtSz1+RlCH5WdOMiW/p8j5p6dBix8YYgTe6Wg3OD7eItD2pnFQKgF/dWiopA==",
"license": "MIT",
"dependencies": {
"@babel/core": "7.25.2",
@@ -760,14 +761,14 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
- "@angular/compiler": "18.2.3",
+ "@angular/compiler": "18.2.6",
"typescript": ">=5.4 <5.6"
}
},
"node_modules/@angular/core": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.3.tgz",
- "integrity": "sha512-VGhMJxj7d0rYpqVfQrcGRB7EE/BCziotft/I/YPl6bOMPSAvMukG7DXQuJdYpNrr62ks78mlzHlZX/cdmB9Prw==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.6.tgz",
+ "integrity": "sha512-PjFad2j4YBwLVTw+0Te8CJCa/tV0W8caTHG8aOjj3ObdL6ihGI+FKnwerLc9RVzDFd14BOO4C6/+LbOQAh3Ltw==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -781,9 +782,9 @@
}
},
"node_modules/@angular/forms": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.3.tgz",
- "integrity": "sha512-+OBaAH0e8hue9eyLnbgpxg1/X9fps6bwXECfJ0nL5BDPU5itZ428YJbEnj5bTx0hEbqfTRiV4LgexdI+D9eOpw==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.6.tgz",
+ "integrity": "sha512-quGkUqTxlBaLB8C/RnpfFG57fdmNF5RQ+368N89Ma++2lpIsVAHaGZZn4yOyo3wNYaM2jBxNqaYxOzZNUl5Tig==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -792,16 +793,16 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
- "@angular/common": "18.2.3",
- "@angular/core": "18.2.3",
- "@angular/platform-browser": "18.2.3",
+ "@angular/common": "18.2.6",
+ "@angular/core": "18.2.6",
+ "@angular/platform-browser": "18.2.6",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/language-service": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-18.2.3.tgz",
- "integrity": "sha512-bTZ1O7s0uJqKdd9ImCleRS9Wg6yVy2ZXchnS5ap2gYJx51MJgwOM/fL6is0OsovtZG/UJaKK5FeEqUUxNqZJVA==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-18.2.6.tgz",
+ "integrity": "sha512-GBvBvS2llh+/l2YhO7UO5o3GftlvQQoXnw3v0hcNoHKwcnvqXV4CCi+T2WOaZyK0iB8Is4QRbMrpJUC66HokZg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -809,9 +810,9 @@
}
},
"node_modules/@angular/localize": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-18.2.3.tgz",
- "integrity": "sha512-ZTliuRfH/hGwQTmFb1FwKOyMUks2ATuFVFzKnxbsxoo+XgTg+e12FcUfPEfdtPAteZ9gSuc/9hP8sM0RzW0LPg==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-18.2.6.tgz",
+ "integrity": "sha512-4NZwh5EAyXItmwv6hqilV+JyN8DT+d+S1rW+M1IwJqC9asCDfpFqipKpuQF81LQKeLH0mn/phNfVbnJCLP0Tkw==",
"license": "MIT",
"dependencies": {
"@babel/core": "7.25.2",
@@ -828,21 +829,21 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
- "@angular/compiler": "18.2.3",
- "@angular/compiler-cli": "18.2.3"
+ "@angular/compiler": "18.2.6",
+ "@angular/compiler-cli": "18.2.6"
}
},
"node_modules/@angular/material": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular/material/-/material-18.2.3.tgz",
- "integrity": "sha512-JFfvXaMHMhskncaxxus4sDvie9VYdMkfYgfinkLXpZlPFyn1IzjDw0c1BcrcsuD7UxQVZ/v5tucCgq1FQfGRpA==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular/material/-/material-18.2.6.tgz",
+ "integrity": "sha512-ObxC/vomSb9QF3vIztuiInQzws+D6u09Dhfx6uNFjtyICqxEFpF7+Qx7QVDWrsuXOgxZTKgacK8f46iV8hWUfg==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
},
"peerDependencies": {
"@angular/animations": "^18.0.0 || ^19.0.0",
- "@angular/cdk": "18.2.3",
+ "@angular/cdk": "18.2.6",
"@angular/common": "^18.0.0 || ^19.0.0",
"@angular/core": "^18.0.0 || ^19.0.0",
"@angular/forms": "^18.0.0 || ^19.0.0",
@@ -851,9 +852,9 @@
}
},
"node_modules/@angular/platform-browser": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.3.tgz",
- "integrity": "sha512-M2ob4zN7tAcL2mx7U6KnZNqNFPFl9MlPBE0FrjQjIzAjU0wSYPIJXmaPu9aMUp9niyo+He5iX98I+URi2Yc99g==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.6.tgz",
+ "integrity": "sha512-RA8UMiYNLga+QMwpKcDw1357gYPfPyY/rmLeezMak//BbsENFYQOJ4Z6DBOBNiPlHxmBsUJMGaKdlpQhfCROyQ==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -862,9 +863,9 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
- "@angular/animations": "18.2.3",
- "@angular/common": "18.2.3",
- "@angular/core": "18.2.3"
+ "@angular/animations": "18.2.6",
+ "@angular/common": "18.2.6",
+ "@angular/core": "18.2.6"
},
"peerDependenciesMeta": {
"@angular/animations": {
@@ -873,9 +874,9 @@
}
},
"node_modules/@angular/platform-browser-dynamic": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.3.tgz",
- "integrity": "sha512-nWi9ZxN4KpbJkttIckFO1PCoW0+gb/18xFO+JWyLBAtcbsudj/Mv0P/fdOaSfQdLkPhZfORr3ZcfiTkhmuGyEg==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.6.tgz",
+ "integrity": "sha512-kGBU3FNc+DF9r33hwHZqiWoZgQbCDdEIucU0NCLCIg0Hw6/Q9Hr2ndjxQI+WynCPg0JeBn34jpouvpeJer3YDQ==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -884,16 +885,16 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
- "@angular/common": "18.2.3",
- "@angular/compiler": "18.2.3",
- "@angular/core": "18.2.3",
- "@angular/platform-browser": "18.2.3"
+ "@angular/common": "18.2.6",
+ "@angular/compiler": "18.2.6",
+ "@angular/core": "18.2.6",
+ "@angular/platform-browser": "18.2.6"
}
},
"node_modules/@angular/router": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.3.tgz",
- "integrity": "sha512-fvD9eSDIiIbeYoUokoWkXzu7/ZaxlzKPUHFqX1JuKuH5ciQDeT/d7lp4mj31Bxammhohzi3+z12THJYsCkj/iQ==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.6.tgz",
+ "integrity": "sha512-t57Sqja8unHhZlPr+4CWnQacuox2M4p2pMHps+31wt337qH6mKf4jqDmK0dE/MFdRyKjT2a2E/2NwtxXxcWNuw==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -902,16 +903,16 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
- "@angular/common": "18.2.3",
- "@angular/core": "18.2.3",
- "@angular/platform-browser": "18.2.3",
+ "@angular/common": "18.2.6",
+ "@angular/core": "18.2.6",
+ "@angular/platform-browser": "18.2.6",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/service-worker": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-18.2.3.tgz",
- "integrity": "sha512-KplaBYhhwsM3gPeOImfDGhAknN+BIcZJkHl8YRnhoUEFHsTZ8LTV02C4LWQL3YTu3pK+uj/lPMKi1CA37cXQ8g==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-18.2.6.tgz",
+ "integrity": "sha512-KNqRAunG0yj3jVA/YYKH9wbAe261gAIwKeQsJyeMHGR48H88tSKdcstttNZZ3S6wdhp7tcyUC526Fc4phXnSJw==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -923,8 +924,8 @@
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
- "@angular/common": "18.2.3",
- "@angular/core": "18.2.3"
+ "@angular/common": "18.2.6",
+ "@angular/core": "18.2.6"
}
},
"node_modules/@babel/code-frame": {
@@ -2836,10 +2837,41 @@
"node": ">=14.17.0"
}
},
+ "node_modules/@emnapi/core": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.2.0.tgz",
+ "integrity": "sha512-E7Vgw78I93we4ZWdYCb4DGAwRROGkMIXk7/y87UmANR+J6qsWusmC3gLt0H+O0KOt5e6O38U8oJamgbudrES/w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@emnapi/wasi-threads": "1.0.1",
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@emnapi/runtime": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.2.0.tgz",
+ "integrity": "sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@emnapi/wasi-threads": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz",
+ "integrity": "sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
"node_modules/@emotion/is-prop-valid": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.0.tgz",
- "integrity": "sha512-SHetuSLvJDzuNbOdtPVbq6yMMMlLoW5Q94uDqJZqy50gcmAjxFkVqmzqSGEFq9gT2iMuIeKV1PXVWmvUhuZLlQ==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz",
+ "integrity": "sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==",
"license": "MIT",
"dependencies": {
"@emotion/memoize": "^0.9.0"
@@ -3288,9 +3320,9 @@
}
},
"node_modules/@eslint-community/regexpp": {
- "version": "4.11.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
- "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
+ "version": "4.11.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz",
+ "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -3336,6 +3368,16 @@
"node": "*"
}
},
+ "node_modules/@eslint/core": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.6.0.tgz",
+ "integrity": "sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
"node_modules/@eslint/eslintrc": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz",
@@ -3422,9 +3464,9 @@
}
},
"node_modules/@eslint/js": {
- "version": "9.9.1",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.1.tgz",
- "integrity": "sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==",
+ "version": "9.11.1",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.11.1.tgz",
+ "integrity": "sha512-/qu+TWz8WwPWc7/HcIJKi+c+MOm46GdVaSlTTQcaqaL53+GsoA6MxWp5PtTx48qbSP7ylM1Kn7nhvkugfJvRSA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -3441,28 +3483,26 @@
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
- "node_modules/@fingerprintjs/fingerprintjs": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/@fingerprintjs/fingerprintjs/-/fingerprintjs-4.4.3.tgz",
- "integrity": "sha512-sm0ZmDp5Oeq8hQTf+bAHKsuuteVAYme/YOY9UPP/GrUBrR5Fzl1P5oOv6F5LvyBrO7qLjU5HQkfU0MmFte/8xA==",
- "license": "BUSL-1.1",
+ "node_modules/@eslint/plugin-kit": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.0.tgz",
+ "integrity": "sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==",
+ "dev": true,
+ "license": "Apache-2.0",
"dependencies": {
- "tslib": "^2.4.1"
+ "levn": "^0.4.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
- "node_modules/@flaviosantoro92/ngx-datatable": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@flaviosantoro92/ngx-datatable/-/ngx-datatable-1.0.2.tgz",
- "integrity": "sha512-AMlfkRtufd95bcVP+UBBBNUTRkksd+uyT3Fv3qTRY/6K20xSD8euwih+iIUfwE4JbAhQHqkfty7jVQctFAF2lA==",
- "license": "MIT",
+ "node_modules/@fingerprintjs/fingerprintjs": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/@fingerprintjs/fingerprintjs/-/fingerprintjs-4.5.0.tgz",
+ "integrity": "sha512-mFSQoxyt8SGGRp1QUlhcnVtquW2HzCKfHKxAoIurR6soIJpuK3VvZuH0sg8eNaHH2dJhI3mZOEUx4k+P4GqXzw==",
+ "license": "BUSL-1.1",
"dependencies": {
- "tslib": "^2.0.0"
- },
- "peerDependencies": {
- "@angular/common": ">=11.0.2",
- "@angular/core": ">=11.0.2",
- "@angular/platform-browser": ">=11.0.2",
- "rxjs": "^7.4.0"
+ "tslib": "^2.4.1"
}
},
"node_modules/@fortawesome/angular-fontawesome": {
@@ -3592,19 +3632,18 @@
}
},
"node_modules/@inquirer/core": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.1.0.tgz",
- "integrity": "sha512-RZVfH//2ytTjmaBIzeKT1zefcQZzuruwkpTwwbe/i2jTl4o9M+iML5ChULzz6iw1Ok8iUBBsRCjY2IEbD8Ft4w==",
+ "version": "9.2.1",
+ "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz",
+ "integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@inquirer/figures": "^1.0.5",
- "@inquirer/type": "^1.5.3",
+ "@inquirer/figures": "^1.0.6",
+ "@inquirer/type": "^2.0.0",
"@types/mute-stream": "^0.0.4",
- "@types/node": "^22.5.2",
+ "@types/node": "^22.5.5",
"@types/wrap-ansi": "^3.0.0",
"ansi-escapes": "^4.3.2",
- "cli-spinners": "^2.9.2",
"cli-width": "^4.1.0",
"mute-stream": "^1.0.0",
"signal-exit": "^4.1.0",
@@ -3616,6 +3655,19 @@
"node": ">=18"
}
},
+ "node_modules/@inquirer/core/node_modules/@inquirer/type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz",
+ "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mute-stream": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/@inquirer/editor": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-2.2.0.tgz",
@@ -3632,9 +3684,9 @@
}
},
"node_modules/@inquirer/expand": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-2.2.0.tgz",
- "integrity": "sha512-PD0z1dTRTIlpcnXRMRvdVPfBe10jBf4i7YLBU8tNWDkf3HxqmdymVvqnT8XG+hxQSvqfpJCe13Jv2Iv1eB3bIg==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-2.3.0.tgz",
+ "integrity": "sha512-qnJsUcOGCSG1e5DTOErmv2BPQqrtT6uzqn1vI/aYGiPKq+FgslGZmtdnXbhuI7IlT7OByDoEEqdnhUnVR2hhLw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3647,9 +3699,9 @@
}
},
"node_modules/@inquirer/figures": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.5.tgz",
- "integrity": "sha512-79hP/VWdZ2UVc9bFGJnoQ/lQMpL74mGgzSYX1xUqCVk7/v73vJCMw1VuyWN1jGkZ9B3z7THAbySqGbCNefcjfA==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.6.tgz",
+ "integrity": "sha512-yfZzps3Cso2UbM7WlxKwZQh2Hs6plrbjs1QnzQDZhK2DgyCo6D8AaHps9olkNcUFlcYERMqU3uJSp1gmy3s/qQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -3770,9 +3822,9 @@
}
},
"node_modules/@inquirer/type": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.3.tgz",
- "integrity": "sha512-xUQ14WQGR/HK5ei+2CvgcwoH9fQ4PgPGmVFSN0pc1+fVyDL3MREhyAY7nxEErSu6CkllBM3D7e3e+kOvtu+eIg==",
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.5.tgz",
+ "integrity": "sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3792,7 +3844,7 @@
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
"integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
- "dev": true,
+ "devOptional": true,
"license": "ISC",
"dependencies": {
"string-width": "^5.1.2",
@@ -3807,10 +3859,10 @@
}
},
"node_modules/@isaacs/cliui/node_modules/ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
- "dev": true,
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
+ "devOptional": true,
"license": "MIT",
"engines": {
"node": ">=12"
@@ -3823,7 +3875,7 @@
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
"integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"engines": {
"node": ">=12"
@@ -3836,14 +3888,14 @@
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true,
+ "devOptional": true,
"license": "MIT"
},
"node_modules/@isaacs/cliui/node_modules/string-width": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"dependencies": {
"eastasianwidth": "^0.2.0",
@@ -3861,7 +3913,7 @@
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
@@ -3877,7 +3929,7 @@
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
"integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"dependencies": {
"ansi-styles": "^6.1.0",
@@ -5183,6 +5235,18 @@
"win32"
]
},
+ "node_modules/@napi-rs/wasm-runtime": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz",
+ "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@emnapi/core": "^1.1.0",
+ "@emnapi/runtime": "^1.1.0",
+ "@tybys/wasm-util": "^0.9.0"
+ }
+ },
"node_modules/@ng-bootstrap/ng-bootstrap": {
"version": "17.0.1",
"resolved": "https://registry.npmjs.org/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-17.0.1.tgz",
@@ -5201,9 +5265,9 @@
}
},
"node_modules/@ngtools/webpack": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-18.2.3.tgz",
- "integrity": "sha512-DDuBHcu23qckt43SexBJaPEIeMc/HKaFOidILZM9D4gU4C9VroMActdR218dvQ802QfL0S46t5Ykz8ENprIfjA==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-18.2.6.tgz",
+ "integrity": "sha512-7HwOPE1EOgcHnpt4brSiT8G2CcXB50G0+CbCBaKGy4LYCG3Y3mrlzF5Fup9HvMJ6Tzqd62RqzpKKYBiGUT7hxg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5400,9 +5464,9 @@
}
},
"node_modules/@npmcli/package-json": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.2.0.tgz",
- "integrity": "sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ==",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.2.1.tgz",
+ "integrity": "sha512-f7zYC6kQautXHvNbLEWgD/uGu1+xCn9izgqBfgItWSx22U0ZDekxN08A1vM8cTxj/cRVe0Q94Ode+tdoYmIOOQ==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -5532,115 +5596,81 @@
"node": "^16.13.0 || >=18.0.0"
}
},
- "node_modules/@pkgjs/parseargs": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
- "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "node_modules/@nrwl/devkit": {
+ "version": "19.6.5",
+ "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-19.6.5.tgz",
+ "integrity": "sha512-KaQeVyYaWBQwQSITtumPvx+P7IpKFReETx4gLTcOpQ/a3QD/AZFGbNjiG+xDLbgo1FDh9dRt9k7eWhGk6oPWKQ==",
"dev": true,
"license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=14"
+ "dependencies": {
+ "@nx/devkit": "19.6.5"
}
},
- "node_modules/@pkgr/core": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz",
- "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==",
+ "node_modules/@nrwl/tao": {
+ "version": "19.6.5",
+ "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-19.6.5.tgz",
+ "integrity": "sha512-EoUN/kE6CMWJ4ZZgcXAyiOzn8BSshG2DhC5PNwzLTAxRBus8FgXR/9c0XOzchaP46Kq3hoBGFgeyW434tfuv5w==",
"dev": true,
"license": "MIT",
- "engines": {
- "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/unts"
- }
- },
- "node_modules/@popperjs/core": {
- "version": "2.11.8",
- "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
- "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
- "license": "MIT",
- "peer": true,
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/popperjs"
- }
- },
- "node_modules/@redux-saga/core": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@redux-saga/core/-/core-1.3.0.tgz",
- "integrity": "sha512-L+i+qIGuyWn7CIg7k1MteHGfttKPmxwZR5E7OsGikCL2LzYA0RERlaUY00Y3P3ZV2EYgrsYlBrGs6cJP5OKKqA==",
- "license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.6.3",
- "@redux-saga/deferred": "^1.2.1",
- "@redux-saga/delay-p": "^1.2.1",
- "@redux-saga/is": "^1.1.3",
- "@redux-saga/symbols": "^1.1.3",
- "@redux-saga/types": "^1.2.1",
- "typescript-tuple": "^2.2.1"
+ "nx": "19.6.5",
+ "tslib": "^2.3.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/redux-saga"
+ "bin": {
+ "tao": "index.js"
}
},
- "node_modules/@redux-saga/deferred": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@redux-saga/deferred/-/deferred-1.2.1.tgz",
- "integrity": "sha512-cmin3IuuzMdfQjA0lG4B+jX+9HdTgHZZ+6u3jRAOwGUxy77GSlTi4Qp2d6PM1PUoTmQUR5aijlA39scWWPF31g==",
- "license": "MIT"
- },
- "node_modules/@redux-saga/delay-p": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@redux-saga/delay-p/-/delay-p-1.2.1.tgz",
- "integrity": "sha512-MdiDxZdvb1m+Y0s4/hgdcAXntpUytr9g0hpcOO1XFVyyzkrDu3SKPgBFOtHn7lhu7n24ZKIAT1qtKyQjHqRd+w==",
+ "node_modules/@nx/devkit": {
+ "version": "19.6.5",
+ "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-19.6.5.tgz",
+ "integrity": "sha512-AEaMSr55Ar48QHU8TBi/gzLtjeT100zdyfLmk0RoiLzjjC8pWmm3Xfvqxyt1WsUUf4oQhlHlolJuoM41qKsdZw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@redux-saga/symbols": "^1.1.3"
+ "@nrwl/devkit": "19.6.5",
+ "ejs": "^3.1.7",
+ "enquirer": "~2.3.6",
+ "ignore": "^5.0.4",
+ "minimatch": "9.0.3",
+ "semver": "^7.5.3",
+ "tmp": "~0.2.1",
+ "tslib": "^2.3.0",
+ "yargs-parser": "21.1.1"
+ },
+ "peerDependencies": {
+ "nx": ">= 17 <= 20"
}
},
- "node_modules/@redux-saga/is": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@redux-saga/is/-/is-1.1.3.tgz",
- "integrity": "sha512-naXrkETG1jLRfVfhOx/ZdLj0EyAzHYbgJWkXbB3qFliPcHKiWbv/ULQryOAEKyjrhiclmr6AMdgsXFyx7/yE6Q==",
- "license": "MIT",
+ "node_modules/@nx/devkit/node_modules/minimatch": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
+ "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "dev": true,
+ "license": "ISC",
"dependencies": {
- "@redux-saga/symbols": "^1.1.3",
- "@redux-saga/types": "^1.2.1"
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@redux-saga/symbols": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@redux-saga/symbols/-/symbols-1.1.3.tgz",
- "integrity": "sha512-hCx6ZvU4QAEUojETnX8EVg4ubNLBFl1Lps4j2tX7o45x/2qg37m3c6v+kSp8xjDJY+2tJw4QB3j8o8dsl1FDXg==",
- "license": "MIT"
- },
- "node_modules/@redux-saga/types": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@redux-saga/types/-/types-1.2.1.tgz",
- "integrity": "sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA==",
- "license": "MIT"
- },
- "node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.20.0.tgz",
- "integrity": "sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==",
- "cpu": [
- "arm"
- ],
+ "node_modules/@nx/devkit/node_modules/tmp": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz",
+ "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "android"
- ]
+ "engines": {
+ "node": ">=14.14"
+ }
},
- "node_modules/@rollup/rollup-android-arm64": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.20.0.tgz",
- "integrity": "sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==",
+ "node_modules/@nx/nx-darwin-arm64": {
+ "version": "19.6.5",
+ "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.6.5.tgz",
+ "integrity": "sha512-sFU2k0BaklM17206F2E5C3866y0SICb0xyuPeD6D07a6hB4IstjIUkldUJJN70wEsJ5I3VP4yZ2oJcwnb1TTRQ==",
"cpu": [
"arm64"
],
@@ -5648,27 +5678,33 @@
"license": "MIT",
"optional": true,
"os": [
- "android"
- ]
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
},
- "node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.20.0.tgz",
- "integrity": "sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==",
+ "node_modules/@nx/nx-darwin-x64": {
+ "version": "19.6.5",
+ "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-19.6.5.tgz",
+ "integrity": "sha512-EJmTbUPmlksgOap6xkQl89+zXwHpaAnZLsyLHUd7i00eVRa21FRhdKFnVsRxtwPDZp/YCG84IzMUye/IrwDFTQ==",
"cpu": [
- "arm64"
+ "x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"darwin"
- ]
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
},
- "node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.20.0.tgz",
- "integrity": "sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==",
+ "node_modules/@nx/nx-freebsd-x64": {
+ "version": "19.6.5",
+ "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.6.5.tgz",
+ "integrity": "sha512-rR8NJCskoEmIbK96uxaevHm146WDTA0V3jId+X1joITqjj3E2DMm0U4r5v/OgI5+iqbhFV4S83LrMxP6gBLTsQ==",
"cpu": [
"x64"
],
@@ -5676,13 +5712,16 @@
"license": "MIT",
"optional": true,
"os": [
- "darwin"
- ]
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
},
- "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.20.0.tgz",
- "integrity": "sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==",
+ "node_modules/@nx/nx-linux-arm-gnueabihf": {
+ "version": "19.6.5",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.6.5.tgz",
+ "integrity": "sha512-OUHFV6iLlJN7b7qFnqLfa0Yj/aoylEiRXcEhV1bhPm0Ryt1bOeGDmLYScVN8n5t+AVmrwwYHk+ajXMzCOLLeZw==",
"cpu": [
"arm"
],
@@ -5691,26 +5730,32 @@
"optional": true,
"os": [
"linux"
- ]
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
},
- "node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.20.0.tgz",
- "integrity": "sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==",
+ "node_modules/@nx/nx-linux-arm64-gnu": {
+ "version": "19.6.5",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.6.5.tgz",
+ "integrity": "sha512-CzbJfb24poaJgBHt4aKLaL8a7bO9KXCLls+TX0SZfmzA9AWX6YuiX9lhxwBv6cqsViXTDB4KnXndMDB/H0Gk4g==",
"cpu": [
- "arm"
+ "arm64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
- ]
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
},
- "node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.20.0.tgz",
- "integrity": "sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==",
+ "node_modules/@nx/nx-linux-arm64-musl": {
+ "version": "19.6.5",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.6.5.tgz",
+ "integrity": "sha512-MgidKilQ0KWxQbTnaqXGjASu7wtAC9q6zAwFNKFENkwJq3nThaQH6jQVlnINE4lL9NSgyyg0AS/ix31hiqAgvA==",
"cpu": [
"arm64"
],
@@ -5719,42 +5764,302 @@
"optional": true,
"os": [
"linux"
- ]
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
},
- "node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.20.0.tgz",
- "integrity": "sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==",
+ "node_modules/@nx/nx-linux-x64-gnu": {
+ "version": "19.6.5",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.6.5.tgz",
+ "integrity": "sha512-rGDylAoslIlk5TDbEJ6YoQOYxxYP9gCpi6FLke2mFgXVzOmVlLKHfVsegIHYVMYYF26h3NJh0NLGGzGdoBjWgQ==",
"cpu": [
- "arm64"
+ "x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
- ]
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
},
- "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.20.0.tgz",
- "integrity": "sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==",
+ "node_modules/@nx/nx-linux-x64-musl": {
+ "version": "19.6.5",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.6.5.tgz",
+ "integrity": "sha512-C/pNjDL/bDEcrDypgBo4r1AOiPTk8gWJwBsFE1QHIvg7//5WFSreqRj34rJu/GZ95eLYJH5tje1VW6z+atEGkQ==",
"cpu": [
- "ppc64"
+ "x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.20.0.tgz",
- "integrity": "sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==",
- "cpu": [
- "riscv64"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-win32-arm64-msvc": {
+ "version": "19.6.5",
+ "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.6.5.tgz",
+ "integrity": "sha512-mMi8i16OFux17xed2iLPWwUdCbS1mYA9Ny/gnoNUCosmihmXX9wrzaGBkNAMsHA28huYQtPhGormsEs+zuiVFg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nx/nx-win32-x64-msvc": {
+ "version": "19.6.5",
+ "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.6.5.tgz",
+ "integrity": "sha512-jjhbDYNBkyz9Fg1jf0KZTrgdf/yx4v+k0ifukDIHZjva+jko0Ve5WzdkQ2K07M9ZxxYibDtTDqX9uX6+eFZtoA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@pkgr/core": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz",
+ "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/unts"
+ }
+ },
+ "node_modules/@popperjs/core": {
+ "version": "2.11.8",
+ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
+ "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
+ "license": "MIT",
+ "peer": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/popperjs"
+ }
+ },
+ "node_modules/@redux-saga/core": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@redux-saga/core/-/core-1.3.0.tgz",
+ "integrity": "sha512-L+i+qIGuyWn7CIg7k1MteHGfttKPmxwZR5E7OsGikCL2LzYA0RERlaUY00Y3P3ZV2EYgrsYlBrGs6cJP5OKKqA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.6.3",
+ "@redux-saga/deferred": "^1.2.1",
+ "@redux-saga/delay-p": "^1.2.1",
+ "@redux-saga/is": "^1.1.3",
+ "@redux-saga/symbols": "^1.1.3",
+ "@redux-saga/types": "^1.2.1",
+ "typescript-tuple": "^2.2.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/redux-saga"
+ }
+ },
+ "node_modules/@redux-saga/deferred": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@redux-saga/deferred/-/deferred-1.2.1.tgz",
+ "integrity": "sha512-cmin3IuuzMdfQjA0lG4B+jX+9HdTgHZZ+6u3jRAOwGUxy77GSlTi4Qp2d6PM1PUoTmQUR5aijlA39scWWPF31g==",
+ "license": "MIT"
+ },
+ "node_modules/@redux-saga/delay-p": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@redux-saga/delay-p/-/delay-p-1.2.1.tgz",
+ "integrity": "sha512-MdiDxZdvb1m+Y0s4/hgdcAXntpUytr9g0hpcOO1XFVyyzkrDu3SKPgBFOtHn7lhu7n24ZKIAT1qtKyQjHqRd+w==",
+ "license": "MIT",
+ "dependencies": {
+ "@redux-saga/symbols": "^1.1.3"
+ }
+ },
+ "node_modules/@redux-saga/is": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@redux-saga/is/-/is-1.1.3.tgz",
+ "integrity": "sha512-naXrkETG1jLRfVfhOx/ZdLj0EyAzHYbgJWkXbB3qFliPcHKiWbv/ULQryOAEKyjrhiclmr6AMdgsXFyx7/yE6Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@redux-saga/symbols": "^1.1.3",
+ "@redux-saga/types": "^1.2.1"
+ }
+ },
+ "node_modules/@redux-saga/symbols": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@redux-saga/symbols/-/symbols-1.1.3.tgz",
+ "integrity": "sha512-hCx6ZvU4QAEUojETnX8EVg4ubNLBFl1Lps4j2tX7o45x/2qg37m3c6v+kSp8xjDJY+2tJw4QB3j8o8dsl1FDXg==",
+ "license": "MIT"
+ },
+ "node_modules/@redux-saga/types": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@redux-saga/types/-/types-1.2.1.tgz",
+ "integrity": "sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA==",
+ "license": "MIT"
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz",
+ "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz",
+ "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz",
+ "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz",
+ "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz",
+ "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz",
+ "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz",
+ "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz",
+ "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz",
+ "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz",
+ "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==",
+ "cpu": [
+ "riscv64"
],
"dev": true,
"license": "MIT",
@@ -5764,9 +6069,9 @@
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.20.0.tgz",
- "integrity": "sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz",
+ "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==",
"cpu": [
"s390x"
],
@@ -5778,9 +6083,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.20.0.tgz",
- "integrity": "sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz",
+ "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==",
"cpu": [
"x64"
],
@@ -5792,9 +6097,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.20.0.tgz",
- "integrity": "sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz",
+ "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==",
"cpu": [
"x64"
],
@@ -5806,9 +6111,9 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.20.0.tgz",
- "integrity": "sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz",
+ "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==",
"cpu": [
"arm64"
],
@@ -5820,9 +6125,9 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.20.0.tgz",
- "integrity": "sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz",
+ "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==",
"cpu": [
"ia32"
],
@@ -5834,9 +6139,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.20.0.tgz",
- "integrity": "sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz",
+ "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==",
"cpu": [
"x64"
],
@@ -5848,14 +6153,14 @@
]
},
"node_modules/@schematics/angular": {
- "version": "18.2.3",
- "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-18.2.3.tgz",
- "integrity": "sha512-whSON70z9HYb4WboVXmPFE/RLKJJQLWNzNcUyi8OSDZkQbJnYgPp0///n738m26Y/XeJDv11q1gESy+Zl2AdUw==",
+ "version": "18.2.6",
+ "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-18.2.6.tgz",
+ "integrity": "sha512-Y988EoOEQDLEyHu3414T6AeVUyx21AexBHQNbUNQkK8cxlxyB6m1eH1cx6vFgLRFUTsLVv+C6Ln/ICNTfLcG4A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-devkit/core": "18.2.3",
- "@angular-devkit/schematics": "18.2.3",
+ "@angular-devkit/core": "18.2.6",
+ "@angular-devkit/schematics": "18.2.6",
"jsonc-parser": "3.3.1"
},
"engines": {
@@ -5865,73 +6170,73 @@
}
},
"node_modules/@sentry-internal/browser-utils": {
- "version": "8.28.0",
- "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.28.0.tgz",
- "integrity": "sha512-tE9++KEy8SlqibTmYymuxFVAnutsXBqrwQ936WJbjaMfkqXiro7C1El0ybkprskd0rKS7kln20Q6nQlNlMEoTA==",
+ "version": "8.32.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.32.0.tgz",
+ "integrity": "sha512-DpUGhk5O1OVjT0fo9wsbEdO1R/S9gGBRDtn9+FFVeRtieJHwXpeZiLK+tZhTOvaILmtSoTPUEY3L5sK4j5Xq9g==",
"license": "MIT",
"dependencies": {
- "@sentry/core": "8.28.0",
- "@sentry/types": "8.28.0",
- "@sentry/utils": "8.28.0"
+ "@sentry/core": "8.32.0",
+ "@sentry/types": "8.32.0",
+ "@sentry/utils": "8.32.0"
},
"engines": {
"node": ">=14.18"
}
},
"node_modules/@sentry-internal/feedback": {
- "version": "8.28.0",
- "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.28.0.tgz",
- "integrity": "sha512-5vYunPCDBLCJ8QNnhepacdYheiN+UtYxpGAIaC/zjBC1nDuBgWs+TfKPo1UlO/1sesfgs9ibpxtShOweucL61g==",
+ "version": "8.32.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.32.0.tgz",
+ "integrity": "sha512-XB7hiVJQW1tNzpoXIHbvm3rjipIt7PZiJJtFg2vxaqu/FzdgOcYqQiwIKivJVAKuRZ9rIeJtK1jdXQFOc/TRJA==",
"license": "MIT",
"dependencies": {
- "@sentry/core": "8.28.0",
- "@sentry/types": "8.28.0",
- "@sentry/utils": "8.28.0"
+ "@sentry/core": "8.32.0",
+ "@sentry/types": "8.32.0",
+ "@sentry/utils": "8.32.0"
},
"engines": {
"node": ">=14.18"
}
},
"node_modules/@sentry-internal/replay": {
- "version": "8.28.0",
- "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.28.0.tgz",
- "integrity": "sha512-70jvzzOL5O74gahgXKyRkZgiYN93yly5gq+bbj4/6NRQ+EtPd285+ccy0laExdfyK0ugvvwD4v+1MQit52OAsg==",
+ "version": "8.32.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.32.0.tgz",
+ "integrity": "sha512-yiEUnn2yyo1AIQIFNeRX3tdK8fmyKIkxdFS1WiVQmeYI/hFwYBTZPly0FcO/g3xnRMSA2tvrS+hZEaaXfK4WhA==",
"license": "MIT",
"dependencies": {
- "@sentry-internal/browser-utils": "8.28.0",
- "@sentry/core": "8.28.0",
- "@sentry/types": "8.28.0",
- "@sentry/utils": "8.28.0"
+ "@sentry-internal/browser-utils": "8.32.0",
+ "@sentry/core": "8.32.0",
+ "@sentry/types": "8.32.0",
+ "@sentry/utils": "8.32.0"
},
"engines": {
"node": ">=14.18"
}
},
"node_modules/@sentry-internal/replay-canvas": {
- "version": "8.28.0",
- "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.28.0.tgz",
- "integrity": "sha512-RfpYHDHMUKGeEdx41QtHITjEn6P3tGaDPHvatqdrD3yv4j+wbJ6laX1PrIxCpGFUtjdzkqi/KUcvUd2kzbH/FA==",
+ "version": "8.32.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.32.0.tgz",
+ "integrity": "sha512-oBbhtDBkD+5z/T0NVJ5VenBWAid/S9QdVrod/UqxVqU7F8N+E9/INFQI48zCWr4iVlUMcszJPDElvJEsMDvvBQ==",
"license": "MIT",
"dependencies": {
- "@sentry-internal/replay": "8.28.0",
- "@sentry/core": "8.28.0",
- "@sentry/types": "8.28.0",
- "@sentry/utils": "8.28.0"
+ "@sentry-internal/replay": "8.32.0",
+ "@sentry/core": "8.32.0",
+ "@sentry/types": "8.32.0",
+ "@sentry/utils": "8.32.0"
},
"engines": {
"node": ">=14.18"
}
},
"node_modules/@sentry/angular": {
- "version": "8.28.0",
- "resolved": "https://registry.npmjs.org/@sentry/angular/-/angular-8.28.0.tgz",
- "integrity": "sha512-zHl0OSgBsHnQCINepRxYDsosvKnwJPc9tdRJyIgQ6JCG1kWZf0lHncXRnJBkBSrJk2wJQ0acondhwHRyAptRGg==",
+ "version": "8.32.0",
+ "resolved": "https://registry.npmjs.org/@sentry/angular/-/angular-8.32.0.tgz",
+ "integrity": "sha512-HgdpLFTdAMgTG4yz6mb9umg+yGlCkuRDqC4Wv1zNW7ARoSioavyz4kMRkKqJR6hxgGh2vPoXCz6E+w8L4k9oPg==",
"license": "MIT",
"dependencies": {
- "@sentry/browser": "8.28.0",
- "@sentry/core": "8.28.0",
- "@sentry/types": "8.28.0",
- "@sentry/utils": "8.28.0",
+ "@sentry/browser": "8.32.0",
+ "@sentry/core": "8.32.0",
+ "@sentry/types": "8.32.0",
+ "@sentry/utils": "8.32.0",
"tslib": "^2.4.1"
},
"engines": {
@@ -5945,57 +6250,72 @@
}
},
"node_modules/@sentry/browser": {
- "version": "8.28.0",
- "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.28.0.tgz",
- "integrity": "sha512-i/gjMYzIGQiPFH1pCbdnTwH9xs9mTAqzN+goP3GWX5a58frc7h8vxyA/5z0yMd0aCW6U8mVxnoAT72vGbKbx0g==",
+ "version": "8.32.0",
+ "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.32.0.tgz",
+ "integrity": "sha512-AEKFj64g4iYwEMRvVcxiY0FswmClRXCP1IEvCqujn8OBS8AjMOr1z/RwYieEs0D90yNNB3YEqF8adrKENblJmw==",
"license": "MIT",
"dependencies": {
- "@sentry-internal/browser-utils": "8.28.0",
- "@sentry-internal/feedback": "8.28.0",
- "@sentry-internal/replay": "8.28.0",
- "@sentry-internal/replay-canvas": "8.28.0",
- "@sentry/core": "8.28.0",
- "@sentry/types": "8.28.0",
- "@sentry/utils": "8.28.0"
+ "@sentry-internal/browser-utils": "8.32.0",
+ "@sentry-internal/feedback": "8.32.0",
+ "@sentry-internal/replay": "8.32.0",
+ "@sentry-internal/replay-canvas": "8.32.0",
+ "@sentry/core": "8.32.0",
+ "@sentry/types": "8.32.0",
+ "@sentry/utils": "8.32.0"
},
"engines": {
"node": ">=14.18"
}
},
"node_modules/@sentry/core": {
- "version": "8.28.0",
- "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.28.0.tgz",
- "integrity": "sha512-+If9uubvpZpvaQQw4HLiKPhrSS9/KcoA/AcdQkNm+5CVwAoOmDPtyYfkPBgfo2hLZnZQqR1bwkz/PrNoOm+gqA==",
+ "version": "8.32.0",
+ "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.32.0.tgz",
+ "integrity": "sha512-+xidTr0lZ0c755tq4k75dXPEb8PA+qvIefW3U9+dQMORLokBrYoKYMf5zZTG2k/OfSJS6OSxatUj36NFuCs3aA==",
"license": "MIT",
"dependencies": {
- "@sentry/types": "8.28.0",
- "@sentry/utils": "8.28.0"
+ "@sentry/types": "8.32.0",
+ "@sentry/utils": "8.32.0"
},
"engines": {
"node": ">=14.18"
}
},
"node_modules/@sentry/types": {
- "version": "8.28.0",
- "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.28.0.tgz",
- "integrity": "sha512-hOfqfd92/AzBrEdMgmmV1VfOXJbIfleFTnerRl0mg/+CcNgP/6+Fdonp354TD56ouWNF2WkOM6sEKSXMWp6SEQ==",
+ "version": "8.32.0",
+ "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.32.0.tgz",
+ "integrity": "sha512-hxckvN2MzS5SgGDgVQ0/QpZXk13Vrq4BtZLwXhPhyeTmZtUiUfWvcL5TFQqLinfKdTKPe9q2MxeAJ0D4LalhMg==",
"license": "MIT",
"engines": {
"node": ">=14.18"
}
},
"node_modules/@sentry/utils": {
- "version": "8.28.0",
- "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.28.0.tgz",
- "integrity": "sha512-smhk7PJpvDMQ2DB5p2qn9UeoUHdU41IgjMmS2xklZpa8tjzBTxDeWpGvrX2fuH67D9bAJuLC/XyZjJCHLoEW5g==",
+ "version": "8.32.0",
+ "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.32.0.tgz",
+ "integrity": "sha512-t1WVERhgmYURxbBj9J4/H2P2X+VKqm7B3ce9iQyrZbdf5NekhcU4jHIecPUWCPHjQkFIqkVTorqeBmDTlg/UmQ==",
"license": "MIT",
"dependencies": {
- "@sentry/types": "8.28.0"
+ "@sentry/types": "8.32.0"
},
"engines": {
"node": ">=14.18"
}
},
+ "node_modules/@siemens/ngx-datatable": {
+ "version": "22.4.1",
+ "resolved": "https://registry.npmjs.org/@siemens/ngx-datatable/-/ngx-datatable-22.4.1.tgz",
+ "integrity": "sha512-Z19zaxu7tpwMHWc1h5Om9/sZJ39MWTQypju6T6WH7QIkelKgZE7DbYk3siD41vkR/62vT+q0Z1voC2OyxgRX9g==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.3.0"
+ },
+ "peerDependencies": {
+ "@angular/common": ">=17.0.0",
+ "@angular/core": ">=17.0.0",
+ "@angular/platform-browser": ">=17.0.0",
+ "rxjs": "^7.8.0"
+ }
+ },
"node_modules/@sigstore/bundle": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.3.2.tgz",
@@ -6240,6 +6560,35 @@
"integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==",
"license": "ISC"
},
+ "node_modules/@ts-morph/common": {
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.23.0.tgz",
+ "integrity": "sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-glob": "^3.3.2",
+ "minimatch": "^9.0.3",
+ "mkdirp": "^3.0.1",
+ "path-browserify": "^1.0.1"
+ }
+ },
+ "node_modules/@ts-morph/common/node_modules/mkdirp": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz",
+ "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "mkdirp": "dist/cjs/src/bin.js"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/@tsconfig/node10": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
@@ -6292,6 +6641,16 @@
"node": "^16.14.0 || >=18.0.0"
}
},
+ "node_modules/@tybys/wasm-util": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz",
+ "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
"node_modules/@types/babel__core": {
"version": "7.20.5",
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
@@ -6410,9 +6769,9 @@
}
},
"node_modules/@types/estree": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
- "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
+ "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
"dev": true,
"license": "MIT"
},
@@ -6430,9 +6789,22 @@
}
},
"node_modules/@types/express-serve-static-core": {
- "version": "4.19.5",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz",
- "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.0.tgz",
+ "integrity": "sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*",
+ "@types/send": "*"
+ }
+ },
+ "node_modules/@types/express/node_modules/@types/express-serve-static-core": {
+ "version": "4.19.6",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz",
+ "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6507,9 +6879,9 @@
}
},
"node_modules/@types/jest": {
- "version": "29.5.12",
- "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz",
- "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==",
+ "version": "29.5.13",
+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.13.tgz",
+ "integrity": "sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6537,9 +6909,9 @@
"license": "MIT"
},
"node_modules/@types/lodash": {
- "version": "4.17.7",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.7.tgz",
- "integrity": "sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==",
+ "version": "4.17.9",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.9.tgz",
+ "integrity": "sha512-w9iWudx1XWOHW5lQRS9iKpK/XuRhnN+0T7HvdCCd802FYkT1AMTnxndJHGrNJwRoRHkslGr4S29tjm1cT7x/7w==",
"dev": true,
"license": "MIT"
},
@@ -6571,9 +6943,9 @@
}
},
"node_modules/@types/node": {
- "version": "22.5.4",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.4.tgz",
- "integrity": "sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==",
+ "version": "22.7.3",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.3.tgz",
+ "integrity": "sha512-qXKfhXXqGTyBskvWEzJZPUxSslAiLaB6JGP1ic/XTH9ctGgzdgYguuLP1C601aRTSDNlLb0jbKqXjZ48GNraSA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6601,15 +6973,15 @@
}
},
"node_modules/@types/prop-types": {
- "version": "15.7.12",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz",
- "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==",
+ "version": "15.7.13",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz",
+ "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==",
"license": "MIT"
},
"node_modules/@types/qs": {
- "version": "6.9.15",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz",
- "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==",
+ "version": "6.9.16",
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz",
+ "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==",
"dev": true,
"license": "MIT"
},
@@ -6621,9 +6993,9 @@
"license": "MIT"
},
"node_modules/@types/react": {
- "version": "18.3.5",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.5.tgz",
- "integrity": "sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==",
+ "version": "18.3.9",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.9.tgz",
+ "integrity": "sha512-+BpAVyTpJkNWWSSnaLBk6ePpHLOGJKnEQNbINNovPWzvEUyAe3e+/d494QdEh71RekM/qV7lw6jzf1HGrJyAtQ==",
"license": "MIT",
"dependencies": {
"@types/prop-types": "*",
@@ -6777,17 +7149,17 @@
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.4.0.tgz",
- "integrity": "sha512-rg8LGdv7ri3oAlenMACk9e+AR4wUV0yrrG+XKsGKOK0EVgeEDqurkXMPILG2836fW4ibokTB5v4b6Z9+GYQDEw==",
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.7.0.tgz",
+ "integrity": "sha512-RIHOoznhA3CCfSTFiB6kBGLQtB/sox+pJ6jeFu6FxJvqL8qRxq/FfGO/UhsGgQM9oGdXkV4xUgli+dt26biB6A==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.4.0",
- "@typescript-eslint/type-utils": "8.4.0",
- "@typescript-eslint/utils": "8.4.0",
- "@typescript-eslint/visitor-keys": "8.4.0",
+ "@typescript-eslint/scope-manager": "8.7.0",
+ "@typescript-eslint/type-utils": "8.7.0",
+ "@typescript-eslint/utils": "8.7.0",
+ "@typescript-eslint/visitor-keys": "8.7.0",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
@@ -6811,16 +7183,16 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.4.0.tgz",
- "integrity": "sha512-NHgWmKSgJk5K9N16GIhQ4jSobBoJwrmURaLErad0qlLjrpP5bECYg+wxVTGlGZmJbU03jj/dfnb6V9bw+5icsA==",
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.7.0.tgz",
+ "integrity": "sha512-lN0btVpj2unxHlNYLI//BQ7nzbMJYBVQX5+pbNXvGYazdlgYonMn4AhhHifQ+J4fGRYA/m1DjaQjx+fDetqBOQ==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
- "@typescript-eslint/scope-manager": "8.4.0",
- "@typescript-eslint/types": "8.4.0",
- "@typescript-eslint/typescript-estree": "8.4.0",
- "@typescript-eslint/visitor-keys": "8.4.0",
+ "@typescript-eslint/scope-manager": "8.7.0",
+ "@typescript-eslint/types": "8.7.0",
+ "@typescript-eslint/typescript-estree": "8.7.0",
+ "@typescript-eslint/visitor-keys": "8.7.0",
"debug": "^4.3.4"
},
"engines": {
@@ -6840,14 +7212,14 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.4.0.tgz",
- "integrity": "sha512-n2jFxLeY0JmKfUqy3P70rs6vdoPjHK8P/w+zJcV3fk0b0BwRXC/zxRTEnAsgYT7MwdQDt/ZEbtdzdVC+hcpF0A==",
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.7.0.tgz",
+ "integrity": "sha512-87rC0k3ZlDOuz82zzXRtQ7Akv3GKhHs0ti4YcbAJtaomllXoSO8hi7Ix3ccEvCd824dy9aIX+j3d2UMAfCtVpg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.4.0",
- "@typescript-eslint/visitor-keys": "8.4.0"
+ "@typescript-eslint/types": "8.7.0",
+ "@typescript-eslint/visitor-keys": "8.7.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -6858,14 +7230,14 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.4.0.tgz",
- "integrity": "sha512-pu2PAmNrl9KX6TtirVOrbLPLwDmASpZhK/XU7WvoKoCUkdtq9zF7qQ7gna0GBZFN0hci0vHaSusiL2WpsQk37A==",
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.7.0.tgz",
+ "integrity": "sha512-tl0N0Mj3hMSkEYhLkjREp54OSb/FI6qyCzfiiclvJvOqre6hsZTGSnHtmFLDU8TIM62G7ygEa1bI08lcuRwEnQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/typescript-estree": "8.4.0",
- "@typescript-eslint/utils": "8.4.0",
+ "@typescript-eslint/typescript-estree": "8.7.0",
+ "@typescript-eslint/utils": "8.7.0",
"debug": "^4.3.4",
"ts-api-utils": "^1.3.0"
},
@@ -6883,9 +7255,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.4.0.tgz",
- "integrity": "sha512-T1RB3KQdskh9t3v/qv7niK6P8yvn7ja1mS7QK7XfRVL6wtZ8/mFs/FHf4fKvTA0rKnqnYxl/uHFNbnEt0phgbw==",
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.7.0.tgz",
+ "integrity": "sha512-LLt4BLHFwSfASHSF2K29SZ+ZCsbQOM+LuarPjRUuHm+Qd09hSe3GCeaQbcCr+Mik+0QFRmep/FyZBO6fJ64U3w==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6897,14 +7269,14 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.4.0.tgz",
- "integrity": "sha512-kJ2OIP4dQw5gdI4uXsaxUZHRwWAGpREJ9Zq6D5L0BweyOrWsL6Sz0YcAZGWhvKnH7fm1J5YFE1JrQL0c9dd53A==",
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.7.0.tgz",
+ "integrity": "sha512-MC8nmcGHsmfAKxwnluTQpNqceniT8SteVwd2voYlmiSWGOtjvGXdPl17dYu2797GVscK30Z04WRM28CrKS9WOg==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
- "@typescript-eslint/types": "8.4.0",
- "@typescript-eslint/visitor-keys": "8.4.0",
+ "@typescript-eslint/types": "8.7.0",
+ "@typescript-eslint/visitor-keys": "8.7.0",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@@ -6926,16 +7298,16 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.4.0.tgz",
- "integrity": "sha512-swULW8n1IKLjRAgciCkTCafyTHHfwVQFt8DovmaF69sKbOxTSFMmIZaSHjqO9i/RV0wIblaawhzvtva8Nmm7lQ==",
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.7.0.tgz",
+ "integrity": "sha512-ZbdUdwsl2X/s3CiyAu3gOlfQzpbuG3nTWKPoIvAu1pu5r8viiJvv2NPN2AqArL35NCYtw/lrPPfM4gxrMLNLPw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.4.0",
- "@typescript-eslint/types": "8.4.0",
- "@typescript-eslint/typescript-estree": "8.4.0"
+ "@typescript-eslint/scope-manager": "8.7.0",
+ "@typescript-eslint/types": "8.7.0",
+ "@typescript-eslint/typescript-estree": "8.7.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -6949,13 +7321,13 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.4.0.tgz",
- "integrity": "sha512-zTQD6WLNTre1hj5wp09nBIDiOc2U5r/qmzo7wxPn4ZgAjHql09EofqhF9WF+fZHzL5aCyaIpPcT2hyxl73kr9A==",
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.7.0.tgz",
+ "integrity": "sha512-b1tx0orFCCh/THWPQa2ZwWzvOeyzzp36vkJYOpVg0u8UVOIsfVrnuC9FqAw9gRKn+rG2VmWQ/zDJZzkxUnj/XQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.4.0",
+ "@typescript-eslint/types": "8.7.0",
"eslint-visitor-keys": "^3.4.3"
},
"engines": {
@@ -7167,6 +7539,64 @@
"dev": true,
"license": "BSD-2-Clause"
},
+ "node_modules/@yarnpkg/parsers": {
+ "version": "3.0.0-rc.46",
+ "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz",
+ "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "js-yaml": "^3.10.0",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=14.15.0"
+ }
+ },
+ "node_modules/@yarnpkg/parsers/node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/@yarnpkg/parsers/node_modules/js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/@yarnpkg/parsers/node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@zkochan/js-yaml": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz",
+ "integrity": "sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
"node_modules/abbrev": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
@@ -7225,9 +7655,9 @@
}
},
"node_modules/acorn-walk": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz",
- "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==",
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
+ "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7556,6 +7986,18 @@
"postcss": "^8.1.0"
}
},
+ "node_modules/axios": {
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz",
+ "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "follow-redirects": "^1.15.6",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
"node_modules/axobject-query": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
@@ -7941,9 +8383,9 @@
}
},
"node_modules/body-parser": {
- "version": "1.20.2",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
- "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
+ "version": "1.20.3",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
+ "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7955,7 +8397,7 @@
"http-errors": "2.0.0",
"iconv-lite": "0.4.24",
"on-finished": "2.4.1",
- "qs": "6.11.0",
+ "qs": "6.13.0",
"raw-body": "2.5.2",
"type-is": "~1.6.18",
"unpipe": "1.0.0"
@@ -8016,7 +8458,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
@@ -8035,9 +8477,9 @@
}
},
"node_modules/browserslist": {
- "version": "4.23.3",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz",
- "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==",
+ "version": "4.24.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz",
+ "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==",
"funding": [
{
"type": "opencollective",
@@ -8054,8 +8496,8 @@
],
"license": "MIT",
"dependencies": {
- "caniuse-lite": "^1.0.30001646",
- "electron-to-chromium": "^1.5.4",
+ "caniuse-lite": "^1.0.30001663",
+ "electron-to-chromium": "^1.5.28",
"node-releases": "^2.0.18",
"update-browserslist-db": "^1.1.0"
},
@@ -8249,9 +8691,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001657",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001657.tgz",
- "integrity": "sha512-DPbJAlP8/BAXy3IgiWmZKItubb3TYGP0WscQQlVGIfT4s/YlFYVuJgyOsQNP7rJRChx/qdMeLJQJP0Sgg2yjNA==",
+ "version": "1.0.30001664",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001664.tgz",
+ "integrity": "sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g==",
"funding": [
{
"type": "opencollective",
@@ -8376,9 +8818,9 @@
}
},
"node_modules/cjs-module-lexer": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.0.tgz",
- "integrity": "sha512-N1NGmowPlGBLsOZLPvm48StN04V4YvQRL0i6b7ctrVY3epjP/ct7hFLOItz6pDIvRjwpfPxi52a2UWV2ziir8g==",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz",
+ "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==",
"dev": true,
"license": "MIT"
},
@@ -8577,6 +9019,13 @@
"node": ">= 0.12.0"
}
},
+ "node_modules/code-block-writer": {
+ "version": "13.0.2",
+ "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.2.tgz",
+ "integrity": "sha512-XfXzAGiStXSmCIwrkdfvc7FS5Dtj8yelCtyOf2p2skCAfvLd6zu0rGzuS9NSCO3bq1JKpFZ7tbKdKlcd5occQA==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/collapse-white-space": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz",
@@ -8698,7 +9147,7 @@
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "devOptional": true,
+ "dev": true,
"license": "MIT"
},
"node_modules/connect-history-api-fallback": {
@@ -9095,7 +9544,7 @@
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
@@ -9219,25 +9668,18 @@
"license": "MIT"
},
"node_modules/cssstyle": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.0.1.tgz",
- "integrity": "sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.1.0.tgz",
+ "integrity": "sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "rrweb-cssom": "^0.6.0"
+ "rrweb-cssom": "^0.7.1"
},
"engines": {
"node": ">=18"
}
},
- "node_modules/cssstyle/node_modules/rrweb-cssom": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz",
- "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/csstype": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
@@ -9550,12 +9992,12 @@
"license": "MIT"
},
"node_modules/debug": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
- "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
+ "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
"license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -9887,9 +10329,9 @@
}
},
"node_modules/dompurify": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.6.tgz",
- "integrity": "sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==",
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.7.tgz",
+ "integrity": "sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==",
"license": "(MPL-2.0 OR Apache-2.0)"
},
"node_modules/domutils": {
@@ -9907,11 +10349,47 @@
"url": "https://github.com/fb55/domutils?sponsor=1"
}
},
+ "node_modules/dotenv": {
+ "version": "16.4.5",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
+ "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
+ },
+ "node_modules/dotenv-expand": {
+ "version": "11.0.6",
+ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.6.tgz",
+ "integrity": "sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "dotenv": "^16.4.4"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
+ },
+ "node_modules/duplexer": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
+ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
- "dev": true,
+ "devOptional": true,
"license": "MIT"
},
"node_modules/ee-first": {
@@ -9938,9 +10416,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.5.15",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.15.tgz",
- "integrity": "sha512-Z4rIDoImwEJW+YYKnPul4DzqsWVqYetYVN3XqDmRpgV0mjz0hYTaeeh+8/9CL1bk3AHYmF4freW/NTiVoXA2gA==",
+ "version": "1.5.29",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.29.tgz",
+ "integrity": "sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw==",
"license": "ISC"
},
"node_modules/emittery": {
@@ -9974,9 +10452,9 @@
}
},
"node_modules/encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -10008,6 +10486,16 @@
"node": ">=0.10.0"
}
},
+ "node_modules/end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "once": "^1.4.0"
+ }
+ },
"node_modules/enhanced-resolve": {
"version": "5.17.1",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
@@ -10022,6 +10510,19 @@
"node": ">=10.13.0"
}
},
+ "node_modules/enquirer": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-colors": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
"node_modules/entities": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
@@ -10198,20 +10699,24 @@
}
},
"node_modules/eslint": {
- "version": "9.9.1",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.9.1.tgz",
- "integrity": "sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg==",
+ "version": "9.11.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.11.1.tgz",
+ "integrity": "sha512-MobhYKIoAO1s1e4VUrgx1l1Sk2JBR/Gqjjgw8+mfgoLE2xwsHur4gdfTxyTgShrhvdVFTaJSgMiQBl1jv/AWxg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.11.0",
"@eslint/config-array": "^0.18.0",
+ "@eslint/core": "^0.6.0",
"@eslint/eslintrc": "^3.1.0",
- "@eslint/js": "9.9.1",
+ "@eslint/js": "9.11.1",
+ "@eslint/plugin-kit": "^0.2.0",
"@humanwhocodes/module-importer": "^1.0.1",
"@humanwhocodes/retry": "^0.3.0",
"@nodelib/fs.walk": "^1.2.8",
+ "@types/estree": "^1.0.6",
+ "@types/json-schema": "^7.0.15",
"ajv": "^6.12.4",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -10231,7 +10736,6 @@
"is-glob": "^4.0.0",
"is-path-inside": "^3.0.3",
"json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
"lodash.merge": "^4.6.2",
"minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
@@ -11046,38 +11550,38 @@
}
},
"node_modules/express": {
- "version": "4.19.2",
- "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
- "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz",
+ "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==",
"dev": true,
"license": "MIT",
"dependencies": {
"accepts": "~1.3.8",
"array-flatten": "1.1.1",
- "body-parser": "1.20.2",
+ "body-parser": "1.20.3",
"content-disposition": "0.5.4",
"content-type": "~1.0.4",
"cookie": "0.6.0",
"cookie-signature": "1.0.6",
"debug": "2.6.9",
"depd": "2.0.0",
- "encodeurl": "~1.0.2",
+ "encodeurl": "~2.0.0",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
- "finalhandler": "1.2.0",
+ "finalhandler": "1.3.1",
"fresh": "0.5.2",
"http-errors": "2.0.0",
- "merge-descriptors": "1.0.1",
+ "merge-descriptors": "1.0.3",
"methods": "~1.1.2",
"on-finished": "2.4.1",
"parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
+ "path-to-regexp": "0.1.10",
"proxy-addr": "~2.0.7",
- "qs": "6.11.0",
+ "qs": "6.13.0",
"range-parser": "~1.2.1",
"safe-buffer": "5.2.1",
- "send": "0.18.0",
- "serve-static": "1.15.0",
+ "send": "0.19.0",
+ "serve-static": "1.16.2",
"setprototypeof": "1.2.0",
"statuses": "2.0.1",
"type-is": "~1.6.18",
@@ -11175,9 +11679,9 @@
"license": "MIT"
},
"node_modules/fast-uri": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz",
- "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.2.tgz",
+ "integrity": "sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==",
"dev": true,
"license": "MIT"
},
@@ -11218,6 +11722,22 @@
"integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==",
"license": "MIT"
},
+ "node_modules/figures": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "escape-string-regexp": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/file-entry-cache": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
@@ -11267,14 +11787,14 @@
}
},
"node_modules/finalhandler": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
- "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
+ "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"debug": "2.6.9",
- "encodeurl": "~1.0.2",
+ "encodeurl": "~2.0.0",
"escape-html": "~1.0.3",
"on-finished": "2.4.1",
"parseurl": "~1.3.3",
@@ -11381,9 +11901,9 @@
}
},
"node_modules/follow-redirects": {
- "version": "1.15.8",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.8.tgz",
- "integrity": "sha512-xgrmBhBToVKay1q2Tao5LI26B83UhrB/vM1avwVSDzt8rx3rO6AizBAaF46EgksTVr+rFTQaqZZ9MVBfUe4nig==",
+ "version": "1.15.9",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
+ "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
"dev": true,
"funding": [
{
@@ -11405,7 +11925,7 @@
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz",
"integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
- "dev": true,
+ "devOptional": true,
"license": "ISC",
"dependencies": {
"cross-spawn": "^7.0.0",
@@ -11480,6 +12000,79 @@
"node": ">= 0.6"
}
},
+ "node_modules/front-matter": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz",
+ "integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "js-yaml": "^3.13.1"
+ }
+ },
+ "node_modules/front-matter/node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/front-matter/node_modules/js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/front-matter/node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/fs-constants": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fs-extra": {
+ "version": "11.2.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz",
+ "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/fs-extra/node_modules/universalify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
"node_modules/fs-minipass": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz",
@@ -11497,7 +12090,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "devOptional": true,
+ "dev": true,
"license": "ISC"
},
"node_modules/fsevents": {
@@ -11681,7 +12274,7 @@
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"deprecated": "Glob versions prior to v9 are no longer supported",
- "devOptional": true,
+ "dev": true,
"license": "ISC",
"dependencies": {
"fs.realpath": "^1.0.0",
@@ -11721,7 +12314,7 @@
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
@@ -11732,7 +12325,7 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "devOptional": true,
+ "dev": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
@@ -12131,9 +12724,9 @@
}
},
"node_modules/husky": {
- "version": "9.1.5",
- "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.5.tgz",
- "integrity": "sha512-rowAVRUBfI0b4+niA4SJMhfQwc107VLkBUgEYYAOQAbqDCnra1nYh83hF/MDmhYs9t9n1E3DuKOrs2LYNC+0Ag==",
+ "version": "9.1.6",
+ "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.6.tgz",
+ "integrity": "sha512-sqbjZKK7kf44hfdE94EoX8MZNk0n7HeW37O4YrVGCF4wzgQjp+akPAkfUK5LZ6KuR/6sqeAVuXHji+RzQgOn5A==",
"dev": true,
"license": "MIT",
"bin": {
@@ -12384,7 +12977,7 @@
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
- "devOptional": true,
+ "dev": true,
"license": "ISC",
"dependencies": {
"once": "^1.3.0",
@@ -12710,7 +13303,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true,
+ "devOptional": true,
"license": "ISC"
},
"node_modules/ismobilejs-es5": {
@@ -13976,9 +14569,9 @@
}
},
"node_modules/jest-preset-angular": {
- "version": "14.2.2",
- "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-14.2.2.tgz",
- "integrity": "sha512-vdpv1DV4yJMMoBRbTdwRA16Es0UU+8CuOHsV2vfUL0LOy69anvq2RUawh07EyTWSVxko838jOC146jlnCkWOOw==",
+ "version": "14.2.4",
+ "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-14.2.4.tgz",
+ "integrity": "sha512-xyhkaiBdn3keBgxxkcbqZu/my3ADU9NcDrz6DaMuGRaxz/bf6ZC1qxZ1eQuz5V1WuA3/rD64VA3Kke8P6E9qNg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -14888,9 +15481,9 @@
"license": "MIT"
},
"node_modules/jsdom": {
- "version": "24.1.1",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.1.1.tgz",
- "integrity": "sha512-5O1wWV99Jhq4DV7rCLIoZ/UIhyQeDR7wHVyZAHAshbrvZsLs+Xzz7gtwnlJTJDjleiTKh54F4dXrX70vJQTyJQ==",
+ "version": "25.0.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-25.0.0.tgz",
+ "integrity": "sha512-OhoFVT59T7aEq75TVw9xxEfkXgacpqAhQaYgP9y/fDqWQCMB/b1H66RfmPm/MaeaAIU9nDwMOVTlPN51+ao6CQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -14990,6 +15583,29 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/jsonfile/node_modules/universalify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
"node_modules/jsonparse": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
@@ -15430,9 +16046,9 @@
}
},
"node_modules/listr2/node_modules/ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -15721,9 +16337,9 @@
}
},
"node_modules/log-update/node_modules/ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -15918,9 +16534,9 @@
}
},
"node_modules/memfs": {
- "version": "4.11.1",
- "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.11.1.tgz",
- "integrity": "sha512-LZcMTBAgqUUKNXZagcZxvXXfgF1bHX7Y7nQ0QyEiNbRJgE29GhgPd8Yna1VQcLlPiHt/5RFJMWYN9Uv/VPNvjQ==",
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.12.0.tgz",
+ "integrity": "sha512-74wDsex5tQDSClVkeK1vtxqYCAgCoXxx+K4NSHzgU/muYVYByFqa+0RnrPO9NM6naWm1+G9JmZ0p6QHhXmeYfA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -15938,11 +16554,14 @@
}
},
"node_modules/merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
+ "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
"node_modules/merge-stream": {
"version": "2.0.0",
@@ -16125,7 +16744,7 @@
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
- "dev": true,
+ "devOptional": true,
"license": "ISC",
"engines": {
"node": ">=16 || 14 >=14.17"
@@ -16348,9 +16967,9 @@
}
},
"node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"license": "MIT"
},
"node_modules/msgpackr": {
@@ -16544,6 +17163,34 @@
"@angular/core": "^18.0.0"
}
},
+ "node_modules/ngxtension": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/ngxtension/-/ngxtension-4.0.0.tgz",
+ "integrity": "sha512-67hzWhQHqUWui9bOwmXast08zDGMlWR38TUhP7FAooFPETGHUCm/134dIo8BdKFTgHpy9Eux8EOkZH31NX6qnw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@angular-eslint/bundled-angular-compiler": "^18.0.1",
+ "@nx/devkit": "^19.0.0",
+ "nx": "^19.0.0",
+ "ts-morph": "^22.0.0",
+ "tslib": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@angular/common": ">=16.0.0",
+ "@angular/core": ">=16.0.0",
+ "@use-gesture/vanilla": "^10.0.0",
+ "rxjs": "^6.0.0 || ^7.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@use-gesture/vanilla": {
+ "optional": true
+ }
+ }
+ },
"node_modules/nice-napi": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz",
@@ -16737,6 +17384,13 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/node-machine-id": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz",
+ "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/node-releases": {
"version": "2.0.18",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
@@ -16891,55 +17545,406 @@
"proc-log": "^4.0.0"
},
"engines": {
- "node": "^16.14.0 || >=18.0.0"
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/npmlog": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
+ "deprecated": "This package is no longer supported.",
+ "license": "ISC",
+ "optional": true,
+ "dependencies": {
+ "are-we-there-yet": "^2.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^3.0.0",
+ "set-blocking": "^2.0.0"
+ }
+ },
+ "node_modules/nth-check": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "boolbase": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/nth-check?sponsor=1"
+ }
+ },
+ "node_modules/nwsapi": {
+ "version": "2.2.12",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz",
+ "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nx": {
+ "version": "19.6.5",
+ "resolved": "https://registry.npmjs.org/nx/-/nx-19.6.5.tgz",
+ "integrity": "sha512-igPYPsBF1BM1YxEiGDvaLOz0CWWoEvxzR7yQg3iULjGG9zKgDFNHHIHJwkyHsCBTtMhhkgeUl16PsTVgDuil3A==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "@napi-rs/wasm-runtime": "0.2.4",
+ "@nrwl/tao": "19.6.5",
+ "@yarnpkg/lockfile": "^1.1.0",
+ "@yarnpkg/parsers": "3.0.0-rc.46",
+ "@zkochan/js-yaml": "0.0.7",
+ "axios": "^1.7.4",
+ "chalk": "^4.1.0",
+ "cli-cursor": "3.1.0",
+ "cli-spinners": "2.6.1",
+ "cliui": "^8.0.1",
+ "dotenv": "~16.4.5",
+ "dotenv-expand": "~11.0.6",
+ "enquirer": "~2.3.6",
+ "figures": "3.2.0",
+ "flat": "^5.0.2",
+ "front-matter": "^4.0.2",
+ "fs-extra": "^11.1.0",
+ "ignore": "^5.0.4",
+ "jest-diff": "^29.4.1",
+ "jsonc-parser": "3.2.0",
+ "lines-and-columns": "~2.0.3",
+ "minimatch": "9.0.3",
+ "node-machine-id": "1.1.12",
+ "npm-run-path": "^4.0.1",
+ "open": "^8.4.0",
+ "ora": "5.3.0",
+ "semver": "^7.5.3",
+ "string-width": "^4.2.3",
+ "strong-log-transformer": "^2.1.0",
+ "tar-stream": "~2.2.0",
+ "tmp": "~0.2.1",
+ "tsconfig-paths": "^4.1.2",
+ "tslib": "^2.3.0",
+ "yargs": "^17.6.2",
+ "yargs-parser": "21.1.1"
+ },
+ "bin": {
+ "nx": "bin/nx.js",
+ "nx-cloud": "bin/nx-cloud.js"
+ },
+ "optionalDependencies": {
+ "@nx/nx-darwin-arm64": "19.6.5",
+ "@nx/nx-darwin-x64": "19.6.5",
+ "@nx/nx-freebsd-x64": "19.6.5",
+ "@nx/nx-linux-arm-gnueabihf": "19.6.5",
+ "@nx/nx-linux-arm64-gnu": "19.6.5",
+ "@nx/nx-linux-arm64-musl": "19.6.5",
+ "@nx/nx-linux-x64-gnu": "19.6.5",
+ "@nx/nx-linux-x64-musl": "19.6.5",
+ "@nx/nx-win32-arm64-msvc": "19.6.5",
+ "@nx/nx-win32-x64-msvc": "19.6.5"
+ },
+ "peerDependencies": {
+ "@swc-node/register": "^1.8.0",
+ "@swc/core": "^1.3.85"
+ },
+ "peerDependenciesMeta": {
+ "@swc-node/register": {
+ "optional": true
+ },
+ "@swc/core": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/nx/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/nx/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/nx/node_modules/cli-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "restore-cursor": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/nx/node_modules/cli-spinners": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz",
+ "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/nx/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/nx/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nx/node_modules/define-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/nx/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nx/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/nx/node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/nx/node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/nx/node_modules/is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/nx/node_modules/jsonc-parser": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
+ "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nx/node_modules/lines-and-columns": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz",
+ "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ }
+ },
+ "node_modules/nx/node_modules/minimatch": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
+ "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/nx/node_modules/open": {
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
+ "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/nx/node_modules/ora": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz",
+ "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bl": "^4.0.3",
+ "chalk": "^4.1.0",
+ "cli-cursor": "^3.1.0",
+ "cli-spinners": "^2.5.0",
+ "is-interactive": "^1.0.0",
+ "log-symbols": "^4.0.0",
+ "strip-ansi": "^6.0.0",
+ "wcwidth": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "node_modules/nx/node_modules/restore-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "path-key": "^3.0.0"
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
},
"engines": {
"node": ">=8"
}
},
- "node_modules/npmlog": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
- "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
- "deprecated": "This package is no longer supported.",
- "license": "ISC",
- "optional": true,
+ "node_modules/nx/node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/nx/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "are-we-there-yet": "^2.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^3.0.0",
- "set-blocking": "^2.0.0"
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/nth-check": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
- "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+ "node_modules/nx/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
- "license": "BSD-2-Clause",
+ "license": "MIT",
"dependencies": {
- "boolbase": "^1.0.0"
+ "has-flag": "^4.0.0"
},
- "funding": {
- "url": "https://github.com/fb55/nth-check?sponsor=1"
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/nwsapi": {
- "version": "2.2.12",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz",
- "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==",
+ "node_modules/nx/node_modules/tmp": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz",
+ "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.14"
+ }
},
"node_modules/object-assign": {
"version": "4.1.1",
@@ -17191,9 +18196,9 @@
}
},
"node_modules/ordered-binary": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.1.tgz",
- "integrity": "sha512-5VyHfHY3cd0iza71JepYG50My+YUbrFtGoUz2ooEydPyPM7Aai/JW098juLr+RG6+rDJuzNNTsEQu2DZa1A41A==",
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.2.tgz",
+ "integrity": "sha512-JTo+4+4Fw7FreyAvlSLjb1BBVaxEQAacmjD3jjuyPZclpbEghTvQZbXBb2qPd2LeIMxiHwXBZUcpmG2Gl/mDEA==",
"dev": true,
"license": "MIT"
},
@@ -17294,10 +18299,10 @@
}
},
"node_modules/package-json-from-dist": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz",
- "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==",
- "dev": true,
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
+ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
+ "devOptional": true,
"license": "BlueOak-1.0.0"
},
"node_modules/pacote": {
@@ -17444,6 +18449,13 @@
"node": ">= 0.8"
}
},
+ "node_modules/path-browserify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
+ "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -17458,7 +18470,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -17468,7 +18480,7 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -17506,9 +18518,9 @@
"license": "ISC"
},
"node_modules/path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
+ "version": "0.1.10",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
+ "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==",
"dev": true,
"license": "MIT"
},
@@ -17722,9 +18734,9 @@
}
},
"node_modules/postcss": {
- "version": "8.4.41",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz",
- "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==",
+ "version": "8.4.47",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
+ "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
"dev": true,
"funding": [
{
@@ -17743,8 +18755,8 @@
"license": "MIT",
"dependencies": {
"nanoid": "^3.3.7",
- "picocolors": "^1.0.1",
- "source-map-js": "^1.2.0"
+ "picocolors": "^1.1.0",
+ "source-map-js": "^1.2.1"
},
"engines": {
"node": "^10 || ^12 || >=14"
@@ -17873,9 +18885,9 @@
"license": "MIT"
},
"node_modules/posthog-js": {
- "version": "1.160.3",
- "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.160.3.tgz",
- "integrity": "sha512-mGvxOIlWPtdPx8EI0MQ81wNKlnH2K0n4RqwQOl044b34BCKiFVzZ7Hc7geMuZNaRAvCi5/5zyGeWHcAYZQxiMQ==",
+ "version": "1.165.0",
+ "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.165.0.tgz",
+ "integrity": "sha512-rUfRJobvOz3Q9Er+zwb32Eq2qs+ToBe/B4k4IoKzmyszI7240Rf4xVWRB0ky8LvmdZfCeYX5knS2Uv3pnn/d5A==",
"license": "MIT",
"dependencies": {
"fflate": "^0.4.8",
@@ -17884,9 +18896,9 @@
}
},
"node_modules/preact": {
- "version": "10.23.2",
- "resolved": "https://registry.npmjs.org/preact/-/preact-10.23.2.tgz",
- "integrity": "sha512-kKYfePf9rzKnxOAKDpsWhg/ysrHPqT+yQ7UW4JjdnqjFIeNUnNcEJvhuA8fDenxAGWzUqtd51DfVg7xp/8T9NA==",
+ "version": "10.24.1",
+ "resolved": "https://registry.npmjs.org/preact/-/preact-10.24.1.tgz",
+ "integrity": "sha512-PnBAwFI3Yjxxcxw75n6VId/5TFxNW/81zexzWD9jn1+eSrOP84NdsS38H5IkF/UH3frqRPT+MvuCoVHjTDTnDw==",
"license": "MIT",
"funding": {
"type": "opencollective",
@@ -18052,6 +19064,13 @@
"node": ">= 0.10"
}
},
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/prr": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
@@ -18060,13 +19079,6 @@
"license": "MIT",
"optional": true
},
- "node_modules/psl": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
- "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/punycode": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
@@ -18095,13 +19107,13 @@
"license": "MIT"
},
"node_modules/qs": {
- "version": "6.11.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
+ "version": "6.13.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
+ "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
- "side-channel": "^1.0.4"
+ "side-channel": "^1.0.6"
},
"engines": {
"node": ">=0.6"
@@ -18385,9 +19397,9 @@
"license": "MIT"
},
"node_modules/regenerate-unicode-properties": {
- "version": "10.1.1",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz",
- "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz",
+ "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -18657,7 +19669,7 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz",
"integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==",
- "dev": true,
+ "devOptional": true,
"license": "ISC",
"dependencies": {
"glob": "^11.0.0",
@@ -18677,7 +19689,7 @@
"version": "11.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz",
"integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==",
- "dev": true,
+ "devOptional": true,
"license": "ISC",
"dependencies": {
"foreground-child": "^3.1.0",
@@ -18698,10 +19710,10 @@
}
},
"node_modules/rimraf/node_modules/jackspeak": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz",
- "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==",
- "dev": true,
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.2.tgz",
+ "integrity": "sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==",
+ "devOptional": true,
"license": "BlueOak-1.0.0",
"dependencies": {
"@isaacs/cliui": "^8.0.2"
@@ -18711,16 +19723,13 @@
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
- },
- "optionalDependencies": {
- "@pkgjs/parseargs": "^0.11.0"
}
},
"node_modules/rimraf/node_modules/lru-cache": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz",
- "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==",
- "dev": true,
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.1.tgz",
+ "integrity": "sha512-CgeuL5uom6j/ZVrg7G/+1IXqRY8JXX4Hghfy5YE0EhoYQWvndP1kufu58cmZLNIDKnRhZrXfdS9urVWx98AipQ==",
+ "devOptional": true,
"license": "ISC",
"engines": {
"node": "20 || >=22"
@@ -18730,7 +19739,7 @@
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz",
"integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==",
- "dev": true,
+ "devOptional": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
@@ -18746,7 +19755,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz",
"integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==",
- "dev": true,
+ "devOptional": true,
"license": "BlueOak-1.0.0",
"dependencies": {
"lru-cache": "^11.0.0",
@@ -18760,9 +19769,9 @@
}
},
"node_modules/rollup": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.20.0.tgz",
- "integrity": "sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==",
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz",
+ "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -18776,25 +19785,32 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.20.0",
- "@rollup/rollup-android-arm64": "4.20.0",
- "@rollup/rollup-darwin-arm64": "4.20.0",
- "@rollup/rollup-darwin-x64": "4.20.0",
- "@rollup/rollup-linux-arm-gnueabihf": "4.20.0",
- "@rollup/rollup-linux-arm-musleabihf": "4.20.0",
- "@rollup/rollup-linux-arm64-gnu": "4.20.0",
- "@rollup/rollup-linux-arm64-musl": "4.20.0",
- "@rollup/rollup-linux-powerpc64le-gnu": "4.20.0",
- "@rollup/rollup-linux-riscv64-gnu": "4.20.0",
- "@rollup/rollup-linux-s390x-gnu": "4.20.0",
- "@rollup/rollup-linux-x64-gnu": "4.20.0",
- "@rollup/rollup-linux-x64-musl": "4.20.0",
- "@rollup/rollup-win32-arm64-msvc": "4.20.0",
- "@rollup/rollup-win32-ia32-msvc": "4.20.0",
- "@rollup/rollup-win32-x64-msvc": "4.20.0",
+ "@rollup/rollup-android-arm-eabi": "4.22.4",
+ "@rollup/rollup-android-arm64": "4.22.4",
+ "@rollup/rollup-darwin-arm64": "4.22.4",
+ "@rollup/rollup-darwin-x64": "4.22.4",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.22.4",
+ "@rollup/rollup-linux-arm-musleabihf": "4.22.4",
+ "@rollup/rollup-linux-arm64-gnu": "4.22.4",
+ "@rollup/rollup-linux-arm64-musl": "4.22.4",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4",
+ "@rollup/rollup-linux-riscv64-gnu": "4.22.4",
+ "@rollup/rollup-linux-s390x-gnu": "4.22.4",
+ "@rollup/rollup-linux-x64-gnu": "4.22.4",
+ "@rollup/rollup-linux-x64-musl": "4.22.4",
+ "@rollup/rollup-win32-arm64-msvc": "4.22.4",
+ "@rollup/rollup-win32-ia32-msvc": "4.22.4",
+ "@rollup/rollup-win32-x64-msvc": "4.22.4",
"fsevents": "~2.3.2"
}
},
+ "node_modules/rollup/node_modules/@types/estree": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/rrweb-cssom": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz",
@@ -18861,13 +19877,13 @@
"license": "MIT"
},
"node_modules/sass": {
- "version": "1.78.0",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.78.0.tgz",
- "integrity": "sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ==",
+ "version": "1.79.3",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.79.3.tgz",
+ "integrity": "sha512-m7dZxh0W9EZ3cw50Me5GOuYm/tVAJAn91SUnohLRo9cXBixGUOdvmryN+dXpwR831bhoY3Zv7rEFt85PUwTmzA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "chokidar": ">=3.0.0 <4.0.0",
+ "chokidar": "^4.0.0",
"immutable": "^4.0.0",
"source-map-js": ">=0.6.2 <2.0.0"
},
@@ -18919,6 +19935,36 @@
}
}
},
+ "node_modules/sass/node_modules/chokidar": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz",
+ "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "readdirp": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 14.16.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
+ "node_modules/sass/node_modules/readdirp": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.1.tgz",
+ "integrity": "sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14.16.0"
+ },
+ "funding": {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
"node_modules/sax": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz",
@@ -19021,9 +20067,9 @@
}
},
"node_modules/send": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
- "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+ "version": "0.19.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
+ "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -19045,12 +20091,15 @@
"node": ">= 0.8.0"
}
},
- "node_modules/send/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "node_modules/send/node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
},
"node_modules/serialize-javascript": {
"version": "6.0.2",
@@ -19132,16 +20181,16 @@
}
},
"node_modules/serve-static": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
- "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+ "version": "1.16.2",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
+ "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "encodeurl": "~1.0.2",
+ "encodeurl": "~2.0.0",
"escape-html": "~1.0.3",
"parseurl": "~1.3.3",
- "send": "0.18.0"
+ "send": "0.19.0"
},
"engines": {
"node": ">= 0.8.0"
@@ -19219,7 +20268,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"dependencies": {
"shebang-regex": "^3.0.0"
@@ -19232,7 +20281,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -19322,7 +20371,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
- "dev": true,
+ "devOptional": true,
"license": "ISC",
"engines": {
"node": ">=14"
@@ -19540,9 +20589,9 @@
}
},
"node_modules/source-map-js": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
- "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
@@ -19802,7 +20851,7 @@
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
@@ -19817,23 +20866,23 @@
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
+ "devOptional": true,
"license": "MIT"
},
"node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/string-width/node_modules/ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -19876,7 +20925,7 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
@@ -19918,6 +20967,24 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/strong-log-transformer": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz",
+ "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "duplexer": "^0.1.1",
+ "minimist": "^1.2.0",
+ "through": "^2.3.4"
+ },
+ "bin": {
+ "sl-log-transformer": "bin/sl-log-transformer.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/styled-components": {
"version": "5.3.11",
"resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.11.tgz",
@@ -20035,6 +21102,38 @@
"node": ">=10"
}
},
+ "node_modules/tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tar-stream/node_modules/readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/tar/node_modules/fs-minipass": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
@@ -20292,6 +21391,13 @@
"tslib": "^2"
}
},
+ "node_modules/through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/thunky": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
@@ -20305,6 +21411,26 @@
"integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==",
"license": "MIT"
},
+ "node_modules/tldts": {
+ "version": "6.1.47",
+ "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.47.tgz",
+ "integrity": "sha512-R/K2tZ5MiY+mVrnSkNJkwqYT2vUv1lcT6wJvd2emGaMJ7PHUGRY4e3tUsdFCXgqxi2QgbHjL3yJgXCo40v9Hxw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tldts-core": "^6.1.47"
+ },
+ "bin": {
+ "tldts": "bin/cli.js"
+ }
+ },
+ "node_modules/tldts-core": {
+ "version": "6.1.47",
+ "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.47.tgz",
+ "integrity": "sha512-6SWyFMnlst1fEt7GQVAAu16EGgFK0cLouH/2Mk6Ftlwhv3Ol40L0dlpGMcnnNiiOMyD2EV/aF3S+U2nKvvLvrA==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@@ -20357,19 +21483,16 @@
}
},
"node_modules/tough-cookie": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
- "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.0.0.tgz",
+ "integrity": "sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
- "psl": "^1.1.33",
- "punycode": "^2.1.1",
- "universalify": "^0.2.0",
- "url-parse": "^1.5.3"
+ "tldts": "^6.1.32"
},
"engines": {
- "node": ">=6"
+ "node": ">=16"
}
},
"node_modules/tr46": {
@@ -20503,6 +21626,17 @@
}
}
},
+ "node_modules/ts-morph": {
+ "version": "22.0.0",
+ "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-22.0.0.tgz",
+ "integrity": "sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@ts-morph/common": "~0.23.0",
+ "code-block-writer": "^13.0.1"
+ }
+ },
"node_modules/ts-node": {
"version": "10.9.2",
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
@@ -20718,9 +21852,9 @@
"license": "MIT"
},
"node_modules/unicode-canonical-property-names-ecmascript": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
- "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz",
+ "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -20742,9 +21876,9 @@
}
},
"node_modules/unicode-match-property-value-ecmascript": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
- "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz",
+ "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -20800,16 +21934,6 @@
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
}
},
- "node_modules/universalify": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
- "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4.0.0"
- }
- },
"node_modules/unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
@@ -20969,15 +22093,15 @@
}
},
"node_modules/vite": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.0.tgz",
- "integrity": "sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg==",
+ "version": "5.4.8",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz",
+ "integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"esbuild": "^0.21.3",
- "postcss": "^8.4.40",
- "rollup": "^4.13.0"
+ "postcss": "^8.4.43",
+ "rollup": "^4.20.0"
},
"bin": {
"vite": "bin/vite.js"
@@ -21971,7 +23095,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
+ "devOptional": true,
"license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
@@ -22062,7 +23186,7 @@
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
@@ -22080,7 +23204,7 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
@@ -22096,7 +23220,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"dependencies": {
"color-name": "~1.1.4"
@@ -22109,21 +23233,21 @@
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true,
+ "devOptional": true,
"license": "MIT"
},
"node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
+ "devOptional": true,
"license": "MIT"
},
"node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -22133,7 +23257,7 @@
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
diff --git a/package.json b/package.json
index ab806fb582e0..c7308492a9e4 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "artemis",
- "version": "7.5.2",
+ "version": "7.5.5",
"description": "Interactive Learning with Individual Feedback",
"private": true,
"license": "MIT",
@@ -13,22 +13,21 @@
"node_modules"
],
"dependencies": {
- "@angular/animations": "18.2.3",
- "@angular/cdk": "18.2.3",
- "@angular/common": "18.2.3",
- "@angular/compiler": "18.2.3",
- "@angular/core": "18.2.3",
- "@angular/forms": "18.2.3",
- "@angular/localize": "18.2.3",
- "@angular/material": "18.2.3",
- "@angular/platform-browser": "18.2.3",
- "@angular/platform-browser-dynamic": "18.2.3",
- "@angular/router": "18.2.3",
- "@angular/service-worker": "18.2.3",
+ "@angular/animations": "18.2.6",
+ "@angular/cdk": "18.2.6",
+ "@angular/common": "18.2.6",
+ "@angular/compiler": "18.2.6",
+ "@angular/core": "18.2.6",
+ "@angular/forms": "18.2.6",
+ "@angular/localize": "18.2.6",
+ "@angular/material": "18.2.6",
+ "@angular/platform-browser": "18.2.6",
+ "@angular/platform-browser-dynamic": "18.2.6",
+ "@angular/router": "18.2.6",
+ "@angular/service-worker": "18.2.6",
"@ctrl/ngx-emoji-mart": "9.2.0",
"@danielmoncada/angular-datetime-picker": "18.1.0",
- "@fingerprintjs/fingerprintjs": "4.4.3",
- "@flaviosantoro92/ngx-datatable": "1.0.2",
+ "@fingerprintjs/fingerprintjs": "4.5.0",
"@fortawesome/angular-fontawesome": "0.15.0",
"@fortawesome/fontawesome-svg-core": "6.6.0",
"@fortawesome/free-regular-svg-icons": "6.6.0",
@@ -37,7 +36,8 @@
"@ng-bootstrap/ng-bootstrap": "17.0.1",
"@ngx-translate/core": "15.0.0",
"@ngx-translate/http-loader": "8.0.0",
- "@sentry/angular": "8.28.0",
+ "@sentry/angular": "8.32.0",
+ "@siemens/ngx-datatable": "22.4.1",
"@swimlane/ngx-charts": "20.5.0",
"@swimlane/ngx-graph": "8.4.0",
"@vscode/codicons": "0.0.36",
@@ -47,7 +47,7 @@
"crypto-js": "4.2.0",
"dayjs": "1.11.13",
"diff-match-patch-typescript": "1.1.0",
- "dompurify": "3.1.6",
+ "dompurify": "3.1.7",
"export-to-csv": "1.4.0",
"fast-json-patch": "3.1.1",
"franc-min": "6.2.0",
@@ -63,7 +63,7 @@
"ngx-webstorage": "18.0.0",
"papaparse": "5.4.1",
"pdfjs-dist": "4.6.82",
- "posthog-js": "1.160.3",
+ "posthog-js": "1.165.0",
"rxjs": "7.8.1",
"showdown": "2.1.0",
"showdown-highlight": "3.1.0",
@@ -88,26 +88,27 @@
"d3-transition": "^3.0.1"
},
"@typescript-eslint/utils": {
- "eslint": "^9.9.0"
+ "eslint": "^9.11.0"
},
"braces": "3.0.3",
"critters": "0.0.24",
- "debug": "4.3.6",
+ "debug": "4.3.7",
"eslint-plugin-deprecation": {
- "eslint": "^9.9.0"
+ "eslint": "^9.11.0"
},
"eslint-plugin-jest": {
- "@typescript-eslint/eslint-plugin": "^8.4.0"
+ "@typescript-eslint/eslint-plugin": "^8.6.0"
},
- "jsdom": "24.1.1",
+ "jsdom": "25.0.0",
"katex": "0.16.11",
- "postcss": "8.4.41",
+ "postcss": "8.4.47",
"rimraf": "6.0.1",
"semver": "7.6.3",
"showdown-katex": {
"showdown": "2.1.0"
},
- "tough-cookie": "4.1.4",
+ "tough-cookie": "5.0.0",
+ "vite": "5.4.8",
"webpack-dev-middleware": "7.4.2",
"word-wrap": "1.2.5",
"ws": "8.18.0",
@@ -115,55 +116,56 @@
},
"devDependencies": {
"@angular-builders/jest": "18.0.0",
- "@angular-devkit/build-angular": "18.2.3",
- "@angular-eslint/builder": "18.3.0",
- "@angular-eslint/eslint-plugin": "18.3.0",
- "@angular-eslint/eslint-plugin-template": "18.3.0",
- "@angular-eslint/schematics": "18.3.0",
- "@angular-eslint/template-parser": "18.3.0",
- "@angular/cli": "18.2.3",
- "@angular/compiler-cli": "18.2.3",
- "@angular/language-service": "18.2.3",
- "@sentry/types": "8.28.0",
+ "@angular-devkit/build-angular": "18.2.6",
+ "@angular-eslint/builder": "18.3.1",
+ "@angular-eslint/eslint-plugin": "18.3.1",
+ "@angular-eslint/eslint-plugin-template": "18.3.1",
+ "@angular-eslint/schematics": "18.3.1",
+ "@angular-eslint/template-parser": "18.3.1",
+ "@angular/cli": "18.2.6",
+ "@angular/compiler-cli": "18.2.6",
+ "@angular/language-service": "18.2.6",
+ "@sentry/types": "8.32.0",
"@types/crypto-js": "4.2.2",
"@types/d3-shape": "3.1.6",
"@types/dompurify": "3.0.5",
- "@types/jest": "29.5.12",
+ "@types/jest": "29.5.13",
"@types/lodash-es": "4.17.12",
- "@types/node": "22.5.4",
+ "@types/node": "22.7.3",
"@types/papaparse": "5.3.14",
"@types/showdown": "2.0.6",
"@types/smoothscroll-polyfill": "0.3.4",
"@types/sockjs-client": "1.5.4",
"@types/uuid": "10.0.0",
- "@typescript-eslint/eslint-plugin": "8.4.0",
- "@typescript-eslint/parser": "8.4.0",
- "eslint": "9.9.1",
+ "@typescript-eslint/eslint-plugin": "8.7.0",
+ "@typescript-eslint/parser": "8.7.0",
+ "eslint": "9.11.1",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-deprecation": "3.0.0",
"eslint-plugin-jest": "28.8.3",
"eslint-plugin-jest-extended": "2.4.0",
"eslint-plugin-prettier": "5.2.1",
"folder-hash": "4.0.4",
- "husky": "9.1.5",
+ "husky": "9.1.6",
"jest": "29.7.0",
"jest-canvas-mock": "2.5.2",
"jest-date-mock": "1.0.10",
"jest-extended": "4.0.2",
"jest-fail-on-console": "3.3.0",
"jest-junit": "16.0.0",
- "jest-preset-angular": "14.2.2",
+ "jest-preset-angular": "14.2.4",
"lint-staged": "15.2.10",
+ "ngxtension": "4.0.0",
"ng-mocks": "14.13.1",
"prettier": "3.3.3",
"rimraf": "6.0.1",
- "sass": "1.78.0",
+ "sass": "1.79.3",
"ts-jest": "29.2.5",
"typescript": "5.5.4",
"weak-napi": "2.0.2"
},
"engines": {
- "node": ">=20.14.0"
+ "node": ">=20.16.0"
},
"scripts": {
"build": "npm run webapp:prod --",
diff --git a/src/main/java/de/tum/in/www1/artemis/ArtemisApp.java b/src/main/java/de/tum/cit/aet/artemis/ArtemisApp.java
similarity index 96%
rename from src/main/java/de/tum/in/www1/artemis/ArtemisApp.java
rename to src/main/java/de/tum/cit/aet/artemis/ArtemisApp.java
index 674012737006..11b1e7c67636 100644
--- a/src/main/java/de/tum/in/www1/artemis/ArtemisApp.java
+++ b/src/main/java/de/tum/cit/aet/artemis/ArtemisApp.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis;
+package de.tum.cit.aet.artemis;
import java.net.InetAddress;
import java.net.UnknownHostException;
@@ -18,8 +18,8 @@
import org.springframework.boot.info.GitProperties;
import org.springframework.core.env.Environment;
-import de.tum.in.www1.artemis.config.ProgrammingLanguageConfiguration;
-import de.tum.in.www1.artemis.config.TheiaConfiguration;
+import de.tum.cit.aet.artemis.core.config.ProgrammingLanguageConfiguration;
+import de.tum.cit.aet.artemis.core.config.TheiaConfiguration;
import tech.jhipster.config.DefaultProfileUtil;
import tech.jhipster.config.JHipsterConstants;
diff --git a/src/main/java/de/tum/in/www1/artemis/service/listeners/ResultListener.java b/src/main/java/de/tum/cit/aet/artemis/assessment/ResultListener.java
similarity index 82%
rename from src/main/java/de/tum/in/www1/artemis/service/listeners/ResultListener.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/ResultListener.java
index 577a99c104bb..154d7ee78144 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/listeners/ResultListener.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/ResultListener.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.service.listeners;
+package de.tum.cit.aet.artemis.assessment;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import jakarta.persistence.PostPersist;
import jakarta.persistence.PostUpdate;
@@ -11,13 +11,14 @@
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Component;
-import de.tum.in.www1.artemis.domain.Result;
-import de.tum.in.www1.artemis.domain.participation.StudentParticipation;
-import de.tum.in.www1.artemis.service.messaging.InstanceMessageSendService;
-import de.tum.in.www1.artemis.service.scheduled.ParticipantScoreScheduleService;
+import de.tum.cit.aet.artemis.assessment.domain.ParticipantScore;
+import de.tum.cit.aet.artemis.assessment.domain.Result;
+import de.tum.cit.aet.artemis.assessment.service.ParticipantScoreScheduleService;
+import de.tum.cit.aet.artemis.core.service.messaging.InstanceMessageSendService;
+import de.tum.cit.aet.artemis.exercise.domain.participation.StudentParticipation;
/**
- * Listener for updates on {@link Result} entities to update the {@link de.tum.in.www1.artemis.domain.scores.ParticipantScore}.
+ * Listener for updates on {@link Result} entities to update the {@link ParticipantScore}.
*
* @see ParticipantScoreScheduleService
*/
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/AssessmentNote.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/AssessmentNote.java
similarity index 91%
rename from src/main/java/de/tum/in/www1/artemis/domain/AssessmentNote.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/AssessmentNote.java
index e89e6c903086..7f36f641b2eb 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/AssessmentNote.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/AssessmentNote.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain;
+package de.tum.cit.aet.artemis.assessment.domain;
import java.time.Instant;
@@ -16,6 +16,9 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
+import de.tum.cit.aet.artemis.core.domain.DomainObject;
+import de.tum.cit.aet.artemis.core.domain.User;
+
/**
* Represents an internal assessment note.
*/
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/enumeration/AssessmentType.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/AssessmentType.java
similarity index 71%
rename from src/main/java/de/tum/in/www1/artemis/domain/enumeration/AssessmentType.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/AssessmentType.java
index 0ec51de7bb09..9cc638451764 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/enumeration/AssessmentType.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/AssessmentType.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain.enumeration;
+package de.tum.cit.aet.artemis.assessment.domain;
/**
* The AssessmentType enumeration.
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/Bonus.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/Bonus.java
similarity index 96%
rename from src/main/java/de/tum/in/www1/artemis/domain/Bonus.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/Bonus.java
index 10ce0f4c8dbc..384ad0e941e7 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/Bonus.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/Bonus.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain;
+package de.tum.cit.aet.artemis.assessment.domain;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -13,6 +13,8 @@
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
+import de.tum.cit.aet.artemis.core.domain.DomainObject;
+
/**
* A bonus source for an exam that maps bonus from another course or exam to the target exam
*/
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/BonusStrategy.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/BonusStrategy.java
similarity index 93%
rename from src/main/java/de/tum/in/www1/artemis/domain/BonusStrategy.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/BonusStrategy.java
index 45b61a42cbfd..d346d9cf1c27 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/BonusStrategy.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/BonusStrategy.java
@@ -1,13 +1,13 @@
-package de.tum.in.www1.artemis.domain;
+package de.tum.cit.aet.artemis.assessment.domain;
-import static de.tum.in.www1.artemis.service.util.RoundingUtil.roundScoreSpecifiedByCourseSettings;
+import static de.tum.cit.aet.artemis.core.util.RoundingUtil.roundScoreSpecifiedByCourseSettings;
import org.apache.commons.lang3.NotImplementedException;
-import de.tum.in.www1.artemis.repository.GradingScaleRepository;
-import de.tum.in.www1.artemis.web.rest.dto.BonusExampleDTO;
-import de.tum.in.www1.artemis.web.rest.errors.BadRequestAlertException;
+import de.tum.cit.aet.artemis.assessment.dto.BonusExampleDTO;
+import de.tum.cit.aet.artemis.assessment.repository.GradingScaleRepository;
+import de.tum.cit.aet.artemis.core.exception.BadRequestAlertException;
public enum BonusStrategy implements IBonusStrategy {
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/enumeration/CategoryState.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/CategoryState.java
similarity index 73%
rename from src/main/java/de/tum/in/www1/artemis/domain/enumeration/CategoryState.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/CategoryState.java
index 76f83a535981..9cd0b439d118 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/enumeration/CategoryState.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/CategoryState.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain.enumeration;
+package de.tum.cit.aet.artemis.assessment.domain;
/**
* Enumeration for category states used by StaticCodeAnalysisCategory
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/Complaint.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/Complaint.java
similarity index 93%
rename from src/main/java/de/tum/in/www1/artemis/domain/Complaint.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/Complaint.java
index ce9dc21eaa39..a35720e364e7 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/Complaint.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/Complaint.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.domain;
+package de.tum.cit.aet.artemis.assessment.domain;
-import static de.tum.in.www1.artemis.config.Constants.COMPLAINT_TEXT_LIMIT;
+import static de.tum.cit.aet.artemis.core.config.Constants.COMPLAINT_TEXT_LIMIT;
import java.time.ZonedDateTime;
import java.util.Optional;
@@ -22,8 +22,10 @@
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.enumeration.ComplaintType;
-import de.tum.in.www1.artemis.domain.participation.Participant;
+import de.tum.cit.aet.artemis.core.domain.DomainObject;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.exercise.domain.Team;
+import de.tum.cit.aet.artemis.exercise.domain.participation.Participant;
/**
* A Complaint.
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/ComplaintResponse.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/ComplaintResponse.java
similarity index 92%
rename from src/main/java/de/tum/in/www1/artemis/domain/ComplaintResponse.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/ComplaintResponse.java
index ab7f9f1ddd65..ec9a71b68bed 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/ComplaintResponse.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/ComplaintResponse.java
@@ -1,7 +1,7 @@
-package de.tum.in.www1.artemis.domain;
+package de.tum.cit.aet.artemis.assessment.domain;
-import static de.tum.in.www1.artemis.config.Constants.COMPLAINT_LOCK_DURATION_IN_MINUTES;
-import static de.tum.in.www1.artemis.config.Constants.COMPLAINT_RESPONSE_TEXT_LIMIT;
+import static de.tum.cit.aet.artemis.core.config.Constants.COMPLAINT_LOCK_DURATION_IN_MINUTES;
+import static de.tum.cit.aet.artemis.core.config.Constants.COMPLAINT_RESPONSE_TEXT_LIMIT;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
@@ -21,6 +21,9 @@
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
+import de.tum.cit.aet.artemis.core.domain.AbstractAuditingEntity;
+import de.tum.cit.aet.artemis.core.domain.User;
+
/**
* A ComplaintResponse.
*
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/enumeration/ComplaintType.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/ComplaintType.java
similarity index 54%
rename from src/main/java/de/tum/in/www1/artemis/domain/enumeration/ComplaintType.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/ComplaintType.java
index fc1b9c36bd84..7d2eba233e1e 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/enumeration/ComplaintType.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/ComplaintType.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain.enumeration;
+package de.tum.cit.aet.artemis.assessment.domain;
public enum ComplaintType {
COMPLAINT, MORE_FEEDBACK
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/ExampleSubmission.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/ExampleSubmission.java
similarity index 93%
rename from src/main/java/de/tum/in/www1/artemis/domain/ExampleSubmission.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/ExampleSubmission.java
index df1ad97fea93..dfb42f56c0ed 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/ExampleSubmission.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/ExampleSubmission.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain;
+package de.tum.cit.aet.artemis.assessment.domain;
import java.util.HashSet;
import java.util.Set;
@@ -18,7 +18,9 @@
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.participation.TutorParticipation;
+import de.tum.cit.aet.artemis.core.domain.DomainObject;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
+import de.tum.cit.aet.artemis.exercise.domain.Submission;
/**
* A ExampleSubmission.
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/Feedback.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/Feedback.java
similarity index 95%
rename from src/main/java/de/tum/in/www1/artemis/domain/Feedback.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/Feedback.java
index 14df5beece84..de095b019216 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/Feedback.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/Feedback.java
@@ -1,9 +1,9 @@
-package de.tum.in.www1.artemis.domain;
+package de.tum.cit.aet.artemis.assessment.domain;
-import static de.tum.in.www1.artemis.config.Constants.FEEDBACK_DETAIL_TEXT_DATABASE_MAX_LENGTH;
-import static de.tum.in.www1.artemis.config.Constants.FEEDBACK_DETAIL_TEXT_SOFT_MAX_LENGTH;
-import static de.tum.in.www1.artemis.config.Constants.FEEDBACK_PREVIEW_TEXT_MAX_LENGTH;
-import static de.tum.in.www1.artemis.config.Constants.LONG_FEEDBACK_MAX_LENGTH;
+import static de.tum.cit.aet.artemis.core.config.Constants.FEEDBACK_DETAIL_TEXT_DATABASE_MAX_LENGTH;
+import static de.tum.cit.aet.artemis.core.config.Constants.FEEDBACK_DETAIL_TEXT_SOFT_MAX_LENGTH;
+import static de.tum.cit.aet.artemis.core.config.Constants.FEEDBACK_PREVIEW_TEXT_MAX_LENGTH;
+import static de.tum.cit.aet.artemis.core.config.Constants.LONG_FEEDBACK_MAX_LENGTH;
import java.util.HashSet;
import java.util.Map;
@@ -31,8 +31,9 @@
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.enumeration.FeedbackType;
-import de.tum.in.www1.artemis.domain.enumeration.Visibility;
+import de.tum.cit.aet.artemis.core.config.Constants;
+import de.tum.cit.aet.artemis.core.domain.DomainObject;
+import de.tum.cit.aet.artemis.programming.domain.ProgrammingExerciseTestCase;
/**
* A Feedback.
@@ -146,7 +147,7 @@ public void setDetailTextTruncated(@Nullable final String detailText) {
* Sets the detail text of the feedback.
*
* Always stores the whole detail text.
- * In case the feedback is shorter than {@link de.tum.in.www1.artemis.config.Constants#FEEDBACK_DETAIL_TEXT_SOFT_MAX_LENGTH},
+ * In case the feedback is shorter than {@link Constants#FEEDBACK_DETAIL_TEXT_SOFT_MAX_LENGTH},
* the feedback is stored directly in the detail text.
* Otherwise, an associated {@link LongFeedbackText} is attached that holds the full feedback.
* In this case the actual detail text stored in this feedback only contains a short preview.
@@ -343,7 +344,7 @@ public Feedback result(Result result) {
}
/**
- * be careful when using this method as it might result in org.hibernate.HibernateException: null index column for collection: de.tum.in.www1.artemis.domain.Result.feedbacks
+ * be careful when using this method as it might result in org.hibernate.HibernateException: null index column for collection: de.tum.cit.aet.artemis.domain.Result.feedbacks
* when saving the result. The result object is the container that owns the feedback and uses CascadeType.ALL and orphanRemoval
*
* @param result the result container object that owns the feedback
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/enumeration/FeedbackType.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/FeedbackType.java
similarity index 82%
rename from src/main/java/de/tum/in/www1/artemis/domain/enumeration/FeedbackType.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/FeedbackType.java
index 25234ff0c357..45caf6abd12f 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/enumeration/FeedbackType.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/FeedbackType.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain.enumeration;
+package de.tum.cit.aet.artemis.assessment.domain;
/**
* The FeedbackType enumeration.
@@ -6,7 +6,7 @@
* The order in which they are declared is important, as we use the enums default implementation of
* compareTo()
*
- * Note: The order is used as part of an {@link jakarta.persistence.EnumType#ORDINAL} mapping in {@link de.tum.in.www1.artemis.domain.Feedback}.
+ * Note: The order is used as part of an {@link jakarta.persistence.EnumType#ORDINAL} mapping in {@link Feedback}.
* Do NOT change the order of existing values.
*/
public enum FeedbackType {
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/GradeStep.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/GradeStep.java
similarity index 98%
rename from src/main/java/de/tum/in/www1/artemis/domain/GradeStep.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/GradeStep.java
index 103991d61318..081599d8aa84 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/GradeStep.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/GradeStep.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain;
+package de.tum.cit.aet.artemis.assessment.domain;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -17,6 +17,8 @@
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
+import de.tum.cit.aet.artemis.core.domain.DomainObject;
+
/**
* The grade step of a grading scale
*/
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/GradeType.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/GradeType.java
similarity index 50%
rename from src/main/java/de/tum/in/www1/artemis/domain/GradeType.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/GradeType.java
index e9e2fa4ebe58..fdd905374544 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/GradeType.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/GradeType.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain;
+package de.tum.cit.aet.artemis.assessment.domain;
public enum GradeType {
NONE, BONUS, GRADE
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/GradingCriterion.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/GradingCriterion.java
similarity index 94%
rename from src/main/java/de/tum/in/www1/artemis/domain/GradingCriterion.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/GradingCriterion.java
index 63cfeb5ab7f3..4a75c17d28bc 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/GradingCriterion.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/GradingCriterion.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain;
+package de.tum.cit.aet.artemis.assessment.domain;
import java.util.HashSet;
import java.util.Set;
@@ -17,6 +17,9 @@
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
+import de.tum.cit.aet.artemis.core.domain.DomainObject;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
+
/**
* A Grading Criterion that consists of structured grading instructions.
*/
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/GradingInstruction.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/GradingInstruction.java
similarity index 97%
rename from src/main/java/de/tum/in/www1/artemis/domain/GradingInstruction.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/GradingInstruction.java
index f4c196372217..f4471f000604 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/GradingInstruction.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/GradingInstruction.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain;
+package de.tum.cit.aet.artemis.assessment.domain;
import java.util.HashSet;
import java.util.Set;
@@ -17,6 +17,8 @@
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
+import de.tum.cit.aet.artemis.core.domain.DomainObject;
+
/**
* A Structured Grading Instruction.
*/
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/GradingScale.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/GradingScale.java
similarity index 97%
rename from src/main/java/de/tum/in/www1/artemis/domain/GradingScale.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/GradingScale.java
index acc1e469b498..1b168589313f 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/GradingScale.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/GradingScale.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain;
+package de.tum.cit.aet.artemis.assessment.domain;
import java.util.HashSet;
import java.util.Objects;
@@ -25,7 +25,9 @@
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.exam.Exam;
+import de.tum.cit.aet.artemis.core.domain.Course;
+import de.tum.cit.aet.artemis.core.domain.DomainObject;
+import de.tum.cit.aet.artemis.exam.domain.Exam;
/**
* A grading scale for a course or an exam that consists of grade steps
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/IBonusStrategy.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/IBonusStrategy.java
similarity index 62%
rename from src/main/java/de/tum/in/www1/artemis/domain/IBonusStrategy.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/IBonusStrategy.java
index 7b24d613e8fd..0af2187c9ce1 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/IBonusStrategy.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/IBonusStrategy.java
@@ -1,7 +1,7 @@
-package de.tum.in.www1.artemis.domain;
+package de.tum.cit.aet.artemis.assessment.domain;
-import de.tum.in.www1.artemis.repository.GradingScaleRepository;
-import de.tum.in.www1.artemis.web.rest.dto.BonusExampleDTO;
+import de.tum.cit.aet.artemis.assessment.dto.BonusExampleDTO;
+import de.tum.cit.aet.artemis.assessment.repository.GradingScaleRepository;
public interface IBonusStrategy {
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/LongFeedbackText.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/LongFeedbackText.java
similarity index 89%
rename from src/main/java/de/tum/in/www1/artemis/domain/LongFeedbackText.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/LongFeedbackText.java
index c7e2337eab58..694d04c7f67e 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/LongFeedbackText.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/LongFeedbackText.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain;
+package de.tum.cit.aet.artemis.assessment.domain;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -13,7 +13,8 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
-import de.tum.in.www1.artemis.config.Constants;
+import de.tum.cit.aet.artemis.core.config.Constants;
+import de.tum.cit.aet.artemis.core.domain.DomainObject;
@Entity
@Table(name = "long_feedback_text")
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/scores/ParticipantScore.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/ParticipantScore.java
similarity index 93%
rename from src/main/java/de/tum/in/www1/artemis/domain/scores/ParticipantScore.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/ParticipantScore.java
index 99a2b4855587..ac96d36b65b6 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/scores/ParticipantScore.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/ParticipantScore.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain.scores;
+package de.tum.cit.aet.artemis.assessment.domain;
import java.time.Instant;
@@ -26,11 +26,10 @@
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import de.tum.in.www1.artemis.domain.DomainObject;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.Result;
-import de.tum.in.www1.artemis.domain.participation.Participant;
-import de.tum.in.www1.artemis.service.scheduled.ParticipantScoreScheduleService;
+import de.tum.cit.aet.artemis.assessment.service.ParticipantScoreScheduleService;
+import de.tum.cit.aet.artemis.core.domain.DomainObject;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
+import de.tum.cit.aet.artemis.exercise.domain.participation.Participant;
/**
* Participant scores store the last (rated) result for each student/team and exercise combination.
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/Rating.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/Rating.java
similarity index 91%
rename from src/main/java/de/tum/in/www1/artemis/domain/Rating.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/Rating.java
index 44b840137f1f..8550566efee8 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/Rating.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/Rating.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain;
+package de.tum.cit.aet.artemis.assessment.domain;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -11,6 +11,8 @@
import com.fasterxml.jackson.annotation.JsonInclude;
+import de.tum.cit.aet.artemis.core.domain.DomainObject;
+
/**
* A Rating.
*/
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/Result.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/Result.java
similarity index 95%
rename from src/main/java/de/tum/in/www1/artemis/domain/Result.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/Result.java
index 521fec4bde47..cc14d7a35e34 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/Result.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/Result.java
@@ -1,9 +1,9 @@
-package de.tum.in.www1.artemis.domain;
+package de.tum.cit.aet.artemis.assessment.domain;
-import static de.tum.in.www1.artemis.config.Constants.PROGRAMMING_GRACE_PERIOD_SECONDS;
-import static de.tum.in.www1.artemis.config.Constants.SIZE_OF_UNSIGNED_TINYINT;
-import static de.tum.in.www1.artemis.service.util.RoundingUtil.roundScoreSpecifiedByCourseSettings;
-import static de.tum.in.www1.artemis.service.util.RoundingUtil.roundToNDecimalPlaces;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROGRAMMING_GRACE_PERIOD_SECONDS;
+import static de.tum.cit.aet.artemis.core.config.Constants.SIZE_OF_UNSIGNED_TINYINT;
+import static de.tum.cit.aet.artemis.core.util.RoundingUtil.roundScoreSpecifiedByCourseSettings;
+import static de.tum.cit.aet.artemis.core.util.RoundingUtil.roundToNDecimalPlaces;
import java.time.Instant;
import java.time.ZonedDateTime;
@@ -43,17 +43,21 @@
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonView;
-import de.tum.in.www1.artemis.domain.enumeration.AssessmentType;
-import de.tum.in.www1.artemis.domain.enumeration.FeedbackType;
-import de.tum.in.www1.artemis.domain.enumeration.SubmissionType;
-import de.tum.in.www1.artemis.domain.hestia.CoverageFileReport;
-import de.tum.in.www1.artemis.domain.participation.Participation;
-import de.tum.in.www1.artemis.domain.quiz.QuizExercise;
-import de.tum.in.www1.artemis.domain.quiz.QuizSubmission;
-import de.tum.in.www1.artemis.domain.view.QuizView;
-import de.tum.in.www1.artemis.service.ExerciseDateService;
-import de.tum.in.www1.artemis.service.listeners.ResultListener;
-import de.tum.in.www1.artemis.web.rest.dto.ResultDTO;
+import de.tum.cit.aet.artemis.assessment.ResultListener;
+import de.tum.cit.aet.artemis.core.domain.Course;
+import de.tum.cit.aet.artemis.core.domain.DomainObject;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
+import de.tum.cit.aet.artemis.exercise.domain.Submission;
+import de.tum.cit.aet.artemis.exercise.domain.SubmissionType;
+import de.tum.cit.aet.artemis.exercise.domain.participation.Participation;
+import de.tum.cit.aet.artemis.exercise.service.ExerciseDateService;
+import de.tum.cit.aet.artemis.programming.domain.ProgrammingExercise;
+import de.tum.cit.aet.artemis.programming.domain.hestia.CoverageFileReport;
+import de.tum.cit.aet.artemis.programming.dto.ResultDTO;
+import de.tum.cit.aet.artemis.quiz.config.QuizView;
+import de.tum.cit.aet.artemis.quiz.domain.QuizExercise;
+import de.tum.cit.aet.artemis.quiz.domain.QuizSubmission;
/**
* A Result.
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/scores/StudentScore.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/StudentScore.java
similarity index 89%
rename from src/main/java/de/tum/in/www1/artemis/domain/scores/StudentScore.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/StudentScore.java
index 9ac7ed73a8b7..f70f6cbd857f 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/scores/StudentScore.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/StudentScore.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain.scores;
+package de.tum.cit.aet.artemis.assessment.domain;
import jakarta.persistence.DiscriminatorValue;
import jakarta.persistence.Entity;
@@ -8,8 +8,8 @@
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.User;
-import de.tum.in.www1.artemis.domain.participation.Participant;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.exercise.domain.participation.Participant;
@Entity
@DiscriminatorValue("SS")
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/scores/TeamScore.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/TeamScore.java
similarity index 89%
rename from src/main/java/de/tum/in/www1/artemis/domain/scores/TeamScore.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/TeamScore.java
index 135ecbb39924..11e6a784a44e 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/scores/TeamScore.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/TeamScore.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain.scores;
+package de.tum.cit.aet.artemis.assessment.domain;
import jakarta.persistence.DiscriminatorValue;
import jakarta.persistence.Entity;
@@ -8,8 +8,8 @@
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.Team;
-import de.tum.in.www1.artemis.domain.participation.Participant;
+import de.tum.cit.aet.artemis.exercise.domain.Team;
+import de.tum.cit.aet.artemis.exercise.domain.participation.Participant;
@Entity
@DiscriminatorValue("TS")
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/participation/TutorParticipation.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/TutorParticipation.java
similarity index 90%
rename from src/main/java/de/tum/in/www1/artemis/domain/participation/TutorParticipation.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/TutorParticipation.java
index 70838f0450fb..31e723df05b8 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/participation/TutorParticipation.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/TutorParticipation.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain.participation;
+package de.tum.cit.aet.artemis.assessment.domain;
import java.util.HashSet;
import java.util.Set;
@@ -19,11 +19,10 @@
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.DomainObject;
-import de.tum.in.www1.artemis.domain.ExampleSubmission;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.User;
-import de.tum.in.www1.artemis.domain.enumeration.TutorParticipationStatus;
+import de.tum.cit.aet.artemis.core.domain.DomainObject;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
+import de.tum.cit.aet.artemis.tutorialgroup.domain.TutorParticipationStatus;
/**
* A TutorParticipation.
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/enumeration/Visibility.java b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/Visibility.java
similarity index 75%
rename from src/main/java/de/tum/in/www1/artemis/domain/enumeration/Visibility.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/domain/Visibility.java
index c7753f4df6d6..f976e771f9fa 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/enumeration/Visibility.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/domain/Visibility.java
@@ -1,13 +1,15 @@
-package de.tum.in.www1.artemis.domain.enumeration;
+package de.tum.cit.aet.artemis.assessment.domain;
+
+import de.tum.cit.aet.artemis.programming.domain.ProgrammingExerciseTestCase;
/**
- * Used to define when students are able to see a {@link de.tum.in.www1.artemis.domain.Feedback}.
+ * Used to define when students are able to see a {@link Feedback}.
*
- * Currently, this is only used for Feedbacks linked to a {@link de.tum.in.www1.artemis.domain.ProgrammingExerciseTestCase}.
+ * Currently, this is only used for Feedbacks linked to a {@link ProgrammingExerciseTestCase}.
*
* Tutors/Instructors/Admins should always see all levels of visibility.
*
- * Note: The order is used as part of an {@link jakarta.persistence.EnumType#ORDINAL} mapping in {@link de.tum.in.www1.artemis.domain.Feedback}.
+ * Note: The order is used as part of an {@link jakarta.persistence.EnumType#ORDINAL} mapping in {@link Feedback}.
* Do NOT change the order of existing values.
*/
public enum Visibility {
diff --git a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/AssessmentUpdateBaseDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/AssessmentUpdateBaseDTO.java
similarity index 65%
rename from src/main/java/de/tum/in/www1/artemis/web/rest/dto/AssessmentUpdateBaseDTO.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/AssessmentUpdateBaseDTO.java
index b4e7af15a15e..65eedf47d575 100644
--- a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/AssessmentUpdateBaseDTO.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/AssessmentUpdateBaseDTO.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.web.rest.dto;
+package de.tum.cit.aet.artemis.assessment.dto;
import java.util.List;
@@ -6,8 +6,8 @@
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.ComplaintResponse;
-import de.tum.in.www1.artemis.domain.Feedback;
+import de.tum.cit.aet.artemis.assessment.domain.ComplaintResponse;
+import de.tum.cit.aet.artemis.assessment.domain.Feedback;
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public interface AssessmentUpdateBaseDTO {
diff --git a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/AssessmentUpdateDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/AssessmentUpdateDTO.java
similarity index 74%
rename from src/main/java/de/tum/in/www1/artemis/web/rest/dto/AssessmentUpdateDTO.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/AssessmentUpdateDTO.java
index 64b470b4f616..19b749f6be0c 100644
--- a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/AssessmentUpdateDTO.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/AssessmentUpdateDTO.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.web.rest.dto;
+package de.tum.cit.aet.artemis.assessment.dto;
import java.util.List;
@@ -6,8 +6,8 @@
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.ComplaintResponse;
-import de.tum.in.www1.artemis.domain.Feedback;
+import de.tum.cit.aet.artemis.assessment.domain.ComplaintResponse;
+import de.tum.cit.aet.artemis.assessment.domain.Feedback;
/**
* @param feedbacks the updated feedback list
diff --git a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/BonusExampleDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/BonusExampleDTO.java
similarity index 90%
rename from src/main/java/de/tum/in/www1/artemis/web/rest/dto/BonusExampleDTO.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/BonusExampleDTO.java
index 06eb4b7af689..2c47b9fc8fa5 100644
--- a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/BonusExampleDTO.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/BonusExampleDTO.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.web.rest.dto;
+package de.tum.cit.aet.artemis.assessment.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
diff --git a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/BonusResultDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/BonusResultDTO.java
similarity index 74%
rename from src/main/java/de/tum/in/www1/artemis/web/rest/dto/BonusResultDTO.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/BonusResultDTO.java
index a8cb3791d9fb..0d1d2e6c7ba3 100644
--- a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/BonusResultDTO.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/BonusResultDTO.java
@@ -1,9 +1,9 @@
-package de.tum.in.www1.artemis.web.rest.dto;
+package de.tum.cit.aet.artemis.assessment.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.BonusStrategy;
-import de.tum.in.www1.artemis.domain.plagiarism.PlagiarismVerdict;
+import de.tum.cit.aet.artemis.assessment.domain.BonusStrategy;
+import de.tum.cit.aet.artemis.plagiarism.domain.PlagiarismVerdict;
/**
* Represents a bonus grade result with the relevant parameters from bonusFrom and bonusTo grading scales.
diff --git a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/BonusSourceResultDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/BonusSourceResultDTO.java
similarity index 78%
rename from src/main/java/de/tum/in/www1/artemis/web/rest/dto/BonusSourceResultDTO.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/BonusSourceResultDTO.java
index 9307e4c7ffe1..392bf4054a42 100644
--- a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/BonusSourceResultDTO.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/BonusSourceResultDTO.java
@@ -1,8 +1,8 @@
-package de.tum.in.www1.artemis.web.rest.dto;
+package de.tum.cit.aet.artemis.assessment.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.plagiarism.PlagiarismVerdict;
+import de.tum.cit.aet.artemis.plagiarism.domain.PlagiarismVerdict;
/**
* Represents a grade result from a bonus source course or exam with plagiarism verdict.
diff --git a/src/main/java/de/tum/in/www1/artemis/service/dto/ComplaintAction.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/ComplaintAction.java
similarity index 59%
rename from src/main/java/de/tum/in/www1/artemis/service/dto/ComplaintAction.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/ComplaintAction.java
index 94a39035e156..dff262621528 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/dto/ComplaintAction.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/ComplaintAction.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.service.dto;
+package de.tum.cit.aet.artemis.assessment.dto;
public enum ComplaintAction {
REFRESH_LOCK, RESOLVE_COMPLAINT
diff --git a/src/main/java/de/tum/in/www1/artemis/service/dto/ComplaintRequestDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/ComplaintRequestDTO.java
similarity index 69%
rename from src/main/java/de/tum/in/www1/artemis/service/dto/ComplaintRequestDTO.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/ComplaintRequestDTO.java
index 802a10a75407..ba4184d39cd4 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/dto/ComplaintRequestDTO.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/ComplaintRequestDTO.java
@@ -1,10 +1,10 @@
-package de.tum.in.www1.artemis.service.dto;
+package de.tum.cit.aet.artemis.assessment.dto;
import java.util.Optional;
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.enumeration.ComplaintType;
+import de.tum.cit.aet.artemis.assessment.domain.ComplaintType;
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public record ComplaintRequestDTO(long resultId, String complaintText, ComplaintType complaintType, Optional examId) {
diff --git a/src/main/java/de/tum/in/www1/artemis/service/dto/ComplaintResponseUpdateDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/ComplaintResponseUpdateDTO.java
similarity index 82%
rename from src/main/java/de/tum/in/www1/artemis/service/dto/ComplaintResponseUpdateDTO.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/ComplaintResponseUpdateDTO.java
index 75e531aa9a98..2e8f51d54439 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/dto/ComplaintResponseUpdateDTO.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/ComplaintResponseUpdateDTO.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.service.dto;
+package de.tum.cit.aet.artemis.assessment.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
diff --git a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/feedback/FeedbackDetailDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/FeedbackDetailDTO.java
similarity index 80%
rename from src/main/java/de/tum/in/www1/artemis/web/rest/dto/feedback/FeedbackDetailDTO.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/FeedbackDetailDTO.java
index d9e1f86d231d..23ea64b409b4 100644
--- a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/feedback/FeedbackDetailDTO.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/FeedbackDetailDTO.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.web.rest.dto.feedback;
+package de.tum.cit.aet.artemis.assessment.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
diff --git a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/GradeDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/GradeDTO.java
similarity index 64%
rename from src/main/java/de/tum/in/www1/artemis/web/rest/dto/GradeDTO.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/GradeDTO.java
index 46d418cd23b3..553d0fc18163 100644
--- a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/GradeDTO.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/GradeDTO.java
@@ -1,8 +1,8 @@
-package de.tum.in.www1.artemis.web.rest.dto;
+package de.tum.cit.aet.artemis.assessment.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.GradeType;
+import de.tum.cit.aet.artemis.assessment.domain.GradeType;
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public record GradeDTO(String gradeName, Boolean isPassingGrade, GradeType gradeType) {
diff --git a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/GradeStepsDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/GradeStepsDTO.java
similarity index 68%
rename from src/main/java/de/tum/in/www1/artemis/web/rest/dto/GradeStepsDTO.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/GradeStepsDTO.java
index 5234c7d0c974..6b6e21c415e1 100644
--- a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/GradeStepsDTO.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/GradeStepsDTO.java
@@ -1,11 +1,11 @@
-package de.tum.in.www1.artemis.web.rest.dto;
+package de.tum.cit.aet.artemis.assessment.dto;
import java.util.Set;
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.GradeStep;
-import de.tum.in.www1.artemis.domain.GradeType;
+import de.tum.cit.aet.artemis.assessment.domain.GradeStep;
+import de.tum.cit.aet.artemis.assessment.domain.GradeType;
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public record GradeStepsDTO(String title, GradeType gradeType, Set gradeSteps, Integer maxPoints, String plagiarismGrade, String noParticipationGrade,
diff --git a/src/main/java/de/tum/in/www1/artemis/service/dto/GradingCriterionDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/GradingCriterionDTO.java
similarity index 88%
rename from src/main/java/de/tum/in/www1/artemis/service/dto/GradingCriterionDTO.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/GradingCriterionDTO.java
index d5e56fb7a6ca..ebfc35775657 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/dto/GradingCriterionDTO.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/GradingCriterionDTO.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.service.dto;
+package de.tum.cit.aet.artemis.assessment.dto;
import java.util.Set;
import java.util.stream.Collectors;
@@ -7,7 +7,7 @@
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.GradingCriterion;
+import de.tum.cit.aet.artemis.assessment.domain.GradingCriterion;
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public record GradingCriterionDTO(long id, String title, Set structuredGradingInstructions) {
diff --git a/src/main/java/de/tum/in/www1/artemis/service/dto/GradingInstructionDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/GradingInstructionDTO.java
similarity index 88%
rename from src/main/java/de/tum/in/www1/artemis/service/dto/GradingInstructionDTO.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/GradingInstructionDTO.java
index cb87590a2ddb..e2cd30af9cf2 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/dto/GradingInstructionDTO.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/GradingInstructionDTO.java
@@ -1,10 +1,10 @@
-package de.tum.in.www1.artemis.service.dto;
+package de.tum.cit.aet.artemis.assessment.dto;
import jakarta.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.GradingInstruction;
+import de.tum.cit.aet.artemis.assessment.domain.GradingInstruction;
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public record GradingInstructionDTO(long id, double credits, String gradingScale, String instructionDescription, String feedback, int usageCount) {
diff --git a/src/main/java/de/tum/cit/aet/artemis/assessment/dto/MaxAndReachablePointsDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/MaxAndReachablePointsDTO.java
new file mode 100644
index 000000000000..8bd95184f5a3
--- /dev/null
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/MaxAndReachablePointsDTO.java
@@ -0,0 +1,8 @@
+package de.tum.cit.aet.artemis.assessment.dto;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public record MaxAndReachablePointsDTO(double maxPoints, double reachablePoints, double reachablePresentationPoints) {
+
+}
diff --git a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/ResultWithPointsPerGradingCriterionDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/ResultWithPointsPerGradingCriterionDTO.java
similarity index 68%
rename from src/main/java/de/tum/in/www1/artemis/web/rest/dto/ResultWithPointsPerGradingCriterionDTO.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/ResultWithPointsPerGradingCriterionDTO.java
index 23d3c8c72cb3..8ae6ed295f5b 100644
--- a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/ResultWithPointsPerGradingCriterionDTO.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/ResultWithPointsPerGradingCriterionDTO.java
@@ -1,11 +1,11 @@
-package de.tum.in.www1.artemis.web.rest.dto;
+package de.tum.cit.aet.artemis.assessment.dto;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.GradingCriterion;
-import de.tum.in.www1.artemis.domain.Result;
+import de.tum.cit.aet.artemis.assessment.domain.GradingCriterion;
+import de.tum.cit.aet.artemis.assessment.domain.Result;
/**
* @param pointsPerCriterion Map of {@link GradingCriterion#getId()} to the result points in that category.
diff --git a/src/main/java/de/tum/cit/aet/artemis/assessment/dto/ScoreDistributionDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/ScoreDistributionDTO.java
new file mode 100644
index 000000000000..a1b41604d3b6
--- /dev/null
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/ScoreDistributionDTO.java
@@ -0,0 +1,11 @@
+package de.tum.cit.aet.artemis.assessment.dto;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public record ScoreDistributionDTO(long amount, double score) {
+
+ public ScoreDistributionDTO(Long amount, Double score) {
+ this(amount != null ? amount : 0, score != null ? score : 0.0);
+ }
+}
diff --git a/src/main/java/de/tum/cit/aet/artemis/assessment/dto/TutorEffortDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/TutorEffortDTO.java
new file mode 100644
index 000000000000..eba5f87d2807
--- /dev/null
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/TutorEffortDTO.java
@@ -0,0 +1,11 @@
+package de.tum.cit.aet.artemis.assessment.dto;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+/**
+ * A data entry used by the tutor effort statistics page. It represents the respective information in terms of
+ * number of submissions assessed as well as time spent for each tutor in a particular exercise.
+ */
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public record TutorEffortDTO(Long userId, int numberOfSubmissionsAssessed, double totalTimeSpentMinutes, Long exerciseId, Long courseId) {
+}
diff --git a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/user/UserNameAndLoginDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/UserNameAndLoginDTO.java
similarity index 75%
rename from src/main/java/de/tum/in/www1/artemis/web/rest/dto/user/UserNameAndLoginDTO.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/UserNameAndLoginDTO.java
index 9f3000f1b321..cf4926b1a368 100644
--- a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/user/UserNameAndLoginDTO.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/UserNameAndLoginDTO.java
@@ -1,8 +1,8 @@
-package de.tum.in.www1.artemis.web.rest.dto.user;
+package de.tum.cit.aet.artemis.assessment.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.User;
+import de.tum.cit.aet.artemis.core.domain.User;
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public record UserNameAndLoginDTO(String name, String login) {
diff --git a/src/main/java/de/tum/cit/aet/artemis/assessment/dto/dashboard/ExerciseMapEntryDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/dashboard/ExerciseMapEntryDTO.java
new file mode 100644
index 000000000000..87d246196595
--- /dev/null
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/dashboard/ExerciseMapEntryDTO.java
@@ -0,0 +1,12 @@
+package de.tum.cit.aet.artemis.assessment.dto.dashboard;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+// Custom object for sql query
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public record ExerciseMapEntryDTO(long exerciseId, long value) {
+
+ public ExerciseMapEntryDTO(Long exerciseId, Long value) {
+ this(exerciseId != null ? exerciseId : 0, value != null ? value : 0);
+ }
+}
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/assessment/dashboard/ExerciseRatingCount.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/dashboard/ExerciseRatingCountDTO.java
similarity index 58%
rename from src/main/java/de/tum/in/www1/artemis/domain/assessment/dashboard/ExerciseRatingCount.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/dashboard/ExerciseRatingCountDTO.java
index 27996fb675c8..a05067d3c2ec 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/assessment/dashboard/ExerciseRatingCount.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/dashboard/ExerciseRatingCountDTO.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.domain.assessment.dashboard;
+package de.tum.cit.aet.artemis.assessment.dto.dashboard;
import com.fasterxml.jackson.annotation.JsonInclude;
@@ -6,5 +6,6 @@
* Class used to hold tutor average rating and number of tutor ratings in an exercise
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
-public record ExerciseRatingCount(Double averageRating, Long numberOfRatings) {
+public record ExerciseRatingCountDTO(Double averageRating, Long numberOfRatings) {
+
}
diff --git a/src/main/java/de/tum/cit/aet/artemis/assessment/dto/dashboard/ResultCountDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/dashboard/ResultCountDTO.java
new file mode 100644
index 000000000000..ae53624de905
--- /dev/null
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/dashboard/ResultCountDTO.java
@@ -0,0 +1,11 @@
+package de.tum.cit.aet.artemis.assessment.dto.dashboard;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+@JsonInclude(JsonInclude.Include.NON_EMPTY)
+public record ResultCountDTO(boolean rated, long count) {
+
+ public ResultCountDTO(Boolean rated, Long count) {
+ this(rated != null ? rated : false, count != null ? count : 0);
+ }
+}
diff --git a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/score/ScoreDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/score/ScoreDTO.java
similarity index 85%
rename from src/main/java/de/tum/in/www1/artemis/web/rest/dto/score/ScoreDTO.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/score/ScoreDTO.java
index 9718549b591e..e68bc561dd42 100644
--- a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/score/ScoreDTO.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/score/ScoreDTO.java
@@ -1,8 +1,8 @@
-package de.tum.in.www1.artemis.web.rest.dto.score;
+package de.tum.cit.aet.artemis.assessment.dto.score;
import com.fasterxml.jackson.annotation.JsonInclude;
-import de.tum.in.www1.artemis.domain.User;
+import de.tum.cit.aet.artemis.core.domain.User;
/**
* DTO to send achieved points and achieved scores of a student to the client for courses / exam
diff --git a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/score/StudentScoreSum.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/score/StudentScoreSumDTO.java
similarity index 50%
rename from src/main/java/de/tum/in/www1/artemis/web/rest/dto/score/StudentScoreSum.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/score/StudentScoreSumDTO.java
index 9b3ea5a64a9c..a6f599d65fd1 100644
--- a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/score/StudentScoreSum.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/score/StudentScoreSumDTO.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.web.rest.dto.score;
+package de.tum.cit.aet.artemis.assessment.dto.score;
import com.fasterxml.jackson.annotation.JsonInclude;
@@ -9,5 +9,9 @@
* @param sumPointsAchieved the sum of points achieved by the student
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
-public record StudentScoreSum(long userId, double sumPointsAchieved) {
+public record StudentScoreSumDTO(long userId, double sumPointsAchieved) {
+
+ public StudentScoreSumDTO(Long userId, Double sumPointsAchieved) {
+ this(userId != null ? userId : 0, sumPointsAchieved != null ? sumPointsAchieved : 0.0);
+ }
}
diff --git a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/score/StudentScoresDTO.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/score/StudentScoresDTO.java
similarity index 95%
rename from src/main/java/de/tum/in/www1/artemis/web/rest/dto/score/StudentScoresDTO.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/score/StudentScoresDTO.java
index 22511762d4cb..c4b454385211 100644
--- a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/score/StudentScoresDTO.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/score/StudentScoresDTO.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.web.rest.dto.score;
+package de.tum.cit.aet.artemis.assessment.dto.score;
import com.fasterxml.jackson.annotation.JsonInclude;
diff --git a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/score/TeamScoreSum.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/score/TeamScoreSumDTO.java
similarity index 69%
rename from src/main/java/de/tum/in/www1/artemis/web/rest/dto/score/TeamScoreSum.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/score/TeamScoreSumDTO.java
index 382b8e29c9d1..5df9c5ac761f 100644
--- a/src/main/java/de/tum/in/www1/artemis/web/rest/dto/score/TeamScoreSum.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/score/TeamScoreSumDTO.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.web.rest.dto.score;
+package de.tum.cit.aet.artemis.assessment.dto.score;
import com.fasterxml.jackson.annotation.JsonInclude;
@@ -9,5 +9,5 @@
* @param sumPointsAchieved the sum of points achieved by the team
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
-public record TeamScoreSum(long teamId, double sumPointsAchieved) {
+public record TeamScoreSumDTO(long teamId, double sumPointsAchieved) {
}
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/leaderboard/tutor/TutorLeaderboardAnsweredMoreFeedbackRequests.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/tutor/TutorLeaderboardAnsweredMoreFeedbackRequestsDTO.java
similarity index 61%
rename from src/main/java/de/tum/in/www1/artemis/domain/leaderboard/tutor/TutorLeaderboardAnsweredMoreFeedbackRequests.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/tutor/TutorLeaderboardAnsweredMoreFeedbackRequestsDTO.java
index c72cbf008d4e..656597da1232 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/leaderboard/tutor/TutorLeaderboardAnsweredMoreFeedbackRequests.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/tutor/TutorLeaderboardAnsweredMoreFeedbackRequestsDTO.java
@@ -1,14 +1,14 @@
-package de.tum.in.www1.artemis.domain.leaderboard.tutor;
+package de.tum.cit.aet.artemis.assessment.dto.tutor;
import jakarta.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonInclude;
-// Custom object for sql query
+// Custom object for sql query, we cannot use primitive types here, because otherwise Hibernate gets confused
@JsonInclude(JsonInclude.Include.NON_EMPTY)
-public record TutorLeaderboardAnsweredMoreFeedbackRequests(Long userId, Long answeredRequests, Double points) {
+public record TutorLeaderboardAnsweredMoreFeedbackRequestsDTO(Long userId, Long answeredRequests, Double points) {
- public TutorLeaderboardAnsweredMoreFeedbackRequests() {
+ public TutorLeaderboardAnsweredMoreFeedbackRequestsDTO() {
this(0L, 0L, 0.0);
}
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/leaderboard/tutor/TutorLeaderboardAssessments.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/tutor/TutorLeaderboardAssessmentsDTO.java
similarity index 71%
rename from src/main/java/de/tum/in/www1/artemis/domain/leaderboard/tutor/TutorLeaderboardAssessments.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/tutor/TutorLeaderboardAssessmentsDTO.java
index 189209354127..670f2411d84e 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/leaderboard/tutor/TutorLeaderboardAssessments.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/tutor/TutorLeaderboardAssessmentsDTO.java
@@ -1,14 +1,14 @@
-package de.tum.in.www1.artemis.domain.leaderboard.tutor;
+package de.tum.cit.aet.artemis.assessment.dto.tutor;
import jakarta.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonInclude;
-// Custom object for sql query
+// Custom object for sql query, we cannot use primitive types here, because otherwise Hibernate gets confused
@JsonInclude(JsonInclude.Include.NON_EMPTY)
-public record TutorLeaderboardAssessments(Long userId, Long assessments, Double points, Double averageScore, Double averageRating, Long numberOfRatings) {
+public record TutorLeaderboardAssessmentsDTO(Long userId, Long assessments, Double points, Double averageScore, Double averageRating, Long numberOfRatings) {
- public TutorLeaderboardAssessments() {
+ public TutorLeaderboardAssessmentsDTO() {
this(0L, 0L, 0.0, 0.0, 0.0, 0L);
}
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/leaderboard/tutor/TutorLeaderboardComplaintResponses.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/tutor/TutorLeaderboardComplaintResponsesDTO.java
similarity index 62%
rename from src/main/java/de/tum/in/www1/artemis/domain/leaderboard/tutor/TutorLeaderboardComplaintResponses.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/tutor/TutorLeaderboardComplaintResponsesDTO.java
index f9e36f6db8d3..b0818246186e 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/leaderboard/tutor/TutorLeaderboardComplaintResponses.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/tutor/TutorLeaderboardComplaintResponsesDTO.java
@@ -1,14 +1,14 @@
-package de.tum.in.www1.artemis.domain.leaderboard.tutor;
+package de.tum.cit.aet.artemis.assessment.dto.tutor;
import jakarta.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonInclude;
-// Custom object for sql query
+// Custom object for sql query, we cannot use primitive types here, because otherwise Hibernate gets confused
@JsonInclude(JsonInclude.Include.NON_EMPTY)
-public record TutorLeaderboardComplaintResponses(Long userId, Long complaintResponses, Double points) {
+public record TutorLeaderboardComplaintResponsesDTO(Long userId, Long complaintResponses, Double points) {
- public TutorLeaderboardComplaintResponses() {
+ public TutorLeaderboardComplaintResponsesDTO() {
this(0L, 0L, 0.0);
}
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/leaderboard/tutor/TutorLeaderboardComplaints.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/tutor/TutorLeaderboardComplaintsDTO.java
similarity index 67%
rename from src/main/java/de/tum/in/www1/artemis/domain/leaderboard/tutor/TutorLeaderboardComplaints.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/tutor/TutorLeaderboardComplaintsDTO.java
index 6e33ecd22180..43d431b5f81e 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/leaderboard/tutor/TutorLeaderboardComplaints.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/tutor/TutorLeaderboardComplaintsDTO.java
@@ -1,14 +1,14 @@
-package de.tum.in.www1.artemis.domain.leaderboard.tutor;
+package de.tum.cit.aet.artemis.assessment.dto.tutor;
import jakarta.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonInclude;
-// Custom object for sql query
+// Custom object for sql query, we cannot use primitive types here, because otherwise Hibernate gets confused
@JsonInclude(JsonInclude.Include.NON_EMPTY)
-public record TutorLeaderboardComplaints(Long userId, Long allComplaints, Long acceptedComplaints, Double points) {
+public record TutorLeaderboardComplaintsDTO(Long userId, Long allComplaints, Long acceptedComplaints, Double points) {
- public TutorLeaderboardComplaints() {
+ public TutorLeaderboardComplaintsDTO() {
this(0L, 0L, 0L, 0.0);
}
diff --git a/src/main/java/de/tum/in/www1/artemis/domain/leaderboard/tutor/TutorLeaderboardMoreFeedbackRequests.java b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/tutor/TutorLeaderboardMoreFeedbackRequestsDTO.java
similarity index 65%
rename from src/main/java/de/tum/in/www1/artemis/domain/leaderboard/tutor/TutorLeaderboardMoreFeedbackRequests.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/dto/tutor/TutorLeaderboardMoreFeedbackRequestsDTO.java
index 2d800e69c2f9..e3fa9c394196 100644
--- a/src/main/java/de/tum/in/www1/artemis/domain/leaderboard/tutor/TutorLeaderboardMoreFeedbackRequests.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/dto/tutor/TutorLeaderboardMoreFeedbackRequestsDTO.java
@@ -1,14 +1,14 @@
-package de.tum.in.www1.artemis.domain.leaderboard.tutor;
+package de.tum.cit.aet.artemis.assessment.dto.tutor;
import jakarta.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonInclude;
-// Custom object for sql query
+// Custom object for sql query, we cannot use primitive types here, because otherwise Hibernate gets confused
@JsonInclude(JsonInclude.Include.NON_EMPTY)
-public record TutorLeaderboardMoreFeedbackRequests(Long userId, Long allRequests, Long notAnsweredRequests, Double points) {
+public record TutorLeaderboardMoreFeedbackRequestsDTO(Long userId, Long allRequests, Long notAnsweredRequests, Double points) {
- public TutorLeaderboardMoreFeedbackRequests() {
+ public TutorLeaderboardMoreFeedbackRequestsDTO() {
this(0L, 0L, 0L, 0.0);
}
diff --git a/src/main/java/de/tum/in/www1/artemis/repository/BonusRepository.java b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/BonusRepository.java
similarity index 73%
rename from src/main/java/de/tum/in/www1/artemis/repository/BonusRepository.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/repository/BonusRepository.java
index a2636ab20c06..0073c2d2f943 100644
--- a/src/main/java/de/tum/in/www1/artemis/repository/BonusRepository.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/BonusRepository.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.repository;
+package de.tum.cit.aet.artemis.assessment.repository;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import java.util.Set;
@@ -9,8 +9,8 @@
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
-import de.tum.in.www1.artemis.domain.Bonus;
-import de.tum.in.www1.artemis.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.assessment.domain.Bonus;
+import de.tum.cit.aet.artemis.core.repository.base.ArtemisJpaRepository;
/**
* Spring Data JPA repository for the Bonus entity
diff --git a/src/main/java/de/tum/in/www1/artemis/repository/ComplaintRepository.java b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/ComplaintRepository.java
similarity index 77%
rename from src/main/java/de/tum/in/www1/artemis/repository/ComplaintRepository.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/repository/ComplaintRepository.java
index cfa0e302a5ee..627bae47f858 100644
--- a/src/main/java/de/tum/in/www1/artemis/repository/ComplaintRepository.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/ComplaintRepository.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.repository;
+package de.tum.cit.aet.artemis.assessment.repository;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import static org.springframework.data.jpa.repository.EntityGraph.EntityGraphType.LOAD;
import java.util.List;
@@ -15,14 +15,14 @@
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
-import de.tum.in.www1.artemis.domain.Complaint;
-import de.tum.in.www1.artemis.domain.assessment.dashboard.ExerciseMapEntry;
-import de.tum.in.www1.artemis.domain.enumeration.ComplaintType;
-import de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardAnsweredMoreFeedbackRequests;
-import de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardComplaintResponses;
-import de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardComplaints;
-import de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardMoreFeedbackRequests;
-import de.tum.in.www1.artemis.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.assessment.domain.Complaint;
+import de.tum.cit.aet.artemis.assessment.domain.ComplaintType;
+import de.tum.cit.aet.artemis.assessment.dto.dashboard.ExerciseMapEntryDTO;
+import de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardAnsweredMoreFeedbackRequestsDTO;
+import de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardComplaintResponsesDTO;
+import de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardComplaintsDTO;
+import de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardMoreFeedbackRequestsDTO;
+import de.tum.cit.aet.artemis.core.repository.base.ArtemisJpaRepository;
/**
* Spring Data JPA repository for the Complaint entity.
@@ -103,7 +103,7 @@ public interface ComplaintRepository extends ArtemisJpaRepository countComplaintsByExerciseIdsAndComplaintType(@Param("exerciseIds") Set exerciseIds, @Param("complaintType") ComplaintType complaintType);
+ List countComplaintsByExerciseIdsAndComplaintType(@Param("exerciseIds") Set exerciseIds, @Param("complaintType") ComplaintType complaintType);
/**
* This method counts the number of complaints by complaint type associated to an exercise id ignoring test runs
@@ -170,7 +170,7 @@ SELECT COUNT(c)
* @return list of exercise ids with the number of complaints based on the complaint type
*/
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.assessment.dashboard.ExerciseMapEntry(
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.dashboard.ExerciseMapEntryDTO(
c.result.participation.exercise.id,
COUNT(DISTINCT c)
)
@@ -180,7 +180,7 @@ SELECT COUNT(c)
AND c.result.participation.testRun = FALSE
GROUP BY c.result.participation.exercise.id
""")
- List countComplaintsByExerciseIdsAndComplaintTypeIgnoreTestRuns(@Param("exerciseIds") Set exerciseIds,
+ List countComplaintsByExerciseIdsAndComplaintTypeIgnoreTestRuns(@Param("exerciseIds") Set exerciseIds,
@Param("complaintType") ComplaintType complaintType);
/**
@@ -209,15 +209,6 @@ SELECT COUNT(c)
@Modifying
void deleteByResult_Id(long resultId);
- /**
- * Given a user id, retrieve all complaints related to assessments made by that assessor
- *
- * @param assessorId - the id of the assessor
- * @return a list of complaints
- */
- @EntityGraph(type = LOAD, attributePaths = { "result.participation", "result.submission", "result.assessor" })
- List getAllByResult_Assessor_Id(Long assessorId);
-
/**
* Given an exercise id, retrieve all complaints related to that exercise
*
@@ -273,7 +264,7 @@ SELECT COUNT(c)
* @return list of TutorLeaderboardComplaints
*/
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardComplaints(
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardComplaintsDTO(
r.assessor.id,
COUNT(c),
SUM( CASE WHEN (c.accepted = TRUE ) THEN 1L ELSE 0L END),
@@ -283,13 +274,13 @@ SELECT COUNT(c)
JOIN c.result r
JOIN r.participation p
JOIN p.exercise e
- WHERE c.complaintType = de.tum.in.www1.artemis.domain.enumeration.ComplaintType.COMPLAINT
+ WHERE c.complaintType = de.tum.cit.aet.artemis.assessment.domain.ComplaintType.COMPLAINT
AND e.course.id = :courseId
AND r.completionDate IS NOT NULL
AND r.assessor.id IS NOT NULL
GROUP BY r.assessor.id
""")
- List findTutorLeaderboardComplaintsByCourseId(@Param("courseId") long courseId);
+ List findTutorLeaderboardComplaintsByCourseId(@Param("courseId") long courseId);
// Valid JPQL syntax. Only SCA fails to properly detect the types.
/**
@@ -299,7 +290,7 @@ SELECT COUNT(c)
* @return list of TutorLeaderboardComplaints
*/
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardComplaints(
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardComplaintsDTO(
r.assessor.id,
COUNT(c),
SUM( CASE WHEN (c.accepted = TRUE ) THEN 1L ELSE 0L END),
@@ -309,13 +300,13 @@ SELECT COUNT(c)
JOIN c.result r
JOIN r.participation p
JOIN p.exercise e
- WHERE c.complaintType = de.tum.in.www1.artemis.domain.enumeration.ComplaintType.COMPLAINT
+ WHERE c.complaintType = de.tum.cit.aet.artemis.assessment.domain.ComplaintType.COMPLAINT
AND e.id = :exerciseId
AND r.completionDate IS NOT NULL
AND r.assessor.id IS NOT NULL
GROUP BY r.assessor.id
""")
- List findTutorLeaderboardComplaintsByExerciseId(@Param("exerciseId") long exerciseId);
+ List findTutorLeaderboardComplaintsByExerciseId(@Param("exerciseId") long exerciseId);
// Valid JPQL syntax. Only SCA fails to properly detect the types.
/**
@@ -325,7 +316,7 @@ SELECT COUNT(c)
* @return list of TutorLeaderboardComplaints
*/
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardComplaints(
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardComplaintsDTO(
r.assessor.id,
COUNT(c),
SUM( CASE WHEN (c.accepted = TRUE ) THEN 1L ELSE 0L END),
@@ -336,13 +327,13 @@ SELECT COUNT(c)
JOIN r.participation p
JOIN p.exercise e
JOIN e.exerciseGroup eg
- WHERE c.complaintType = de.tum.in.www1.artemis.domain.enumeration.ComplaintType.COMPLAINT
+ WHERE c.complaintType = de.tum.cit.aet.artemis.assessment.domain.ComplaintType.COMPLAINT
AND eg.exam.id = :examId
AND r.completionDate IS NOT NULL
AND r.assessor.id IS NOT NULL
GROUP BY r.assessor.id
""")
- List findTutorLeaderboardComplaintsByExamId(@Param("examId") long examId);
+ List findTutorLeaderboardComplaintsByExamId(@Param("examId") long examId);
/**
* Get the number of complaintResponses for all tutors assessments of a course
@@ -351,7 +342,7 @@ SELECT COUNT(c)
* @return list of TutorLeaderboardComplaintResponses
*/
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardComplaintResponses(
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardComplaintResponsesDTO(
cr.reviewer.id,
COUNT(c),
SUM(e.maxPoints)
@@ -361,13 +352,13 @@ SELECT COUNT(c)
JOIN c.result r
JOIN r.participation p
JOIN p.exercise e
- WHERE c.complaintType = de.tum.in.www1.artemis.domain.enumeration.ComplaintType.COMPLAINT
+ WHERE c.complaintType = de.tum.cit.aet.artemis.assessment.domain.ComplaintType.COMPLAINT
AND e.course.id = :courseId
AND r.completionDate IS NOT NULL
AND c.accepted IS NOT NULL
GROUP BY cr.reviewer.id
""")
- List findTutorLeaderboardComplaintResponsesByCourseId(@Param("courseId") long courseId);
+ List findTutorLeaderboardComplaintResponsesByCourseId(@Param("courseId") long courseId);
/**
* Get the number of complaintResponses for all tutors assessments of an exercise
@@ -376,7 +367,7 @@ SELECT COUNT(c)
* @return list of TutorLeaderboardComplaintResponses
*/
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardComplaintResponses(
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardComplaintResponsesDTO(
cr.reviewer.id,
COUNT(c),
SUM(e.maxPoints)
@@ -386,13 +377,13 @@ SELECT COUNT(c)
JOIN c.result r
JOIN r.participation p
JOIN p.exercise e
- WHERE c.complaintType = de.tum.in.www1.artemis.domain.enumeration.ComplaintType.COMPLAINT
+ WHERE c.complaintType = de.tum.cit.aet.artemis.assessment.domain.ComplaintType.COMPLAINT
AND e.id = :exerciseId
AND r.completionDate IS NOT NULL
AND c.accepted IS NOT NULL
GROUP BY cr.reviewer.id
""")
- List findTutorLeaderboardComplaintResponsesByExerciseId(@Param("exerciseId") long exerciseId);
+ List findTutorLeaderboardComplaintResponsesByExerciseId(@Param("exerciseId") long exerciseId);
/**
* Get the number of complaintResponses for all tutors assessments of an exam
@@ -401,7 +392,7 @@ SELECT COUNT(c)
* @return list of TutorLeaderboardComplaintResponses
*/
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardComplaintResponses(
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardComplaintResponsesDTO(
cr.reviewer.id,
COUNT(c),
SUM(e.maxPoints)
@@ -412,13 +403,13 @@ SELECT COUNT(c)
JOIN r.participation p
JOIN p.exercise e
JOIN e.exerciseGroup eg
- WHERE c.complaintType = de.tum.in.www1.artemis.domain.enumeration.ComplaintType.COMPLAINT
+ WHERE c.complaintType = de.tum.cit.aet.artemis.assessment.domain.ComplaintType.COMPLAINT
AND eg.exam.id = :examId
AND r.completionDate IS NOT NULL
AND c.accepted IS NOT NULL
GROUP BY cr.reviewer.id
""")
- List findTutorLeaderboardComplaintResponsesByExamId(@Param("examId") long examId);
+ List findTutorLeaderboardComplaintResponsesByExamId(@Param("examId") long examId);
// Valid JPQL syntax. Only SCA fails to properly detect the types.
/**
@@ -428,7 +419,7 @@ SELECT COUNT(c)
* @return list of TutorLeaderboardMoreFeedbackRequests
*/
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardMoreFeedbackRequests(
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardMoreFeedbackRequestsDTO(
r.assessor.id,
COUNT(c),
SUM( CASE WHEN (c.accepted IS NULL) THEN 1L ELSE 0L END),
@@ -438,12 +429,12 @@ SELECT COUNT(c)
JOIN c.result r
JOIN r.participation p
JOIN p.exercise e
- WHERE c.complaintType = de.tum.in.www1.artemis.domain.enumeration.ComplaintType.MORE_FEEDBACK
+ WHERE c.complaintType = de.tum.cit.aet.artemis.assessment.domain.ComplaintType.MORE_FEEDBACK
AND e.course.id = :courseId
AND r.completionDate IS NOT NULL
GROUP BY r.assessor.id
""")
- List findTutorLeaderboardMoreFeedbackRequestsByCourseId(@Param("courseId") long courseId);
+ List findTutorLeaderboardMoreFeedbackRequestsByCourseId(@Param("courseId") long courseId);
// Valid JPQL syntax. Only SCA fails to properly detect the types.
/**
@@ -453,7 +444,7 @@ SELECT COUNT(c)
* @return list of TutorLeaderboardMoreFeedbackRequests
*/
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardMoreFeedbackRequests(
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardMoreFeedbackRequestsDTO(
r.assessor.id,
COUNT(c),
SUM( CASE WHEN (c.accepted IS NULL) THEN 1L ELSE 0L END),
@@ -464,12 +455,12 @@ SELECT COUNT(c)
JOIN r.participation p
JOIN p.exercise e
WHERE
- c.complaintType = de.tum.in.www1.artemis.domain.enumeration.ComplaintType.MORE_FEEDBACK
+ c.complaintType = de.tum.cit.aet.artemis.assessment.domain.ComplaintType.MORE_FEEDBACK
AND e.id = :exerciseId
AND r.completionDate IS NOT NULL
GROUP BY r.assessor.id
""")
- List findTutorLeaderboardMoreFeedbackRequestsByExerciseId(@Param("exerciseId") long exerciseId);
+ List findTutorLeaderboardMoreFeedbackRequestsByExerciseId(@Param("exerciseId") long exerciseId);
/**
* Get the number of Feedback Request Responses for all tutors assessments of a course
@@ -478,7 +469,7 @@ SELECT COUNT(c)
* @return list of TutorLeaderboardAnsweredMoreFeedbackRequests
*/
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardAnsweredMoreFeedbackRequests(
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardAnsweredMoreFeedbackRequestsDTO(
cr.reviewer.id,
COUNT(c),
SUM(e.maxPoints)
@@ -488,13 +479,13 @@ SELECT COUNT(c)
JOIN c.result r
JOIN r.participation p
JOIN p.exercise e
- WHERE c.complaintType = de.tum.in.www1.artemis.domain.enumeration.ComplaintType.MORE_FEEDBACK
+ WHERE c.complaintType = de.tum.cit.aet.artemis.assessment.domain.ComplaintType.MORE_FEEDBACK
AND e.course.id = :courseId
AND r.completionDate IS NOT NULL
AND c.accepted = TRUE
GROUP BY cr.reviewer.id
""")
- List findTutorLeaderboardAnsweredMoreFeedbackRequestsByCourseId(@Param("courseId") long courseId);
+ List findTutorLeaderboardAnsweredMoreFeedbackRequestsByCourseId(@Param("courseId") long courseId);
/**
* Get the number of Feedback Request Responses for all tutors assessments of an exercise
@@ -503,7 +494,7 @@ SELECT COUNT(c)
* @return list of TutorLeaderboardAnsweredMoreFeedbackRequests
*/
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardAnsweredMoreFeedbackRequests(
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardAnsweredMoreFeedbackRequestsDTO(
cr.reviewer.id,
COUNT(c),
SUM(e.maxPoints)
@@ -513,13 +504,13 @@ SELECT COUNT(c)
JOIN c.result r
JOIN r.participation p
JOIN p.exercise e
- WHERE c.complaintType = de.tum.in.www1.artemis.domain.enumeration.ComplaintType.MORE_FEEDBACK
+ WHERE c.complaintType = de.tum.cit.aet.artemis.assessment.domain.ComplaintType.MORE_FEEDBACK
AND e.id = :exerciseId
AND r.completionDate IS NOT NULL
AND c.accepted = TRUE
GROUP BY cr.reviewer.id
""")
- List findTutorLeaderboardAnsweredMoreFeedbackRequestsByExerciseId(@Param("exerciseId") long exerciseId);
+ List findTutorLeaderboardAnsweredMoreFeedbackRequestsByExerciseId(@Param("exerciseId") long exerciseId);
default Complaint findWithEagerAssessorByIdElseThrow(Long complaintId) {
return getValueElseThrow(findByIdWithEagerAssessor(complaintId), complaintId);
diff --git a/src/main/java/de/tum/in/www1/artemis/repository/ComplaintResponseRepository.java b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/ComplaintResponseRepository.java
similarity index 83%
rename from src/main/java/de/tum/in/www1/artemis/repository/ComplaintResponseRepository.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/repository/ComplaintResponseRepository.java
index c074f70a75d0..5287960c823a 100644
--- a/src/main/java/de/tum/in/www1/artemis/repository/ComplaintResponseRepository.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/ComplaintResponseRepository.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.repository;
+package de.tum.cit.aet.artemis.assessment.repository;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import java.util.List;
import java.util.Optional;
@@ -13,10 +13,10 @@
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
-import de.tum.in.www1.artemis.domain.ComplaintResponse;
-import de.tum.in.www1.artemis.domain.assessment.dashboard.ExerciseMapEntry;
-import de.tum.in.www1.artemis.domain.enumeration.ComplaintType;
-import de.tum.in.www1.artemis.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.assessment.domain.ComplaintResponse;
+import de.tum.cit.aet.artemis.assessment.domain.ComplaintType;
+import de.tum.cit.aet.artemis.assessment.dto.dashboard.ExerciseMapEntryDTO;
+import de.tum.cit.aet.artemis.core.repository.base.ArtemisJpaRepository;
/**
* Spring Data JPA repository for the ComplaintResponse entity.
@@ -69,7 +69,7 @@ SELECT COUNT (DISTINCT cr)
* @return List of exercise ids with their number of complaints
*/
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.assessment.dashboard.ExerciseMapEntry(
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.dashboard.ExerciseMapEntryDTO(
cr.complaint.result.participation.exercise.id,
COUNT(DISTINCT cr)
)
@@ -80,7 +80,7 @@ SELECT COUNT (DISTINCT cr)
AND cr.complaint.result.participation.testRun = FALSE
GROUP BY cr.complaint.result.participation.exercise.id
""")
- List countComplaintsByExerciseIdsAndComplaintComplaintTypeIgnoreTestRuns(@Param("exerciseIds") Set exerciseIds,
+ List countComplaintsByExerciseIdsAndComplaintComplaintTypeIgnoreTestRuns(@Param("exerciseIds") Set exerciseIds,
@Param("complaintType") ComplaintType complaintType);
/**
@@ -91,7 +91,7 @@ List countComplaintsByExerciseIdsAndComplaintComplaintTypeIgno
* @return list of exercise ids with their number of complaints based on the complaint type
*/
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.assessment.dashboard.ExerciseMapEntry(
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.dashboard.ExerciseMapEntryDTO(
cr.complaint.result.participation.exercise.id,
COUNT(DISTINCT cr)
)
@@ -101,7 +101,8 @@ List countComplaintsByExerciseIdsAndComplaintComplaintTypeIgno
AND cr.complaint.complaintType = :complaintType
GROUP BY cr.complaint.result.participation.exercise.id
""")
- List countComplaintsByExerciseIdsAndComplaintComplaintType(@Param("exerciseIds") Set exerciseIds, @Param("complaintType") ComplaintType complaintType);
+ List countComplaintsByExerciseIdsAndComplaintComplaintType(@Param("exerciseIds") Set exerciseIds,
+ @Param("complaintType") ComplaintType complaintType);
/**
* Delete all complaint responses that belong to the given result
diff --git a/src/main/java/de/tum/in/www1/artemis/repository/ExampleSubmissionRepository.java b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/ExampleSubmissionRepository.java
similarity index 90%
rename from src/main/java/de/tum/in/www1/artemis/repository/ExampleSubmissionRepository.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/repository/ExampleSubmissionRepository.java
index 403038d66b30..c3d85e893be8 100644
--- a/src/main/java/de/tum/in/www1/artemis/repository/ExampleSubmissionRepository.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/ExampleSubmissionRepository.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.repository;
+package de.tum.cit.aet.artemis.assessment.repository;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import static org.springframework.data.jpa.repository.EntityGraph.EntityGraphType.LOAD;
import java.util.List;
@@ -13,10 +13,10 @@
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
-import de.tum.in.www1.artemis.domain.ExampleSubmission;
-import de.tum.in.www1.artemis.domain.Feedback;
-import de.tum.in.www1.artemis.domain.Result;
-import de.tum.in.www1.artemis.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.assessment.domain.ExampleSubmission;
+import de.tum.cit.aet.artemis.assessment.domain.Feedback;
+import de.tum.cit.aet.artemis.assessment.domain.Result;
+import de.tum.cit.aet.artemis.core.repository.base.ArtemisJpaRepository;
/**
* Spring Data JPA repository for the ExampleSubmission entity.
diff --git a/src/main/java/de/tum/in/www1/artemis/repository/FeedbackRepository.java b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/FeedbackRepository.java
similarity index 84%
rename from src/main/java/de/tum/in/www1/artemis/repository/FeedbackRepository.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/repository/FeedbackRepository.java
index 34ec357f4b57..12f4e658b7fc 100644
--- a/src/main/java/de/tum/in/www1/artemis/repository/FeedbackRepository.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/FeedbackRepository.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.repository;
+package de.tum.cit.aet.artemis.assessment.repository;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import java.util.ArrayList;
import java.util.Collections;
@@ -12,12 +12,12 @@
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.Feedback;
-import de.tum.in.www1.artemis.domain.GradingCriterion;
-import de.tum.in.www1.artemis.domain.GradingInstruction;
-import de.tum.in.www1.artemis.domain.Result;
-import de.tum.in.www1.artemis.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.assessment.domain.Feedback;
+import de.tum.cit.aet.artemis.assessment.domain.GradingCriterion;
+import de.tum.cit.aet.artemis.assessment.domain.GradingInstruction;
+import de.tum.cit.aet.artemis.assessment.domain.Result;
+import de.tum.cit.aet.artemis.core.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
/**
* Spring Data JPA repository for the Feedback entity.
@@ -38,9 +38,9 @@ public interface FeedbackRepository extends ArtemisJpaRepository
List findFeedbackByGradingInstructionIds(@Param("gradingInstructionsIds") List gradingInstructionsIds);
@Query("""
- SELECT COUNT(*) > 0
- FROM Feedback feedback
- WHERE feedback.gradingInstruction.id IN :gradingInstructionsIds
+ SELECT COUNT(*) > 0
+ FROM Feedback feedback
+ WHERE feedback.gradingInstruction.id IN :gradingInstructionsIds
""")
boolean hasFeedbackFromGradingInstructionIds(@Param("gradingInstructionsIds") List gradingInstructionsIds);
diff --git a/src/main/java/de/tum/in/www1/artemis/repository/GradeStepRepository.java b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/GradeStepRepository.java
similarity index 53%
rename from src/main/java/de/tum/in/www1/artemis/repository/GradeStepRepository.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/repository/GradeStepRepository.java
index 6e43a3b8c7b6..20b890519c66 100644
--- a/src/main/java/de/tum/in/www1/artemis/repository/GradeStepRepository.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/GradeStepRepository.java
@@ -1,12 +1,12 @@
-package de.tum.in.www1.artemis.repository;
+package de.tum.cit.aet.artemis.assessment.repository;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Repository;
-import de.tum.in.www1.artemis.domain.GradeStep;
-import de.tum.in.www1.artemis.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.assessment.domain.GradeStep;
+import de.tum.cit.aet.artemis.core.repository.base.ArtemisJpaRepository;
/**
* Spring Data JPA Repository for the GradeStep entity
diff --git a/src/main/java/de/tum/in/www1/artemis/repository/GradingCriterionRepository.java b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/GradingCriterionRepository.java
similarity index 74%
rename from src/main/java/de/tum/in/www1/artemis/repository/GradingCriterionRepository.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/repository/GradingCriterionRepository.java
index a8876d64fb36..26eebd307ed2 100644
--- a/src/main/java/de/tum/in/www1/artemis/repository/GradingCriterionRepository.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/GradingCriterionRepository.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.repository;
+package de.tum.cit.aet.artemis.assessment.repository;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import java.util.Set;
@@ -9,8 +9,8 @@
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
-import de.tum.in.www1.artemis.domain.GradingCriterion;
-import de.tum.in.www1.artemis.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.assessment.domain.GradingCriterion;
+import de.tum.cit.aet.artemis.core.repository.base.ArtemisJpaRepository;
/**
* Spring Data JPA repository for the GradingCriteria entity.
diff --git a/src/main/java/de/tum/in/www1/artemis/repository/GradingInstructionRepository.java b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/GradingInstructionRepository.java
similarity index 54%
rename from src/main/java/de/tum/in/www1/artemis/repository/GradingInstructionRepository.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/repository/GradingInstructionRepository.java
index 41b1393a4712..f64670cd16c4 100644
--- a/src/main/java/de/tum/in/www1/artemis/repository/GradingInstructionRepository.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/GradingInstructionRepository.java
@@ -1,12 +1,12 @@
-package de.tum.in.www1.artemis.repository;
+package de.tum.cit.aet.artemis.assessment.repository;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Repository;
-import de.tum.in.www1.artemis.domain.GradingInstruction;
-import de.tum.in.www1.artemis.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.assessment.domain.GradingInstruction;
+import de.tum.cit.aet.artemis.core.repository.base.ArtemisJpaRepository;
/**
* Spring Data JPA repository for the GradingInstruction entity.
diff --git a/src/main/java/de/tum/in/www1/artemis/repository/GradingScaleRepository.java b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/GradingScaleRepository.java
similarity index 93%
rename from src/main/java/de/tum/in/www1/artemis/repository/GradingScaleRepository.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/repository/GradingScaleRepository.java
index 5647ac17d0bb..75668fde72e5 100644
--- a/src/main/java/de/tum/in/www1/artemis/repository/GradingScaleRepository.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/GradingScaleRepository.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.repository;
+package de.tum.cit.aet.artemis.assessment.repository;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import static org.springframework.data.jpa.repository.EntityGraph.EntityGraphType.LOAD;
import java.util.Comparator;
@@ -19,11 +19,11 @@
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
-import de.tum.in.www1.artemis.domain.GradeStep;
-import de.tum.in.www1.artemis.domain.GradingScale;
-import de.tum.in.www1.artemis.repository.base.ArtemisJpaRepository;
-import de.tum.in.www1.artemis.web.rest.errors.BadRequestAlertException;
-import de.tum.in.www1.artemis.web.rest.errors.EntityNotFoundException;
+import de.tum.cit.aet.artemis.assessment.domain.GradeStep;
+import de.tum.cit.aet.artemis.assessment.domain.GradingScale;
+import de.tum.cit.aet.artemis.core.exception.BadRequestAlertException;
+import de.tum.cit.aet.artemis.core.exception.EntityNotFoundException;
+import de.tum.cit.aet.artemis.core.repository.base.ArtemisJpaRepository;
/**
* Spring Data JPA for the GradingScale entity
@@ -140,7 +140,7 @@ default GradingScale findByExamIdOrElseThrow(long examId) {
LEFT JOIN gs.course
LEFT JOIN gs.exam
LEFT JOIN gs.exam.course
- WHERE gs.gradeType = de.tum.in.www1.artemis.domain.GradeType.BONUS
+ WHERE gs.gradeType = de.tum.cit.aet.artemis.assessment.domain.GradeType.BONUS
AND (
(gs.course.instructorGroupName IN :groups AND gs.course.title LIKE %:partialTitle%)
OR (gs.exam.course.instructorGroupName IN :groups AND gs.exam.title LIKE %:partialTitle%)
@@ -165,7 +165,7 @@ Page findWithBonusGradeTypeByTitleInCourseOrExamAndUserHasAccessTo
FROM GradingScale gs
LEFT JOIN gs.course
LEFT JOIN gs.exam
- WHERE gs.gradeType = de.tum.in.www1.artemis.domain.GradeType.BONUS
+ WHERE gs.gradeType = de.tum.cit.aet.artemis.assessment.domain.GradeType.BONUS
AND (gs.course.title LIKE %:partialTitle% OR gs.exam.title LIKE %:partialTitle%)
""")
Page findWithBonusGradeTypeByTitleInCourseOrExamForAdmin(@Param("partialTitle") String partialTitle, Pageable pageable);
diff --git a/src/main/java/de/tum/in/www1/artemis/repository/LongFeedbackTextRepository.java b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/LongFeedbackTextRepository.java
similarity index 87%
rename from src/main/java/de/tum/in/www1/artemis/repository/LongFeedbackTextRepository.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/repository/LongFeedbackTextRepository.java
index cce1a63b3f84..6ad61c4ef7ff 100644
--- a/src/main/java/de/tum/in/www1/artemis/repository/LongFeedbackTextRepository.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/LongFeedbackTextRepository.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.repository;
+package de.tum.cit.aet.artemis.assessment.repository;
import java.util.List;
import java.util.Optional;
@@ -6,8 +6,8 @@
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
-import de.tum.in.www1.artemis.domain.LongFeedbackText;
-import de.tum.in.www1.artemis.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.assessment.domain.LongFeedbackText;
+import de.tum.cit.aet.artemis.core.repository.base.ArtemisJpaRepository;
public interface LongFeedbackTextRepository extends ArtemisJpaRepository {
@@ -23,7 +23,7 @@ public interface LongFeedbackTextRepository extends ArtemisJpaRepository findByFeedbackIds(@Param("feedbackIds") List feedbackIds);
@Query("""
diff --git a/src/main/java/de/tum/in/www1/artemis/repository/ParticipantScoreRepository.java b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/ParticipantScoreRepository.java
similarity index 86%
rename from src/main/java/de/tum/in/www1/artemis/repository/ParticipantScoreRepository.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/repository/ParticipantScoreRepository.java
index 88d4388925ea..14598bad30b1 100644
--- a/src/main/java/de/tum/in/www1/artemis/repository/ParticipantScoreRepository.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/ParticipantScoreRepository.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.repository;
+package de.tum.cit.aet.artemis.assessment.repository;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import static org.springframework.data.jpa.repository.EntityGraph.EntityGraphType.LOAD;
import java.time.Instant;
@@ -10,8 +10,6 @@
import java.util.Optional;
import java.util.Set;
-import jakarta.validation.constraints.NotNull;
-
import org.springframework.context.annotation.Profile;
import org.springframework.data.jpa.repository.EntityGraph;
import org.springframework.data.jpa.repository.Modifying;
@@ -20,14 +18,14 @@
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.quiz.QuizExercise;
-import de.tum.in.www1.artemis.domain.scores.ParticipantScore;
-import de.tum.in.www1.artemis.domain.statistics.ScoreDistribution;
-import de.tum.in.www1.artemis.repository.base.ArtemisJpaRepository;
-import de.tum.in.www1.artemis.service.scheduled.ParticipantScoreScheduleService;
-import de.tum.in.www1.artemis.web.rest.dto.CourseManagementOverviewExerciseStatisticsDTO;
-import de.tum.in.www1.artemis.web.rest.dto.ExerciseScoresAggregatedInformation;
+import de.tum.cit.aet.artemis.assessment.domain.ParticipantScore;
+import de.tum.cit.aet.artemis.assessment.dto.ScoreDistributionDTO;
+import de.tum.cit.aet.artemis.assessment.service.ParticipantScoreScheduleService;
+import de.tum.cit.aet.artemis.core.dto.CourseManagementOverviewExerciseStatisticsDTO;
+import de.tum.cit.aet.artemis.core.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
+import de.tum.cit.aet.artemis.exercise.dto.ExerciseScoresAggregatedInformation;
+import de.tum.cit.aet.artemis.quiz.domain.QuizExercise;
@Profile(PROFILE_CORE)
@Repository
@@ -46,7 +44,6 @@ public interface ParticipantScoreRepository extends ArtemisJpaRepository findAllOutdated();
- @NotNull
@Override
@EntityGraph(type = LOAD, attributePaths = { "exercise", "lastResult", "lastRatedResult" })
List findAll();
@@ -95,6 +92,7 @@ SELECT AVG(p.lastScore)
* @param resultId the id of the result to be removed
* @see ParticipantScoreScheduleService
*/
+ @Transactional // ok because of delete
default void clearAllByResultId(Long resultId) {
this.clearLastResultByResultId(resultId);
this.clearLastRatedResultByResultId(resultId);
@@ -107,7 +105,7 @@ SELECT MAX(ps.lastModifiedDate) AS latestModifiedDate
Optional getLatestModifiedDate();
@Query("""
- SELECT new de.tum.in.www1.artemis.web.rest.dto.ExerciseScoresAggregatedInformation(
+ SELECT new de.tum.cit.aet.artemis.exercise.dto.ExerciseScoresAggregatedInformation(
p.exercise.id,
AVG(p.lastRatedScore),
MAX(p.lastRatedScore)
@@ -119,13 +117,13 @@ SELECT MAX(ps.lastModifiedDate) AS latestModifiedDate
List getAggregatedExerciseScoresInformation(@Param("exercises") Set exercises);
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.statistics.ScoreDistribution(count(p.id), p.lastRatedScore)
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.ScoreDistributionDTO(count(p.id), p.lastRatedScore)
FROM ParticipantScore p
WHERE p.exercise.id = :exerciseId
GROUP BY p.id
ORDER BY p.lastRatedScore ASC
""")
- List getScoreDistributionForExercise(@Param("exerciseId") Long exerciseId);
+ List getScoreDistributionForExercise(@Param("exerciseId") Long exerciseId);
/**
* Delete all participant scores for a given exercise
diff --git a/src/main/java/de/tum/in/www1/artemis/repository/RatingRepository.java b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/RatingRepository.java
similarity index 75%
rename from src/main/java/de/tum/in/www1/artemis/repository/RatingRepository.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/repository/RatingRepository.java
index 9f71db5c372f..13a107e5d9b4 100644
--- a/src/main/java/de/tum/in/www1/artemis/repository/RatingRepository.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/RatingRepository.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.repository;
+package de.tum.cit.aet.artemis.assessment.repository;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import java.util.List;
import java.util.Optional;
@@ -12,9 +12,9 @@
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
-import de.tum.in.www1.artemis.domain.Rating;
-import de.tum.in.www1.artemis.domain.assessment.dashboard.ExerciseRatingCount;
-import de.tum.in.www1.artemis.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.assessment.domain.Rating;
+import de.tum.cit.aet.artemis.assessment.dto.dashboard.ExerciseRatingCountDTO;
+import de.tum.cit.aet.artemis.core.repository.base.ArtemisJpaRepository;
/**
* Spring Data JPA repository for the Rating entity.
@@ -38,8 +38,8 @@ public interface RatingRepository extends ArtemisJpaRepository {
// Valid JPQL syntax, only SCA is not able to parse it
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.assessment.dashboard.ExerciseRatingCount(
- CAST(SUM(ra.rating) AS double) / SUM(CASE WHEN ra.rating IS NOT NULL THEN 1 ELSE 0 END),
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.dashboard.ExerciseRatingCountDTO(
+ CAST(CAST(SUM(ra.rating) AS double) / SUM(CASE WHEN ra.rating IS NOT NULL THEN 1 ELSE 0 END) AS double),
SUM(CASE WHEN ra.rating IS NOT NULL THEN 1 ELSE 0 END))
FROM Result r
JOIN r.participation p
@@ -48,7 +48,7 @@ public interface RatingRepository extends ArtemisJpaRepository {
WHERE r.completionDate IS NOT NULL
AND e.id = :exerciseId
""")
- ExerciseRatingCount averageRatingByExerciseId(@Param("exerciseId") long exerciseId);
+ ExerciseRatingCountDTO averageRatingByExerciseId(@Param("exerciseId") long exerciseId);
/**
* Count all ratings given to submissions for the given course.
diff --git a/src/main/java/de/tum/in/www1/artemis/repository/ResultRepository.java b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/ResultRepository.java
similarity index 92%
rename from src/main/java/de/tum/in/www1/artemis/repository/ResultRepository.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/repository/ResultRepository.java
index d0a20634642a..e873f468b0ae 100644
--- a/src/main/java/de/tum/in/www1/artemis/repository/ResultRepository.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/ResultRepository.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.repository;
+package de.tum.cit.aet.artemis.assessment.repository;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import static java.util.Arrays.asList;
import static org.springframework.data.jpa.repository.EntityGraph.EntityGraphType.LOAD;
@@ -21,23 +21,23 @@
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
-import de.tum.in.www1.artemis.domain.Course;
-import de.tum.in.www1.artemis.domain.DomainObject;
-import de.tum.in.www1.artemis.domain.ExampleSubmission;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.Feedback;
-import de.tum.in.www1.artemis.domain.GradingCriterion;
-import de.tum.in.www1.artemis.domain.ProgrammingExercise;
-import de.tum.in.www1.artemis.domain.Result;
-import de.tum.in.www1.artemis.domain.Submission;
-import de.tum.in.www1.artemis.domain.User;
-import de.tum.in.www1.artemis.domain.assessment.dashboard.ResultCount;
-import de.tum.in.www1.artemis.domain.enumeration.AssessmentType;
-import de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardAssessments;
-import de.tum.in.www1.artemis.repository.base.ArtemisJpaRepository;
-import de.tum.in.www1.artemis.service.util.RoundingUtil;
-import de.tum.in.www1.artemis.web.rest.dto.DueDateStat;
-import de.tum.in.www1.artemis.web.rest.dto.ResultWithPointsPerGradingCriterionDTO;
+import de.tum.cit.aet.artemis.assessment.domain.AssessmentType;
+import de.tum.cit.aet.artemis.assessment.domain.ExampleSubmission;
+import de.tum.cit.aet.artemis.assessment.domain.Feedback;
+import de.tum.cit.aet.artemis.assessment.domain.GradingCriterion;
+import de.tum.cit.aet.artemis.assessment.domain.Result;
+import de.tum.cit.aet.artemis.assessment.dto.ResultWithPointsPerGradingCriterionDTO;
+import de.tum.cit.aet.artemis.assessment.dto.dashboard.ResultCountDTO;
+import de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardAssessmentsDTO;
+import de.tum.cit.aet.artemis.core.domain.Course;
+import de.tum.cit.aet.artemis.core.domain.DomainObject;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.core.dto.DueDateStat;
+import de.tum.cit.aet.artemis.core.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.core.util.RoundingUtil;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
+import de.tum.cit.aet.artemis.exercise.domain.Submission;
+import de.tum.cit.aet.artemis.programming.domain.ProgrammingExercise;
/**
* Spring Data JPA repository for the Result entity.
@@ -73,7 +73,7 @@ LEFT JOIN TREAT (r.participation AS ProgrammingExerciseStudentParticipation) sp
SELECT MAX(rr.completionDate)
FROM Result rr
LEFT JOIN TREAT (rr.participation AS ProgrammingExerciseStudentParticipation) sp2
- WHERE rr.assessmentType = de.tum.in.www1.artemis.domain.enumeration.AssessmentType.AUTOMATIC
+ WHERE rr.assessmentType = de.tum.cit.aet.artemis.assessment.domain.AssessmentType.AUTOMATIC
AND sp2.exercise.id = :exerciseId
AND sp2.student = sp.student
)
@@ -224,7 +224,7 @@ default Optional findFirstByParticipationIdAndRatedWithSubmissionOrderBy
LEFT JOIN FETCH r.feedbacks
LEFT JOIN FETCH r.assessor
LEFT JOIN FETCH r.assessmentNote
- LEFT JOIN FETCH r.participation p
+ LEFT JOIN FETCH TREAT (r.participation AS StudentParticipation ) p
LEFT JOIN FETCH p.team t
LEFT JOIN FETCH t.students
WHERE r.id = :resultId
@@ -238,7 +238,7 @@ default Optional findFirstByParticipationIdAndRatedWithSubmissionOrderBy
* @return a list with 3 elements: count of rated (in time) and unrated (late) assessments of a course and count of assessments without rating (null)
*/
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.assessment.dashboard.ResultCount(r.rated, COUNT(r))
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.dashboard.ResultCountDTO(r.rated, COUNT(r))
FROM Result r
JOIN r.participation p
WHERE r.completionDate IS NOT NULL
@@ -246,7 +246,7 @@ default Optional findFirstByParticipationIdAndRatedWithSubmissionOrderBy
AND p.exercise.id IN :exerciseIds
GROUP BY r.rated
""")
- List countAssessmentsByExerciseIdsAndRated(@Param("exerciseIds") Set exerciseIds);
+ List countAssessmentsByExerciseIdsAndRated(@Param("exerciseIds") Set exerciseIds);
/**
* Load a result from the database by its id together with the associated submission and the list of feedback items.
@@ -259,7 +259,7 @@ default Optional findFirstByParticipationIdAndRatedWithSubmissionOrderBy
FROM Result r
LEFT JOIN FETCH r.submission
LEFT JOIN FETCH r.feedbacks
- LEFT JOIN FETCH r.participation p
+ LEFT JOIN FETCH TREAT (r.participation AS StudentParticipation ) p
LEFT JOIN FETCH p.team t
LEFT JOIN FETCH t.students
WHERE r.id = :resultId
@@ -365,7 +365,7 @@ SELECT COUNT(DISTINCT p)
AND r.rated = TRUE
AND r.completionDate IS NOT NULL
AND (p.exercise.dueDate IS NULL OR r.submission.submissionDate <= p.exercise.dueDate)
- """)
+ """)
long countNumberOfAssessmentsByTypeForExerciseBeforeDueDate(@Param("exerciseId") long exerciseId, @Param("types") List types);
@Query("""
@@ -392,7 +392,7 @@ SELECT COUNT(DISTINCT p)
AND p.student.id = :studentId
AND r.score IS NOT NULL
AND r.completionDate IS NOT NULL
- AND (s.type <> de.tum.in.www1.artemis.domain.enumeration.SubmissionType.ILLEGAL OR s.type IS NULL)
+ AND (s.type <> de.tum.cit.aet.artemis.exercise.domain.SubmissionType.ILLEGAL OR s.type IS NULL)
ORDER BY p.id DESC, s.id DESC, r.id DESC
""")
List getResultsOrderedByParticipationIdLegalSubmissionIdResultIdDescForStudent(@Param("exerciseId") long exerciseId, @Param("studentId") long studentId);
@@ -407,7 +407,7 @@ SELECT COUNT(DISTINCT p)
AND p.team.id = :teamId
AND r.score IS NOT NULL
AND r.completionDate IS NOT NULL
- AND (s.type <> de.tum.in.www1.artemis.domain.enumeration.SubmissionType.ILLEGAL OR s.type IS NULL)
+ AND (s.type <> de.tum.cit.aet.artemis.exercise.domain.SubmissionType.ILLEGAL OR s.type IS NULL)
ORDER BY p.id DESC, s.id DESC, r.id DESC
""")
List getResultsOrderedByParticipationIdLegalSubmissionIdResultIdDescForTeam(@Param("exerciseId") long exerciseId, @Param("teamId") long teamId);
@@ -423,7 +423,7 @@ SELECT COUNT(DISTINCT p)
AND r.score IS NOT NULL
AND r.completionDate IS NOT NULL
AND r.rated = TRUE
- AND (s.type <> de.tum.in.www1.artemis.domain.enumeration.SubmissionType.ILLEGAL OR s.type IS NULL)
+ AND (s.type <> de.tum.cit.aet.artemis.exercise.domain.SubmissionType.ILLEGAL OR s.type IS NULL)
ORDER BY p.id DESC, s.id DESC, r.id DESC
""")
List getRatedResultsOrderedByParticipationIdLegalSubmissionIdResultIdDescForStudent(@Param("exerciseId") long exerciseId, @Param("studentId") long studentId);
@@ -439,7 +439,7 @@ SELECT COUNT(DISTINCT p)
AND r.score IS NOT NULL
AND r.completionDate IS NOT NULL
AND r.rated = TRUE
- AND (s.type <> de.tum.in.www1.artemis.domain.enumeration.SubmissionType.ILLEGAL OR s.type IS NULL)
+ AND (s.type <> de.tum.cit.aet.artemis.exercise.domain.SubmissionType.ILLEGAL OR s.type IS NULL)
ORDER BY p.id DESC, s.id DESC, r.id DESC
""")
List getRatedResultsOrderedByParticipationIdLegalSubmissionIdResultIdDescForTeam(@Param("exerciseId") long exerciseId, @Param("teamId") long teamId);
@@ -597,14 +597,13 @@ else if (Boolean.FALSE.equals(ratedCount.rated())) {
return new DueDateStat(inTime, late);
}
- // Valid JPQL syntax, only SCA is not able to parse it
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardAssessments(
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardAssessmentsDTO(
r.assessor.id,
COUNT(r),
SUM(e.maxPoints),
AVG(r.score),
- CAST(SUM(rating.rating) AS double) / SUM(CASE WHEN rating.rating IS NOT NULL THEN 1 ELSE 0 END),
+ CAST(CAST(SUM(rating.rating) AS double) / SUM(CASE WHEN rating.rating IS NOT NULL THEN 1 ELSE 0 END) AS double),
SUM(CASE WHEN rating.rating IS NOT NULL THEN 1 ELSE 0 END)
)
FROM Result r
@@ -616,18 +615,15 @@ else if (Boolean.FALSE.equals(ratedCount.rated())) {
AND e.id IN :exerciseIds
GROUP BY r.assessor.id
""")
- List findTutorLeaderboardAssessmentByCourseId(@Param("exerciseIds") Set exerciseIds);
-
- // Alternative which might be faster, in particular for complaints in the other repositories
- // Valid JPQL syntax, only SCA is not able to parse it
+ List findTutorLeaderboardAssessmentByCourseId(@Param("exerciseIds") Set exerciseIds);
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardAssessments(
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardAssessmentsDTO(
r.assessor.id,
COUNT(r),
SUM(e.maxPoints),
AVG(r.score),
- CAST(SUM(rating.rating) AS double) / SUM(CASE WHEN rating.rating IS NOT NULL THEN 1 ELSE 0 END),
+ CAST(CAST(SUM(rating.rating) AS double) / SUM(CASE WHEN rating.rating IS NOT NULL THEN 1 ELSE 0 END) AS double),
SUM(CASE WHEN rating.rating IS NOT NULL THEN 1 ELSE 0 END)
)
FROM Result r
@@ -639,15 +635,16 @@ else if (Boolean.FALSE.equals(ratedCount.rated())) {
AND e.id = :exerciseId
GROUP BY r.assessor.id
""")
- List findTutorLeaderboardAssessmentByExerciseId(@Param("exerciseId") long exerciseId);
+ List findTutorLeaderboardAssessmentByExerciseId(@Param("exerciseId") long exerciseId);
+ // Valid JPQL syntax, only SCA is not able to parse it due to mixing primitive and object types
@Query("""
- SELECT new de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardAssessments(
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardAssessmentsDTO(
r.assessor.id,
COUNT(r),
SUM(e.maxPoints),
AVG(r.score),
- CAST(SUM(rating.rating) AS double) / SUM(CASE WHEN rating.rating IS NOT NULL THEN 1 ELSE 0 END),
+ CAST(CAST(SUM(rating.rating) AS double) / SUM(CASE WHEN rating.rating IS NOT NULL THEN 1 ELSE 0 END) AS double),
SUM(CASE WHEN rating.rating IS NOT NULL THEN 1 ELSE 0 END)
)
FROM Result r
@@ -661,7 +658,7 @@ else if (Boolean.FALSE.equals(ratedCount.rated())) {
AND ex.id = :examId
GROUP BY r.assessor.id
""")
- List findTutorLeaderboardAssessmentByExamId(@Param("examId") long examId);
+ List findTutorLeaderboardAssessmentByExamId(@Param("examId") long examId);
/**
* This function is used for submitting a manual assessment/result.
diff --git a/src/main/java/de/tum/in/www1/artemis/repository/StudentScoreRepository.java b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/StudentScoreRepository.java
similarity index 76%
rename from src/main/java/de/tum/in/www1/artemis/repository/StudentScoreRepository.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/repository/StudentScoreRepository.java
index d7afb0bb7acd..dbf32eb37bad 100644
--- a/src/main/java/de/tum/in/www1/artemis/repository/StudentScoreRepository.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/StudentScoreRepository.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.repository;
+package de.tum.cit.aet.artemis.assessment.repository;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import static org.springframework.data.jpa.repository.EntityGraph.EntityGraphType.LOAD;
import java.util.List;
@@ -15,11 +15,11 @@
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.User;
-import de.tum.in.www1.artemis.domain.scores.StudentScore;
-import de.tum.in.www1.artemis.repository.base.ArtemisJpaRepository;
-import de.tum.in.www1.artemis.web.rest.dto.score.StudentScoreSum;
+import de.tum.cit.aet.artemis.assessment.domain.StudentScore;
+import de.tum.cit.aet.artemis.assessment.dto.score.StudentScoreSumDTO;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.core.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
@Profile(PROFILE_CORE)
@Repository
@@ -33,13 +33,13 @@ public interface StudentScoreRepository extends ArtemisJpaRepository findByExercise_IdAndUser_Id(long exerciseId, long userId);
@Query("""
- SELECT new de.tum.in.www1.artemis.web.rest.dto.score.StudentScoreSum(u.id, COALESCE(SUM(s.lastRatedPoints), 0))
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.score.StudentScoreSumDTO(u.id, COALESCE(SUM(s.lastRatedPoints), 0))
FROM StudentScore s
LEFT JOIN s.user u
WHERE s.exercise IN :exercises
GROUP BY u.id
""")
- Set getAchievedPointsOfStudents(@Param("exercises") Set exercises);
+ Set getAchievedPointsOfStudents(@Param("exercises") Set exercises);
@Query("""
SELECT s
diff --git a/src/main/java/de/tum/in/www1/artemis/repository/TeamScoreRepository.java b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/TeamScoreRepository.java
similarity index 76%
rename from src/main/java/de/tum/in/www1/artemis/repository/TeamScoreRepository.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/repository/TeamScoreRepository.java
index 83e7146866ea..5556fecb148a 100644
--- a/src/main/java/de/tum/in/www1/artemis/repository/TeamScoreRepository.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/TeamScoreRepository.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.repository;
+package de.tum.cit.aet.artemis.assessment.repository;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import static org.springframework.data.jpa.repository.EntityGraph.EntityGraphType.LOAD;
import java.util.List;
@@ -15,12 +15,12 @@
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.Team;
-import de.tum.in.www1.artemis.domain.User;
-import de.tum.in.www1.artemis.domain.scores.TeamScore;
-import de.tum.in.www1.artemis.repository.base.ArtemisJpaRepository;
-import de.tum.in.www1.artemis.web.rest.dto.score.TeamScoreSum;
+import de.tum.cit.aet.artemis.assessment.domain.TeamScore;
+import de.tum.cit.aet.artemis.assessment.dto.score.TeamScoreSumDTO;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.core.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
+import de.tum.cit.aet.artemis.exercise.domain.Team;
@Profile(PROFILE_CORE)
@Repository
@@ -34,13 +34,13 @@ public interface TeamScoreRepository extends ArtemisJpaRepository findByExercise_IdAndTeam_Id(Long exerciseId, Long teamId);
@Query("""
- SELECT new de.tum.in.www1.artemis.web.rest.dto.score.TeamScoreSum(t.id, COALESCE(SUM(s.lastRatedPoints), 0))
+ SELECT new de.tum.cit.aet.artemis.assessment.dto.score.TeamScoreSumDTO(t.id, COALESCE(SUM(s.lastRatedPoints), 0))
FROM TeamScore s
LEFT JOIN s.team t
WHERE s.exercise IN :exercises
GROUP BY t.id
""")
- Set getAchievedPointsOfTeams(@Param("exercises") Set exercises);
+ Set getAchievedPointsOfTeams(@Param("exercises") Set exercises);
@Query("""
SELECT s
diff --git a/src/main/java/de/tum/in/www1/artemis/repository/TextAssessmentEventRepository.java b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/TextAssessmentEventRepository.java
similarity index 93%
rename from src/main/java/de/tum/in/www1/artemis/repository/TextAssessmentEventRepository.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/repository/TextAssessmentEventRepository.java
index 83997008937f..5ab413e316af 100644
--- a/src/main/java/de/tum/in/www1/artemis/repository/TextAssessmentEventRepository.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/TextAssessmentEventRepository.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.repository;
+package de.tum.cit.aet.artemis.assessment.repository;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import static java.util.stream.Collectors.toMap;
import java.util.List;
@@ -11,8 +11,8 @@
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
-import de.tum.in.www1.artemis.domain.analytics.TextAssessmentEvent;
-import de.tum.in.www1.artemis.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.core.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.text.domain.TextAssessmentEvent;
/**
* Spring Data repository for the TextAssessmentEvent entity.
diff --git a/src/main/java/de/tum/in/www1/artemis/repository/TextBlockRepository.java b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/TextBlockRepository.java
similarity index 70%
rename from src/main/java/de/tum/in/www1/artemis/repository/TextBlockRepository.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/repository/TextBlockRepository.java
index cf9cfd5e44e0..53d2540e9e0d 100644
--- a/src/main/java/de/tum/in/www1/artemis/repository/TextBlockRepository.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/TextBlockRepository.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.repository;
+package de.tum.cit.aet.artemis.assessment.repository;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import java.util.Set;
@@ -9,8 +9,8 @@
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
-import de.tum.in.www1.artemis.domain.TextBlock;
-import de.tum.in.www1.artemis.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.core.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.text.domain.TextBlock;
/**
* Spring Data repository for the TextBlock entity.
diff --git a/src/main/java/de/tum/in/www1/artemis/repository/TutorParticipationRepository.java b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/TutorParticipationRepository.java
similarity index 80%
rename from src/main/java/de/tum/in/www1/artemis/repository/TutorParticipationRepository.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/repository/TutorParticipationRepository.java
index a98e50f2ec8f..dad67442f9ae 100644
--- a/src/main/java/de/tum/in/www1/artemis/repository/TutorParticipationRepository.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/repository/TutorParticipationRepository.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.repository;
+package de.tum.cit.aet.artemis.assessment.repository;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import static org.springframework.data.jpa.repository.EntityGraph.EntityGraphType.LOAD;
import java.util.List;
@@ -11,11 +11,11 @@
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
-import de.tum.in.www1.artemis.domain.Course;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.User;
-import de.tum.in.www1.artemis.domain.participation.TutorParticipation;
-import de.tum.in.www1.artemis.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.assessment.domain.TutorParticipation;
+import de.tum.cit.aet.artemis.core.domain.Course;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.core.repository.base.ArtemisJpaRepository;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
/**
* Spring Data JPA repository for the TutorParticipation entity.
diff --git a/src/main/java/de/tum/in/www1/artemis/service/AssessmentDashboardService.java b/src/main/java/de/tum/cit/aet/artemis/assessment/service/AssessmentDashboardService.java
similarity index 87%
rename from src/main/java/de/tum/in/www1/artemis/service/AssessmentDashboardService.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/service/AssessmentDashboardService.java
index ca049af340e0..08f256cc2ed7 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/AssessmentDashboardService.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/service/AssessmentDashboardService.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.service;
+package de.tum.cit.aet.artemis.assessment.service;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import java.util.ArrayList;
import java.util.Collections;
@@ -13,18 +13,18 @@
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
-import de.tum.in.www1.artemis.domain.ExampleSubmission;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.ProgrammingExercise;
-import de.tum.in.www1.artemis.domain.assessment.dashboard.ExerciseMapEntry;
-import de.tum.in.www1.artemis.domain.enumeration.TutorParticipationStatus;
-import de.tum.in.www1.artemis.domain.participation.TutorParticipation;
-import de.tum.in.www1.artemis.repository.ExampleSubmissionRepository;
-import de.tum.in.www1.artemis.repository.ProgrammingExerciseRepository;
-import de.tum.in.www1.artemis.repository.ResultRepository;
-import de.tum.in.www1.artemis.repository.SubmissionRepository;
-import de.tum.in.www1.artemis.service.util.TimeLogUtil;
-import de.tum.in.www1.artemis.web.rest.dto.DueDateStat;
+import de.tum.cit.aet.artemis.assessment.domain.ExampleSubmission;
+import de.tum.cit.aet.artemis.assessment.domain.TutorParticipation;
+import de.tum.cit.aet.artemis.assessment.dto.dashboard.ExerciseMapEntryDTO;
+import de.tum.cit.aet.artemis.assessment.repository.ExampleSubmissionRepository;
+import de.tum.cit.aet.artemis.assessment.repository.ResultRepository;
+import de.tum.cit.aet.artemis.core.dto.DueDateStat;
+import de.tum.cit.aet.artemis.core.util.TimeLogUtil;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
+import de.tum.cit.aet.artemis.exercise.repository.SubmissionRepository;
+import de.tum.cit.aet.artemis.programming.domain.ProgrammingExercise;
+import de.tum.cit.aet.artemis.programming.repository.ProgrammingExerciseRepository;
+import de.tum.cit.aet.artemis.tutorialgroup.domain.TutorParticipationStatus;
/**
* Service Implementation for managing Tutor-Assessment-Dashboard.
@@ -155,9 +155,9 @@ public void generateStatisticsForExercisesForAssessmentDashboard(Set e
* @param examMode - if the exercises are part of an exam
*/
private void calculateNumberOfSubmissions(Set programmingExercises, Set nonProgrammingExercises, boolean examMode) {
- final List programmingSubmissionsCounts;
- final List submissionCounts;
- final List lateSubmissionCounts;
+ final List programmingSubmissionsCounts;
+ final List submissionCounts;
+ final List lateSubmissionCounts;
Set programmingExerciseIds = programmingExercises.stream().map(Exercise::getId).collect(Collectors.toSet());
Set nonProgrammingExerciseIds = nonProgrammingExercises.stream().map(Exercise::getId).collect(Collectors.toSet());
@@ -172,9 +172,9 @@ private void calculateNumberOfSubmissions(Set programmingExercises, Se
lateSubmissionCounts = submissionRepository.countByExerciseIdsSubmittedAfterDueDate(nonProgrammingExerciseIds);
}
// convert the data from the queries
- var programmingSubmissionMap = programmingSubmissionsCounts.stream().collect(Collectors.toMap(ExerciseMapEntry::exerciseId, ExerciseMapEntry::value));
- var submissionMap = submissionCounts.stream().collect(Collectors.toMap(ExerciseMapEntry::exerciseId, ExerciseMapEntry::value));
- var lateSubmissionMap = lateSubmissionCounts.stream().collect(Collectors.toMap(ExerciseMapEntry::exerciseId, ExerciseMapEntry::value));
+ var programmingSubmissionMap = programmingSubmissionsCounts.stream().collect(Collectors.toMap(ExerciseMapEntryDTO::exerciseId, ExerciseMapEntryDTO::value));
+ var submissionMap = submissionCounts.stream().collect(Collectors.toMap(ExerciseMapEntryDTO::exerciseId, ExerciseMapEntryDTO::value));
+ var lateSubmissionMap = lateSubmissionCounts.stream().collect(Collectors.toMap(ExerciseMapEntryDTO::exerciseId, ExerciseMapEntryDTO::value));
// set the number of submissions for the exercises
programmingExercises.forEach(exercise -> exercise.setNumberOfSubmissions(new DueDateStat(programmingSubmissionMap.getOrDefault(exercise.getId(), 0L), 0L)));
diff --git a/src/main/java/de/tum/in/www1/artemis/service/AssessmentService.java b/src/main/java/de/tum/cit/aet/artemis/assessment/service/AssessmentService.java
similarity index 90%
rename from src/main/java/de/tum/in/www1/artemis/service/AssessmentService.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/service/AssessmentService.java
index 11189aebe394..1a451ad49aff 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/AssessmentService.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/service/AssessmentService.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.service;
+package de.tum.cit.aet.artemis.assessment.service;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import java.time.ZonedDateTime;
import java.util.List;
@@ -9,31 +9,33 @@
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
-import de.tum.in.www1.artemis.domain.AssessmentNote;
-import de.tum.in.www1.artemis.domain.ComplaintResponse;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.Feedback;
-import de.tum.in.www1.artemis.domain.ProgrammingExercise;
-import de.tum.in.www1.artemis.domain.Result;
-import de.tum.in.www1.artemis.domain.Submission;
-import de.tum.in.www1.artemis.domain.User;
-import de.tum.in.www1.artemis.domain.enumeration.AssessmentType;
-import de.tum.in.www1.artemis.domain.exam.Exam;
-import de.tum.in.www1.artemis.domain.participation.StudentParticipation;
-import de.tum.in.www1.artemis.repository.ComplaintRepository;
-import de.tum.in.www1.artemis.repository.FeedbackRepository;
-import de.tum.in.www1.artemis.repository.ResultRepository;
-import de.tum.in.www1.artemis.repository.StudentParticipationRepository;
-import de.tum.in.www1.artemis.repository.SubmissionRepository;
-import de.tum.in.www1.artemis.repository.UserRepository;
-import de.tum.in.www1.artemis.service.connectors.lti.LtiNewResultService;
-import de.tum.in.www1.artemis.service.exam.ExamDateService;
-import de.tum.in.www1.artemis.service.notifications.SingleUserNotificationService;
-import de.tum.in.www1.artemis.service.programming.ProgrammingAssessmentService;
-import de.tum.in.www1.artemis.web.rest.dto.AssessmentUpdateBaseDTO;
-import de.tum.in.www1.artemis.web.rest.errors.BadRequestAlertException;
-import de.tum.in.www1.artemis.web.rest.errors.EntityNotFoundException;
-import de.tum.in.www1.artemis.web.websocket.ResultWebsocketService;
+import de.tum.cit.aet.artemis.assessment.domain.AssessmentNote;
+import de.tum.cit.aet.artemis.assessment.domain.AssessmentType;
+import de.tum.cit.aet.artemis.assessment.domain.ComplaintResponse;
+import de.tum.cit.aet.artemis.assessment.domain.Feedback;
+import de.tum.cit.aet.artemis.assessment.domain.Result;
+import de.tum.cit.aet.artemis.assessment.dto.AssessmentUpdateBaseDTO;
+import de.tum.cit.aet.artemis.assessment.repository.ComplaintRepository;
+import de.tum.cit.aet.artemis.assessment.repository.FeedbackRepository;
+import de.tum.cit.aet.artemis.assessment.repository.ResultRepository;
+import de.tum.cit.aet.artemis.assessment.web.ResultWebsocketService;
+import de.tum.cit.aet.artemis.communication.service.notifications.SingleUserNotificationService;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.core.exception.BadRequestAlertException;
+import de.tum.cit.aet.artemis.core.exception.EntityNotFoundException;
+import de.tum.cit.aet.artemis.core.repository.UserRepository;
+import de.tum.cit.aet.artemis.exam.domain.Exam;
+import de.tum.cit.aet.artemis.exam.service.ExamDateService;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
+import de.tum.cit.aet.artemis.exercise.domain.Submission;
+import de.tum.cit.aet.artemis.exercise.domain.participation.StudentParticipation;
+import de.tum.cit.aet.artemis.exercise.repository.StudentParticipationRepository;
+import de.tum.cit.aet.artemis.exercise.repository.SubmissionRepository;
+import de.tum.cit.aet.artemis.exercise.service.ExerciseDateService;
+import de.tum.cit.aet.artemis.exercise.service.SubmissionService;
+import de.tum.cit.aet.artemis.lti.service.LtiNewResultService;
+import de.tum.cit.aet.artemis.programming.domain.ProgrammingExercise;
+import de.tum.cit.aet.artemis.programming.service.ProgrammingAssessmentService;
@Profile(PROFILE_CORE)
@Service
diff --git a/src/main/java/de/tum/in/www1/artemis/service/BonusService.java b/src/main/java/de/tum/cit/aet/artemis/assessment/service/BonusService.java
similarity index 87%
rename from src/main/java/de/tum/in/www1/artemis/service/BonusService.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/service/BonusService.java
index a93a326cf4fa..c982db81f448 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/BonusService.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/service/BonusService.java
@@ -1,19 +1,19 @@
-package de.tum.in.www1.artemis.service;
+package de.tum.cit.aet.artemis.assessment.service;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
-import de.tum.in.www1.artemis.domain.Bonus;
-import de.tum.in.www1.artemis.domain.GradeStep;
-import de.tum.in.www1.artemis.domain.GradeType;
-import de.tum.in.www1.artemis.domain.GradingScale;
-import de.tum.in.www1.artemis.domain.IBonusStrategy;
-import de.tum.in.www1.artemis.repository.BonusRepository;
-import de.tum.in.www1.artemis.repository.GradingScaleRepository;
-import de.tum.in.www1.artemis.web.rest.dto.BonusExampleDTO;
-import de.tum.in.www1.artemis.web.rest.errors.BadRequestAlertException;
+import de.tum.cit.aet.artemis.assessment.domain.Bonus;
+import de.tum.cit.aet.artemis.assessment.domain.GradeStep;
+import de.tum.cit.aet.artemis.assessment.domain.GradeType;
+import de.tum.cit.aet.artemis.assessment.domain.GradingScale;
+import de.tum.cit.aet.artemis.assessment.domain.IBonusStrategy;
+import de.tum.cit.aet.artemis.assessment.dto.BonusExampleDTO;
+import de.tum.cit.aet.artemis.assessment.repository.BonusRepository;
+import de.tum.cit.aet.artemis.assessment.repository.GradingScaleRepository;
+import de.tum.cit.aet.artemis.core.exception.BadRequestAlertException;
@Profile(PROFILE_CORE)
@Service
diff --git a/src/main/java/de/tum/in/www1/artemis/service/ComplaintResponseService.java b/src/main/java/de/tum/cit/aet/artemis/assessment/service/ComplaintResponseService.java
similarity index 93%
rename from src/main/java/de/tum/in/www1/artemis/service/ComplaintResponseService.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/service/ComplaintResponseService.java
index 1662b60d27fc..07b716e8f387 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/ComplaintResponseService.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/service/ComplaintResponseService.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.service;
+package de.tum.cit.aet.artemis.assessment.service;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import java.time.ZonedDateTime;
@@ -9,21 +9,22 @@
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
-import de.tum.in.www1.artemis.domain.Complaint;
-import de.tum.in.www1.artemis.domain.ComplaintResponse;
-import de.tum.in.www1.artemis.domain.Course;
-import de.tum.in.www1.artemis.domain.Result;
-import de.tum.in.www1.artemis.domain.Team;
-import de.tum.in.www1.artemis.domain.User;
-import de.tum.in.www1.artemis.domain.enumeration.ComplaintType;
-import de.tum.in.www1.artemis.domain.participation.StudentParticipation;
-import de.tum.in.www1.artemis.repository.ComplaintRepository;
-import de.tum.in.www1.artemis.repository.ComplaintResponseRepository;
-import de.tum.in.www1.artemis.repository.UserRepository;
-import de.tum.in.www1.artemis.service.dto.ComplaintResponseUpdateDTO;
-import de.tum.in.www1.artemis.web.rest.errors.AccessForbiddenException;
-import de.tum.in.www1.artemis.web.rest.errors.BadRequestAlertException;
-import de.tum.in.www1.artemis.web.rest.errors.ComplaintResponseLockedException;
+import de.tum.cit.aet.artemis.assessment.domain.Complaint;
+import de.tum.cit.aet.artemis.assessment.domain.ComplaintResponse;
+import de.tum.cit.aet.artemis.assessment.domain.ComplaintType;
+import de.tum.cit.aet.artemis.assessment.domain.Result;
+import de.tum.cit.aet.artemis.assessment.dto.ComplaintResponseUpdateDTO;
+import de.tum.cit.aet.artemis.assessment.repository.ComplaintRepository;
+import de.tum.cit.aet.artemis.assessment.repository.ComplaintResponseRepository;
+import de.tum.cit.aet.artemis.core.domain.Course;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.core.exception.AccessForbiddenException;
+import de.tum.cit.aet.artemis.core.exception.BadRequestAlertException;
+import de.tum.cit.aet.artemis.core.exception.ComplaintResponseLockedException;
+import de.tum.cit.aet.artemis.core.repository.UserRepository;
+import de.tum.cit.aet.artemis.core.service.AuthorizationCheckService;
+import de.tum.cit.aet.artemis.exercise.domain.Team;
+import de.tum.cit.aet.artemis.exercise.domain.participation.StudentParticipation;
/**
* Service for managing complaint responses.
diff --git a/src/main/java/de/tum/in/www1/artemis/service/ComplaintService.java b/src/main/java/de/tum/cit/aet/artemis/assessment/service/ComplaintService.java
similarity index 88%
rename from src/main/java/de/tum/in/www1/artemis/service/ComplaintService.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/service/ComplaintService.java
index cb53f7ce742e..7c05ad20306f 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/ComplaintService.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/service/ComplaintService.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.service;
+package de.tum.cit.aet.artemis.assessment.service;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import java.security.Principal;
import java.time.ZonedDateTime;
@@ -15,27 +15,28 @@
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
-import de.tum.in.www1.artemis.domain.Complaint;
-import de.tum.in.www1.artemis.domain.Course;
-import de.tum.in.www1.artemis.domain.DomainObject;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.Result;
-import de.tum.in.www1.artemis.domain.Team;
-import de.tum.in.www1.artemis.domain.User;
-import de.tum.in.www1.artemis.domain.assessment.dashboard.ExerciseMapEntry;
-import de.tum.in.www1.artemis.domain.enumeration.AssessmentType;
-import de.tum.in.www1.artemis.domain.enumeration.ComplaintType;
-import de.tum.in.www1.artemis.domain.exam.Exam;
-import de.tum.in.www1.artemis.domain.participation.Participant;
-import de.tum.in.www1.artemis.domain.participation.StudentParticipation;
-import de.tum.in.www1.artemis.repository.ComplaintRepository;
-import de.tum.in.www1.artemis.repository.ComplaintResponseRepository;
-import de.tum.in.www1.artemis.repository.ExamRepository;
-import de.tum.in.www1.artemis.repository.ResultRepository;
-import de.tum.in.www1.artemis.repository.TeamRepository;
-import de.tum.in.www1.artemis.repository.UserRepository;
-import de.tum.in.www1.artemis.service.dto.ComplaintRequestDTO;
-import de.tum.in.www1.artemis.web.rest.errors.BadRequestAlertException;
+import de.tum.cit.aet.artemis.assessment.domain.AssessmentType;
+import de.tum.cit.aet.artemis.assessment.domain.Complaint;
+import de.tum.cit.aet.artemis.assessment.domain.ComplaintType;
+import de.tum.cit.aet.artemis.assessment.domain.Result;
+import de.tum.cit.aet.artemis.assessment.dto.ComplaintRequestDTO;
+import de.tum.cit.aet.artemis.assessment.dto.dashboard.ExerciseMapEntryDTO;
+import de.tum.cit.aet.artemis.assessment.repository.ComplaintRepository;
+import de.tum.cit.aet.artemis.assessment.repository.ComplaintResponseRepository;
+import de.tum.cit.aet.artemis.assessment.repository.ResultRepository;
+import de.tum.cit.aet.artemis.core.domain.Course;
+import de.tum.cit.aet.artemis.core.domain.DomainObject;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.core.exception.BadRequestAlertException;
+import de.tum.cit.aet.artemis.core.repository.UserRepository;
+import de.tum.cit.aet.artemis.exam.domain.Exam;
+import de.tum.cit.aet.artemis.exam.repository.ExamRepository;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
+import de.tum.cit.aet.artemis.exercise.domain.Team;
+import de.tum.cit.aet.artemis.exercise.domain.participation.Participant;
+import de.tum.cit.aet.artemis.exercise.domain.participation.StudentParticipation;
+import de.tum.cit.aet.artemis.exercise.repository.TeamRepository;
+import de.tum.cit.aet.artemis.exercise.service.ExerciseDateService;
/**
* Service for managing complaints.
@@ -209,10 +210,10 @@ public void calculateNrOfOpenComplaints(Set exercises, boolean examMod
if (exercises.isEmpty()) {
return;
}
- List numberOfComplaintsOfExercise = List.of();
- List numberOfComplaintResponsesOfExercise = List.of();
- List numberOfMoreFeedbackRequestsOfExercise = List.of();
- List numberOfMoreFeedbackResponsesOfExercise = List.of();
+ List numberOfComplaintsOfExercise = List.of();
+ List numberOfComplaintResponsesOfExercise = List.of();
+ List numberOfMoreFeedbackRequestsOfExercise = List.of();
+ List numberOfMoreFeedbackResponsesOfExercise = List.of();
Set exerciseIds = exercises.stream().map(DomainObject::getId).collect(Collectors.toSet());
// only invoke the query for non empty exercise sets to avoid performance issues
@@ -234,10 +235,12 @@ public void calculateNrOfOpenComplaints(Set exercises, boolean examMod
ComplaintType.MORE_FEEDBACK);
}
}
- var numberOfComplaintsMap = numberOfComplaintsOfExercise.stream().collect(Collectors.toMap(ExerciseMapEntry::exerciseId, ExerciseMapEntry::value));
- var numberOfComplaintResponsesMap = numberOfComplaintResponsesOfExercise.stream().collect(Collectors.toMap(ExerciseMapEntry::exerciseId, ExerciseMapEntry::value));
- var numberOfMoreFeedbackRequestsMap = numberOfMoreFeedbackRequestsOfExercise.stream().collect(Collectors.toMap(ExerciseMapEntry::exerciseId, ExerciseMapEntry::value));
- var numberOfMoreFeedbackResponsesMap = numberOfMoreFeedbackResponsesOfExercise.stream().collect(Collectors.toMap(ExerciseMapEntry::exerciseId, ExerciseMapEntry::value));
+ var numberOfComplaintsMap = numberOfComplaintsOfExercise.stream().collect(Collectors.toMap(ExerciseMapEntryDTO::exerciseId, ExerciseMapEntryDTO::value));
+ var numberOfComplaintResponsesMap = numberOfComplaintResponsesOfExercise.stream().collect(Collectors.toMap(ExerciseMapEntryDTO::exerciseId, ExerciseMapEntryDTO::value));
+ var numberOfMoreFeedbackRequestsMap = numberOfMoreFeedbackRequestsOfExercise.stream()
+ .collect(Collectors.toMap(ExerciseMapEntryDTO::exerciseId, ExerciseMapEntryDTO::value));
+ var numberOfMoreFeedbackResponsesMap = numberOfMoreFeedbackResponsesOfExercise.stream()
+ .collect(Collectors.toMap(ExerciseMapEntryDTO::exerciseId, ExerciseMapEntryDTO::value));
exercises.forEach(exercise -> {
exercise.setNumberOfOpenComplaints(numberOfComplaintsMap.getOrDefault(exercise.getId(), 0L) - numberOfComplaintResponsesMap.getOrDefault(exercise.getId(), 0L));
exercise.setNumberOfComplaints(numberOfComplaintsMap.getOrDefault(exercise.getId(), 0L));
diff --git a/src/main/java/de/tum/in/www1/artemis/service/CourseScoreCalculationService.java b/src/main/java/de/tum/cit/aet/artemis/assessment/service/CourseScoreCalculationService.java
similarity index 91%
rename from src/main/java/de/tum/in/www1/artemis/service/CourseScoreCalculationService.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/service/CourseScoreCalculationService.java
index 2a1de47c008c..ff7a43011f70 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/CourseScoreCalculationService.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/service/CourseScoreCalculationService.java
@@ -1,7 +1,7 @@
-package de.tum.in.www1.artemis.service;
+package de.tum.cit.aet.artemis.assessment.service;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
-import static de.tum.in.www1.artemis.service.util.RoundingUtil.roundScoreSpecifiedByCourseSettings;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.util.RoundingUtil.roundScoreSpecifiedByCourseSettings;
import java.time.ZonedDateTime;
import java.util.ArrayList;
@@ -23,29 +23,30 @@
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
-import de.tum.in.www1.artemis.domain.Course;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.GradingScale;
-import de.tum.in.www1.artemis.domain.ProgrammingExercise;
-import de.tum.in.www1.artemis.domain.Result;
-import de.tum.in.www1.artemis.domain.User;
-import de.tum.in.www1.artemis.domain.enumeration.AssessmentType;
-import de.tum.in.www1.artemis.domain.enumeration.ExerciseType;
-import de.tum.in.www1.artemis.domain.enumeration.IncludedInOverallScore;
-import de.tum.in.www1.artemis.domain.participation.Participation;
-import de.tum.in.www1.artemis.domain.participation.StudentParticipation;
-import de.tum.in.www1.artemis.domain.plagiarism.PlagiarismCase;
-import de.tum.in.www1.artemis.domain.plagiarism.PlagiarismVerdict;
-import de.tum.in.www1.artemis.repository.ExerciseRepository;
-import de.tum.in.www1.artemis.repository.StudentParticipationRepository;
-import de.tum.in.www1.artemis.repository.plagiarism.PlagiarismCaseRepository;
-import de.tum.in.www1.artemis.service.dto.MaxAndReachablePoints;
-import de.tum.in.www1.artemis.service.plagiarism.PlagiarismCaseService.PlagiarismMapping;
-import de.tum.in.www1.artemis.web.rest.dto.BonusSourceResultDTO;
-import de.tum.in.www1.artemis.web.rest.dto.CourseForDashboardDTO;
-import de.tum.in.www1.artemis.web.rest.dto.CourseScoresDTO;
-import de.tum.in.www1.artemis.web.rest.dto.ParticipationResultDTO;
-import de.tum.in.www1.artemis.web.rest.dto.score.StudentScoresDTO;
+import de.tum.cit.aet.artemis.assessment.domain.AssessmentType;
+import de.tum.cit.aet.artemis.assessment.domain.GradingScale;
+import de.tum.cit.aet.artemis.assessment.domain.Result;
+import de.tum.cit.aet.artemis.assessment.dto.BonusSourceResultDTO;
+import de.tum.cit.aet.artemis.assessment.dto.MaxAndReachablePointsDTO;
+import de.tum.cit.aet.artemis.assessment.dto.score.StudentScoresDTO;
+import de.tum.cit.aet.artemis.core.domain.Course;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.core.dto.CourseForDashboardDTO;
+import de.tum.cit.aet.artemis.core.dto.CourseScoresDTO;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
+import de.tum.cit.aet.artemis.exercise.domain.ExerciseType;
+import de.tum.cit.aet.artemis.exercise.domain.IncludedInOverallScore;
+import de.tum.cit.aet.artemis.exercise.domain.participation.Participation;
+import de.tum.cit.aet.artemis.exercise.domain.participation.StudentParticipation;
+import de.tum.cit.aet.artemis.exercise.dto.ParticipationResultDTO;
+import de.tum.cit.aet.artemis.exercise.repository.ExerciseRepository;
+import de.tum.cit.aet.artemis.exercise.repository.StudentParticipationRepository;
+import de.tum.cit.aet.artemis.exercise.service.ExerciseDateService;
+import de.tum.cit.aet.artemis.plagiarism.domain.PlagiarismCase;
+import de.tum.cit.aet.artemis.plagiarism.domain.PlagiarismVerdict;
+import de.tum.cit.aet.artemis.plagiarism.repository.PlagiarismCaseRepository;
+import de.tum.cit.aet.artemis.plagiarism.service.PlagiarismCaseService.PlagiarismMapping;
+import de.tum.cit.aet.artemis.programming.domain.ProgrammingExercise;
/**
* Service Implementation for calculating course scores.
@@ -86,10 +87,10 @@ public CourseScoreCalculationService(StudentParticipationRepository studentParti
* @param exercises the exercises which are included into max points calculation
* @return the max and reachable max points for the given exercises
*/
- private MaxAndReachablePoints calculateMaxAndReachablePoints(GradingScale gradingScale, Set exercises) {
+ private MaxAndReachablePointsDTO calculateMaxAndReachablePoints(GradingScale gradingScale, Set exercises) {
if (exercises.isEmpty()) {
- return new MaxAndReachablePoints(0, 0, 0);
+ return new MaxAndReachablePointsDTO(0, 0, 0);
}
double maxPoints = 0.0;
@@ -115,7 +116,7 @@ private MaxAndReachablePoints calculateMaxAndReachablePoints(GradingScale gradin
reachableMaxPoints += reachablePresentationPoints;
}
- return new MaxAndReachablePoints(maxPoints, reachableMaxPoints, reachablePresentationPoints);
+ return new MaxAndReachablePointsDTO(maxPoints, reachableMaxPoints, reachablePresentationPoints);
}
/**
@@ -139,7 +140,7 @@ public Map calculateCourseScoresForExamBonusSource(C
return null;
}
- MaxAndReachablePoints maxAndReachablePoints = calculateMaxAndReachablePoints(gradingScale, courseExercises);
+ MaxAndReachablePointsDTO maxAndReachablePoints = calculateMaxAndReachablePoints(gradingScale, courseExercises);
List plagiarismCases;
@@ -174,7 +175,7 @@ public Map calculateCourseScoresForExamBonusSource(C
}
private BonusSourceResultDTO constructBonusSourceResultDTO(Course course, GradingScale gradingScale, Long studentId, List participations,
- MaxAndReachablePoints maxAndReachablePoints, List plagiarismCases) {
+ MaxAndReachablePointsDTO maxAndReachablePoints, List plagiarismCases) {
StudentScoresDTO studentScores = calculateCourseScoreForStudent(course, gradingScale, studentId, participations, maxAndReachablePoints, plagiarismCases);
boolean presentationScorePassed;
@@ -231,7 +232,7 @@ public CourseForDashboardDTO getScoresAndParticipationResults(Course course, Gra
Set courseExercises = course.getExercises();
- MaxAndReachablePoints maxAndReachablePoints = calculateMaxAndReachablePoints(gradingScale, courseExercises);
+ MaxAndReachablePointsDTO maxAndReachablePoints = calculateMaxAndReachablePoints(gradingScale, courseExercises);
List plagiarismCases = new ArrayList<>();
for (Exercise exercise : courseExercises) {
@@ -314,7 +315,7 @@ private Map calculateCourseScores(Course course,
* @return a StudentScoresDTO instance with the presentation score, relative and absolute points achieved by the given student.
*/
public StudentScoresDTO calculateCourseScoreForStudent(Course course, GradingScale gradingScale, Long studentId, Collection participationsOfStudent,
- MaxAndReachablePoints maxAndReachablePoints, Collection plagiarismCases) {
+ MaxAndReachablePointsDTO maxAndReachablePoints, Collection plagiarismCases) {
PlagiarismMapping plagiarismMapping = PlagiarismMapping.createFromPlagiarismCases(plagiarismCases);
diff --git a/src/main/java/de/tum/in/www1/artemis/service/ExampleSubmissionService.java b/src/main/java/de/tum/cit/aet/artemis/assessment/service/ExampleSubmissionService.java
similarity index 85%
rename from src/main/java/de/tum/in/www1/artemis/service/ExampleSubmissionService.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/service/ExampleSubmissionService.java
index c9f50a53dca3..73e961df3855 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/ExampleSubmissionService.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/service/ExampleSubmissionService.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.service;
+package de.tum.cit.aet.artemis.assessment.service;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import java.util.HashMap;
import java.util.Map;
@@ -10,21 +10,23 @@
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
-import de.tum.in.www1.artemis.domain.ExampleSubmission;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.GradingInstruction;
-import de.tum.in.www1.artemis.domain.Submission;
-import de.tum.in.www1.artemis.domain.TextExercise;
-import de.tum.in.www1.artemis.domain.TextSubmission;
-import de.tum.in.www1.artemis.domain.modeling.ModelingExercise;
-import de.tum.in.www1.artemis.domain.modeling.ModelingSubmission;
-import de.tum.in.www1.artemis.repository.ExampleSubmissionRepository;
-import de.tum.in.www1.artemis.repository.ExerciseRepository;
-import de.tum.in.www1.artemis.repository.GradingCriterionRepository;
-import de.tum.in.www1.artemis.repository.SubmissionRepository;
-import de.tum.in.www1.artemis.repository.TextSubmissionRepository;
-import de.tum.in.www1.artemis.repository.TutorParticipationRepository;
-import de.tum.in.www1.artemis.web.rest.errors.BadRequestAlertException;
+import de.tum.cit.aet.artemis.assessment.domain.ExampleSubmission;
+import de.tum.cit.aet.artemis.assessment.domain.GradingInstruction;
+import de.tum.cit.aet.artemis.assessment.repository.ExampleSubmissionRepository;
+import de.tum.cit.aet.artemis.assessment.repository.GradingCriterionRepository;
+import de.tum.cit.aet.artemis.assessment.repository.TutorParticipationRepository;
+import de.tum.cit.aet.artemis.core.exception.BadRequestAlertException;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
+import de.tum.cit.aet.artemis.exercise.domain.Submission;
+import de.tum.cit.aet.artemis.exercise.repository.ExerciseRepository;
+import de.tum.cit.aet.artemis.exercise.repository.SubmissionRepository;
+import de.tum.cit.aet.artemis.modeling.domain.ModelingExercise;
+import de.tum.cit.aet.artemis.modeling.domain.ModelingSubmission;
+import de.tum.cit.aet.artemis.modeling.service.ModelingExerciseImportService;
+import de.tum.cit.aet.artemis.text.domain.TextExercise;
+import de.tum.cit.aet.artemis.text.domain.TextSubmission;
+import de.tum.cit.aet.artemis.text.repository.TextSubmissionRepository;
+import de.tum.cit.aet.artemis.text.service.TextExerciseImportService;
@Profile(PROFILE_CORE)
@Service
diff --git a/src/main/java/de/tum/in/www1/artemis/service/FeedbackService.java b/src/main/java/de/tum/cit/aet/artemis/assessment/service/FeedbackService.java
similarity index 89%
rename from src/main/java/de/tum/in/www1/artemis/service/FeedbackService.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/service/FeedbackService.java
index 3ab2cf3156f6..74ace4fbd20c 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/FeedbackService.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/service/FeedbackService.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.service;
+package de.tum.cit.aet.artemis.assessment.service;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import java.util.Objects;
import java.util.Optional;
@@ -9,9 +9,9 @@
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
-import de.tum.in.www1.artemis.domain.Feedback;
-import de.tum.in.www1.artemis.domain.LongFeedbackText;
-import de.tum.in.www1.artemis.repository.LongFeedbackTextRepository;
+import de.tum.cit.aet.artemis.assessment.domain.Feedback;
+import de.tum.cit.aet.artemis.assessment.domain.LongFeedbackText;
+import de.tum.cit.aet.artemis.assessment.repository.LongFeedbackTextRepository;
@Profile(PROFILE_CORE)
@Service
diff --git a/src/main/java/de/tum/in/www1/artemis/service/GradingScaleService.java b/src/main/java/de/tum/cit/aet/artemis/assessment/service/GradingScaleService.java
similarity index 90%
rename from src/main/java/de/tum/in/www1/artemis/service/GradingScaleService.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/service/GradingScaleService.java
index d75d2f3b353c..f7e7a4b76f88 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/GradingScaleService.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/service/GradingScaleService.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.service;
+package de.tum.cit.aet.artemis.assessment.service;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import java.util.Comparator;
import java.util.List;
@@ -12,14 +12,15 @@
import org.springframework.data.domain.Page;
import org.springframework.stereotype.Service;
-import de.tum.in.www1.artemis.domain.GradeStep;
-import de.tum.in.www1.artemis.domain.GradingScale;
-import de.tum.in.www1.artemis.domain.User;
-import de.tum.in.www1.artemis.repository.GradingScaleRepository;
-import de.tum.in.www1.artemis.web.rest.dto.SearchResultPageDTO;
-import de.tum.in.www1.artemis.web.rest.dto.pageablesearch.SearchTermPageableSearchDTO;
-import de.tum.in.www1.artemis.web.rest.errors.BadRequestAlertException;
-import de.tum.in.www1.artemis.web.rest.util.PageUtil;
+import de.tum.cit.aet.artemis.assessment.domain.GradeStep;
+import de.tum.cit.aet.artemis.assessment.domain.GradingScale;
+import de.tum.cit.aet.artemis.assessment.repository.GradingScaleRepository;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.core.dto.SearchResultPageDTO;
+import de.tum.cit.aet.artemis.core.dto.pageablesearch.SearchTermPageableSearchDTO;
+import de.tum.cit.aet.artemis.core.exception.BadRequestAlertException;
+import de.tum.cit.aet.artemis.core.service.AuthorizationCheckService;
+import de.tum.cit.aet.artemis.core.util.PageUtil;
@Profile(PROFILE_CORE)
@Service
diff --git a/src/main/java/de/tum/in/www1/artemis/service/scheduled/ParticipantScoreScheduleService.java b/src/main/java/de/tum/cit/aet/artemis/assessment/service/ParticipantScoreScheduleService.java
similarity index 93%
rename from src/main/java/de/tum/in/www1/artemis/service/scheduled/ParticipantScoreScheduleService.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/service/ParticipantScoreScheduleService.java
index 3ce5c86aba16..fffd4957b5b2 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/scheduled/ParticipantScoreScheduleService.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/service/ParticipantScoreScheduleService.java
@@ -1,7 +1,7 @@
-package de.tum.in.www1.artemis.service.scheduled;
+package de.tum.cit.aet.artemis.assessment.service;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_SCHEDULING;
-import static de.tum.in.www1.artemis.config.StartupDelayConfig.PARTICIPATION_SCORES_SCHEDULE_DELAY_SEC;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_SCHEDULING;
+import static de.tum.cit.aet.artemis.core.config.StartupDelayConfig.PARTICIPATION_SCORES_SCHEDULE_DELAY_SEC;
import java.time.Instant;
import java.time.ZonedDateTime;
@@ -28,25 +28,26 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.Result;
-import de.tum.in.www1.artemis.domain.Team;
-import de.tum.in.www1.artemis.domain.User;
-import de.tum.in.www1.artemis.domain.participation.Participant;
-import de.tum.in.www1.artemis.domain.participation.StudentParticipation;
-import de.tum.in.www1.artemis.domain.scores.ParticipantScore;
-import de.tum.in.www1.artemis.domain.scores.StudentScore;
-import de.tum.in.www1.artemis.domain.scores.TeamScore;
-import de.tum.in.www1.artemis.repository.ExerciseRepository;
-import de.tum.in.www1.artemis.repository.ParticipantScoreRepository;
-import de.tum.in.www1.artemis.repository.ResultRepository;
-import de.tum.in.www1.artemis.repository.StudentScoreRepository;
-import de.tum.in.www1.artemis.repository.TeamRepository;
-import de.tum.in.www1.artemis.repository.TeamScoreRepository;
-import de.tum.in.www1.artemis.repository.UserRepository;
-import de.tum.in.www1.artemis.security.SecurityUtils;
-import de.tum.in.www1.artemis.service.competency.CompetencyProgressService;
-import de.tum.in.www1.artemis.service.util.RoundingUtil;
+import de.tum.cit.aet.artemis.assessment.ResultListener;
+import de.tum.cit.aet.artemis.assessment.domain.ParticipantScore;
+import de.tum.cit.aet.artemis.assessment.domain.Result;
+import de.tum.cit.aet.artemis.assessment.domain.StudentScore;
+import de.tum.cit.aet.artemis.assessment.domain.TeamScore;
+import de.tum.cit.aet.artemis.assessment.repository.ParticipantScoreRepository;
+import de.tum.cit.aet.artemis.assessment.repository.ResultRepository;
+import de.tum.cit.aet.artemis.assessment.repository.StudentScoreRepository;
+import de.tum.cit.aet.artemis.assessment.repository.TeamScoreRepository;
+import de.tum.cit.aet.artemis.atlas.service.competency.CompetencyProgressService;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.core.repository.UserRepository;
+import de.tum.cit.aet.artemis.core.security.SecurityUtils;
+import de.tum.cit.aet.artemis.core.util.RoundingUtil;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
+import de.tum.cit.aet.artemis.exercise.domain.Team;
+import de.tum.cit.aet.artemis.exercise.domain.participation.Participant;
+import de.tum.cit.aet.artemis.exercise.domain.participation.StudentParticipation;
+import de.tum.cit.aet.artemis.exercise.repository.ExerciseRepository;
+import de.tum.cit.aet.artemis.exercise.repository.TeamRepository;
/**
* Scheduled service for the calculation of the participant scores.
@@ -57,7 +58,7 @@
* This method is fast, but not 100% reliable. Therefore, a cron job regularly checks for invalid participant scores and updates them.
* In all cases, using asynchronous scheduled tasks speeds up all requests that modify results.
*
- * @see de.tum.in.www1.artemis.service.listeners.ResultListener
+ * @see ResultListener
*/
@Service
@Profile(PROFILE_SCHEDULING)
diff --git a/src/main/java/de/tum/in/www1/artemis/service/ParticipantScoreService.java b/src/main/java/de/tum/cit/aet/artemis/assessment/service/ParticipantScoreService.java
similarity index 84%
rename from src/main/java/de/tum/in/www1/artemis/service/ParticipantScoreService.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/service/ParticipantScoreService.java
index a1c12af059f5..355690ff6f52 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/ParticipantScoreService.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/service/ParticipantScoreService.java
@@ -1,7 +1,7 @@
-package de.tum.in.www1.artemis.service;
+package de.tum.cit.aet.artemis.assessment.service;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
-import static de.tum.in.www1.artemis.service.util.RoundingUtil.roundScoreSpecifiedByCourseSettings;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.util.RoundingUtil.roundScoreSpecifiedByCourseSettings;
import java.time.ZonedDateTime;
import java.util.ArrayList;
@@ -18,24 +18,25 @@
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
-import de.tum.in.www1.artemis.domain.Course;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.GradingScale;
-import de.tum.in.www1.artemis.domain.Team;
-import de.tum.in.www1.artemis.domain.User;
-import de.tum.in.www1.artemis.domain.enumeration.IncludedInOverallScore;
-import de.tum.in.www1.artemis.domain.exam.Exam;
-import de.tum.in.www1.artemis.domain.exam.ExerciseGroup;
-import de.tum.in.www1.artemis.domain.scores.ParticipantScore;
-import de.tum.in.www1.artemis.repository.ParticipantScoreRepository;
-import de.tum.in.www1.artemis.repository.StudentScoreRepository;
-import de.tum.in.www1.artemis.repository.TeamRepository;
-import de.tum.in.www1.artemis.repository.TeamScoreRepository;
-import de.tum.in.www1.artemis.repository.UserRepository;
-import de.tum.in.www1.artemis.web.rest.dto.score.ScoreDTO;
-import de.tum.in.www1.artemis.web.rest.dto.score.StudentScoreSum;
-import de.tum.in.www1.artemis.web.rest.dto.score.TeamScoreSum;
-import de.tum.in.www1.artemis.web.rest.errors.EntityNotFoundException;
+import de.tum.cit.aet.artemis.assessment.ResultListener;
+import de.tum.cit.aet.artemis.assessment.domain.GradingScale;
+import de.tum.cit.aet.artemis.assessment.domain.ParticipantScore;
+import de.tum.cit.aet.artemis.assessment.dto.score.ScoreDTO;
+import de.tum.cit.aet.artemis.assessment.dto.score.StudentScoreSumDTO;
+import de.tum.cit.aet.artemis.assessment.dto.score.TeamScoreSumDTO;
+import de.tum.cit.aet.artemis.assessment.repository.ParticipantScoreRepository;
+import de.tum.cit.aet.artemis.assessment.repository.StudentScoreRepository;
+import de.tum.cit.aet.artemis.assessment.repository.TeamScoreRepository;
+import de.tum.cit.aet.artemis.core.domain.Course;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.core.exception.EntityNotFoundException;
+import de.tum.cit.aet.artemis.core.repository.UserRepository;
+import de.tum.cit.aet.artemis.exam.domain.Exam;
+import de.tum.cit.aet.artemis.exam.domain.ExerciseGroup;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
+import de.tum.cit.aet.artemis.exercise.domain.IncludedInOverallScore;
+import de.tum.cit.aet.artemis.exercise.domain.Team;
+import de.tum.cit.aet.artemis.exercise.repository.TeamRepository;
@Profile(PROFILE_CORE)
@Service
@@ -73,7 +74,7 @@ public ParticipantScoreService(UserRepository userRepository, StudentScoreReposi
* Currently, both this server based calculation method and the traditional client side calculation method is used
* side-by-side in exam-scores.component.ts.
*
- * The goal is to switch completely to this much faster server based calculation if the {@link de.tum.in.www1.artemis.service.listeners.ResultListener}
+ * The goal is to switch completely to this much faster server based calculation if the {@link ResultListener}
* has been battle tested enough.
*
* @param exam the exam with registered students, exercise groups and exercises for which to calculate the scores
@@ -99,7 +100,7 @@ public List calculateExamScores(Exam exam) {
* Currently, both this server based calculation method and the traditional client side calculation method is used
* side-by-side in course-scores.component.ts.
*
- * The goal is to switch completely to this much faster server based calculation if the {@link de.tum.in.www1.artemis.service.listeners.ResultListener}
+ * The goal is to switch completely to this much faster server based calculation if the {@link ResultListener}
* has been battle tested enough.
*
* @param course the course with exercises for which to calculate the course scores
@@ -147,16 +148,16 @@ private List calculateScores(Set exercises, Set users,
.getCourseViaExerciseGroupOrCourseMember();
// individual exercises
- final Set studentAndAchievedPoints = studentScoreRepository.getAchievedPointsOfStudents(individualExercises);
- Map pointsAchieved = studentAndAchievedPoints.stream().collect(Collectors.toMap(StudentScoreSum::userId, StudentScoreSum::sumPointsAchieved));
+ final Set studentAndAchievedPoints = studentScoreRepository.getAchievedPointsOfStudents(individualExercises);
+ Map pointsAchieved = studentAndAchievedPoints.stream().collect(Collectors.toMap(StudentScoreSumDTO::userId, StudentScoreSumDTO::sumPointsAchieved));
// We have to retrieve this separately because the students are not directly retrievable due to the taxonomy structure
- Set teamScoreSums = teamScoreRepository.getAchievedPointsOfTeams(teamExercises);
- Set teamIds = teamScoreSums.stream().map(TeamScoreSum::teamId).collect(Collectors.toSet());
+ Set teamScoreSums = teamScoreRepository.getAchievedPointsOfTeams(teamExercises);
+ Set teamIds = teamScoreSums.stream().map(TeamScoreSumDTO::teamId).collect(Collectors.toSet());
var teamList = teamRepository.findAllWithStudentsByIdIn(teamIds);
var teamMap = teamList.stream().collect(Collectors.toMap(Team::getId, Function.identity()));
final Set userIds = users.stream().map(User::getId).collect(Collectors.toSet());
- for (TeamScoreSum teamScoreSum : teamScoreSums) {
+ for (TeamScoreSumDTO teamScoreSum : teamScoreSums) {
Team team = teamMap.get(teamScoreSum.teamId());
for (User student : team.getStudents()) {
if (userIds.contains(student.getId())) {
diff --git a/src/main/java/de/tum/in/www1/artemis/service/PresentationPointsCalculationService.java b/src/main/java/de/tum/cit/aet/artemis/assessment/service/PresentationPointsCalculationService.java
similarity index 93%
rename from src/main/java/de/tum/in/www1/artemis/service/PresentationPointsCalculationService.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/service/PresentationPointsCalculationService.java
index cf38d9154b5d..beb9ff42aae8 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/PresentationPointsCalculationService.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/service/PresentationPointsCalculationService.java
@@ -1,16 +1,16 @@
-package de.tum.in.www1.artemis.service;
+package de.tum.cit.aet.artemis.assessment.service;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
-import static de.tum.in.www1.artemis.service.util.RoundingUtil.roundScoreSpecifiedByCourseSettings;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.util.RoundingUtil.roundScoreSpecifiedByCourseSettings;
import java.util.Map;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
-import de.tum.in.www1.artemis.domain.Course;
-import de.tum.in.www1.artemis.domain.GradingScale;
-import de.tum.in.www1.artemis.repository.StudentParticipationRepository;
+import de.tum.cit.aet.artemis.assessment.domain.GradingScale;
+import de.tum.cit.aet.artemis.core.domain.Course;
+import de.tum.cit.aet.artemis.exercise.repository.StudentParticipationRepository;
/**
* Service for calculating the presentation points for a course or student.
diff --git a/src/main/java/de/tum/in/www1/artemis/service/RatingService.java b/src/main/java/de/tum/cit/aet/artemis/assessment/service/RatingService.java
similarity index 82%
rename from src/main/java/de/tum/in/www1/artemis/service/RatingService.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/service/RatingService.java
index f79222ee6e45..9d29d7ebf0d4 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/RatingService.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/service/RatingService.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.service;
+package de.tum.cit.aet.artemis.assessment.service;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import java.util.List;
import java.util.Optional;
@@ -8,14 +8,14 @@
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
-import de.tum.in.www1.artemis.domain.Rating;
-import de.tum.in.www1.artemis.domain.Result;
-import de.tum.in.www1.artemis.domain.assessment.dashboard.ExerciseRatingCount;
-import de.tum.in.www1.artemis.repository.RatingRepository;
-import de.tum.in.www1.artemis.repository.ResultRepository;
+import de.tum.cit.aet.artemis.assessment.domain.Rating;
+import de.tum.cit.aet.artemis.assessment.domain.Result;
+import de.tum.cit.aet.artemis.assessment.dto.dashboard.ExerciseRatingCountDTO;
+import de.tum.cit.aet.artemis.assessment.repository.RatingRepository;
+import de.tum.cit.aet.artemis.assessment.repository.ResultRepository;
/**
- * Service Implementation for managing {@link de.tum.in.www1.artemis.domain.Rating}.
+ * Service Implementation for managing {@link Rating}.
*/
@Profile(PROFILE_CORE)
@Service
@@ -94,7 +94,7 @@ public Rating updateRating(long resultId, int ratingValue) {
* @param exerciseId - id of the exercise
* @return the rating information of the exercise
*/
- public ExerciseRatingCount averageRatingByExerciseId(Long exerciseId) {
+ public ExerciseRatingCountDTO averageRatingByExerciseId(Long exerciseId) {
return ratingRepository.averageRatingByExerciseId(exerciseId);
}
}
diff --git a/src/main/java/de/tum/in/www1/artemis/service/ResultService.java b/src/main/java/de/tum/cit/aet/artemis/assessment/service/ResultService.java
similarity index 89%
rename from src/main/java/de/tum/in/www1/artemis/service/ResultService.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/service/ResultService.java
index 139a3b01b01c..07b038b9cab2 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/ResultService.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/service/ResultService.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.service;
+package de.tum.cit.aet.artemis.assessment.service;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import java.time.ZonedDateTime;
import java.util.ArrayList;
@@ -23,44 +23,46 @@
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
-import de.tum.in.www1.artemis.domain.Course;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.Feedback;
-import de.tum.in.www1.artemis.domain.LongFeedbackText;
-import de.tum.in.www1.artemis.domain.Result;
-import de.tum.in.www1.artemis.domain.Submission;
-import de.tum.in.www1.artemis.domain.User;
-import de.tum.in.www1.artemis.domain.enumeration.AssessmentType;
-import de.tum.in.www1.artemis.domain.enumeration.BuildPlanType;
-import de.tum.in.www1.artemis.domain.enumeration.FeedbackType;
-import de.tum.in.www1.artemis.domain.exam.Exam;
-import de.tum.in.www1.artemis.domain.hestia.ProgrammingExerciseTask;
-import de.tum.in.www1.artemis.domain.participation.Participation;
-import de.tum.in.www1.artemis.domain.participation.ProgrammingExerciseParticipation;
-import de.tum.in.www1.artemis.domain.participation.ProgrammingExerciseStudentParticipation;
-import de.tum.in.www1.artemis.domain.participation.StudentParticipation;
-import de.tum.in.www1.artemis.repository.BuildJobRepository;
-import de.tum.in.www1.artemis.repository.ComplaintRepository;
-import de.tum.in.www1.artemis.repository.ComplaintResponseRepository;
-import de.tum.in.www1.artemis.repository.FeedbackRepository;
-import de.tum.in.www1.artemis.repository.LongFeedbackTextRepository;
-import de.tum.in.www1.artemis.repository.ParticipantScoreRepository;
-import de.tum.in.www1.artemis.repository.ProgrammingExerciseStudentParticipationRepository;
-import de.tum.in.www1.artemis.repository.RatingRepository;
-import de.tum.in.www1.artemis.repository.ResultRepository;
-import de.tum.in.www1.artemis.repository.SolutionProgrammingExerciseParticipationRepository;
-import de.tum.in.www1.artemis.repository.StudentExamRepository;
-import de.tum.in.www1.artemis.repository.StudentParticipationRepository;
-import de.tum.in.www1.artemis.repository.TemplateProgrammingExerciseParticipationRepository;
-import de.tum.in.www1.artemis.repository.UserRepository;
-import de.tum.in.www1.artemis.repository.hestia.ProgrammingExerciseTaskRepository;
-import de.tum.in.www1.artemis.security.Role;
-import de.tum.in.www1.artemis.service.connectors.localci.dto.ResultBuildJob;
-import de.tum.in.www1.artemis.service.connectors.lti.LtiNewResultService;
-import de.tum.in.www1.artemis.service.hestia.ProgrammingExerciseTaskService;
-import de.tum.in.www1.artemis.web.rest.dto.feedback.FeedbackDetailDTO;
-import de.tum.in.www1.artemis.web.rest.errors.BadRequestAlertException;
-import de.tum.in.www1.artemis.web.websocket.ResultWebsocketService;
+import de.tum.cit.aet.artemis.assessment.domain.AssessmentType;
+import de.tum.cit.aet.artemis.assessment.domain.Feedback;
+import de.tum.cit.aet.artemis.assessment.domain.FeedbackType;
+import de.tum.cit.aet.artemis.assessment.domain.LongFeedbackText;
+import de.tum.cit.aet.artemis.assessment.domain.Result;
+import de.tum.cit.aet.artemis.assessment.dto.FeedbackDetailDTO;
+import de.tum.cit.aet.artemis.assessment.repository.ComplaintRepository;
+import de.tum.cit.aet.artemis.assessment.repository.ComplaintResponseRepository;
+import de.tum.cit.aet.artemis.assessment.repository.FeedbackRepository;
+import de.tum.cit.aet.artemis.assessment.repository.LongFeedbackTextRepository;
+import de.tum.cit.aet.artemis.assessment.repository.ParticipantScoreRepository;
+import de.tum.cit.aet.artemis.assessment.repository.RatingRepository;
+import de.tum.cit.aet.artemis.assessment.repository.ResultRepository;
+import de.tum.cit.aet.artemis.assessment.web.ResultWebsocketService;
+import de.tum.cit.aet.artemis.buildagent.dto.ResultBuildJob;
+import de.tum.cit.aet.artemis.core.domain.Course;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.core.exception.BadRequestAlertException;
+import de.tum.cit.aet.artemis.core.repository.UserRepository;
+import de.tum.cit.aet.artemis.core.security.Role;
+import de.tum.cit.aet.artemis.core.service.AuthorizationCheckService;
+import de.tum.cit.aet.artemis.exam.domain.Exam;
+import de.tum.cit.aet.artemis.exam.repository.StudentExamRepository;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
+import de.tum.cit.aet.artemis.exercise.domain.Submission;
+import de.tum.cit.aet.artemis.exercise.domain.participation.Participation;
+import de.tum.cit.aet.artemis.exercise.domain.participation.StudentParticipation;
+import de.tum.cit.aet.artemis.exercise.repository.StudentParticipationRepository;
+import de.tum.cit.aet.artemis.exercise.service.ExerciseDateService;
+import de.tum.cit.aet.artemis.lti.service.LtiNewResultService;
+import de.tum.cit.aet.artemis.programming.domain.ProgrammingExerciseParticipation;
+import de.tum.cit.aet.artemis.programming.domain.ProgrammingExerciseStudentParticipation;
+import de.tum.cit.aet.artemis.programming.domain.build.BuildPlanType;
+import de.tum.cit.aet.artemis.programming.domain.hestia.ProgrammingExerciseTask;
+import de.tum.cit.aet.artemis.programming.repository.BuildJobRepository;
+import de.tum.cit.aet.artemis.programming.repository.ProgrammingExerciseStudentParticipationRepository;
+import de.tum.cit.aet.artemis.programming.repository.SolutionProgrammingExerciseParticipationRepository;
+import de.tum.cit.aet.artemis.programming.repository.TemplateProgrammingExerciseParticipationRepository;
+import de.tum.cit.aet.artemis.programming.service.BuildLogEntryService;
+import de.tum.cit.aet.artemis.programming.service.hestia.ProgrammingExerciseTaskService;
@Profile(PROFILE_CORE)
@Service
@@ -116,7 +118,7 @@ public ResultService(UserRepository userRepository, ResultRepository resultRepos
SolutionProgrammingExerciseParticipationRepository solutionProgrammingExerciseParticipationRepository,
ProgrammingExerciseStudentParticipationRepository programmingExerciseStudentParticipationRepository, StudentExamRepository studentExamRepository,
BuildJobRepository buildJobRepository, BuildLogEntryService buildLogEntryService, StudentParticipationRepository studentParticipationRepository,
- ProgrammingExerciseTaskRepository programmingExerciseTaskRepository, ProgrammingExerciseTaskService programmingExerciseTaskService) {
+ ProgrammingExerciseTaskService programmingExerciseTaskService) {
this.userRepository = userRepository;
this.resultRepository = resultRepository;
this.ltiNewResultService = ltiNewResultService;
@@ -447,10 +449,11 @@ public Result getResultForParticipationAndCheckAccess(Long participationId, Long
/**
* Get a map of result ids to the respective build job ids if build log files for this build job exist.
*
- * @param results the results for which to check the availability of build logs
+ * @param results the results for which to check the availability of build logs
+ * @param participation the participation the results belong to
* @return a map of result ids to respective build job ids if the build log files exist, null otherwise
*/
- public Map getLogsAvailabilityForResults(List results) {
+ public Map getLogsAvailabilityForResults(List results, Participation participation) {
Map logsAvailability = new HashMap<>();
@@ -463,7 +466,7 @@ public Map getLogsAvailabilityForResults(List results) {
String buildJobId = resultBuildJobSet.get(resultId);
if (buildJobId != null) {
- if (buildLogEntryService.buildJobHasLogFile(buildJobId)) {
+ if (buildLogEntryService.buildJobHasLogFile(buildJobId, ((ProgrammingExerciseParticipation) participation).getProgrammingExercise())) {
logsAvailability.put(resultId, buildJobId);
}
else {
diff --git a/src/main/java/de/tum/in/www1/artemis/service/TutorEffortService.java b/src/main/java/de/tum/cit/aet/artemis/assessment/service/TutorEffortService.java
similarity index 78%
rename from src/main/java/de/tum/in/www1/artemis/service/TutorEffortService.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/service/TutorEffortService.java
index 070487274bb7..1a774ab5044c 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/TutorEffortService.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/service/TutorEffortService.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.service;
+package de.tum.cit.aet.artemis.assessment.service;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import static java.lang.Math.toIntExact;
import static java.util.stream.Collectors.groupingBy;
@@ -13,9 +13,9 @@
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
-import de.tum.in.www1.artemis.domain.analytics.TextAssessmentEvent;
-import de.tum.in.www1.artemis.domain.statistics.tutor.effort.TutorEffort;
-import de.tum.in.www1.artemis.repository.TextAssessmentEventRepository;
+import de.tum.cit.aet.artemis.assessment.dto.TutorEffortDTO;
+import de.tum.cit.aet.artemis.assessment.repository.TextAssessmentEventRepository;
+import de.tum.cit.aet.artemis.text.domain.TextAssessmentEvent;
/**
* Contains business logic needed to calculate tutor efforts.
@@ -41,17 +41,17 @@ public TutorEffortService(TextAssessmentEventRepository textAssessmentEventRepos
* @param exerciseId id of the exercise to calculate for
* @return a list of built tutor efforts
*/
- public List buildTutorEffortList(Long courseId, Long exerciseId) {
+ public List buildTutorEffortList(Long courseId, Long exerciseId) {
Map submissionsPerTutor = textAssessmentEventRepository.getAssessedSubmissionCountPerTutor(courseId, exerciseId);
List listOfEvents = textAssessmentEventRepository.findAllNonEmptyEvents(courseId, exerciseId);
- List tutorEffortList = new ArrayList<>();
+ List tutorEffortList = new ArrayList<>();
Map> newMap = listOfEvents.stream().collect(groupingBy(TextAssessmentEvent::getUserId));
if (newMap.isEmpty()) {
return tutorEffortList;
}
newMap.forEach((currentUserId, currentUserEvents) -> {
- TutorEffort effort = createTutorEffortWithInformation(currentUserId, currentUserEvents, submissionsPerTutor.get(currentUserId));
+ TutorEffortDTO effort = createTutorEffortWithInformation(currentUserId, currentUserEvents, submissionsPerTutor.get(currentUserId));
tutorEffortList.add(effort);
});
return tutorEffortList;
@@ -65,14 +65,9 @@ public List buildTutorEffortList(Long courseId, Long exerciseId) {
* @param submissions the number of submissions the tutor assessed
* @return a TutorEffort object with all the data set
*/
- private TutorEffort createTutorEffortWithInformation(Long userId, List events, int submissions) {
- TutorEffort effort = new TutorEffort();
- effort.setUserId(userId);
- effort.setCourseId(events.getFirst().getCourseId());
- effort.setExerciseId(events.getFirst().getTextExerciseId());
- effort.setTotalTimeSpentMinutes(calculateTutorOverallTimeSpent(events));
- effort.setNumberOfSubmissionsAssessed(submissions);
- return effort;
+ private TutorEffortDTO createTutorEffortWithInformation(Long userId, List events, int submissions) {
+ var firstEvent = events.getFirst();
+ return new TutorEffortDTO(userId, submissions, calculateTutorOverallTimeSpent(events), firstEvent.getTextExerciseId(), firstEvent.getCourseId());
}
/**
diff --git a/src/main/java/de/tum/in/www1/artemis/service/TutorLeaderboardService.java b/src/main/java/de/tum/cit/aet/artemis/assessment/service/TutorLeaderboardService.java
similarity index 77%
rename from src/main/java/de/tum/in/www1/artemis/service/TutorLeaderboardService.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/service/TutorLeaderboardService.java
index 55842be26735..d753216d78f0 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/TutorLeaderboardService.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/service/TutorLeaderboardService.java
@@ -1,6 +1,6 @@
-package de.tum.in.www1.artemis.service;
+package de.tum.cit.aet.artemis.assessment.service;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
import java.util.ArrayList;
import java.util.List;
@@ -12,19 +12,19 @@
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
-import de.tum.in.www1.artemis.domain.Course;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.User;
-import de.tum.in.www1.artemis.domain.exam.Exam;
-import de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardAnsweredMoreFeedbackRequests;
-import de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardAssessments;
-import de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardComplaintResponses;
-import de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardComplaints;
-import de.tum.in.www1.artemis.domain.leaderboard.tutor.TutorLeaderboardMoreFeedbackRequests;
-import de.tum.in.www1.artemis.repository.ComplaintRepository;
-import de.tum.in.www1.artemis.repository.ResultRepository;
-import de.tum.in.www1.artemis.repository.UserRepository;
-import de.tum.in.www1.artemis.web.rest.dto.TutorLeaderboardDTO;
+import de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardAnsweredMoreFeedbackRequestsDTO;
+import de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardAssessmentsDTO;
+import de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardComplaintResponsesDTO;
+import de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardComplaintsDTO;
+import de.tum.cit.aet.artemis.assessment.dto.tutor.TutorLeaderboardMoreFeedbackRequestsDTO;
+import de.tum.cit.aet.artemis.assessment.repository.ComplaintRepository;
+import de.tum.cit.aet.artemis.assessment.repository.ResultRepository;
+import de.tum.cit.aet.artemis.core.domain.Course;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.core.dto.TutorLeaderboardDTO;
+import de.tum.cit.aet.artemis.core.repository.UserRepository;
+import de.tum.cit.aet.artemis.exam.domain.Exam;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
@Profile(PROFILE_CORE)
@Service
@@ -52,16 +52,16 @@ public TutorLeaderboardService(ResultRepository resultRepository, ComplaintRepos
public List getCourseLeaderboard(Course course, Set exerciseIdsOfCourse) {
var tutors = userRepository.getTutors(course);
- List tutorLeaderboardAssessments = List.of();
+ List tutorLeaderboardAssessmentDTOS = List.of();
// only invoke the query for non empty exercise sets to avoid performance issues
if (!exerciseIdsOfCourse.isEmpty()) {
- tutorLeaderboardAssessments = resultRepository.findTutorLeaderboardAssessmentByCourseId(exerciseIdsOfCourse);
+ tutorLeaderboardAssessmentDTOS = resultRepository.findTutorLeaderboardAssessmentByCourseId(exerciseIdsOfCourse);
}
var tutorLeaderboardComplaints = complaintRepository.findTutorLeaderboardComplaintsByCourseId(course.getId());
var tutorLeaderboardComplaintResponses = complaintRepository.findTutorLeaderboardComplaintResponsesByCourseId(course.getId());
var tutorLeaderboardMoreFeedbackRequests = complaintRepository.findTutorLeaderboardMoreFeedbackRequestsByCourseId(course.getId());
var tutorLeaderboardAnsweredMoreFeedbackRequests = complaintRepository.findTutorLeaderboardAnsweredMoreFeedbackRequestsByCourseId(course.getId());
- return aggregateTutorLeaderboardData(tutors, tutorLeaderboardAssessments, tutorLeaderboardComplaints, tutorLeaderboardMoreFeedbackRequests,
+ return aggregateTutorLeaderboardData(tutors, tutorLeaderboardAssessmentDTOS, tutorLeaderboardComplaints, tutorLeaderboardMoreFeedbackRequests,
tutorLeaderboardComplaintResponses, tutorLeaderboardAnsweredMoreFeedbackRequests, false);
}
@@ -99,15 +99,15 @@ public List getExerciseLeaderboard(Exercise exercise) {
}
@NotNull
- private List aggregateTutorLeaderboardData(Set tutors, List assessments, List complaints,
- List feedbackRequests, List complaintResponses,
- List answeredFeedbackRequests, boolean isExam) {
+ private List aggregateTutorLeaderboardData(Set tutors, List assessments,
+ List complaints, List feedbackRequests,
+ List complaintResponses, List answeredFeedbackRequests, boolean isExam) {
- var assessmentsMap = assessments.stream().collect(Collectors.toMap(TutorLeaderboardAssessments::userId, value -> value));
- var complaintsMap = complaints.stream().collect(Collectors.toMap(TutorLeaderboardComplaints::userId, value -> value));
- var feedbackRequestsMap = feedbackRequests.stream().collect(Collectors.toMap(TutorLeaderboardMoreFeedbackRequests::userId, value -> value));
- var complaintResponsesMap = complaintResponses.stream().collect(Collectors.toMap(TutorLeaderboardComplaintResponses::userId, value -> value));
- var answeredFeedbackRequestsMap = answeredFeedbackRequests.stream().collect(Collectors.toMap(TutorLeaderboardAnsweredMoreFeedbackRequests::userId, value -> value));
+ var assessmentsMap = assessments.stream().collect(Collectors.toMap(TutorLeaderboardAssessmentsDTO::userId, value -> value));
+ var complaintsMap = complaints.stream().collect(Collectors.toMap(TutorLeaderboardComplaintsDTO::userId, value -> value));
+ var feedbackRequestsMap = feedbackRequests.stream().collect(Collectors.toMap(TutorLeaderboardMoreFeedbackRequestsDTO::userId, value -> value));
+ var complaintResponsesMap = complaintResponses.stream().collect(Collectors.toMap(TutorLeaderboardComplaintResponsesDTO::userId, value -> value));
+ var answeredFeedbackRequestsMap = answeredFeedbackRequests.stream().collect(Collectors.toMap(TutorLeaderboardAnsweredMoreFeedbackRequestsDTO::userId, value -> value));
List tutorLeaderBoardEntries = new ArrayList<>();
@@ -121,29 +121,29 @@ private List aggregateTutorLeaderboardData(Set tutors
long numberOfTutorMoreFeedbackRequests = 0L;
double points = 0.0;
- var assessmentsOfTutor = assessmentsMap.getOrDefault(tutor.getId(), new TutorLeaderboardAssessments());
+ var assessmentsOfTutor = assessmentsMap.getOrDefault(tutor.getId(), new TutorLeaderboardAssessmentsDTO());
numberOfAssessments += assessmentsOfTutor.assessments();
points += assessmentsOfTutor.points();
- var complaintsAboutTutor = complaintsMap.getOrDefault(tutor.getId(), new TutorLeaderboardComplaints());
+ var complaintsAboutTutor = complaintsMap.getOrDefault(tutor.getId(), new TutorLeaderboardComplaintsDTO());
numberOfTutorComplaints += complaintsAboutTutor.allComplaints();
numberOfAcceptedComplaints += complaintsAboutTutor.acceptedComplaints();
// accepted complaints count 2x negatively
points -= 2.0 * complaintsAboutTutor.points();
- var complaintResponsesOfTutor = complaintResponsesMap.getOrDefault(tutor.getId(), new TutorLeaderboardComplaintResponses());
+ var complaintResponsesOfTutor = complaintResponsesMap.getOrDefault(tutor.getId(), new TutorLeaderboardComplaintResponsesDTO());
numberOfComplaintResponses += complaintResponsesOfTutor.complaintResponses();
// resolved complaints count 2x
points += 2.0 * complaintResponsesOfTutor.points();
if (!isExam) {
- var feedbackRequestsAboutTutor = feedbackRequestsMap.getOrDefault(tutor.getId(), new TutorLeaderboardMoreFeedbackRequests());
+ var feedbackRequestsAboutTutor = feedbackRequestsMap.getOrDefault(tutor.getId(), new TutorLeaderboardMoreFeedbackRequestsDTO());
numberOfNotAnsweredMoreFeedbackRequests += feedbackRequestsAboutTutor.notAnsweredRequests();
numberOfTutorMoreFeedbackRequests += feedbackRequestsAboutTutor.allRequests();
// not answered requests count only 1x negatively
points -= feedbackRequestsAboutTutor.points();
- var answeredFeedbackRequestsOfTutor = answeredFeedbackRequestsMap.getOrDefault(tutor.getId(), new TutorLeaderboardAnsweredMoreFeedbackRequests());
+ var answeredFeedbackRequestsOfTutor = answeredFeedbackRequestsMap.getOrDefault(tutor.getId(), new TutorLeaderboardAnsweredMoreFeedbackRequestsDTO());
numberOfAnsweredMoreFeedbackRequests += answeredFeedbackRequestsOfTutor.answeredRequests();
// answered requests doesn't count, because it only means that the tutor repaired the negative points
}
diff --git a/src/main/java/de/tum/in/www1/artemis/service/TutorParticipationService.java b/src/main/java/de/tum/cit/aet/artemis/assessment/service/TutorParticipationService.java
similarity index 93%
rename from src/main/java/de/tum/in/www1/artemis/service/TutorParticipationService.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/service/TutorParticipationService.java
index 9f6f387e699a..c990ab72f1cc 100644
--- a/src/main/java/de/tum/in/www1/artemis/service/TutorParticipationService.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/service/TutorParticipationService.java
@@ -1,11 +1,11 @@
-package de.tum.in.www1.artemis.service;
+package de.tum.cit.aet.artemis.assessment.service;
-import static de.tum.in.www1.artemis.config.Constants.PROFILE_CORE;
-import static de.tum.in.www1.artemis.domain.enumeration.FeedbackType.MANUAL_UNREFERENCED;
-import static de.tum.in.www1.artemis.domain.enumeration.TutorParticipationStatus.NOT_PARTICIPATED;
-import static de.tum.in.www1.artemis.domain.enumeration.TutorParticipationStatus.REVIEWED_INSTRUCTIONS;
-import static de.tum.in.www1.artemis.domain.enumeration.TutorParticipationStatus.TRAINED;
-import static de.tum.in.www1.artemis.service.TutorParticipationService.FeedbackCorrectionErrorType.UNNECESSARY_FEEDBACK;
+import static de.tum.cit.aet.artemis.assessment.domain.FeedbackType.MANUAL_UNREFERENCED;
+import static de.tum.cit.aet.artemis.assessment.service.TutorParticipationService.FeedbackCorrectionErrorType.UNNECESSARY_FEEDBACK;
+import static de.tum.cit.aet.artemis.core.config.Constants.PROFILE_CORE;
+import static de.tum.cit.aet.artemis.tutorialgroup.domain.TutorParticipationStatus.NOT_PARTICIPATED;
+import static de.tum.cit.aet.artemis.tutorialgroup.domain.TutorParticipationStatus.REVIEWED_INSTRUCTIONS;
+import static de.tum.cit.aet.artemis.tutorialgroup.domain.TutorParticipationStatus.TRAINED;
import java.util.Comparator;
import java.util.HashSet;
@@ -24,15 +24,15 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
-import de.tum.in.www1.artemis.domain.ExampleSubmission;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.Feedback;
-import de.tum.in.www1.artemis.domain.User;
-import de.tum.in.www1.artemis.domain.participation.TutorParticipation;
-import de.tum.in.www1.artemis.repository.ExampleSubmissionRepository;
-import de.tum.in.www1.artemis.repository.TutorParticipationRepository;
-import de.tum.in.www1.artemis.web.rest.errors.BadRequestAlertException;
-import de.tum.in.www1.artemis.web.rest.errors.EntityNotFoundException;
+import de.tum.cit.aet.artemis.assessment.domain.ExampleSubmission;
+import de.tum.cit.aet.artemis.assessment.domain.Feedback;
+import de.tum.cit.aet.artemis.assessment.domain.TutorParticipation;
+import de.tum.cit.aet.artemis.assessment.repository.ExampleSubmissionRepository;
+import de.tum.cit.aet.artemis.assessment.repository.TutorParticipationRepository;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.core.exception.BadRequestAlertException;
+import de.tum.cit.aet.artemis.core.exception.EntityNotFoundException;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
/**
* Service Implementation for managing TutorParticipation.
diff --git a/src/main/java/de/tum/in/www1/artemis/web/rest/AssessmentResource.java b/src/main/java/de/tum/cit/aet/artemis/assessment/web/AssessmentResource.java
similarity index 88%
rename from src/main/java/de/tum/in/www1/artemis/web/rest/AssessmentResource.java
rename to src/main/java/de/tum/cit/aet/artemis/assessment/web/AssessmentResource.java
index 8478943d8628..7335d7ad85f2 100644
--- a/src/main/java/de/tum/in/www1/artemis/web/rest/AssessmentResource.java
+++ b/src/main/java/de/tum/cit/aet/artemis/assessment/web/AssessmentResource.java
@@ -1,4 +1,4 @@
-package de.tum.in.www1.artemis.web.rest;
+package de.tum.cit.aet.artemis.assessment.web;
import java.util.List;
@@ -7,26 +7,26 @@
import org.springframework.http.ResponseEntity;
import org.springframework.util.StringUtils;
-import de.tum.in.www1.artemis.domain.Course;
-import de.tum.in.www1.artemis.domain.Exercise;
-import de.tum.in.www1.artemis.domain.Feedback;
-import de.tum.in.www1.artemis.domain.Result;
-import de.tum.in.www1.artemis.domain.Submission;
-import de.tum.in.www1.artemis.domain.User;
-import de.tum.in.www1.artemis.domain.enumeration.FeedbackType;
-import de.tum.in.www1.artemis.domain.participation.Participation;
-import de.tum.in.www1.artemis.domain.participation.StudentParticipation;
-import de.tum.in.www1.artemis.repository.ExampleSubmissionRepository;
-import de.tum.in.www1.artemis.repository.ExerciseRepository;
-import de.tum.in.www1.artemis.repository.ResultRepository;
-import de.tum.in.www1.artemis.repository.SubmissionRepository;
-import de.tum.in.www1.artemis.repository.UserRepository;
-import de.tum.in.www1.artemis.security.Role;
-import de.tum.in.www1.artemis.service.AssessmentService;
-import de.tum.in.www1.artemis.service.AuthorizationCheckService;
-import de.tum.in.www1.artemis.web.rest.errors.AccessForbiddenException;
-import de.tum.in.www1.artemis.web.rest.errors.BadRequestAlertException;
-import de.tum.in.www1.artemis.web.rest.errors.EntityNotFoundException;
+import de.tum.cit.aet.artemis.assessment.domain.Feedback;
+import de.tum.cit.aet.artemis.assessment.domain.FeedbackType;
+import de.tum.cit.aet.artemis.assessment.domain.Result;
+import de.tum.cit.aet.artemis.assessment.repository.ExampleSubmissionRepository;
+import de.tum.cit.aet.artemis.assessment.repository.ResultRepository;
+import de.tum.cit.aet.artemis.assessment.service.AssessmentService;
+import de.tum.cit.aet.artemis.core.domain.Course;
+import de.tum.cit.aet.artemis.core.domain.User;
+import de.tum.cit.aet.artemis.core.exception.AccessForbiddenException;
+import de.tum.cit.aet.artemis.core.exception.BadRequestAlertException;
+import de.tum.cit.aet.artemis.core.exception.EntityNotFoundException;
+import de.tum.cit.aet.artemis.core.repository.UserRepository;
+import de.tum.cit.aet.artemis.core.security.Role;
+import de.tum.cit.aet.artemis.core.service.AuthorizationCheckService;
+import de.tum.cit.aet.artemis.exercise.domain.Exercise;
+import de.tum.cit.aet.artemis.exercise.domain.Submission;
+import de.tum.cit.aet.artemis.exercise.domain.participation.Participation;
+import de.tum.cit.aet.artemis.exercise.domain.participation.StudentParticipation;
+import de.tum.cit.aet.artemis.exercise.repository.ExerciseRepository;
+import de.tum.cit.aet.artemis.exercise.repository.SubmissionRepository;
public abstract class AssessmentResource {
@@ -67,7 +67,7 @@ public AssessmentResource(AuthorizationCheckService authCheckService, UserReposi
* @param submissionId the id of the submission that should be sent to the client
* @return the assessment of the given id
*/
- ResponseEntity