diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f6343d0..6e0b974 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -204,8 +204,8 @@ importers: specifier: ^8.14.1 version: 8.14.1 sequelize: - specifier: ^6.37.6 - version: 6.37.6(pg@8.14.1) + specifier: ^6.37.7 + version: 6.37.7(pg@8.14.1) socket.io: specifier: ^4.8.1 version: 4.8.1 @@ -218,22 +218,22 @@ importers: version: 0.0.6 '@rollup/plugin-alias': specifier: ^5.1.1 - version: 5.1.1(rollup@4.36.0) + version: 5.1.1(rollup@4.38.0) '@rollup/plugin-commonjs': specifier: ^28.0.3 - version: 28.0.3(rollup@4.36.0) + version: 28.0.3(rollup@4.38.0) '@rollup/plugin-json': specifier: ^6.1.0 - version: 6.1.0(rollup@4.36.0) + version: 6.1.0(rollup@4.38.0) '@rollup/plugin-node-resolve': specifier: ^16.0.1 - version: 16.0.1(rollup@4.36.0) + version: 16.0.1(rollup@4.38.0) '@rollup/plugin-replace': specifier: ^6.0.2 - version: 6.0.2(rollup@4.36.0) + version: 6.0.2(rollup@4.38.0) '@rollup/plugin-typescript': specifier: ^12.1.2 - version: 12.1.2(rollup@4.36.0)(tslib@2.8.1)(typescript@5.8.2) + version: 12.1.2(rollup@4.38.0)(tslib@2.8.1)(typescript@5.8.2) '@types/archiver': specifier: ^6.0.3 version: 6.0.3 @@ -250,8 +250,8 @@ importers: specifier: ^4.17.12 version: 4.17.12 '@types/node': - specifier: ^22.13.11 - version: 22.13.11 + specifier: ^22.13.14 + version: 22.13.14 '@types/react': specifier: ^19.0.12 version: 19.0.12 @@ -271,17 +271,17 @@ importers: specifier: latest version: 6.0.1 rollup: - specifier: ^4.36.0 - version: 4.36.0 + specifier: ^4.38.0 + version: 4.38.0 rollup-plugin-copy: specifier: ^3.5.0 version: 3.5.0 rollup-plugin-dts: specifier: ^6.2.1 - version: 6.2.1(rollup@4.36.0)(typescript@5.8.2) + version: 6.2.1(rollup@4.38.0)(typescript@5.8.2) rollup-plugin-esbuild: specifier: ^6.2.1 - version: 6.2.1(esbuild@0.25.0)(rollup@4.36.0) + version: 6.2.1(esbuild@0.25.0)(rollup@4.38.0) tape: specifier: ^5.9.0 version: 5.9.0 @@ -635,131 +635,66 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.36.0': - resolution: {integrity: sha512-jgrXjjcEwN6XpZXL0HUeOVGfjXhPyxAbbhD0BlXUB+abTOpbPiN5Wb3kOT7yb+uEtATNYF5x5gIfwutmuBA26w==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm-eabi@4.38.0': resolution: {integrity: sha512-ldomqc4/jDZu/xpYU+aRxo3V4mGCV9HeTgUBANI3oIQMOL+SsxB+S2lxMpkFp5UamSS3XuTMQVbsS24R4J4Qjg==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.36.0': - resolution: {integrity: sha512-NyfuLvdPdNUfUNeYKUwPwKsE5SXa2J6bCt2LdB/N+AxShnkpiczi3tcLJrm5mA+eqpy0HmaIY9F6XCa32N5yzg==} - cpu: [arm64] - os: [android] - '@rollup/rollup-android-arm64@4.38.0': resolution: {integrity: sha512-VUsgcy4GhhT7rokwzYQP+aV9XnSLkkhlEJ0St8pbasuWO/vwphhZQxYEKUP3ayeCYLhk6gEtacRpYP/cj3GjyQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.36.0': - resolution: {integrity: sha512-JQ1Jk5G4bGrD4pWJQzWsD8I1n1mgPXq33+/vP4sk8j/z/C2siRuxZtaUA7yMTf71TCZTZl/4e1bfzwUmFb3+rw==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-arm64@4.38.0': resolution: {integrity: sha512-buA17AYXlW9Rn091sWMq1xGUvWQFOH4N1rqUxGJtEQzhChxWjldGCCup7r/wUnaI6Au8sKXpoh0xg58a7cgcpg==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.36.0': - resolution: {integrity: sha512-6c6wMZa1lrtiRsbDziCmjE53YbTkxMYhhnWnSW8R/yqsM7a6mSJ3uAVT0t8Y/DGt7gxUWYuFM4bwWk9XCJrFKA==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.38.0': resolution: {integrity: sha512-Mgcmc78AjunP1SKXl624vVBOF2bzwNWFPMP4fpOu05vS0amnLcX8gHIge7q/lDAHy3T2HeR0TqrriZDQS2Woeg==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.36.0': - resolution: {integrity: sha512-KXVsijKeJXOl8QzXTsA+sHVDsFOmMCdBRgFmBb+mfEb/7geR7+C8ypAml4fquUt14ZyVXaw2o1FWhqAfOvA4sg==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.38.0': resolution: {integrity: sha512-zzJACgjLbQTsscxWqvrEQAEh28hqhebpRz5q/uUd1T7VTwUNZ4VIXQt5hE7ncs0GrF+s7d3S4on4TiXUY8KoQA==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.36.0': - resolution: {integrity: sha512-dVeWq1ebbvByI+ndz4IJcD4a09RJgRYmLccwlQ8bPd4olz3Y213uf1iwvc7ZaxNn2ab7bjc08PrtBgMu6nb4pQ==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.38.0': resolution: {integrity: sha512-hCY/KAeYMCyDpEE4pTETam0XZS4/5GXzlLgpi5f0IaPExw9kuB+PDTOTLuPtM10TlRG0U9OSmXJ+Wq9J39LvAg==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.36.0': - resolution: {integrity: sha512-bvXVU42mOVcF4le6XSjscdXjqx8okv4n5vmwgzcmtvFdifQ5U4dXFYaCB87namDRKlUL9ybVtLQ9ztnawaSzvg==} - cpu: [arm] - os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.38.0': resolution: {integrity: sha512-mimPH43mHl4JdOTD7bUMFhBdrg6f9HzMTOEnzRmXbOZqjijCw8LA5z8uL6LCjxSa67H2xiLFvvO67PT05PRKGg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.36.0': - resolution: {integrity: sha512-JFIQrDJYrxOnyDQGYkqnNBtjDwTgbasdbUiQvcU8JmGDfValfH1lNpng+4FWlhaVIR4KPkeddYjsVVbmJYvDcg==} - cpu: [arm] - os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.38.0': resolution: {integrity: sha512-tPiJtiOoNuIH8XGG8sWoMMkAMm98PUwlriOFCCbZGc9WCax+GLeVRhmaxjJtz6WxrPKACgrwoZ5ia/uapq3ZVg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.36.0': - resolution: {integrity: sha512-KqjYVh3oM1bj//5X7k79PSCZ6CvaVzb7Qs7VMWS+SlWB5M8p3FqufLP9VNp4CazJ0CsPDLwVD9r3vX7Ci4J56A==} - cpu: [arm64] - os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.38.0': resolution: {integrity: sha512-wZco59rIVuB0tjQS0CSHTTUcEde+pXQWugZVxWaQFdQQ1VYub/sTrNdY76D1MKdN2NB48JDuGABP6o6fqos8mA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.36.0': - resolution: {integrity: sha512-QiGnhScND+mAAtfHqeT+cB1S9yFnNQ/EwCg5yE3MzoaZZnIV0RV9O5alJAoJKX/sBONVKeZdMfO8QSaWEygMhw==} - cpu: [arm64] - os: [linux] - '@rollup/rollup-linux-arm64-musl@4.38.0': resolution: {integrity: sha512-fQgqwKmW0REM4LomQ+87PP8w8xvU9LZfeLBKybeli+0yHT7VKILINzFEuggvnV9M3x1Ed4gUBmGUzCo/ikmFbQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.36.0': - resolution: {integrity: sha512-1ZPyEDWF8phd4FQtTzMh8FQwqzvIjLsl6/84gzUxnMNFBtExBtpL51H67mV9xipuxl1AEAerRBgBwFNpkw8+Lg==} - cpu: [loong64] - os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.38.0': resolution: {integrity: sha512-hz5oqQLXTB3SbXpfkKHKXLdIp02/w3M+ajp8p4yWOWwQRtHWiEOCKtc9U+YXahrwdk+3qHdFMDWR5k+4dIlddg==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.36.0': - resolution: {integrity: sha512-VMPMEIUpPFKpPI9GZMhJrtu8rxnp6mJR3ZzQPykq4xc2GmdHj3Q4cA+7avMyegXy4n1v+Qynr9fR88BmyO74tg==} - cpu: [ppc64] - os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.38.0': resolution: {integrity: sha512-NXqygK/dTSibQ+0pzxsL3r4Xl8oPqVoWbZV9niqOnIHV/J92fe65pOir0xjkUZDRSPyFRvu+4YOpJF9BZHQImw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.36.0': - resolution: {integrity: sha512-ttE6ayb/kHwNRJGYLpuAvB7SMtOeQnVXEIpMtAvx3kepFQeowVED0n1K9nAdraHUPJ5hydEMxBpIR7o4nrm8uA==} - cpu: [riscv64] - os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.38.0': resolution: {integrity: sha512-GEAIabR1uFyvf/jW/5jfu8gjM06/4kZ1W+j1nWTSSB3w6moZEBm7iBtzwQ3a1Pxos2F7Gz+58aVEnZHU295QTg==} cpu: [riscv64] @@ -770,61 +705,31 @@ packages: cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.36.0': - resolution: {integrity: sha512-4a5gf2jpS0AIe7uBjxDeUMNcFmaRTbNv7NxI5xOCs4lhzsVyGR/0qBXduPnoWf6dGC365saTiwag8hP1imTgag==} - cpu: [s390x] - os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.38.0': resolution: {integrity: sha512-Mpp6+Z5VhB9VDk7RwZXoG2qMdERm3Jw07RNlXHE0bOnEeX+l7Fy4bg+NxfyN15ruuY3/7Vrbpm75J9QHFqj5+Q==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.36.0': - resolution: {integrity: sha512-5KtoW8UWmwFKQ96aQL3LlRXX16IMwyzMq/jSSVIIyAANiE1doaQsx/KRyhAvpHlPjPiSU/AYX/8m+lQ9VToxFQ==} - cpu: [x64] - os: [linux] - '@rollup/rollup-linux-x64-gnu@4.38.0': resolution: {integrity: sha512-vPvNgFlZRAgO7rwncMeE0+8c4Hmc+qixnp00/Uv3ht2x7KYrJ6ERVd3/R0nUtlE6/hu7/HiiNHJ/rP6knRFt1w==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.36.0': - resolution: {integrity: sha512-sycrYZPrv2ag4OCvaN5js+f01eoZ2U+RmT5as8vhxiFz+kxwlHrsxOwKPSA8WyS+Wc6Epid9QeI/IkQ9NkgYyQ==} - cpu: [x64] - os: [linux] - '@rollup/rollup-linux-x64-musl@4.38.0': resolution: {integrity: sha512-q5Zv+goWvQUGCaL7fU8NuTw8aydIL/C9abAVGCzRReuj5h30TPx4LumBtAidrVOtXnlB+RZkBtExMsfqkMfb8g==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.36.0': - resolution: {integrity: sha512-qbqt4N7tokFwwSVlWDsjfoHgviS3n/vZ8LK0h1uLG9TYIRuUTJC88E1xb3LM2iqZ/WTqNQjYrtmtGmrmmawB6A==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.38.0': resolution: {integrity: sha512-u/Jbm1BU89Vftqyqbmxdq14nBaQjQX1HhmsdBWqSdGClNaKwhjsg5TpW+5Ibs1mb8Es9wJiMdl86BcmtUVXNZg==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.36.0': - resolution: {integrity: sha512-t+RY0JuRamIocMuQcfwYSOkmdX9dtkr1PbhKW42AMvaDQa+jOdpUYysroTF/nuPpAaQMWp7ye+ndlmmthieJrQ==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.38.0': resolution: {integrity: sha512-mqu4PzTrlpNHHbu5qleGvXJoGgHpChBlrBx/mEhTPpnAL1ZAYFlvHD7rLK839LLKQzqEQMFJfGrrOHItN4ZQqA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.36.0': - resolution: {integrity: sha512-aRXd7tRZkWLqGbChgcMMDEHjOKudo1kChb1Jt1IfR8cY/KIpgNviLeJy5FUb9IpSuQj8dU2fAYNMPW/hLKOSTw==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.38.0': resolution: {integrity: sha512-jjqy3uWlecfB98Psxb5cD6Fny9Fupv9LrDSPTQZUROqjvZmcCqNu4UMl7qqhlUUGpwiAkotj6GYu4SZdcr/nLw==} cpu: [x64] @@ -884,9 +789,6 @@ packages: '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} - '@types/node@22.13.11': - resolution: {integrity: sha512-iEUCUJoU0i3VnrCmgoWCXttklWcvoCIx4jzcP22fioIVSdTmjgoEvmAO/QPw6TcS9k5FrNgn4w7q5lGOd1CT5g==} - '@types/node@22.13.14': resolution: {integrity: sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w==} @@ -2327,11 +2229,6 @@ packages: esbuild: '>=0.18.0' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 - rollup@4.36.0: - resolution: {integrity: sha512-zwATAXNQxUcd40zgtQG0ZafcRK4g004WtEl7kbuhTWPvf07PsfohXl39jVUvPF7jvNAIkKPQ2XrsDlWuxBd++Q==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - rollup@4.38.0: resolution: {integrity: sha512-5SsIRtJy9bf1ErAOiFMFzl64Ex9X5V7bnJ+WlFMb+zmP459OSWCEG7b0ERZ+PEU7xPt4OG3RHbrp1LJlXxYTrw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -2384,39 +2281,6 @@ packages: resolution: {integrity: sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==} engines: {node: '>= 10.0.0'} - sequelize@6.37.6: - resolution: {integrity: sha512-4Slqjqpktofs7AVqWviFOInzP9w8ZRQDhF+DnRtm4WKIdIATpyzGgedyseP3xbgpBxapvfQcJv6CeIdZe4ZL2A==} - engines: {node: '>=10.0.0'} - peerDependencies: - ibm_db: '*' - mariadb: '*' - mysql2: '*' - oracledb: '*' - pg: '*' - pg-hstore: '*' - snowflake-sdk: '*' - sqlite3: '*' - tedious: '*' - peerDependenciesMeta: - ibm_db: - optional: true - mariadb: - optional: true - mysql2: - optional: true - oracledb: - optional: true - pg: - optional: true - pg-hstore: - optional: true - snowflake-sdk: - optional: true - sqlite3: - optional: true - tedious: - optional: true - sequelize@6.37.7: resolution: {integrity: sha512-mCnh83zuz7kQxxJirtFD7q6Huy6liPanI67BSlbzSYgVNl5eXVdE2CN1FuAeZwG1SNpGsNRCV+bJAVVnykZAFA==} engines: {node: '>=10.0.0'} @@ -3152,26 +3016,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@rollup/plugin-alias@5.1.1(rollup@4.36.0)': - optionalDependencies: - rollup: 4.36.0 - '@rollup/plugin-alias@5.1.1(rollup@4.38.0)': optionalDependencies: rollup: 4.38.0 - '@rollup/plugin-commonjs@28.0.3(rollup@4.36.0)': - dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.36.0) - commondir: 1.0.1 - estree-walker: 2.0.2 - fdir: 6.3.0(picomatch@4.0.2) - is-reference: 1.2.1 - magic-string: 0.30.11 - picomatch: 4.0.2 - optionalDependencies: - rollup: 4.36.0 - '@rollup/plugin-commonjs@28.0.3(rollup@4.38.0)': dependencies: '@rollup/pluginutils': 5.1.2(rollup@4.38.0) @@ -3184,28 +3032,12 @@ snapshots: optionalDependencies: rollup: 4.38.0 - '@rollup/plugin-json@6.1.0(rollup@4.36.0)': - dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.36.0) - optionalDependencies: - rollup: 4.36.0 - '@rollup/plugin-json@6.1.0(rollup@4.38.0)': dependencies: '@rollup/pluginutils': 5.1.2(rollup@4.38.0) optionalDependencies: rollup: 4.38.0 - '@rollup/plugin-node-resolve@16.0.1(rollup@4.36.0)': - dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.36.0) - '@types/resolve': 1.20.2 - deepmerge: 4.3.1 - is-module: 1.0.0 - resolve: 1.22.8 - optionalDependencies: - rollup: 4.36.0 - '@rollup/plugin-node-resolve@16.0.1(rollup@4.38.0)': dependencies: '@rollup/pluginutils': 5.1.2(rollup@4.38.0) @@ -3216,13 +3048,6 @@ snapshots: optionalDependencies: rollup: 4.38.0 - '@rollup/plugin-replace@6.0.2(rollup@4.36.0)': - dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.36.0) - magic-string: 0.30.11 - optionalDependencies: - rollup: 4.36.0 - '@rollup/plugin-replace@6.0.2(rollup@4.38.0)': dependencies: '@rollup/pluginutils': 5.1.2(rollup@4.38.0) @@ -3230,15 +3055,6 @@ snapshots: optionalDependencies: rollup: 4.38.0 - '@rollup/plugin-typescript@12.1.2(rollup@4.36.0)(tslib@2.8.1)(typescript@5.8.2)': - dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.36.0) - resolve: 1.22.8 - typescript: 5.8.2 - optionalDependencies: - rollup: 4.36.0 - tslib: 2.8.1 - '@rollup/plugin-typescript@12.1.2(rollup@4.38.0)(tslib@2.8.1)(typescript@5.8.2)': dependencies: '@rollup/pluginutils': 5.1.2(rollup@4.38.0) @@ -3248,14 +3064,6 @@ snapshots: rollup: 4.38.0 tslib: 2.8.1 - '@rollup/pluginutils@5.1.2(rollup@4.36.0)': - dependencies: - '@types/estree': 1.0.6 - estree-walker: 2.0.2 - picomatch: 4.0.2 - optionalDependencies: - rollup: 4.36.0 - '@rollup/pluginutils@5.1.2(rollup@4.38.0)': dependencies: '@types/estree': 1.0.6 @@ -3264,120 +3072,63 @@ snapshots: optionalDependencies: rollup: 4.38.0 - '@rollup/rollup-android-arm-eabi@4.36.0': - optional: true - '@rollup/rollup-android-arm-eabi@4.38.0': optional: true - '@rollup/rollup-android-arm64@4.36.0': - optional: true - '@rollup/rollup-android-arm64@4.38.0': optional: true - '@rollup/rollup-darwin-arm64@4.36.0': - optional: true - '@rollup/rollup-darwin-arm64@4.38.0': optional: true - '@rollup/rollup-darwin-x64@4.36.0': - optional: true - '@rollup/rollup-darwin-x64@4.38.0': optional: true - '@rollup/rollup-freebsd-arm64@4.36.0': - optional: true - '@rollup/rollup-freebsd-arm64@4.38.0': optional: true - '@rollup/rollup-freebsd-x64@4.36.0': - optional: true - '@rollup/rollup-freebsd-x64@4.38.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.36.0': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.38.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.36.0': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.38.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.36.0': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.38.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.36.0': - optional: true - '@rollup/rollup-linux-arm64-musl@4.38.0': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.36.0': - optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.38.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.36.0': - optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.38.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.36.0': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.38.0': optional: true '@rollup/rollup-linux-riscv64-musl@4.38.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.36.0': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.38.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.36.0': - optional: true - '@rollup/rollup-linux-x64-gnu@4.38.0': optional: true - '@rollup/rollup-linux-x64-musl@4.36.0': - optional: true - '@rollup/rollup-linux-x64-musl@4.38.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.36.0': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.38.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.36.0': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.38.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.36.0': - optional: true - '@rollup/rollup-win32-x64-msvc@4.38.0': optional: true @@ -3437,10 +3188,6 @@ snapshots: dependencies: '@types/node': 22.13.14 - '@types/node@22.13.11': - dependencies: - undici-types: 6.20.0 - '@types/node@22.13.14': dependencies: undici-types: 6.20.0 @@ -5006,14 +4753,6 @@ snapshots: globby: 10.0.1 is-plain-object: 3.0.1 - rollup-plugin-dts@6.2.1(rollup@4.36.0)(typescript@5.8.2): - dependencies: - magic-string: 0.30.17 - rollup: 4.36.0 - typescript: 5.8.2 - optionalDependencies: - '@babel/code-frame': 7.26.2 - rollup-plugin-dts@6.2.1(rollup@4.38.0)(typescript@5.8.2): dependencies: magic-string: 0.30.17 @@ -5022,17 +4761,6 @@ snapshots: optionalDependencies: '@babel/code-frame': 7.26.2 - rollup-plugin-esbuild@6.2.1(esbuild@0.25.0)(rollup@4.36.0): - dependencies: - debug: 4.4.0 - es-module-lexer: 1.6.0 - esbuild: 0.25.0 - get-tsconfig: 4.10.0 - rollup: 4.36.0 - unplugin-utils: 0.2.4 - transitivePeerDependencies: - - supports-color - rollup-plugin-esbuild@6.2.1(esbuild@0.25.0)(rollup@4.38.0): dependencies: debug: 4.4.0 @@ -5044,31 +4772,6 @@ snapshots: transitivePeerDependencies: - supports-color - rollup@4.36.0: - dependencies: - '@types/estree': 1.0.6 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.36.0 - '@rollup/rollup-android-arm64': 4.36.0 - '@rollup/rollup-darwin-arm64': 4.36.0 - '@rollup/rollup-darwin-x64': 4.36.0 - '@rollup/rollup-freebsd-arm64': 4.36.0 - '@rollup/rollup-freebsd-x64': 4.36.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.36.0 - '@rollup/rollup-linux-arm-musleabihf': 4.36.0 - '@rollup/rollup-linux-arm64-gnu': 4.36.0 - '@rollup/rollup-linux-arm64-musl': 4.36.0 - '@rollup/rollup-linux-loongarch64-gnu': 4.36.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.36.0 - '@rollup/rollup-linux-riscv64-gnu': 4.36.0 - '@rollup/rollup-linux-s390x-gnu': 4.36.0 - '@rollup/rollup-linux-x64-gnu': 4.36.0 - '@rollup/rollup-linux-x64-musl': 4.36.0 - '@rollup/rollup-win32-arm64-msvc': 4.36.0 - '@rollup/rollup-win32-ia32-msvc': 4.36.0 - '@rollup/rollup-win32-x64-msvc': 4.36.0 - fsevents: 2.3.3 - rollup@4.38.0: dependencies: '@types/estree': 1.0.7 @@ -5139,29 +4842,6 @@ snapshots: sequelize-pool@7.1.0: {} - sequelize@6.37.6(pg@8.14.1): - dependencies: - '@types/debug': 4.1.12 - '@types/validator': 13.12.2 - debug: 4.4.0 - dottie: 2.0.6 - inflection: 1.13.4 - lodash: 4.17.21 - moment: 2.30.1 - moment-timezone: 0.5.45 - pg-connection-string: 2.7.0 - retry-as-promised: 7.0.4 - semver: 7.7.1 - sequelize-pool: 7.1.0 - toposort-class: 1.0.1 - uuid: 8.3.2 - validator: 13.12.0 - wkx: 0.5.0 - optionalDependencies: - pg: 8.14.1 - transitivePeerDependencies: - - supports-color - sequelize@6.37.7(pg@8.14.1): dependencies: '@types/debug': 4.1.12 diff --git a/src/routes-simple/resources/chunk.ts b/src/routes-simple/resources/chunk.ts index dda93a5..9e919cc 100644 --- a/src/routes-simple/resources/chunk.ts +++ b/src/routes-simple/resources/chunk.ts @@ -23,6 +23,7 @@ router.post('/api/s1/resources/upload/chunk', async (req, res) => { if (!tokenUser) return; const url = new URL(req.url || '', 'http://localhost'); const share = !!url.searchParams.get('public'); + const noCheckAppFiles = !!url.searchParams.get('noCheckAppFiles'); // 使用 formidable 解析 multipart/form-data const form = new IncomingForm({ multiples: false, // 改为单文件上传 @@ -133,34 +134,48 @@ router.post('/api/s1/resources/upload/chunk', async (req, res) => { // Clean up the final file fs.unlinkSync(finalFilePath); - - // Notify the app - const r = await app.call({ - path: 'app', - key: 'detect-version-list', - payload: { - token: token, - data: { - appKey, - version, - username, + if (!noCheckAppFiles) { + // Notify the app + const r = await app.call({ + path: 'app', + key: 'detect-version-list', + payload: { + token: token, + data: { + appKey, + version, + username, + }, }, - }, - }); - const downloadBase = '/api/s1/share'; - const data: any = { - code: r.code, - data: { - app: r.body, - resource: `${downloadBase}/${minioPath}`, - }, - }; - if (r.message) { - data.message = r.message; + }); + const downloadBase = '/api/s1/share'; + const data: any = { + code: r.code, + data: { + app: r.body, + upload: [ + { + name: relativePath, + path: `${downloadBase}/${minioPath}`, + }, + ], + }, + }; + if (r.message) { + data.message = r.message; + } + console.log('upload data', data); + res.writeHead(200, { 'Content-Type': 'application/json' }); + res.end(JSON.stringify(data)); + } else { + res.writeHead(200, { 'Content-Type': 'application/json' }); + res.end( + JSON.stringify({ + message: 'Chunk uploaded successfully', + data: { chunkIndex, totalChunks }, + }), + ); } - console.log('upload data', data); - res.writeHead(200, { 'Content-Type': 'application/json' }); - res.end(JSON.stringify(data)); } else { res.writeHead(200, { 'Content-Type': 'application/json' }); res.end( diff --git a/src/routes-simple/resources/upload.ts b/src/routes-simple/resources/upload.ts index ef3cf87..c01b045 100644 --- a/src/routes-simple/resources/upload.ts +++ b/src/routes-simple/resources/upload.ts @@ -20,8 +20,14 @@ router.get('/api/s1/resources/upload', async (req, res) => { // /api/s1/resources/upload router.post('/api/s1/resources/upload', async (req, res) => { const { tokenUser, token } = await checkAuth(req, res); - if (!tokenUser) return; - // 使用 formidable 解析 multipart/form-data + if (!tokenUser) { + res.end(error('Token is invalid.')); + return; + } + const url = new URL(req.url || '', 'http://localhost'); + const share = !!url.searchParams.get('public'); + const noCheckAppFiles = !!url.searchParams.get('noCheckAppFiles'); + // 使用 formi dable 解析 multipart/form-data const form = new IncomingForm({ multiples: true, // 支持多文件上传 uploadDir: cacheFilePath, // 上传文件存储目录 @@ -96,39 +102,61 @@ router.post('/api/s1/resources/upload', async (req, res) => { const minioPath = `${username || tokenUser.username}/${appKey}/${version}${directory ? `/${directory}` : ''}/${relativePath}`; // 上传到 MinIO 并保留文件夹结构 const isHTML = relativePath.endsWith('.html'); + const metadata: any = {}; + if (share) { + metadata.share = 'public'; + } await minioClient.fPutObject(bucketName, minioPath, tempPath, { 'Content-Type': getContentType(relativePath), 'app-source': 'user-app', 'Cache-Control': isHTML ? 'no-cache' : 'max-age=31536000, immutable', // 缓存一年 + ...metadata, }); uploadResults.push({ name: relativePath, path: minioPath, }); fs.unlinkSync(tempPath); // 删除临时文件 - } // 受控 - const r = await app.call({ - path: 'app', - key: 'uploadFiles', - payload: { - token: token, - data: { - appKey, - version, - username, - files: uploadResults, - }, - }, - }); - const data: any = { - code: r.code, - data: r.body, - }; - if (r.message) { - data.message = r.message; } - console.log('upload data', data); - res.writeHead(200, { 'Content-Type': 'application/json' }); - res.end(JSON.stringify(data)); + if (!noCheckAppFiles) { + // 受控 + const r = await app.call({ + path: 'app', + key: 'uploadFiles', + payload: { + token: token, + data: { + appKey, + version, + username, + files: uploadResults, + }, + }, + }); + const data: any = { + code: r.code, + data: { + app: r.body, + upload: uploadResults, + }, + }; + if (r.message) { + data.message = r.message; + } + console.log('upload data', data); + res.writeHead(200, { 'Content-Type': 'application/json' }); + res.end(JSON.stringify(data)); + } else { + res.writeHead(200, { 'Content-Type': 'application/json' }); + res.end( + JSON.stringify({ + code: 200, + data: { + detect: [], + upload: uploadResults, + }, + }), + ); + } }); }); diff --git a/src/routes/user/update.ts b/src/routes/user/update.ts index 1664acc..eee8452 100644 --- a/src/routes/user/update.ts +++ b/src/routes/user/update.ts @@ -1,56 +1,57 @@ -import { app } from '@/app.ts' -import { User } from '@/models/user.ts' +import { app } from '@/app.ts'; +import { User } from '@/models/user.ts'; app .route({ path: 'user', key: 'getUpdateInfo', - middleware: ['auth'] + middleware: ['auth'], }) .define(async (ctx) => { - const tokenUser = ctx.state?.tokenUser || {} - const user = await User.findByPk(tokenUser.id) + const tokenUser = ctx.state?.tokenUser || {}; + const user = await User.findByPk(tokenUser.id); if (!user) { - ctx.throw(500, 'user not found') + ctx.throw(500, 'user not found'); } ctx.body = { nickname: user.nickname, avatar: user.avatar, - data: user.data - } + data: user.data, + }; }) - .addTo(app) + .addTo(app); app .route('user', 'updateInfo', { - middleware: ['auth'] + middleware: ['auth'], }) .define(async (ctx) => { - const { nickname, avatar, data } = ctx.query.data || {} - const tokenUser = ctx.state?.tokenUser || {} - const { id } = tokenUser - const user = await User.findByPk(id) - let updateData: any = {} + const { nickname, avatar, data } = ctx.query.data || {}; + const tokenUser = ctx.state?.tokenUser || {}; + const { id, uid } = tokenUser; + const user = await User.findByPk(id); + let updateData: any = {}; if (!user) { - ctx.throw(500, 'user not found') + ctx.throw(500, 'user not found'); } if (nickname) { - updateData.nickname = nickname + updateData.nickname = nickname; } if (avatar) { - updateData.avatar = avatar + updateData.avatar = avatar; } await user.update( { ...updateData, data: { ...user.data, - ...data - } + ...data, + }, }, { - fields: ['nickname', 'avatar', 'data'] - } - ) - ctx.body = await user.getInfo() + fields: ['nickname', 'avatar', 'data'], + }, + ); + user.setTokenUser(tokenUser); + ctx.body = await user.getInfo(); }) - .addTo(app) + .addTo(app); diff --git a/submodules/code-center-module b/submodules/code-center-module index 1cce7e1..0c36328 160000 --- a/submodules/code-center-module +++ b/submodules/code-center-module @@ -1 +1 @@ -Subproject commit 1cce7e1193d39f4fc067e528e8348e9a871c6f04 +Subproject commit 0c36328ac3e728e7978cca03bb187fb4e841f6d8