diff --git a/api/requirements.txt b/api/requirements.txt index a73b603..2803098 100644 --- a/api/requirements.txt +++ b/api/requirements.txt @@ -1,4 +1,4 @@ -Flask~=2.1.0 +Flask~=2.1.1 python-dotenv==0.20.0 uwsgi==2.0.20 Flask_SQLAlchemy==2.5.1 diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 2f4858e..47eb174 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -14,7 +14,7 @@ "@angular/compiler": "~13.2.0", "@angular/core": "~13.2.0", "@angular/forms": "~13.2.0", - "@angular/material": "^13.3.1", + "@angular/material": "^13.3.2", "@angular/platform-browser": "~13.2.0", "@angular/platform-browser-dynamic": "~13.2.0", "@angular/router": "~13.2.0", @@ -25,7 +25,7 @@ }, "devDependencies": { "@angular-devkit/build-angular": "~13.3.1", - "@angular/cli": "~13.3.0", + "@angular/cli": "~13.3.1", "@angular/compiler-cli": "~13.2.0", "@types/jasmine": "~4.0.0", "@types/node": "^17.0.23", @@ -379,12 +379,12 @@ "dev": true }, "node_modules/@angular-devkit/schematics": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.0.tgz", - "integrity": "sha512-hq7tqnB3uVT/iDgqWWZ4kvnijeAcgd4cfLzZiCPaYn1nuhZf0tWsho6exhJ/odMZHvVp7w8OibqWiUKxNY9zHA==", + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.1.tgz", + "integrity": "sha512-DxXMjlq/sALcHuONZRMTBX5k30XPfN4b6Ue4k7Xl8JKZqyHhEzfXaZzgD9u2cwb7wybKEeF/BZ5eJd8JG525og==", "dev": true, "dependencies": { - "@angular-devkit/core": "13.3.0", + "@angular-devkit/core": "13.3.1", "jsonc-parser": "3.0.0", "magic-string": "0.25.7", "ora": "5.4.1", @@ -396,6 +396,33 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@angular-devkit/schematics/node_modules/@angular-devkit/core": { + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.1.tgz", + "integrity": "sha512-eXAcQaP1mn6rnQb+5bv5NsamY6b34UYM7G+S154Hnma6CTTSGBtcmoNAJs8cekuFqWlw7YgpB/e15jR5OLPkDA==", + "dev": true, + "dependencies": { + "ajv": "8.9.0", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, "node_modules/@angular-devkit/schematics/node_modules/rxjs": { "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", @@ -429,9 +456,9 @@ } }, "node_modules/@angular/cdk": { - "version": "13.3.1", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.3.1.tgz", - "integrity": "sha512-JUCvhN6XomY5JOMH7Qyj/JodAuAtKgLlJYKs0tPmjCkGcBdR/T3/hOJ9gSRhz8PCOoiEORj+3xCh547oJRyesA==", + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.3.2.tgz", + "integrity": "sha512-Rb+SvQpjXqa0kedk/6nG57f8dC4uG1q35SR6mt6jCz84ikyS2zhikVbzaxLdG15uDvq1+N5Vx3NTSgH19XUSug==", "dependencies": { "tslib": "^2.3.0" }, @@ -451,16 +478,16 @@ "optional": true }, "node_modules/@angular/cli": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.0.tgz", - "integrity": "sha512-2qCKP/QsyxrJnpd3g4P/iTQ4TjI04N8r+bG5YLLfudoMDsQ/Ti4ogdI7PBeG2IMbRylZW9XLjHraWG42+Y9tWw==", + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.1.tgz", + "integrity": "sha512-0uwU8v3V/2s95X4cZT582J6upReT/ZNw/VAf4p4q51JN+BBvdCEb251xTF+TcOojyToFyJYvg8T28XSrsNsmTQ==", "dev": true, "hasInstallScript": true, "dependencies": { - "@angular-devkit/architect": "0.1303.0", - "@angular-devkit/core": "13.3.0", - "@angular-devkit/schematics": "13.3.0", - "@schematics/angular": "13.3.0", + "@angular-devkit/architect": "0.1303.1", + "@angular-devkit/core": "13.3.1", + "@angular-devkit/schematics": "13.3.1", + "@schematics/angular": "13.3.1", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "4.3.3", @@ -486,6 +513,66 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@angular/cli/node_modules/@angular-devkit/architect": { + "version": "0.1303.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.1.tgz", + "integrity": "sha512-ppaLzNZPrqrI96ddgm1RuEALVpWZsmHbIPLDd0GBwhF6aOkwF0LpZHd5XyS4ktGFZPReiFIjWSVtqV5vaBdRsw==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "13.3.1", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/cli/node_modules/@angular-devkit/core": { + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.1.tgz", + "integrity": "sha512-eXAcQaP1mn6rnQb+5bv5NsamY6b34UYM7G+S154Hnma6CTTSGBtcmoNAJs8cekuFqWlw7YgpB/e15jR5OLPkDA==", + "dev": true, + "dependencies": { + "ajv": "8.9.0", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular/cli/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular/cli/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/@angular/common": { "version": "13.2.6", "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.2.6.tgz", @@ -661,15 +748,15 @@ } }, "node_modules/@angular/material": { - "version": "13.3.1", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.3.1.tgz", - "integrity": "sha512-c9BYNxvZvxuCA5QticqfEhn3nuspUnwxIVejjO5ZTqKlkK+vQGKN3QhshHLrMHeFYyjao/E8jVnJX7ahitPM9w==", + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.3.2.tgz", + "integrity": "sha512-agIuNcN1wO05ODEXc0wwrMK2ydnhPGO8tcBBCJXrDgiA/ktwm+WtfOsiZwPoev7aJ8pactVhxT5R0bJ6vW2SmA==", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "@angular/animations": "^13.0.0 || ^14.0.0-0", - "@angular/cdk": "13.3.1", + "@angular/cdk": "13.3.2", "@angular/common": "^13.0.0 || ^14.0.0-0", "@angular/core": "^13.0.0 || ^14.0.0-0", "@angular/forms": "^13.0.0 || ^14.0.0-0", @@ -2648,13 +2735,13 @@ } }, "node_modules/@schematics/angular": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.0.tgz", - "integrity": "sha512-WND6DXWf0ZFefqlC2hUm1FzHDonRfGpDEPWVhVulhYkB7IUUaXuCz8K41HAScyJ3bxUngs2Lx9+4omikc05fxA==", + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.1.tgz", + "integrity": "sha512-+lrK/d1eJsAK6d6E9TDeg3Vc71bDy1KsE8M+lEINdX9Wax22mAz4pw20X9RSCw5RHgn+XcNUuMsgRJAwVhDNpg==", "dev": true, "dependencies": { - "@angular-devkit/core": "13.3.0", - "@angular-devkit/schematics": "13.3.0", + "@angular-devkit/core": "13.3.1", + "@angular-devkit/schematics": "13.3.1", "jsonc-parser": "3.0.0" }, "engines": { @@ -2663,6 +2750,51 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@schematics/angular/node_modules/@angular-devkit/core": { + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.1.tgz", + "integrity": "sha512-eXAcQaP1mn6rnQb+5bv5NsamY6b34UYM7G+S154Hnma6CTTSGBtcmoNAJs8cekuFqWlw7YgpB/e15jR5OLPkDA==", + "dev": true, + "dependencies": { + "ajv": "8.9.0", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + }, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@schematics/angular/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@schematics/angular/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/@socket.io/base64-arraybuffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", @@ -11741,18 +11873,32 @@ } }, "@angular-devkit/schematics": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.0.tgz", - "integrity": "sha512-hq7tqnB3uVT/iDgqWWZ4kvnijeAcgd4cfLzZiCPaYn1nuhZf0tWsho6exhJ/odMZHvVp7w8OibqWiUKxNY9zHA==", + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.1.tgz", + "integrity": "sha512-DxXMjlq/sALcHuONZRMTBX5k30XPfN4b6Ue4k7Xl8JKZqyHhEzfXaZzgD9u2cwb7wybKEeF/BZ5eJd8JG525og==", "dev": true, "requires": { - "@angular-devkit/core": "13.3.0", + "@angular-devkit/core": "13.3.1", "jsonc-parser": "3.0.0", "magic-string": "0.25.7", "ora": "5.4.1", "rxjs": "6.6.7" }, "dependencies": { + "@angular-devkit/core": { + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.1.tgz", + "integrity": "sha512-eXAcQaP1mn6rnQb+5bv5NsamY6b34UYM7G+S154Hnma6CTTSGBtcmoNAJs8cekuFqWlw7YgpB/e15jR5OLPkDA==", + "dev": true, + "requires": { + "ajv": "8.9.0", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + } + }, "rxjs": { "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", @@ -11779,9 +11925,9 @@ } }, "@angular/cdk": { - "version": "13.3.1", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.3.1.tgz", - "integrity": "sha512-JUCvhN6XomY5JOMH7Qyj/JodAuAtKgLlJYKs0tPmjCkGcBdR/T3/hOJ9gSRhz8PCOoiEORj+3xCh547oJRyesA==", + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.3.2.tgz", + "integrity": "sha512-Rb+SvQpjXqa0kedk/6nG57f8dC4uG1q35SR6mt6jCz84ikyS2zhikVbzaxLdG15uDvq1+N5Vx3NTSgH19XUSug==", "requires": { "parse5": "^5.0.0", "tslib": "^2.3.0" @@ -11796,15 +11942,15 @@ } }, "@angular/cli": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.0.tgz", - "integrity": "sha512-2qCKP/QsyxrJnpd3g4P/iTQ4TjI04N8r+bG5YLLfudoMDsQ/Ti4ogdI7PBeG2IMbRylZW9XLjHraWG42+Y9tWw==", + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.3.1.tgz", + "integrity": "sha512-0uwU8v3V/2s95X4cZT582J6upReT/ZNw/VAf4p4q51JN+BBvdCEb251xTF+TcOojyToFyJYvg8T28XSrsNsmTQ==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1303.0", - "@angular-devkit/core": "13.3.0", - "@angular-devkit/schematics": "13.3.0", - "@schematics/angular": "13.3.0", + "@angular-devkit/architect": "0.1303.1", + "@angular-devkit/core": "13.3.1", + "@angular-devkit/schematics": "13.3.1", + "@schematics/angular": "13.3.1", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "4.3.3", @@ -11820,6 +11966,47 @@ "semver": "7.3.5", "symbol-observable": "4.0.0", "uuid": "8.3.2" + }, + "dependencies": { + "@angular-devkit/architect": { + "version": "0.1303.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.1.tgz", + "integrity": "sha512-ppaLzNZPrqrI96ddgm1RuEALVpWZsmHbIPLDd0GBwhF6aOkwF0LpZHd5XyS4ktGFZPReiFIjWSVtqV5vaBdRsw==", + "dev": true, + "requires": { + "@angular-devkit/core": "13.3.1", + "rxjs": "6.6.7" + } + }, + "@angular-devkit/core": { + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.1.tgz", + "integrity": "sha512-eXAcQaP1mn6rnQb+5bv5NsamY6b34UYM7G+S154Hnma6CTTSGBtcmoNAJs8cekuFqWlw7YgpB/e15jR5OLPkDA==", + "dev": true, + "requires": { + "ajv": "8.9.0", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "@angular/common": { @@ -11941,9 +12128,9 @@ } }, "@angular/material": { - "version": "13.3.1", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.3.1.tgz", - "integrity": "sha512-c9BYNxvZvxuCA5QticqfEhn3nuspUnwxIVejjO5ZTqKlkK+vQGKN3QhshHLrMHeFYyjao/E8jVnJX7ahitPM9w==", + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.3.2.tgz", + "integrity": "sha512-agIuNcN1wO05ODEXc0wwrMK2ydnhPGO8tcBBCJXrDgiA/ktwm+WtfOsiZwPoev7aJ8pactVhxT5R0bJ6vW2SmA==", "requires": { "tslib": "^2.3.0" } @@ -13338,14 +13525,45 @@ "peer": true }, "@schematics/angular": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.0.tgz", - "integrity": "sha512-WND6DXWf0ZFefqlC2hUm1FzHDonRfGpDEPWVhVulhYkB7IUUaXuCz8K41HAScyJ3bxUngs2Lx9+4omikc05fxA==", + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.1.tgz", + "integrity": "sha512-+lrK/d1eJsAK6d6E9TDeg3Vc71bDy1KsE8M+lEINdX9Wax22mAz4pw20X9RSCw5RHgn+XcNUuMsgRJAwVhDNpg==", "dev": true, "requires": { - "@angular-devkit/core": "13.3.0", - "@angular-devkit/schematics": "13.3.0", + "@angular-devkit/core": "13.3.1", + "@angular-devkit/schematics": "13.3.1", "jsonc-parser": "3.0.0" + }, + "dependencies": { + "@angular-devkit/core": { + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.1.tgz", + "integrity": "sha512-eXAcQaP1mn6rnQb+5bv5NsamY6b34UYM7G+S154Hnma6CTTSGBtcmoNAJs8cekuFqWlw7YgpB/e15jR5OLPkDA==", + "dev": true, + "requires": { + "ajv": "8.9.0", + "ajv-formats": "2.1.1", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "@socket.io/base64-arraybuffer": { diff --git a/frontend/package.json b/frontend/package.json index d29ca7e..e9d416e 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -16,7 +16,7 @@ "@angular/compiler": "~13.2.0", "@angular/core": "~13.2.0", "@angular/forms": "~13.2.0", - "@angular/material": "^13.3.1", + "@angular/material": "^13.3.2", "@angular/platform-browser": "~13.2.0", "@angular/platform-browser-dynamic": "~13.2.0", "@angular/router": "~13.2.0", @@ -27,7 +27,7 @@ }, "devDependencies": { "@angular-devkit/build-angular": "~13.3.1", - "@angular/cli": "~13.3.0", + "@angular/cli": "~13.3.1", "@angular/compiler-cli": "~13.2.0", "@types/jasmine": "~4.0.0", "@types/node": "^17.0.23",