From 078cf5eba81778ae4f8bee34038f5fd07206a83d Mon Sep 17 00:00:00 2001 From: Walker Aldridge Date: Thu, 21 Mar 2024 09:24:53 -0500 Subject: [PATCH 1/3] Add file upload parameters object, clean up put --- .../rest/impl/FileUploadController.ts | 41 ++++--------------- src/model/rest/FileUploadParameters.ts | 28 +++++++++++++ 2 files changed, 35 insertions(+), 34 deletions(-) create mode 100644 src/model/rest/FileUploadParameters.ts diff --git a/src/controllers/rest/impl/FileUploadController.ts b/src/controllers/rest/impl/FileUploadController.ts index bdcc377..cf5f7f2 100644 --- a/src/controllers/rest/impl/FileUploadController.ts +++ b/src/controllers/rest/impl/FileUploadController.ts @@ -1,5 +1,5 @@ import { Controller, Inject } from "@tsed/di"; -import { Delete, Description, Example, Examples, Get, Name, Patch, Pattern, Put, Returns, Summary } from "@tsed/schema"; +import { Delete, Description, Example, Get, Name, Patch, Put, Returns, Summary } from "@tsed/schema"; import { StatusCodes } from "http-status-codes"; import { FileUploadResponseDto } from "../../../model/dto/FileUploadResponseDto.js"; import { BadRequest } from "@tsed/exceptions"; @@ -12,6 +12,7 @@ import { Logger } from "@tsed/logger"; import { EntryModificationDto } from "../../../model/dto/EntryModificationDto.js"; import type { Request, Response } from "express"; import { DefaultRenderException } from "../../../model/rest/DefaultRenderException.js"; +import { FileUploadParameters } from "../../../model/rest/FileUploadParameters.js"; @Controller("/") @Description("This is the API documentation for uploading and sharing files.") @@ -43,37 +44,9 @@ export class FileUploadController extends BaseRestController { public async addEntry( @Req() req: Request, @Res() res: Response, - @QueryParams("expires") - @Examples({ - empty: { - summary: "empty", - description: "expires according to retention policy", - value: "", - }, - "1d": { - summary: "1d", - description: "expires in 1day", - value: "1d", - }, - }) - @Description( - "a string containing a number and a letter of `m` for mins, `h` for hours, `d` for days. For example: `1h` would be 1 hour and `1d` would be 1 day. leave this blank if you want the file to exist according to the retention policy", - ) - @Pattern(/^$|^\d+[mhd]$/) - customExpiry?: string, - @QueryParams("hide_filename") - @Description( - "if set to true, then your filename will not appear in the URL. if false, then it will appear in the URL. defaults to false", - ) - hideFileName?: boolean, - @QueryParams("password") - @Description( - "Set a password for this file, this will encrypt the file on the server that not even the server owner can obtain it, when fetching the file. you can fill out the `x-password` http header with your password to obtain the file via API", - ) - password?: string, + @QueryParams() params: FileUploadParameters, @MultipartFile("file") file?: PlatformMulterFile, @BodyParams("url") url?: string, - @QueryParams("secret_token") @Description("Shh, it's a secret ;)") secretToken?: string, ): Promise { if (file && url) { if (file) { @@ -91,10 +64,10 @@ export class FileUploadController extends BaseRestController { [uploadModelResponse, alreadyExists] = await this.fileUploadService.processUpload( ip, url || file!, - customExpiry, - hideFileName, - password, - secretToken, + params.expires, + params.hide_filename, + params.password, + params.secret_token, ); } catch (e) { this.logger.error(e.message); diff --git a/src/model/rest/FileUploadParameters.ts b/src/model/rest/FileUploadParameters.ts new file mode 100644 index 0000000..d652a32 --- /dev/null +++ b/src/model/rest/FileUploadParameters.ts @@ -0,0 +1,28 @@ +import { Description, Name, Pattern, Property } from "@tsed/schema"; + +@Name("WaifuUploadParameters") +@Description("Upload parameters for put requests") +export class FileUploadParameters { + @Description( + "a string containing a number and a letter of `m` for mins, `h` for hours, `d` for days. For example: `1h` would be 1 hour and `1d` would be 1 day. leave this blank if you want the file to exist according to the retention policy", + ) + @Pattern(/^$|^\d+[mhd]$/) + @Property() + public expires?: string; + + @Description( + "if set to true, then your filename will not appear in the URL. if false, then it will appear in the URL. defaults to false", + ) + @Property() + public hide_filename?: boolean; + + @Description( + "Set a password for this file, this will encrypt the file on the server that not even the server owner can obtain it, when fetching the file. you can fill out the `x-password` http header with your password to obtain the file via API", + ) + @Property() + public password?: string; + + @Description("Shh, it's a secret ;)") + @Property() + public secret_token?: string; +} From ac69f90e55540fab7a9dcf0944bb0af1bc8bc8a3 Mon Sep 17 00:00:00 2001 From: Walker Aldridge Date: Thu, 21 Mar 2024 09:45:40 -0500 Subject: [PATCH 2/3] Mark parameters optional --- src/model/rest/FileUploadParameters.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/model/rest/FileUploadParameters.ts b/src/model/rest/FileUploadParameters.ts index d652a32..4d3685d 100644 --- a/src/model/rest/FileUploadParameters.ts +++ b/src/model/rest/FileUploadParameters.ts @@ -1,4 +1,4 @@ -import { Description, Name, Pattern, Property } from "@tsed/schema"; +import { Description, Name, Optional, Pattern, Property } from "@tsed/schema"; @Name("WaifuUploadParameters") @Description("Upload parameters for put requests") @@ -7,22 +7,26 @@ export class FileUploadParameters { "a string containing a number and a letter of `m` for mins, `h` for hours, `d` for days. For example: `1h` would be 1 hour and `1d` would be 1 day. leave this blank if you want the file to exist according to the retention policy", ) @Pattern(/^$|^\d+[mhd]$/) + @Optional() @Property() public expires?: string; @Description( "if set to true, then your filename will not appear in the URL. if false, then it will appear in the URL. defaults to false", ) + @Optional() @Property() public hide_filename?: boolean; @Description( "Set a password for this file, this will encrypt the file on the server that not even the server owner can obtain it, when fetching the file. you can fill out the `x-password` http header with your password to obtain the file via API", ) + @Optional() @Property() public password?: string; @Description("Shh, it's a secret ;)") + @Optional() @Property() public secret_token?: string; } From 3650f7424ecb7891065d83d146ba325a974ea690 Mon Sep 17 00:00:00 2001 From: VictoriqueMoe Date: Fri, 22 Mar 2024 13:31:52 +0000 Subject: [PATCH 3/3] update deps and add examples to query --- package-lock.json | 752 +++++++++--------- package.json | 46 +- .../rest/impl/FileUploadController.ts | 21 +- 3 files changed, 418 insertions(+), 401 deletions(-) diff --git a/package-lock.json b/package-lock.json index 99ee432..d242e89 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,27 +10,27 @@ "license": "MIT", "dependencies": { "@socket.io/redis-adapter": "^8.3.0", - "@tsed/ajv": "^7.64.0", - "@tsed/common": "^7.64.0", - "@tsed/core": "^7.64.0", - "@tsed/di": "^7.64.0", - "@tsed/engines": "^7.64.0", - "@tsed/exceptions": "^7.64.0", - "@tsed/json-mapper": "^7.64.0", + "@tsed/ajv": "^7.66.0", + "@tsed/common": "^7.66.0", + "@tsed/core": "^7.66.0", + "@tsed/di": "^7.66.0", + "@tsed/engines": "^7.66.0", + "@tsed/exceptions": "^7.66.0", + "@tsed/json-mapper": "^7.66.0", "@tsed/logger": "^6.7.5", "@tsed/logger-file": "^6.7.5", - "@tsed/passport": "^7.64.0", - "@tsed/platform-cache": "^7.64.0", - "@tsed/platform-exceptions": "^7.64.0", - "@tsed/platform-express": "^7.64.0", - "@tsed/platform-log-middleware": "^7.64.0", - "@tsed/platform-middlewares": "^7.64.0", - "@tsed/platform-params": "^7.64.0", - "@tsed/platform-response-filter": "^7.64.0", - "@tsed/platform-views": "^7.64.0", - "@tsed/schema": "^7.64.0", - "@tsed/socketio": "^7.64.0", - "@tsed/swagger": "^7.64.0", + "@tsed/passport": "^7.66.0", + "@tsed/platform-cache": "^7.66.0", + "@tsed/platform-exceptions": "^7.66.0", + "@tsed/platform-express": "^7.66.0", + "@tsed/platform-log-middleware": "^7.66.0", + "@tsed/platform-middlewares": "^7.66.0", + "@tsed/platform-params": "^7.66.0", + "@tsed/platform-response-filter": "^7.66.0", + "@tsed/platform-views": "^7.66.0", + "@tsed/schema": "^7.66.0", + "@tsed/socketio": "^7.66.0", + "@tsed/swagger": "^7.66.0", "@types/socket.io": "^3.0.2", "ajv": "^8.12.0", "argon2": "^0.40.1", @@ -47,7 +47,7 @@ "dotenv-expand": "^11.0.6", "dotenv-flow": "^4.1.0", "ejs": "^3.1.9", - "express": "^4.18.3", + "express": "^4.19.1", "express-rate-limit": "^7.2.0", "express-session": "^1.18.0", "file-type": "^19.0.0", @@ -82,7 +82,7 @@ "@types/jsdom": "^21.1.6", "@types/method-override": "^0.0.35", "@types/multer": "^1.4.11", - "@types/node": "^20.11.28", + "@types/node": "^20.11.30", "@types/node-schedule": "^2.1.6", "@types/passport": "^1.0.16", "@types/passport-http": "^0.3.11", @@ -99,8 +99,8 @@ "tsc-files": "^1.1.4", "tsconfig-paths": "^4.2.0", "tslib": "^2.6.2", - "typescript": "^5.4.2", - "typescript-eslint": "^7.2.0" + "typescript": "^5.4.3", + "typescript-eslint": "^7.3.1" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -858,19 +858,19 @@ "devOptional": true }, "node_modules/@tsed/ajv": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/ajv/-/ajv-7.64.0.tgz", - "integrity": "sha512-gOWlHKZ4sb1gFjHEyz1GNzq/QVEcw/CxPBSXC+znxeKNGE1DNJB6Kn9IdNoMp1w8DGHcfaoyzBysFug1ycjZmg==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/ajv/-/ajv-7.66.0.tgz", + "integrity": "sha512-qFjWQypjVh77WUbrWHa7Xn+aNifk9g0i9N4PMde6s3TfELvlCib4G9ALr4jG4HBruRFS0B/cRma9VQlxLfkkaA==", "dependencies": { "ajv-errors": "3.0.0", "ajv-formats": "2.1.1", "tslib": "2.6.1" }, "peerDependencies": { - "@tsed/core": "7.64.0", - "@tsed/di": "7.64.0", - "@tsed/exceptions": "7.64.0", - "@tsed/schema": "7.64.0", + "@tsed/core": "7.66.0", + "@tsed/di": "7.66.0", + "@tsed/exceptions": "7.66.0", + "@tsed/schema": "7.66.0", "ajv": ">=8.9.0", "ajv-errors": ">=3.0.0" }, @@ -911,9 +911,9 @@ "dev": true }, "node_modules/@tsed/common": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/common/-/common-7.64.0.tgz", - "integrity": "sha512-MY6BcAyyRodt/qKbYQslMKpPMvkTH79gMaDNDw8TJJ0aeF5K+HWia2OHJT+P6RwtpfrCj04j53fISqaUyFbM3g==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/common/-/common-7.66.0.tgz", + "integrity": "sha512-Rq6+jSWyr/CRpWMWG8mDDaeyayZ3nA5YQAmse+5kOYf59IWRpLlVL71mpv/LHU2j3HfmFbkWwsUmoYmP9+AF/g==", "funding": [ { "type": "github", @@ -925,20 +925,20 @@ } ], "dependencies": { - "@tsed/core": "7.64.0", - "@tsed/di": "7.64.0", - "@tsed/exceptions": "7.64.0", - "@tsed/json-mapper": "7.64.0", + "@tsed/core": "7.66.0", + "@tsed/di": "7.66.0", + "@tsed/exceptions": "7.66.0", + "@tsed/json-mapper": "7.66.0", "@tsed/logger": ">=6.2.2", "@tsed/logger-file": ">=6.2.2", - "@tsed/platform-exceptions": "7.64.0", - "@tsed/platform-log-middleware": "7.64.0", - "@tsed/platform-middlewares": "7.64.0", - "@tsed/platform-params": "7.64.0", - "@tsed/platform-response-filter": "7.64.0", - "@tsed/platform-router": "7.64.0", - "@tsed/platform-views": "7.64.0", - "@tsed/schema": "7.64.0", + "@tsed/platform-exceptions": "7.66.0", + "@tsed/platform-log-middleware": "7.66.0", + "@tsed/platform-middlewares": "7.66.0", + "@tsed/platform-params": "7.66.0", + "@tsed/platform-response-filter": "7.66.0", + "@tsed/platform-router": "7.66.0", + "@tsed/platform-views": "7.66.0", + "@tsed/schema": "7.66.0", "@types/json-schema": "7.0.11", "accepts": "^1.3.8", "tslib": "2.6.1", @@ -963,9 +963,9 @@ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" }, "node_modules/@tsed/core": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/core/-/core-7.64.0.tgz", - "integrity": "sha512-H05GlQllL0/pQv4EDHjDkPjP8tTIYPsV1rm42RIbuHL8/r7yXgkwpnPZS8m8CNsJ2dONc2f6ju83PokLQlRbHw==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/core/-/core-7.66.0.tgz", + "integrity": "sha512-cm8rc6JM2P0GElqit7pkySH/0gAhWGxpmB8FXd3RHu72NEKVftFUDhMJZmkpf9Y3z4/UBHj5e48ntSqHQo3udA==", "dependencies": { "reflect-metadata": "^0.1.13", "tslib": "2.6.1" @@ -977,16 +977,16 @@ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" }, "node_modules/@tsed/di": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/di/-/di-7.64.0.tgz", - "integrity": "sha512-aRmleLCQj72opAbrbHD6ZiUuPXGeHhcks4CMkJ8bUePA5KWFW9qVoiNivTYzqCAjBcZj6LwK8wKp/jIY2RZeFw==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/di/-/di-7.66.0.tgz", + "integrity": "sha512-Ms+D5Wu3SVE8HSvt+FAdp02NfB/S8JJFiSau6FM8OlRCemIOxRDkhvpfWaHN1Sn5XB5xeVmRSkYzAnOxguIFlw==", "dependencies": { "tslib": "2.6.2" }, "peerDependencies": { - "@tsed/core": "7.64.0", + "@tsed/core": "7.66.0", "@tsed/logger": ">=6.2.2", - "@tsed/schema": "7.64.0" + "@tsed/schema": "7.66.0" }, "peerDependenciesMeta": { "@tsed/core": { @@ -1001,9 +1001,9 @@ } }, "node_modules/@tsed/engines": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/engines/-/engines-7.64.0.tgz", - "integrity": "sha512-5Skofx/hdaercC+sKveSzzHM5Exfmw9QGEeFNB2VirZ4cfItZzYoOLJC/lz7/CyqQiQyveHwgGI5Mlm3cv56gg==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/engines/-/engines-7.66.0.tgz", + "integrity": "sha512-a4a5e5pvno4bwWe+lBYvLoeajxlzYaEXdF8kk9g7lnm7nPyf1x70Uvh/IjQvA4z/ZPmcnYydR5Vs0ubRi7GXtQ==", "dependencies": { "tslib": "2.6.1" } @@ -1014,16 +1014,16 @@ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" }, "node_modules/@tsed/exceptions": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/exceptions/-/exceptions-7.64.0.tgz", - "integrity": "sha512-qK6SuiFrH9GY2m8nl6aMmfIBWnABEBFyBQSuDlM46bM+qLA7T77DQRp5+aiJpn3GrczJHymFxPha9E+5DH534Q==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/exceptions/-/exceptions-7.66.0.tgz", + "integrity": "sha512-NQC7KmtL32n8dNuT5JH7xhlqjKuvf0eUvuQGU1lOZYM5Y9ZxBBqIBD5OdbtceLle15SekJK39WFrAscYM0ld4w==", "dependencies": { "change-case": "4.1.2", "statuses": ">=2.0.1", "tslib": "2.6.1" }, "peerDependencies": { - "@tsed/core": "7.64.0" + "@tsed/core": "7.66.0" } }, "node_modules/@tsed/exceptions/node_modules/tslib": { @@ -1032,15 +1032,15 @@ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" }, "node_modules/@tsed/json-mapper": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/json-mapper/-/json-mapper-7.64.0.tgz", - "integrity": "sha512-WgZIZNvGtWDD3Y77wJ2MVvCpVX62GKv+un85WKaeswenTRkEB1EqMRmE55e6PWDfLtoTvoMg0OeenFYZtK+Fdg==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/json-mapper/-/json-mapper-7.66.0.tgz", + "integrity": "sha512-2mp7dV80+iFDm0SzDlsRn/ZkDYpUkmPZEfhlG6ARYr/YsaMzpBKYAQW7TaBxd0ttm6V+nYYJyCg0UI8YzUAsXg==", "dependencies": { "tslib": "2.6.1" }, "peerDependencies": { - "@tsed/core": "7.64.0", - "@tsed/schema": "7.64.0" + "@tsed/core": "7.66.0", + "@tsed/schema": "7.66.0" }, "peerDependenciesMeta": { "@tsed/core": { @@ -1080,9 +1080,9 @@ } }, "node_modules/@tsed/normalize-path": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/normalize-path/-/normalize-path-7.64.0.tgz", - "integrity": "sha512-j79fOH0z5jx2GnQy3D+W3YbwncVwJ/ehfGamJEZCZmaAXvk0ryqlH8BCUzBMV99iTqBg7fTwSL6VUmzNC5bXyQ==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/normalize-path/-/normalize-path-7.66.0.tgz", + "integrity": "sha512-7HMZQq8ICd/qFnk9TKSuegftwoLqEdsYPrKhk8Ae8aRAmcJljv5F5eQTefLTBpnAyTgUl0TrLy7P5sQjFo6A+Q==", "dependencies": { "normalize-path": "3.0.0", "tslib": "2.6.1" @@ -1094,19 +1094,19 @@ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" }, "node_modules/@tsed/openspec": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/openspec/-/openspec-7.64.0.tgz", - "integrity": "sha512-9U1Vfj76aOaoSTo5tT5yJNivl5mkbJP4FpE0aM35S605C1mT5knV4i5RDrF2d0KxUKN/zjYSNnzGe4FO950HjQ==" + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/openspec/-/openspec-7.66.0.tgz", + "integrity": "sha512-C1fTnuEKCg2Li/SfMKQO6Gb4tybQEQ1A4PArRtka+EouuILB2u9zs0CblTWaN153FKY4g2Ptk55SRLL2CjuQlg==" }, "node_modules/@tsed/passport": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/passport/-/passport-7.64.0.tgz", - "integrity": "sha512-dZa03NUMPtk6gqsrNWzyJO++k+CSYlBdzjl1pZq1gJgmwFWI78YAVVOHBswWGmvNkVUYjoOemtpfzmtYMbEmew==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/passport/-/passport-7.66.0.tgz", + "integrity": "sha512-/T/2yYcYsWtvrjAAUzAN5tzN1lEZKqMD/7lQ7NaUdzUhqk8pfFdxLPo2lfhIEMuGEtMdtfYEt0r3qzNiel0Z5A==", "dependencies": { "tslib": "2.6.1" }, "peerDependencies": { - "@tsed/common": "7.64.0", + "@tsed/common": "7.66.0", "passport": ">=0.4.1" }, "peerDependenciesMeta": { @@ -1121,19 +1121,19 @@ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" }, "node_modules/@tsed/platform-cache": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/platform-cache/-/platform-cache-7.64.0.tgz", - "integrity": "sha512-XLSIcCF8dwhwS44fx6PzuxvPwLtD4DSim3wNC3n3KbuGdtMbaJJPm2rhCQH8FnqgPhnPNQ7dcPAc59DfZTJs5g==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/platform-cache/-/platform-cache-7.66.0.tgz", + "integrity": "sha512-cCa0y89wn7RzVMh0FXHt5RSsgAva8kVXEh2M53vKr3U8FaWQ3YhjjzLm/F3B+T6qqUHuQw1+01WS7+M4ExMVGg==", "dependencies": { "cache-manager": "^5.1.3", "micromatch": "4.0.5", "tslib": "2.6.1" }, "peerDependencies": { - "@tsed/core": "7.64.0", - "@tsed/di": "7.64.0", - "@tsed/json-mapper": "7.64.0", - "@tsed/schema": "7.64.0" + "@tsed/core": "7.66.0", + "@tsed/di": "7.66.0", + "@tsed/json-mapper": "7.66.0", + "@tsed/schema": "7.66.0" }, "peerDependenciesMeta": { "@tsed/core": { @@ -1156,17 +1156,17 @@ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" }, "node_modules/@tsed/platform-exceptions": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/platform-exceptions/-/platform-exceptions-7.64.0.tgz", - "integrity": "sha512-2l+8Q5dUjf8malsBktRl2ejePrOY969rAuTrqF6T4/BqzqhsHAZrBfaL96CXhMNjT3OBIjWGXBoSLYiBllX7Ig==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/platform-exceptions/-/platform-exceptions-7.66.0.tgz", + "integrity": "sha512-cKnosyOeTN0PdJpyxorCT2QBB9krcOOslMQTk39p2Lp2fgS0bNk4qtP8meQCtEY3hXchjYl5KH3w+QXWNKaLRw==", "dependencies": { "tslib": "2.6.1" }, "peerDependencies": { - "@tsed/core": "7.64.0", - "@tsed/di": "7.64.0", - "@tsed/exceptions": "7.64.0", - "@tsed/schema": "7.64.0" + "@tsed/core": "7.66.0", + "@tsed/di": "7.66.0", + "@tsed/exceptions": "7.66.0", + "@tsed/schema": "7.66.0" }, "peerDependenciesMeta": { "@tsed/core": { @@ -1189,23 +1189,23 @@ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" }, "node_modules/@tsed/platform-express": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/platform-express/-/platform-express-7.64.0.tgz", - "integrity": "sha512-U5ltjrxOSJXcAoC6hWYAri44pqVD2zYBoTJwLOvWtZGLuvErw+ErH3h49FoVV6edifcuJC2RMhZq0mm+i8JBTA==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/platform-express/-/platform-express-7.66.0.tgz", + "integrity": "sha512-9L2prpPp8Q/ye6ds6jCbFnYTg523PRPfiheeeobQKQ8/j/Kznm2yT4v3N51rRrVTduM/9DlgZqmT0xPY5z0PKg==", "dependencies": { "express": "^4.18.2", "multer": "^1.4.5-lts.1", "tslib": "2.6.1" }, "peerDependencies": { - "@tsed/common": "7.64.0", - "@tsed/core": "7.64.0", - "@tsed/di": "7.64.0", - "@tsed/json-mapper": "7.64.0", + "@tsed/common": "7.66.0", + "@tsed/core": "7.66.0", + "@tsed/di": "7.66.0", + "@tsed/json-mapper": "7.66.0", "@tsed/logger": ">=6.2.2", - "@tsed/openspec": "7.64.0", - "@tsed/platform-views": "7.64.0", - "@tsed/schema": "7.64.0", + "@tsed/openspec": "7.66.0", + "@tsed/platform-views": "7.66.0", + "@tsed/schema": "7.66.0", "@types/multer": "^1.4.5", "body-parser": "^1.19.0", "cross-env": "7.0.3", @@ -1244,16 +1244,16 @@ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" }, "node_modules/@tsed/platform-log-middleware": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/platform-log-middleware/-/platform-log-middleware-7.64.0.tgz", - "integrity": "sha512-B2rC8TzA/xlCoF4KyoWy7M/v8jvY0KDc/UPvYG15qOR6vcNPsCgInIzFnkiqQz3Brz7f6ViMG9dsx0n5doK3ng==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/platform-log-middleware/-/platform-log-middleware-7.66.0.tgz", + "integrity": "sha512-Kzca+D0DuSuiMa0U27aQEgHURrtMsTwvK8zSmNtcq0Aefu/vf1ikOc/z7WPgPtC+R8yX3U6H2sqg8b3mRHXOZg==", "dependencies": { "tslib": "2.6.1" }, "peerDependencies": { - "@tsed/di": "7.64.0", - "@tsed/platform-middlewares": "7.64.0", - "@tsed/platform-params": "7.64.0" + "@tsed/di": "7.66.0", + "@tsed/platform-middlewares": "7.66.0", + "@tsed/platform-params": "7.66.0" }, "peerDependenciesMeta": { "@tsed/di": { @@ -1273,16 +1273,16 @@ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" }, "node_modules/@tsed/platform-middlewares": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/platform-middlewares/-/platform-middlewares-7.64.0.tgz", - "integrity": "sha512-STHOxkq0Bk1eVjE+Jos811oVq0u8ts/vFedJ/Umdnyb/k5RS8Ee4YVZmUyyoO1y670uTkbPqs8lgV4rg4MkMzA==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/platform-middlewares/-/platform-middlewares-7.66.0.tgz", + "integrity": "sha512-kdgH4irM9j8YSPJ4xis/4sEZXb1NEg1c8PQpEEM82GHP0I1pritcC1cJnI6b8pArwXEcn85sGYfb6XqvdJVo1g==", "dependencies": { "tslib": "2.6.1" }, "peerDependencies": { - "@tsed/core": "7.64.0", - "@tsed/di": "7.64.0", - "@tsed/schema": "7.64.0" + "@tsed/core": "7.66.0", + "@tsed/di": "7.66.0", + "@tsed/schema": "7.66.0" }, "peerDependenciesMeta": { "@tsed/core": { @@ -1302,18 +1302,18 @@ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" }, "node_modules/@tsed/platform-params": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/platform-params/-/platform-params-7.64.0.tgz", - "integrity": "sha512-vzbGw09nKbBdQ77pHeNl4ztg78LfJTepifVkRf1rnqNpvZYtyfBley6H8bka2KreyoAgVU5q7m5bfFvBpsDO0w==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/platform-params/-/platform-params-7.66.0.tgz", + "integrity": "sha512-41UdCTzQG44QtiMp2C6qOen5hsIBCImxmH1pK5Blar+uRKxWn+P08H4fhEwe1x7Y87vlgBISbxJXyXvMBluTug==", "dependencies": { "tslib": "2.6.1" }, "peerDependencies": { - "@tsed/core": "7.64.0", - "@tsed/di": "7.64.0", - "@tsed/exceptions": "7.64.0", - "@tsed/json-mapper": "7.64.0", - "@tsed/schema": "7.64.0" + "@tsed/core": "7.66.0", + "@tsed/di": "7.66.0", + "@tsed/exceptions": "7.66.0", + "@tsed/json-mapper": "7.66.0", + "@tsed/schema": "7.66.0" }, "peerDependenciesMeta": { "@tsed/core": { @@ -1339,18 +1339,18 @@ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" }, "node_modules/@tsed/platform-response-filter": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/platform-response-filter/-/platform-response-filter-7.64.0.tgz", - "integrity": "sha512-9N6V5lVZRIHRXYACPSV1DzaeqFx48t3woRdHe1GQzImOfSd/ceJx19AX/UNJk6sjEMoLk9du6lD2A86IsjQtQQ==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/platform-response-filter/-/platform-response-filter-7.66.0.tgz", + "integrity": "sha512-n0kuK7CWQVw3ZO87R06i75sgF66+3T54c8LcB+xgoj5l+qguYRW0xSykS7l4yvrX87FVyJFHspWHwn6x/Et58w==", "dependencies": { "tslib": "2.6.1" }, "peerDependencies": { - "@tsed/core": "7.64.0", - "@tsed/di": "7.64.0", - "@tsed/exceptions": "7.64.0", - "@tsed/json-mapper": "7.64.0", - "@tsed/schema": "7.64.0" + "@tsed/core": "7.66.0", + "@tsed/di": "7.66.0", + "@tsed/exceptions": "7.66.0", + "@tsed/json-mapper": "7.66.0", + "@tsed/schema": "7.66.0" }, "peerDependenciesMeta": { "@tsed/core": { @@ -1376,19 +1376,19 @@ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" }, "node_modules/@tsed/platform-router": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/platform-router/-/platform-router-7.64.0.tgz", - "integrity": "sha512-UaLruEDyyvzLstlF/UVjXC8v+7Mw1QhaCRI9RAC10FJRDtkXZejHKouJD54ONL+KwbPE0CalVsV1jhWDAqfGPw==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/platform-router/-/platform-router-7.66.0.tgz", + "integrity": "sha512-kfxhrbucMzoWRWEXjOlII5ZdKfyqSMMDjx+ZGbSkldrOJefqVx292DJGvDPJ26mx+rITw38j8dMO2mFXjQSBbQ==", "dependencies": { "tslib": "2.6.1" }, "peerDependencies": { - "@tsed/core": "7.64.0", - "@tsed/di": "7.64.0", - "@tsed/exceptions": "7.64.0", - "@tsed/json-mapper": "7.64.0", - "@tsed/platform-params": "7.64.0", - "@tsed/schema": "7.64.0" + "@tsed/core": "7.66.0", + "@tsed/di": "7.66.0", + "@tsed/exceptions": "7.66.0", + "@tsed/json-mapper": "7.66.0", + "@tsed/platform-params": "7.66.0", + "@tsed/schema": "7.66.0" }, "peerDependenciesMeta": { "@tsed/core": { @@ -1417,20 +1417,20 @@ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" }, "node_modules/@tsed/platform-views": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/platform-views/-/platform-views-7.64.0.tgz", - "integrity": "sha512-r/PsxDECJ3kIN7jHDaqAXcg7PlSMSn7exICnMjzBpSOit/7QDSFOzAVgtSesjPPrSYyZSRfrVduti6OJwD0J+w==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/platform-views/-/platform-views-7.66.0.tgz", + "integrity": "sha512-tN+feQnyVp2bE7r9f6VqHycmtdmOEqjL2ddx5SXsz73PoCxg4TFfpqsRfTdPT+ld8R0P8nV5zwwOGxoKkWPQJQ==", "dependencies": { - "@tsed/engines": "7.64.0", + "@tsed/engines": "7.66.0", "ejs": "^3.1.5", "tslib": "2.6.1" }, "peerDependencies": { - "@tsed/core": "7.64.0", - "@tsed/di": "7.64.0", - "@tsed/engines": "7.64.0", - "@tsed/exceptions": "7.64.0", - "@tsed/schema": "7.64.0" + "@tsed/core": "7.66.0", + "@tsed/di": "7.66.0", + "@tsed/engines": "7.66.0", + "@tsed/exceptions": "7.66.0", + "@tsed/schema": "7.66.0" }, "peerDependenciesMeta": { "@tsed/core": { @@ -1453,11 +1453,11 @@ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" }, "node_modules/@tsed/schema": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/schema/-/schema-7.64.0.tgz", - "integrity": "sha512-uUDdQcLSsdaFh4wTI16SLeOobgL/oRc4NQvZnzAXWHQBPSK3M1qC63/NI9kvIO94UVSZp03fp7PHFpO1ktFnjQ==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/schema/-/schema-7.66.0.tgz", + "integrity": "sha512-wWUoql2ArtqwmzOKPBUbq0XH/7ZEpvqstKbFdTfHOdhoE0L3Rk1c3rjUGsVyVTZ+fMg416RwkT43rV/AOeiAyw==", "dependencies": { - "@tsed/openspec": "7.64.0", + "@tsed/openspec": "7.66.0", "change-case": "^4.1.2", "fs-extra": "^11.1.1", "json-schema": "0.4.0", @@ -1466,8 +1466,8 @@ "tslib": "2.6.1" }, "peerDependencies": { - "@tsed/core": "7.64.0", - "@tsed/openspec": "7.64.0" + "@tsed/core": "7.66.0", + "@tsed/openspec": "7.66.0" }, "peerDependenciesMeta": { "@tsed/core": { @@ -1484,18 +1484,18 @@ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" }, "node_modules/@tsed/socketio": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/socketio/-/socketio-7.64.0.tgz", - "integrity": "sha512-oU2bAlMLJGV9TcdTgeX1Z4GwE9M1ZKnso97rbAGAl8lJbFQsY/wOivyHP4mJx3uDAWoCM5gAIiTvDyazYZbxtw==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/socketio/-/socketio-7.66.0.tgz", + "integrity": "sha512-uCrH3b81dwW80x0jDDTcjDSw5A7C/FN0QfrMKli7w3ZBVVjyPni9e4xH+0ne+OWJ+8U6+nVQJhPZmzpdu7fo4Q==", "dependencies": { "tslib": "2.6.1" }, "peerDependencies": { - "@tsed/di": "7.64.0", - "@tsed/json-mapper": "7.64.0", + "@tsed/di": "7.66.0", + "@tsed/json-mapper": "7.66.0", "@tsed/logger": ">=6.2.2", - "@tsed/platform-middlewares": "7.64.0", - "@tsed/schema": "7.64.0", + "@tsed/platform-middlewares": "7.66.0", + "@tsed/schema": "7.66.0", "socket.io": ">=4.0.0" }, "peerDependenciesMeta": { @@ -1519,12 +1519,12 @@ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" }, "node_modules/@tsed/swagger": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/swagger/-/swagger-7.64.0.tgz", - "integrity": "sha512-w18c4i5Gd/toeNxTPQEujoJjSv+1orAq1bpaTbAeGYTiWDlUIj/NFs9wB1OVQF7sPx8Y3VIm4NO32gRVna7s8Q==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/swagger/-/swagger-7.66.0.tgz", + "integrity": "sha512-e/CWQ3EA/EiAE/391ptrON5VXxQfg+zAd8nQNcllPfFzR+RB1HYqNvA+SmOuKNIuqOYxp4FHBEqegLTrd/dAeg==", "dependencies": { - "@tsed/normalize-path": "7.64.0", - "@tsed/openspec": "7.64.0", + "@tsed/normalize-path": "7.66.0", + "@tsed/openspec": "7.66.0", "filedirname": "^2.7.0", "fs-extra": "11.1.1", "micromatch": "4.0.5", @@ -1532,7 +1532,7 @@ "tslib": "2.6.1" }, "peerDependencies": { - "@tsed/common": "7.64.0" + "@tsed/common": "7.66.0" }, "peerDependenciesMeta": { "@tsed/common": { @@ -1699,9 +1699,9 @@ } }, "node_modules/@types/node": { - "version": "20.11.28", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.28.tgz", - "integrity": "sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==", + "version": "20.11.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz", + "integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==", "dependencies": { "undici-types": "~5.26.4" } @@ -1848,16 +1848,16 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.2.0.tgz", - "integrity": "sha512-mdekAHOqS9UjlmyF/LSs6AIEvfceV749GFxoBAjwAv0nkevfKHWQFDMcBZWUiIC5ft6ePWivXoS36aKQ0Cy3sw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.3.1.tgz", + "integrity": "sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "7.2.0", - "@typescript-eslint/type-utils": "7.2.0", - "@typescript-eslint/utils": "7.2.0", - "@typescript-eslint/visitor-keys": "7.2.0", + "@typescript-eslint/scope-manager": "7.3.1", + "@typescript-eslint/type-utils": "7.3.1", + "@typescript-eslint/utils": "7.3.1", + "@typescript-eslint/visitor-keys": "7.3.1", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -1866,7 +1866,7 @@ "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -1883,19 +1883,19 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.2.0.tgz", - "integrity": "sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.3.1.tgz", + "integrity": "sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "7.2.0", - "@typescript-eslint/types": "7.2.0", - "@typescript-eslint/typescript-estree": "7.2.0", - "@typescript-eslint/visitor-keys": "7.2.0", + "@typescript-eslint/scope-manager": "7.3.1", + "@typescript-eslint/types": "7.3.1", + "@typescript-eslint/typescript-estree": "7.3.1", + "@typescript-eslint/visitor-keys": "7.3.1", "debug": "^4.3.4" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -1911,16 +1911,16 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.2.0.tgz", - "integrity": "sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.3.1.tgz", + "integrity": "sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.2.0", - "@typescript-eslint/visitor-keys": "7.2.0" + "@typescript-eslint/types": "7.3.1", + "@typescript-eslint/visitor-keys": "7.3.1" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -1928,18 +1928,18 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.2.0.tgz", - "integrity": "sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.3.1.tgz", + "integrity": "sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "7.2.0", - "@typescript-eslint/utils": "7.2.0", + "@typescript-eslint/typescript-estree": "7.3.1", + "@typescript-eslint/utils": "7.3.1", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -1955,12 +1955,12 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.2.0.tgz", - "integrity": "sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.3.1.tgz", + "integrity": "sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==", "dev": true, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -1968,13 +1968,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.2.0.tgz", - "integrity": "sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.3.1.tgz", + "integrity": "sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.2.0", - "@typescript-eslint/visitor-keys": "7.2.0", + "@typescript-eslint/types": "7.3.1", + "@typescript-eslint/visitor-keys": "7.3.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1983,7 +1983,7 @@ "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -1996,21 +1996,21 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.2.0.tgz", - "integrity": "sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.3.1.tgz", + "integrity": "sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "7.2.0", - "@typescript-eslint/types": "7.2.0", - "@typescript-eslint/typescript-estree": "7.2.0", + "@typescript-eslint/scope-manager": "7.3.1", + "@typescript-eslint/types": "7.3.1", + "@typescript-eslint/typescript-estree": "7.3.1", "semver": "^7.5.4" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -2027,16 +2027,16 @@ "dev": true }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.2.0.tgz", - "integrity": "sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.3.1.tgz", + "integrity": "sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.2.0", + "@typescript-eslint/types": "7.3.1", "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -3841,16 +3841,16 @@ } }, "node_modules/express": { - "version": "4.18.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", - "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.1.tgz", + "integrity": "sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -3959,9 +3959,9 @@ ] }, "node_modules/express/node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "engines": { "node": ">= 0.6" } @@ -8207,9 +8207,9 @@ } }, "node_modules/typescript": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", - "integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz", + "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==", "devOptional": true, "bin": { "tsc": "bin/tsc", @@ -8220,16 +8220,16 @@ } }, "node_modules/typescript-eslint": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.2.0.tgz", - "integrity": "sha512-VqXEBqzPxJlR8Lfg2Dywe4XpIk637kwp2sfMQ+vudNHo48TUvnlHzAyFMQknv0AdhvZFXQN0a0t9SPI3rsAYew==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.3.1.tgz", + "integrity": "sha512-psqcnHPRCdVIDbgj6RvfpwUKqMcNxIw7eizgxYi46X2BmXK6LxYqPD+SbDfPuA9JW+yPItY6aKJLRNbW7lZ4rA==", "dev": true, "dependencies": { - "@typescript-eslint/eslint-plugin": "7.2.0", - "@typescript-eslint/parser": "7.2.0" + "@typescript-eslint/eslint-plugin": "7.3.1", + "@typescript-eslint/parser": "7.3.1" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -9025,9 +9025,9 @@ "devOptional": true }, "@tsed/ajv": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/ajv/-/ajv-7.64.0.tgz", - "integrity": "sha512-gOWlHKZ4sb1gFjHEyz1GNzq/QVEcw/CxPBSXC+znxeKNGE1DNJB6Kn9IdNoMp1w8DGHcfaoyzBysFug1ycjZmg==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/ajv/-/ajv-7.66.0.tgz", + "integrity": "sha512-qFjWQypjVh77WUbrWHa7Xn+aNifk9g0i9N4PMde6s3TfELvlCib4G9ALr4jG4HBruRFS0B/cRma9VQlxLfkkaA==", "requires": { "ajv-errors": "3.0.0", "ajv-formats": "2.1.1", @@ -9060,24 +9060,24 @@ } }, "@tsed/common": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/common/-/common-7.64.0.tgz", - "integrity": "sha512-MY6BcAyyRodt/qKbYQslMKpPMvkTH79gMaDNDw8TJJ0aeF5K+HWia2OHJT+P6RwtpfrCj04j53fISqaUyFbM3g==", - "requires": { - "@tsed/core": "7.64.0", - "@tsed/di": "7.64.0", - "@tsed/exceptions": "7.64.0", - "@tsed/json-mapper": "7.64.0", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/common/-/common-7.66.0.tgz", + "integrity": "sha512-Rq6+jSWyr/CRpWMWG8mDDaeyayZ3nA5YQAmse+5kOYf59IWRpLlVL71mpv/LHU2j3HfmFbkWwsUmoYmP9+AF/g==", + "requires": { + "@tsed/core": "7.66.0", + "@tsed/di": "7.66.0", + "@tsed/exceptions": "7.66.0", + "@tsed/json-mapper": "7.66.0", "@tsed/logger": ">=6.2.2", "@tsed/logger-file": ">=6.2.2", - "@tsed/platform-exceptions": "7.64.0", - "@tsed/platform-log-middleware": "7.64.0", - "@tsed/platform-middlewares": "7.64.0", - "@tsed/platform-params": "7.64.0", - "@tsed/platform-response-filter": "7.64.0", - "@tsed/platform-router": "7.64.0", - "@tsed/platform-views": "7.64.0", - "@tsed/schema": "7.64.0", + "@tsed/platform-exceptions": "7.66.0", + "@tsed/platform-log-middleware": "7.66.0", + "@tsed/platform-middlewares": "7.66.0", + "@tsed/platform-params": "7.66.0", + "@tsed/platform-response-filter": "7.66.0", + "@tsed/platform-router": "7.66.0", + "@tsed/platform-views": "7.66.0", + "@tsed/schema": "7.66.0", "@types/json-schema": "7.0.11", "accepts": "^1.3.8", "tslib": "2.6.1", @@ -9092,9 +9092,9 @@ } }, "@tsed/core": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/core/-/core-7.64.0.tgz", - "integrity": "sha512-H05GlQllL0/pQv4EDHjDkPjP8tTIYPsV1rm42RIbuHL8/r7yXgkwpnPZS8m8CNsJ2dONc2f6ju83PokLQlRbHw==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/core/-/core-7.66.0.tgz", + "integrity": "sha512-cm8rc6JM2P0GElqit7pkySH/0gAhWGxpmB8FXd3RHu72NEKVftFUDhMJZmkpf9Y3z4/UBHj5e48ntSqHQo3udA==", "requires": { "reflect-metadata": "^0.1.13", "tslib": "2.6.1" @@ -9108,17 +9108,17 @@ } }, "@tsed/di": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/di/-/di-7.64.0.tgz", - "integrity": "sha512-aRmleLCQj72opAbrbHD6ZiUuPXGeHhcks4CMkJ8bUePA5KWFW9qVoiNivTYzqCAjBcZj6LwK8wKp/jIY2RZeFw==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/di/-/di-7.66.0.tgz", + "integrity": "sha512-Ms+D5Wu3SVE8HSvt+FAdp02NfB/S8JJFiSau6FM8OlRCemIOxRDkhvpfWaHN1Sn5XB5xeVmRSkYzAnOxguIFlw==", "requires": { "tslib": "2.6.2" } }, "@tsed/engines": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/engines/-/engines-7.64.0.tgz", - "integrity": "sha512-5Skofx/hdaercC+sKveSzzHM5Exfmw9QGEeFNB2VirZ4cfItZzYoOLJC/lz7/CyqQiQyveHwgGI5Mlm3cv56gg==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/engines/-/engines-7.66.0.tgz", + "integrity": "sha512-a4a5e5pvno4bwWe+lBYvLoeajxlzYaEXdF8kk9g7lnm7nPyf1x70Uvh/IjQvA4z/ZPmcnYydR5Vs0ubRi7GXtQ==", "requires": { "tslib": "2.6.1" }, @@ -9131,9 +9131,9 @@ } }, "@tsed/exceptions": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/exceptions/-/exceptions-7.64.0.tgz", - "integrity": "sha512-qK6SuiFrH9GY2m8nl6aMmfIBWnABEBFyBQSuDlM46bM+qLA7T77DQRp5+aiJpn3GrczJHymFxPha9E+5DH534Q==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/exceptions/-/exceptions-7.66.0.tgz", + "integrity": "sha512-NQC7KmtL32n8dNuT5JH7xhlqjKuvf0eUvuQGU1lOZYM5Y9ZxBBqIBD5OdbtceLle15SekJK39WFrAscYM0ld4w==", "requires": { "change-case": "4.1.2", "statuses": ">=2.0.1", @@ -9148,9 +9148,9 @@ } }, "@tsed/json-mapper": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/json-mapper/-/json-mapper-7.64.0.tgz", - "integrity": "sha512-WgZIZNvGtWDD3Y77wJ2MVvCpVX62GKv+un85WKaeswenTRkEB1EqMRmE55e6PWDfLtoTvoMg0OeenFYZtK+Fdg==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/json-mapper/-/json-mapper-7.66.0.tgz", + "integrity": "sha512-2mp7dV80+iFDm0SzDlsRn/ZkDYpUkmPZEfhlG6ARYr/YsaMzpBKYAQW7TaBxd0ttm6V+nYYJyCg0UI8YzUAsXg==", "requires": { "tslib": "2.6.1" }, @@ -9183,9 +9183,9 @@ } }, "@tsed/normalize-path": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/normalize-path/-/normalize-path-7.64.0.tgz", - "integrity": "sha512-j79fOH0z5jx2GnQy3D+W3YbwncVwJ/ehfGamJEZCZmaAXvk0ryqlH8BCUzBMV99iTqBg7fTwSL6VUmzNC5bXyQ==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/normalize-path/-/normalize-path-7.66.0.tgz", + "integrity": "sha512-7HMZQq8ICd/qFnk9TKSuegftwoLqEdsYPrKhk8Ae8aRAmcJljv5F5eQTefLTBpnAyTgUl0TrLy7P5sQjFo6A+Q==", "requires": { "normalize-path": "3.0.0", "tslib": "2.6.1" @@ -9199,14 +9199,14 @@ } }, "@tsed/openspec": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/openspec/-/openspec-7.64.0.tgz", - "integrity": "sha512-9U1Vfj76aOaoSTo5tT5yJNivl5mkbJP4FpE0aM35S605C1mT5knV4i5RDrF2d0KxUKN/zjYSNnzGe4FO950HjQ==" + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/openspec/-/openspec-7.66.0.tgz", + "integrity": "sha512-C1fTnuEKCg2Li/SfMKQO6Gb4tybQEQ1A4PArRtka+EouuILB2u9zs0CblTWaN153FKY4g2Ptk55SRLL2CjuQlg==" }, "@tsed/passport": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/passport/-/passport-7.64.0.tgz", - "integrity": "sha512-dZa03NUMPtk6gqsrNWzyJO++k+CSYlBdzjl1pZq1gJgmwFWI78YAVVOHBswWGmvNkVUYjoOemtpfzmtYMbEmew==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/passport/-/passport-7.66.0.tgz", + "integrity": "sha512-/T/2yYcYsWtvrjAAUzAN5tzN1lEZKqMD/7lQ7NaUdzUhqk8pfFdxLPo2lfhIEMuGEtMdtfYEt0r3qzNiel0Z5A==", "requires": { "tslib": "2.6.1" }, @@ -9219,9 +9219,9 @@ } }, "@tsed/platform-cache": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/platform-cache/-/platform-cache-7.64.0.tgz", - "integrity": "sha512-XLSIcCF8dwhwS44fx6PzuxvPwLtD4DSim3wNC3n3KbuGdtMbaJJPm2rhCQH8FnqgPhnPNQ7dcPAc59DfZTJs5g==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/platform-cache/-/platform-cache-7.66.0.tgz", + "integrity": "sha512-cCa0y89wn7RzVMh0FXHt5RSsgAva8kVXEh2M53vKr3U8FaWQ3YhjjzLm/F3B+T6qqUHuQw1+01WS7+M4ExMVGg==", "requires": { "cache-manager": "^5.1.3", "micromatch": "4.0.5", @@ -9236,9 +9236,9 @@ } }, "@tsed/platform-exceptions": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/platform-exceptions/-/platform-exceptions-7.64.0.tgz", - "integrity": "sha512-2l+8Q5dUjf8malsBktRl2ejePrOY969rAuTrqF6T4/BqzqhsHAZrBfaL96CXhMNjT3OBIjWGXBoSLYiBllX7Ig==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/platform-exceptions/-/platform-exceptions-7.66.0.tgz", + "integrity": "sha512-cKnosyOeTN0PdJpyxorCT2QBB9krcOOslMQTk39p2Lp2fgS0bNk4qtP8meQCtEY3hXchjYl5KH3w+QXWNKaLRw==", "requires": { "tslib": "2.6.1" }, @@ -9251,9 +9251,9 @@ } }, "@tsed/platform-express": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/platform-express/-/platform-express-7.64.0.tgz", - "integrity": "sha512-U5ltjrxOSJXcAoC6hWYAri44pqVD2zYBoTJwLOvWtZGLuvErw+ErH3h49FoVV6edifcuJC2RMhZq0mm+i8JBTA==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/platform-express/-/platform-express-7.66.0.tgz", + "integrity": "sha512-9L2prpPp8Q/ye6ds6jCbFnYTg523PRPfiheeeobQKQ8/j/Kznm2yT4v3N51rRrVTduM/9DlgZqmT0xPY5z0PKg==", "requires": { "express": "^4.18.2", "multer": "^1.4.5-lts.1", @@ -9268,9 +9268,9 @@ } }, "@tsed/platform-log-middleware": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/platform-log-middleware/-/platform-log-middleware-7.64.0.tgz", - "integrity": "sha512-B2rC8TzA/xlCoF4KyoWy7M/v8jvY0KDc/UPvYG15qOR6vcNPsCgInIzFnkiqQz3Brz7f6ViMG9dsx0n5doK3ng==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/platform-log-middleware/-/platform-log-middleware-7.66.0.tgz", + "integrity": "sha512-Kzca+D0DuSuiMa0U27aQEgHURrtMsTwvK8zSmNtcq0Aefu/vf1ikOc/z7WPgPtC+R8yX3U6H2sqg8b3mRHXOZg==", "requires": { "tslib": "2.6.1" }, @@ -9283,9 +9283,9 @@ } }, "@tsed/platform-middlewares": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/platform-middlewares/-/platform-middlewares-7.64.0.tgz", - "integrity": "sha512-STHOxkq0Bk1eVjE+Jos811oVq0u8ts/vFedJ/Umdnyb/k5RS8Ee4YVZmUyyoO1y670uTkbPqs8lgV4rg4MkMzA==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/platform-middlewares/-/platform-middlewares-7.66.0.tgz", + "integrity": "sha512-kdgH4irM9j8YSPJ4xis/4sEZXb1NEg1c8PQpEEM82GHP0I1pritcC1cJnI6b8pArwXEcn85sGYfb6XqvdJVo1g==", "requires": { "tslib": "2.6.1" }, @@ -9298,9 +9298,9 @@ } }, "@tsed/platform-params": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/platform-params/-/platform-params-7.64.0.tgz", - "integrity": "sha512-vzbGw09nKbBdQ77pHeNl4ztg78LfJTepifVkRf1rnqNpvZYtyfBley6H8bka2KreyoAgVU5q7m5bfFvBpsDO0w==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/platform-params/-/platform-params-7.66.0.tgz", + "integrity": "sha512-41UdCTzQG44QtiMp2C6qOen5hsIBCImxmH1pK5Blar+uRKxWn+P08H4fhEwe1x7Y87vlgBISbxJXyXvMBluTug==", "requires": { "tslib": "2.6.1" }, @@ -9313,9 +9313,9 @@ } }, "@tsed/platform-response-filter": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/platform-response-filter/-/platform-response-filter-7.64.0.tgz", - "integrity": "sha512-9N6V5lVZRIHRXYACPSV1DzaeqFx48t3woRdHe1GQzImOfSd/ceJx19AX/UNJk6sjEMoLk9du6lD2A86IsjQtQQ==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/platform-response-filter/-/platform-response-filter-7.66.0.tgz", + "integrity": "sha512-n0kuK7CWQVw3ZO87R06i75sgF66+3T54c8LcB+xgoj5l+qguYRW0xSykS7l4yvrX87FVyJFHspWHwn6x/Et58w==", "requires": { "tslib": "2.6.1" }, @@ -9328,9 +9328,9 @@ } }, "@tsed/platform-router": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/platform-router/-/platform-router-7.64.0.tgz", - "integrity": "sha512-UaLruEDyyvzLstlF/UVjXC8v+7Mw1QhaCRI9RAC10FJRDtkXZejHKouJD54ONL+KwbPE0CalVsV1jhWDAqfGPw==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/platform-router/-/platform-router-7.66.0.tgz", + "integrity": "sha512-kfxhrbucMzoWRWEXjOlII5ZdKfyqSMMDjx+ZGbSkldrOJefqVx292DJGvDPJ26mx+rITw38j8dMO2mFXjQSBbQ==", "requires": { "tslib": "2.6.1" }, @@ -9343,11 +9343,11 @@ } }, "@tsed/platform-views": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/platform-views/-/platform-views-7.64.0.tgz", - "integrity": "sha512-r/PsxDECJ3kIN7jHDaqAXcg7PlSMSn7exICnMjzBpSOit/7QDSFOzAVgtSesjPPrSYyZSRfrVduti6OJwD0J+w==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/platform-views/-/platform-views-7.66.0.tgz", + "integrity": "sha512-tN+feQnyVp2bE7r9f6VqHycmtdmOEqjL2ddx5SXsz73PoCxg4TFfpqsRfTdPT+ld8R0P8nV5zwwOGxoKkWPQJQ==", "requires": { - "@tsed/engines": "7.64.0", + "@tsed/engines": "7.66.0", "ejs": "^3.1.5", "tslib": "2.6.1" }, @@ -9360,11 +9360,11 @@ } }, "@tsed/schema": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/schema/-/schema-7.64.0.tgz", - "integrity": "sha512-uUDdQcLSsdaFh4wTI16SLeOobgL/oRc4NQvZnzAXWHQBPSK3M1qC63/NI9kvIO94UVSZp03fp7PHFpO1ktFnjQ==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/schema/-/schema-7.66.0.tgz", + "integrity": "sha512-wWUoql2ArtqwmzOKPBUbq0XH/7ZEpvqstKbFdTfHOdhoE0L3Rk1c3rjUGsVyVTZ+fMg416RwkT43rV/AOeiAyw==", "requires": { - "@tsed/openspec": "7.64.0", + "@tsed/openspec": "7.66.0", "change-case": "^4.1.2", "fs-extra": "^11.1.1", "json-schema": "0.4.0", @@ -9381,9 +9381,9 @@ } }, "@tsed/socketio": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/socketio/-/socketio-7.64.0.tgz", - "integrity": "sha512-oU2bAlMLJGV9TcdTgeX1Z4GwE9M1ZKnso97rbAGAl8lJbFQsY/wOivyHP4mJx3uDAWoCM5gAIiTvDyazYZbxtw==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/socketio/-/socketio-7.66.0.tgz", + "integrity": "sha512-uCrH3b81dwW80x0jDDTcjDSw5A7C/FN0QfrMKli7w3ZBVVjyPni9e4xH+0ne+OWJ+8U6+nVQJhPZmzpdu7fo4Q==", "requires": { "tslib": "2.6.1" }, @@ -9396,12 +9396,12 @@ } }, "@tsed/swagger": { - "version": "7.64.0", - "resolved": "https://registry.npmjs.org/@tsed/swagger/-/swagger-7.64.0.tgz", - "integrity": "sha512-w18c4i5Gd/toeNxTPQEujoJjSv+1orAq1bpaTbAeGYTiWDlUIj/NFs9wB1OVQF7sPx8Y3VIm4NO32gRVna7s8Q==", + "version": "7.66.0", + "resolved": "https://registry.npmjs.org/@tsed/swagger/-/swagger-7.66.0.tgz", + "integrity": "sha512-e/CWQ3EA/EiAE/391ptrON5VXxQfg+zAd8nQNcllPfFzR+RB1HYqNvA+SmOuKNIuqOYxp4FHBEqegLTrd/dAeg==", "requires": { - "@tsed/normalize-path": "7.64.0", - "@tsed/openspec": "7.64.0", + "@tsed/normalize-path": "7.66.0", + "@tsed/openspec": "7.66.0", "filedirname": "^2.7.0", "fs-extra": "11.1.1", "micromatch": "4.0.5", @@ -9570,9 +9570,9 @@ } }, "@types/node": { - "version": "20.11.28", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.28.tgz", - "integrity": "sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==", + "version": "20.11.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz", + "integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==", "requires": { "undici-types": "~5.26.4" } @@ -9718,16 +9718,16 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.2.0.tgz", - "integrity": "sha512-mdekAHOqS9UjlmyF/LSs6AIEvfceV749GFxoBAjwAv0nkevfKHWQFDMcBZWUiIC5ft6ePWivXoS36aKQ0Cy3sw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.3.1.tgz", + "integrity": "sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==", "dev": true, "requires": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "7.2.0", - "@typescript-eslint/type-utils": "7.2.0", - "@typescript-eslint/utils": "7.2.0", - "@typescript-eslint/visitor-keys": "7.2.0", + "@typescript-eslint/scope-manager": "7.3.1", + "@typescript-eslint/type-utils": "7.3.1", + "@typescript-eslint/utils": "7.3.1", + "@typescript-eslint/visitor-keys": "7.3.1", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -9737,54 +9737,54 @@ } }, "@typescript-eslint/parser": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.2.0.tgz", - "integrity": "sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.3.1.tgz", + "integrity": "sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "7.2.0", - "@typescript-eslint/types": "7.2.0", - "@typescript-eslint/typescript-estree": "7.2.0", - "@typescript-eslint/visitor-keys": "7.2.0", + "@typescript-eslint/scope-manager": "7.3.1", + "@typescript-eslint/types": "7.3.1", + "@typescript-eslint/typescript-estree": "7.3.1", + "@typescript-eslint/visitor-keys": "7.3.1", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.2.0.tgz", - "integrity": "sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.3.1.tgz", + "integrity": "sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==", "dev": true, "requires": { - "@typescript-eslint/types": "7.2.0", - "@typescript-eslint/visitor-keys": "7.2.0" + "@typescript-eslint/types": "7.3.1", + "@typescript-eslint/visitor-keys": "7.3.1" } }, "@typescript-eslint/type-utils": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.2.0.tgz", - "integrity": "sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.3.1.tgz", + "integrity": "sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "7.2.0", - "@typescript-eslint/utils": "7.2.0", + "@typescript-eslint/typescript-estree": "7.3.1", + "@typescript-eslint/utils": "7.3.1", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" } }, "@typescript-eslint/types": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.2.0.tgz", - "integrity": "sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.3.1.tgz", + "integrity": "sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.2.0.tgz", - "integrity": "sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.3.1.tgz", + "integrity": "sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==", "dev": true, "requires": { - "@typescript-eslint/types": "7.2.0", - "@typescript-eslint/visitor-keys": "7.2.0", + "@typescript-eslint/types": "7.3.1", + "@typescript-eslint/visitor-keys": "7.3.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -9794,17 +9794,17 @@ } }, "@typescript-eslint/utils": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.2.0.tgz", - "integrity": "sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.3.1.tgz", + "integrity": "sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "7.2.0", - "@typescript-eslint/types": "7.2.0", - "@typescript-eslint/typescript-estree": "7.2.0", + "@typescript-eslint/scope-manager": "7.3.1", + "@typescript-eslint/types": "7.3.1", + "@typescript-eslint/typescript-estree": "7.3.1", "semver": "^7.5.4" }, "dependencies": { @@ -9817,12 +9817,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.2.0.tgz", - "integrity": "sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.3.1.tgz", + "integrity": "sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==", "dev": true, "requires": { - "@typescript-eslint/types": "7.2.0", + "@typescript-eslint/types": "7.3.1", "eslint-visitor-keys": "^3.4.1" } }, @@ -11151,16 +11151,16 @@ "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" }, "express": { - "version": "4.18.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", - "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.1.tgz", + "integrity": "sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==", "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -11189,9 +11189,9 @@ }, "dependencies": { "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==" }, "debug": { "version": "2.6.9", @@ -14230,19 +14230,19 @@ "requires": {} }, "typescript": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", - "integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz", + "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==", "devOptional": true }, "typescript-eslint": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.2.0.tgz", - "integrity": "sha512-VqXEBqzPxJlR8Lfg2Dywe4XpIk637kwp2sfMQ+vudNHo48TUvnlHzAyFMQknv0AdhvZFXQN0a0t9SPI3rsAYew==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.3.1.tgz", + "integrity": "sha512-psqcnHPRCdVIDbgj6RvfpwUKqMcNxIw7eizgxYi46X2BmXK6LxYqPD+SbDfPuA9JW+yPItY6aKJLRNbW7lZ4rA==", "dev": true, "requires": { - "@typescript-eslint/eslint-plugin": "7.2.0", - "@typescript-eslint/parser": "7.2.0" + "@typescript-eslint/eslint-plugin": "7.3.1", + "@typescript-eslint/parser": "7.3.1" } }, "uid-safe": { diff --git a/package.json b/package.json index 8635aa9..eac3e3f 100644 --- a/package.json +++ b/package.json @@ -24,27 +24,27 @@ }, "dependencies": { "@socket.io/redis-adapter": "^8.3.0", - "@tsed/ajv": "^7.64.0", - "@tsed/common": "^7.64.0", - "@tsed/core": "^7.64.0", - "@tsed/di": "^7.64.0", - "@tsed/engines": "^7.64.0", - "@tsed/exceptions": "^7.64.0", - "@tsed/json-mapper": "^7.64.0", + "@tsed/ajv": "^7.66.0", + "@tsed/common": "^7.66.0", + "@tsed/core": "^7.66.0", + "@tsed/di": "^7.66.0", + "@tsed/engines": "^7.66.0", + "@tsed/exceptions": "^7.66.0", + "@tsed/json-mapper": "^7.66.0", "@tsed/logger": "^6.7.5", "@tsed/logger-file": "^6.7.5", - "@tsed/passport": "^7.64.0", - "@tsed/platform-cache": "^7.64.0", - "@tsed/platform-exceptions": "^7.64.0", - "@tsed/platform-express": "^7.64.0", - "@tsed/platform-log-middleware": "^7.64.0", - "@tsed/platform-middlewares": "^7.64.0", - "@tsed/platform-params": "^7.64.0", - "@tsed/platform-response-filter": "^7.64.0", - "@tsed/platform-views": "^7.64.0", - "@tsed/schema": "^7.64.0", - "@tsed/socketio": "^7.64.0", - "@tsed/swagger": "^7.64.0", + "@tsed/passport": "^7.66.0", + "@tsed/platform-cache": "^7.66.0", + "@tsed/platform-exceptions": "^7.66.0", + "@tsed/platform-express": "^7.66.0", + "@tsed/platform-log-middleware": "^7.66.0", + "@tsed/platform-middlewares": "^7.66.0", + "@tsed/platform-params": "^7.66.0", + "@tsed/platform-response-filter": "^7.66.0", + "@tsed/platform-views": "^7.66.0", + "@tsed/schema": "^7.66.0", + "@tsed/socketio": "^7.66.0", + "@tsed/swagger": "^7.66.0", "@types/socket.io": "^3.0.2", "ajv": "^8.12.0", "argon2": "^0.40.1", @@ -61,7 +61,7 @@ "dotenv-expand": "^11.0.6", "dotenv-flow": "^4.1.0", "ejs": "^3.1.9", - "express": "^4.18.3", + "express": "^4.19.1", "express-rate-limit": "^7.2.0", "express-session": "^1.18.0", "file-type": "^19.0.0", @@ -96,7 +96,7 @@ "@types/jsdom": "^21.1.6", "@types/method-override": "^0.0.35", "@types/multer": "^1.4.11", - "@types/node": "^20.11.28", + "@types/node": "^20.11.30", "@types/node-schedule": "^2.1.6", "@types/passport": "^1.0.16", "@types/passport-http": "^0.3.11", @@ -113,8 +113,8 @@ "tsc-files": "^1.1.4", "tsconfig-paths": "^4.2.0", "tslib": "^2.6.2", - "typescript": "^5.4.2", - "typescript-eslint": "^7.2.0" + "typescript": "^5.4.3", + "typescript-eslint": "^7.3.1" }, "main": "index.js", "keywords": [], diff --git a/src/controllers/rest/impl/FileUploadController.ts b/src/controllers/rest/impl/FileUploadController.ts index cf5f7f2..55fd5b3 100644 --- a/src/controllers/rest/impl/FileUploadController.ts +++ b/src/controllers/rest/impl/FileUploadController.ts @@ -1,5 +1,5 @@ import { Controller, Inject } from "@tsed/di"; -import { Delete, Description, Example, Get, Name, Patch, Put, Returns, Summary } from "@tsed/schema"; +import { Delete, Description, Example, Examples, Get, Name, Patch, Put, Returns, Summary } from "@tsed/schema"; import { StatusCodes } from "http-status-codes"; import { FileUploadResponseDto } from "../../../model/dto/FileUploadResponseDto.js"; import { BadRequest } from "@tsed/exceptions"; @@ -44,7 +44,24 @@ export class FileUploadController extends BaseRestController { public async addEntry( @Req() req: Request, @Res() res: Response, - @QueryParams() params: FileUploadParameters, + @QueryParams() + @Examples({ + empty: { + summary: "Expires: empty", + description: "expires according to retention policy", + value: { + expires: "", + }, + }, + "1d": { + summary: "Expires: 1d", + description: "expires in 1day", + value: { + expires: "1d", + }, + }, + }) + params: FileUploadParameters, @MultipartFile("file") file?: PlatformMulterFile, @BodyParams("url") url?: string, ): Promise {