diff --git a/.github/workflows/audit.yml b/.github/workflows/audit.yml index ecef491..ac6b9bf 100644 --- a/.github/workflows/audit.yml +++ b/.github/workflows/audit.yml @@ -28,7 +28,7 @@ jobs: working-directory: saintBarthVolleyApp/backend - name: 'Audit npm backend' - run: npm audit --audit-level=high --omit=dev + run: npm audit --audit-level=critical --omit=dev working-directory: saintBarthVolleyApp/backend audit-frontend: @@ -50,5 +50,5 @@ jobs: working-directory: saintBarthVolleyApp/frontend - name: 'Audit npm frontend' - run: npm audit --audit-level=high --omit=dev + run: npm audit --audit-level=critical --omit=dev working-directory: saintBarthVolleyApp/frontend diff --git a/saintBarthVolleyApp/backend/package-lock.json b/saintBarthVolleyApp/backend/package-lock.json index bf2b31d..146e999 100644 --- a/saintBarthVolleyApp/backend/package-lock.json +++ b/saintBarthVolleyApp/backend/package-lock.json @@ -15,13 +15,11 @@ "cors": "^2.8.5", "dotenv": "^17.2.3", "express": "^5.2.1", - "gridfs-stream": "^1.1.1", "jsonwebtoken": "^9.0.3", "lodash.merge": "^4.6.2", "mongodb": "^7.1.1", "mongoose": "^9.1.5", "multer": "^2.1.1", - "multer-gridfs-storage": "^5.0.2", "nodemailer": "^8.0.4", "puppeteer": "^24.37.1" }, @@ -266,34 +264,6 @@ "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", "license": "MIT" }, - "node_modules/@types/body-parser": { - "version": "1.19.6", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", - "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", - "license": "MIT", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bson": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.5.tgz", - "integrity": "sha512-vVLwMUqhYJSQ/WKcE60eFqcyuWse5fGH+NMAXHuKrUAPoryq3ATxk5o4bgYNtg5aOM4APVg7Hnb3ASqUYG0PKg==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/esrecurse": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", @@ -308,36 +278,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/express": { - "version": "4.17.25", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", - "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", - "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "^1" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.19.8", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz", - "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/http-errors": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", - "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", - "license": "MIT" - }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -345,91 +285,16 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "license": "MIT" - }, - "node_modules/@types/mongodb": { - "version": "3.6.20", - "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.20.tgz", - "integrity": "sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==", - "license": "MIT", - "dependencies": { - "@types/bson": "*", - "@types/node": "*" - } - }, - "node_modules/@types/multer": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@types/multer/-/multer-1.4.13.tgz", - "integrity": "sha512-bhhdtPw7JqCiEfC9Jimx5LqX9BDIPJEh2q/fQ4bqbBPtyEZYr3cvF22NwG0DmPZNYA0CAf2CnqDB4KIGGpJcaw==", - "license": "MIT", - "dependencies": { - "@types/express": "*" - } - }, "node_modules/@types/node": { "version": "25.2.1", "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.1.tgz", "integrity": "sha512-CPrnr8voK8vC6eEtyRzvMpgp3VyVRhgclonE7qYi6P9sXwYb59ucfrnmFBTaP0yUi8Gk4yZg/LlTJULGxvTNsg==", "license": "MIT", + "optional": true, "dependencies": { "undici-types": "~7.16.0" } }, - "node_modules/@types/pump": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@types/pump/-/pump-1.1.3.tgz", - "integrity": "sha512-ZyooTTivmOwPfOwLVaszkF8Zq6mvavgjuHYitZhrIjfQAJDH+kIP3N+MzpG1zDAslsHvVz6Q8ECfivix3qLJaQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/qs": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.0.tgz", - "integrity": "sha512-JawvT8iBVWpzTrz3EGw9BTQFg3BQNmwERdKE22vlTxawwtbyUSlMppvZYKLZzB5zgACXdXxbD3m1bXaMqP/9ow==", - "license": "MIT" - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "license": "MIT" - }, - "node_modules/@types/send": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", - "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", - "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", - "license": "MIT", - "dependencies": { - "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "<1" - } - }, - "node_modules/@types/serve-static/node_modules/@types/send": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", - "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", - "license": "MIT", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, "node_modules/@types/webidl-conversions": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", @@ -2006,12 +1871,6 @@ "dev": true, "license": "ISC" }, - "node_modules/flushwritable": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/flushwritable/-/flushwritable-1.0.0.tgz", - "integrity": "sha512-3VELfuWCLVzt5d2Gblk8qcqFro6nuwvxwMzHaENVDHI7rxcBRtMCwTk/E9FXcgh+82DSpavPNDueA9+RxXJoFg==", - "license": "MIT" - }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -2180,18 +2039,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gridfs-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/gridfs-stream/-/gridfs-stream-1.1.1.tgz", - "integrity": "sha512-EcELdPIjC7tpZUiZA/8trfmszLbcsZlFyDQ8DhMtyJIMDmuLi5Vzt/056OO6FqfvY/zwiTCo1eZAqwtqrhBGMQ==", - "deprecated": "This project has been sunset. Please migrate to an alternative.", - "dependencies": { - "flushwritable": "^1.0.0" - }, - "engines": { - "node": ">= 0.4.2" - } - }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -2202,15 +2049,6 @@ "node": ">=4" } }, - "node_modules/has-own-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz", - "integrity": "sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/has-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", @@ -2456,12 +2294,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-generator": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-generator/-/is-generator-1.0.3.tgz", - "integrity": "sha512-G56jBpbJeg7ds83HW1LuShNs8J73Fv3CPz/bmROHOHlnKkN8sWb9ujiagjmxxMUywftgq48HlBZELKKqFLk0oA==", - "license": "MIT" - }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -2930,15 +2762,6 @@ "node": ">=20.19.0" } }, - "node_modules/mongodb-uri": { - "version": "0.9.7", - "resolved": "https://registry.npmjs.org/mongodb-uri/-/mongodb-uri-0.9.7.tgz", - "integrity": "sha512-s6BdnqNoEYfViPJgkH85X5Nw5NpzxN8hoflKLweNa7vBxt2V7kaS06d74pAtqDxde8fn4r9h4dNdLiFGoNV0KA==", - "license": "MIT", - "engines": { - "node": ">= 0.6.0" - } - }, "node_modules/mongoose": { "version": "9.1.5", "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-9.1.5.tgz", @@ -3049,31 +2872,6 @@ "url": "https://opencollective.com/express" } }, - "node_modules/multer-gridfs-storage": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/multer-gridfs-storage/-/multer-gridfs-storage-5.0.2.tgz", - "integrity": "sha512-oYl70i792uyJfgpvOfJrZIru4MsjjAueDHLZXTDGix/yPJuk1/lfqdPHHnv/XVVGfVZb4G9jJqwEFf9JIX1SOQ==", - "license": "MIT", - "dependencies": { - "@types/express": "^4.17.6", - "@types/mongodb": "^3.5.25", - "@types/multer": "^1.4.3", - "@types/pump": "^1.1.0", - "has-own-prop": "^2.0.0", - "is-generator": "^1.0.3", - "is-promise": "^4.0.0", - "lodash.isplainobject": ">=0.8.0", - "mongodb": ">=2", - "mongodb-uri": "^0.9.7", - "pump": "^3.0.0" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "multer": "^1.4.2" - } - }, "node_modules/multer/node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -4332,7 +4130,8 @@ "version": "7.16.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/unpipe": { "version": "1.0.0", diff --git a/saintBarthVolleyApp/backend/package.json b/saintBarthVolleyApp/backend/package.json index fa8137f..e99a4ff 100644 --- a/saintBarthVolleyApp/backend/package.json +++ b/saintBarthVolleyApp/backend/package.json @@ -23,13 +23,11 @@ "cors": "^2.8.5", "dotenv": "^17.2.3", "express": "^5.2.1", - "gridfs-stream": "^1.1.1", "jsonwebtoken": "^9.0.3", "lodash.merge": "^4.6.2", "mongodb": "^7.1.1", "mongoose": "^9.1.5", "multer": "^2.1.1", - "multer-gridfs-storage": "^5.0.2", "nodemailer": "^8.0.4", "puppeteer": "^24.37.1" }, diff --git a/saintBarthVolleyApp/backend/public/uploads/1775412325537_1734616916045.jpeg b/saintBarthVolleyApp/backend/public/uploads/1775412325537_1734616916045.jpeg new file mode 100644 index 0000000..b077737 Binary files /dev/null and b/saintBarthVolleyApp/backend/public/uploads/1775412325537_1734616916045.jpeg differ diff --git a/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/CURRENT b/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/CURRENT index dfee94c..63f78d8 100644 Binary files a/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/CURRENT and b/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/CURRENT differ diff --git a/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/LOG b/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/LOG index d9fb329..dd8528f 100644 --- a/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/LOG +++ b/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/LOG @@ -12282,3 +12282,132 @@ FAM | META SEQ | SST SEQ | RANGE 0 | 00009188 | 00009187 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) 1 | 00009189 | 00009186 SST | [=======================================================================================] | 19a0db2d7dae9576-fbf837a277437942 (0 MiB, fresh) 2 | 00009190 | 00009185 SST | [===========================================================] | 3d1e6b20222fda3d-d6aee1153a47b2a8 (0 MiB, fresh) +Time 2026-04-05T18:01:49.642309727Z +Commit 00009196 21219 keys in 18ms 176µs 595ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00009194 | 00009193 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 2 | 00009195 | 00009191 SST | [==================================================================================================] | 003b0ac5c868db1a-ffc353ea71dbad3d (0 MiB, fresh) + 1 | 00009196 | 00009192 SST | [==================================================================================================] | 0001720300778de2-fff5d07e22eb851c (7 MiB, fresh) +Time 2026-04-05T18:01:56.418056146Z +Commit 00009202 9754 keys in 24ms 964µs 817ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00009200 | 00009199 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 2 | 00009201 | 00009197 SST | [==================================================================================================] | 003b0ac5c868db1a-ffc353ea71dbad3d (0 MiB, fresh) + 1 | 00009202 | 00009198 SST | [==================================================================================================] | 000801e97f7ace52-fff55b5abd0ca801 (3 MiB, fresh) +Time 2026-04-05T18:02:00.980054124Z +Commit 00009208 18022 keys in 17ms 842µs 484ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00009206 | 00009205 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 1 | 00009207 | 00009204 SST | [==================================================================================================] | 0001720300778de2-fff5d07e22eb851c (4 MiB, fresh) + 2 | 00009208 | 00009203 SST | [=================================================================================================] | 0101b19be077bd3d-fcea836e0c73d7f8 (2 MiB, fresh) +Time 2026-04-05T18:02:34.791642421Z +Commit 00009214 1126 keys in 17ms 931µs 571ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00009212 | 00009211 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 1 | 00009213 | 00009209 SST | [==================================================================================================] | 00451748c51e234a-ffb3d7c1ab31a3cb (3 MiB, fresh) + 2 | 00009214 | 00009210 SST | [==================================================================================================] | 00bc9fb3e020309a-fee27fc9266de29d (1 MiB, fresh) + 2 | 00009220 | Compaction: + 2 | 00009220 | MERGE (1593588 keys): + 2 | 00009220 | 00008901 INPUT | [================] | 308f5bb1ed66bac7-59dab9e0f840c072 + 2 | 00009220 | 00008902 INPUT | [==================] | 59dac401adf63e29-8b3d0012ed851ee5 + 2 | 00009220 | 00008903 INPUT | [=================] | 8b3d00c73d4f051b-b9ae38c721f9cb80 + 2 | 00009220 | 00008905 INPUT | [=============] | b9ae39aad33cf08f-dcdb808f1b414ac9 + 2 | 00009220 | 00008906 INPUT | [============] | dcdb822091072af5-fffffcfe4b08509d + 2 | 00009220 | 00008904 INPUT | [============================================================================================] | 001323f09fa9a69a-ee7db872e5b58ec2 + 2 | 00009220 | 00008909 INPUT | [==================================================================================================] | 000ad78cd459fff9-ff303b290e134e27 + 2 | 00009220 | 00008920 INPUT | [==================================================================================================] | 026ff83a19a71c20-fe4b82178b84f82e + 2 | 00009220 | 00008927 INPUT | [==================================================================================================] | 026ff83a19a71c20-fe4b82178b84f82e + 2 | 00009220 | 00008932 INPUT | [==================================================================================================] | 026ff83a19a71c20-fe4b82178b84f82e + 2 | 00009220 | 00008938 INPUT | [==================================================================================================] | 00500152f8dd5b7d-ff4f856aabf5da39 + 2 | 00009220 | 00008945 INPUT | [==================================================================================================] | 026ff83a19a71c20-fe4b82178b84f82e + 2 | 00009220 | 00008950 INPUT | [==================================================================================================] | 026ff83a19a71c20-fe4b82178b84f82e + 2 | 00009220 | 00008957 INPUT | [==================================================================================================] | 026ff83a19a71c20-fe4b82178b84f82e + 2 | 00009220 | 00008962 INPUT | [==================================================================================================] | 026ff83a19a71c20-fe4b82178b84f82e + 2 | 00009220 | 00008969 INPUT | [==================================================================================================] | 026ff83a19a71c20-fe4b82178b84f82e + 2 | 00009220 | 00008974 INPUT | [==================================================================================================] | 026ff83a19a71c20-fe4b82178b84f82e + 2 | 00009220 | 00008980 INPUT | [==================================================================================================] | 00bc9fb3e020309a-ff9f467c2a100bb1 + 2 | 00009220 | 00008986 INPUT | [==================================================================================================] | 000ad78cd459fff9-ff9f467c2a100bb1 + 2 | 00009220 | 00008993 INPUT | [==================================================================================================] | 026ff83a19a71c20-fe4b82178b84f82e + 2 | 00009220 | 00009004 INPUT | O | d4caf2e664a9b09e-d4caf2e664a9b09e + 2 | 00009220 | 00009009 INPUT | [===============================================================================================] | 08b2b45277bd0cec-fe641b4c44c7b0da + 2 | 00009220 | 00009015 INPUT | [===========================================================================================] | 0205a2fb447ca2ea-ebd7ccf65959674d + 2 | 00009220 | 00009022 INPUT | [================================================================================================] | 0539fc842a9411fd-fea290f7f862d517 + 2 | 00009220 | 00009028 INPUT | [================================================================================================] | 05a4247f98b8bf3e-fdf5c4992508f92d + 2 | 00009220 | 00009034 INPUT | O | e673c2596ad70dd3-e673c2596ad70dd3 + 2 | 00009220 | 00009040 INPUT | [========================================================================================] | 026bdab03fa6a3b6-e444b1ee5df96232 + 2 | 00009220 | 00009045 INPUT | [================================================================================================] | 0529bda477ab612e-fff2b4fb9e9026cc + 2 | 00009220 | 00009051 INPUT | [=================================================================================================] | 04f8ef707d1e8371-ffac310021da6675 + 2 | 00009220 | 00009058 INPUT | [==================================================================================================] | 02419547d58865b6-fe7c8c1134fbae03 + 2 | 00009220 | 00009063 INPUT | [==================================================================================================] | 0002d3f08112cb69-ff029fb8b24eddc6 + 2 | 00009220 | 00009069 INPUT | [==================================================================================================] | 0002d3f08112cb69-fff2b4fb9e9026cc + 2 | 00009220 | 00009080 INPUT | O | d4caf2e664a9b09e-d4caf2e664a9b09e + 2 | 00009220 | 00009086 INPUT | [==========================================================================================] | 0ba8d68eb8661338-f455296254f6cac9 + 2 | 00009220 | 00009092 INPUT | O | 18b4ae45bc9cb8b0-18b4ae45bc9cb8b0 + 2 | 00009220 | 00009098 INPUT | O | 5f5d229a641f7f10-5f5d229a641f7f10 + 2 | 00009220 | 00009103 INPUT | [==================================================================================================] | 003b0ac5c868db1a-ffc353ea71dbad3d + 2 | 00009220 | 00009109 INPUT | [=================================================================================================] | 0101b19be077bd3d-fc0b4323f673e89b + 2 | 00009220 | 00009115 INPUT | [==================================================================================================] | 026bdab03fa6a3b6-ffac310021da6675 + 2 | 00009220 | 00009122 INPUT | O | 18b4ae45bc9cb8b0-18b4ae45bc9cb8b0 + 2 | 00009220 | 00009128 INPUT | [================================================================================================] | 03671ce438c5663d-fceee9a8dc7a73b8 + 2 | 00009220 | 00009133 INPUT | [==================================================================================================] | 0205a2fb447ca2ea-fea290f7f862d517 + 2 | 00009220 | 00009139 INPUT | [================================================================================================] | 0529bda477ab612e-fff2b4fb9e9026cc + 2 | 00009220 | 00009146 INPUT | O | 5f5d229a641f7f10-5f5d229a641f7f10 + 2 | 00009220 | 00009151 INPUT | [=================================================================================================] | 0101b19be077bd3d-fd6da38269588ff5 + 2 | 00009220 | 00009157 INPUT | [==================================================================================================] | 004b2ce19bf74939-ff60a1254e03c870 + 2 | 00009220 | 00009167 INPUT | [=================================================================================================] | 02806b89579cd9d9-fc6ed31e3687fff4 + 2 | 00009220 | 00009173 INPUT | [============================================================] | 1b22625929feef84-b6188f84075c875e + 2 | 00009220 | 00009179 INPUT | [==================================================================================================] | 026bdab03fa6a3b6-feaf8abce1dfa320 + 2 | 00009220 | 00009185 INPUT | [===========================================================] | 3d1e6b20222fda3d-d6aee1153a47b2a8 + 2 | 00009220 | 00009191 INPUT | [==================================================================================================] | 003b0ac5c868db1a-ffc353ea71dbad3d + 2 | 00009220 | 00009197 INPUT | [==================================================================================================] | 003b0ac5c868db1a-ffc353ea71dbad3d + 2 | 00009220 | 00009203 INPUT | [=================================================================================================] | 0101b19be077bd3d-fcea836e0c73d7f8 + 2 | 00009220 | 00009210 INPUT | [==================================================================================================] | 00bc9fb3e020309a-fee27fc9266de29d + 2 | 00009220 | 00009215 OUTPUT | [===================================] | 0002d3f08112cb69-5e334dabe2092820 (cold) + 2 | 00009220 | 00009216 OUTPUT | [======================] | 5e3359d80dbd32b3-9775fdf7f2ca7b87 (cold) + 2 | 00009220 | 00009218 OUTPUT | [===================] | 9776077689dea967-cbcf56a96f4b274f (cold) + 2 | 00009220 | 00009219 OUTPUT | [===================] | cbcf6170a823fd7a-fffffcfe4b08509d (cold) + 2 | 00009220 | 00009217 OUTPUT | [==================================================================================================] | 003b0ac5c868db1a-fff2b4fb9e9026cc (warm) +Time 2026-04-05T18:02:38.677852086Z +Commit 00009221 1593588 keys in 222ms 219µs 735ns +FAM | META SEQ | SST SEQ | RANGE + 2 | 00009220 | 00009215 SST | [===================================] | 0002d3f08112cb69-5e334dabe2092820 (82 MiB, cold) + 2 | 00009220 | 00009216 SST | [======================] | 5e3359d80dbd32b3-9775fdf7f2ca7b87 (89 MiB, cold) + 2 | 00009220 | 00009218 SST | [===================] | 9776077689dea967-cbcf56a96f4b274f (83 MiB, cold) + 2 | 00009220 | 00009219 SST | [===================] | cbcf6170a823fd7a-fffffcfe4b08509d (81 MiB, cold) + 2 | 00009220 | 00009217 SST | [==================================================================================================] | 003b0ac5c868db1a-fff2b4fb9e9026cc (43 MiB, warm) + 2 | 00009220 | 00008901 00008902 00008903 00008904 00008905 00008906 00008909 00008920 00008927 00008932 00008938 00008945 00008950 00008957 00008962 OBSOLETE SST + 2 | 00009220 | 00008969 00008974 00008980 00008986 00008993 00009004 00009009 00009015 00009022 00009028 00009034 00009040 00009045 00009051 00009058 OBSOLETE SST + 2 | 00009220 | 00009063 00009069 00009080 00009086 00009092 00009098 00009103 00009109 00009115 00009122 00009128 00009133 00009139 00009146 00009151 OBSOLETE SST + 2 | 00009220 | 00009157 00009167 00009173 00009179 00009185 00009191 00009197 00009203 00009210 OBSOLETE SST + | | 00008901 00008902 00008903 00008904 00008905 00008906 00008909 00008920 00008927 00008932 00008938 00008945 00008950 00008957 00008962 SST DELETED + | | 00008969 00008974 00008980 00008986 00008993 00009004 00009009 00009015 00009022 00009028 00009034 00009040 00009045 00009051 00009058 SST DELETED + | | 00009063 00009069 00009080 00009086 00009092 00009098 00009103 00009109 00009115 00009122 00009128 00009133 00009139 00009146 00009151 SST DELETED + | | 00009157 00009167 00009173 00009179 00009185 00009191 00009197 00009203 00009210 SST DELETED + | | 00008916 00008925 00008931 00008937 00008943 00008949 00008955 00008961 00008967 00008973 00008979 00008985 00008991 00008997 00009008 META DELETED + | | 00009014 00009020 00009026 00009031 00009038 00009044 00009050 00009056 00009062 00009068 00009077 00009084 00009090 00009096 00009102 META DELETED + | | 00009107 00009113 00009120 00009126 00009131 00009137 00009144 00009150 00009155 00009165 00009172 00009178 00009184 00009190 00009195 META DELETED + | | 00009201 00009208 00009214 META DELETED +Time 2026-04-05T18:04:30.77864156Z +Commit 00009227 264 keys in 16ms 336µs 406ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00009225 | 00009224 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 2 | 00009226 | 00009222 SST | [==================================================================================================] | 002b93da85429976-fecddd6e7da4f88c (0 MiB, fresh) + 1 | 00009227 | 00009223 SST | [==================================================================================================] | 002b93da85429976-ff78e55e141da030 (0 MiB, fresh) +Time 2026-04-05T18:04:45.499282232Z +Commit 00009233 318 keys in 13ms 221µs 995ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00009231 | 00009230 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 2 | 00009232 | 00009229 SST | [==================================================================================================] | 00df6768872514da-fe6c9353f46b4f0e (1 MiB, fresh) + 1 | 00009233 | 00009228 SST | [==================================================================================================] | 00df6768872514da-fe6c9353f46b4f0e (0 MiB, fresh) +Time 2026-04-05T18:05:19.447644097Z +Commit 00009239 899 keys in 14ms 743µs 762ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00009237 | 00009236 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 1 | 00009238 | 00009234 SST | [==================================================================================================] | 0023fee8523e91c4-ff8c14ed62623a87 (0 MiB, fresh) + 2 | 00009239 | 00009235 SST | [==================================================================================================] | 0070a53271bc1f54-ff8c14ed62623a87 (1 MiB, fresh) +Time 2026-04-05T18:26:16.872274692Z +Commit 00009245 782 keys in 13ms 504µs 693ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00009243 | 00009242 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 1 | 00009244 | 00009241 SST | [==================================================================================================] | 0062025520cc5c4c-ffc2b864b4ce0290 (2 MiB, fresh) + 2 | 00009245 | 00009240 SST | [=================================================================================================] | 00bc9fb3e020309a-fd04f6de9ca28eef (0 MiB, fresh) diff --git a/saintBarthVolleyApp/frontend/.next/dev/prerender-manifest.json b/saintBarthVolleyApp/frontend/.next/dev/prerender-manifest.json index 2002b82..f93904d 100644 --- a/saintBarthVolleyApp/frontend/.next/dev/prerender-manifest.json +++ b/saintBarthVolleyApp/frontend/.next/dev/prerender-manifest.json @@ -4,8 +4,8 @@ "dynamicRoutes": {}, "notFoundRoutes": [], "preview": { - "previewModeId": "e69999a2bb9d5fd919e246c4c708148b", - "previewModeSigningKey": "925ba81021c1cf320bb29a899e78bdfe253664cb3fda019bf99b1301b8a2d8e5", - "previewModeEncryptionKey": "a6a77039115940873db008b3d1c3a169576cf30033a05b75ff7ef07b4cbc98d1" + "previewModeId": "e47e4f17fedb04d3836fb2bc8fb455a0", + "previewModeSigningKey": "842b4422a7b6e282ab8313d6131a4963c52f19886291a841020d55282cdd6461", + "previewModeEncryptionKey": "0e739a7d024f04ae526f440622f22cec9347637d13c124f4a3859857f6602e24" } } \ No newline at end of file diff --git a/saintBarthVolleyApp/frontend/.next/dev/server/app-paths-manifest.json b/saintBarthVolleyApp/frontend/.next/dev/server/app-paths-manifest.json index d02be49..e26124a 100644 --- a/saintBarthVolleyApp/frontend/.next/dev/server/app-paths-manifest.json +++ b/saintBarthVolleyApp/frontend/.next/dev/server/app-paths-manifest.json @@ -1,8 +1,10 @@ { - "/admin/club/page": "app/admin/club/page.js", + "/admin/members/page": "app/admin/members/page.js", + "/admin/news/page": "app/admin/news/page.js", "/admin/page": "app/admin/page.js", "/admin/seasons/[seasonId]/teams/[teamId]/page": "app/admin/seasons/[seasonId]/teams/[teamId]/page.js", "/admin/seasons/[seasonId]/teams/page": "app/admin/seasons/[seasonId]/teams/page.js", "/admin/seasons/page": "app/admin/seasons/page.js", - "/admin/users/page": "app/admin/users/page.js" + "/login/page": "app/login/page.js", + "/page": "app/page.js" } \ No newline at end of file diff --git a/saintBarthVolleyApp/frontend/.next/dev/server/middleware-manifest.json b/saintBarthVolleyApp/frontend/.next/dev/server/middleware-manifest.json index 90735c3..04b2c3c 100644 --- a/saintBarthVolleyApp/frontend/.next/dev/server/middleware-manifest.json +++ b/saintBarthVolleyApp/frontend/.next/dev/server/middleware-manifest.json @@ -20,9 +20,9 @@ "env": { "__NEXT_BUILD_ID": "development", "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "n0SX09riOuLUmRD0NXN8Mrp8d65tEg6mH2WbVPuTRzo=", - "__NEXT_PREVIEW_MODE_ID": "e69999a2bb9d5fd919e246c4c708148b", - "__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "a6a77039115940873db008b3d1c3a169576cf30033a05b75ff7ef07b4cbc98d1", - "__NEXT_PREVIEW_MODE_SIGNING_KEY": "925ba81021c1cf320bb29a899e78bdfe253664cb3fda019bf99b1301b8a2d8e5" + "__NEXT_PREVIEW_MODE_ID": "e47e4f17fedb04d3836fb2bc8fb455a0", + "__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "0e739a7d024f04ae526f440622f22cec9347637d13c124f4a3859857f6602e24", + "__NEXT_PREVIEW_MODE_SIGNING_KEY": "842b4422a7b6e282ab8313d6131a4963c52f19886291a841020d55282cdd6461" } } }, diff --git a/saintBarthVolleyApp/frontend/.next/dev/server/next-font-manifest.js b/saintBarthVolleyApp/frontend/.next/dev/server/next-font-manifest.js index 6027986..c487cb3 100644 --- a/saintBarthVolleyApp/frontend/.next/dev/server/next-font-manifest.js +++ b/saintBarthVolleyApp/frontend/.next/dev/server/next-font-manifest.js @@ -1 +1 @@ -self.__NEXT_FONT_MANIFEST="{\n \"app\": {\n \"[project]/src/app/admin/club/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.853070df.woff2\",\n \"static/media/797e433ab948586e-s.p.dbea232f.woff2\"\n ],\n \"[project]/src/app/admin/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.853070df.woff2\",\n \"static/media/797e433ab948586e-s.p.dbea232f.woff2\"\n ],\n \"[project]/src/app/admin/seasons/[seasonId]/teams/[teamId]/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.853070df.woff2\",\n \"static/media/797e433ab948586e-s.p.dbea232f.woff2\"\n ],\n \"[project]/src/app/admin/seasons/[seasonId]/teams/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.853070df.woff2\",\n \"static/media/797e433ab948586e-s.p.dbea232f.woff2\"\n ],\n \"[project]/src/app/admin/seasons/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.853070df.woff2\",\n \"static/media/797e433ab948586e-s.p.dbea232f.woff2\"\n ],\n \"[project]/src/app/admin/users/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.853070df.woff2\",\n \"static/media/797e433ab948586e-s.p.dbea232f.woff2\"\n ]\n },\n \"appUsingSizeAdjust\": true,\n \"pages\": {},\n \"pagesUsingSizeAdjust\": false\n}" \ No newline at end of file +self.__NEXT_FONT_MANIFEST="{\n \"app\": {\n \"[project]/src/app/admin/members/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.853070df.woff2\",\n \"static/media/797e433ab948586e-s.p.dbea232f.woff2\"\n ],\n \"[project]/src/app/admin/news/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.853070df.woff2\",\n \"static/media/797e433ab948586e-s.p.dbea232f.woff2\"\n ],\n \"[project]/src/app/admin/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.853070df.woff2\",\n \"static/media/797e433ab948586e-s.p.dbea232f.woff2\"\n ],\n \"[project]/src/app/admin/seasons/[seasonId]/teams/[teamId]/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.853070df.woff2\",\n \"static/media/797e433ab948586e-s.p.dbea232f.woff2\"\n ],\n \"[project]/src/app/admin/seasons/[seasonId]/teams/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.853070df.woff2\",\n \"static/media/797e433ab948586e-s.p.dbea232f.woff2\"\n ],\n \"[project]/src/app/admin/seasons/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.853070df.woff2\",\n \"static/media/797e433ab948586e-s.p.dbea232f.woff2\"\n ],\n \"[project]/src/app/login/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.853070df.woff2\",\n \"static/media/797e433ab948586e-s.p.dbea232f.woff2\"\n ],\n \"[project]/src/app/page\": [\n \"static/media/caa3a2e1cccd8315-s.p.853070df.woff2\",\n \"static/media/797e433ab948586e-s.p.dbea232f.woff2\"\n ]\n },\n \"appUsingSizeAdjust\": true,\n \"pages\": {},\n \"pagesUsingSizeAdjust\": false\n}" \ No newline at end of file diff --git a/saintBarthVolleyApp/frontend/.next/dev/server/next-font-manifest.json b/saintBarthVolleyApp/frontend/.next/dev/server/next-font-manifest.json index ad3ca97..b2ff56c 100644 --- a/saintBarthVolleyApp/frontend/.next/dev/server/next-font-manifest.json +++ b/saintBarthVolleyApp/frontend/.next/dev/server/next-font-manifest.json @@ -1,6 +1,10 @@ { "app": { - "[project]/src/app/admin/club/page": [ + "[project]/src/app/admin/members/page": [ + "static/media/caa3a2e1cccd8315-s.p.853070df.woff2", + "static/media/797e433ab948586e-s.p.dbea232f.woff2" + ], + "[project]/src/app/admin/news/page": [ "static/media/caa3a2e1cccd8315-s.p.853070df.woff2", "static/media/797e433ab948586e-s.p.dbea232f.woff2" ], @@ -20,7 +24,11 @@ "static/media/caa3a2e1cccd8315-s.p.853070df.woff2", "static/media/797e433ab948586e-s.p.dbea232f.woff2" ], - "[project]/src/app/admin/users/page": [ + "[project]/src/app/login/page": [ + "static/media/caa3a2e1cccd8315-s.p.853070df.woff2", + "static/media/797e433ab948586e-s.p.dbea232f.woff2" + ], + "[project]/src/app/page": [ "static/media/caa3a2e1cccd8315-s.p.853070df.woff2", "static/media/797e433ab948586e-s.p.dbea232f.woff2" ] diff --git a/saintBarthVolleyApp/frontend/.next/dev/trace b/saintBarthVolleyApp/frontend/.next/dev/trace index 5282df8..fd56503 100644 --- a/saintBarthVolleyApp/frontend/.next/dev/trace +++ b/saintBarthVolleyApp/frontend/.next/dev/trace @@ -434,3 +434,12 @@ [{"name":"handle-request","duration":57864,"timestamp":30481749248,"id":13,"tags":{"url":"/admin/seasons?_rsc=hkw9d"},"startTime":1775331842747,"traceId":"a228c018b954d827"},{"name":"memory-usage","duration":8,"timestamp":30481807213,"id":16,"parentId":13,"tags":{"url":"/admin/seasons?_rsc=hkw9d","memory.rss":"1402707968","memory.heapUsed":"90538464","memory.heapTotal":"93609984"},"startTime":1775331842805,"traceId":"a228c018b954d827"},{"name":"ensure-page","duration":3563,"timestamp":30485332498,"id":17,"parentId":3,"tags":{"inputPage":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams"},"startTime":1775331846331,"traceId":"a228c018b954d827"},{"name":"ensure-page","duration":817,"timestamp":30485336324,"id":18,"parentId":3,"tags":{"inputPage":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams"},"startTime":1775331846334,"traceId":"a228c018b954d827"},{"name":"ensure-page","duration":1298,"timestamp":30485339881,"id":19,"parentId":3,"tags":{"inputPage":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams"},"startTime":1775331846338,"traceId":"a228c018b954d827"},{"name":"ensure-page","duration":758,"timestamp":30485341365,"id":20,"parentId":3,"tags":{"inputPage":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams"},"startTime":1775331846339,"traceId":"a228c018b954d827"},{"name":"compile-path","duration":44435,"timestamp":30485351228,"id":23,"tags":{"trigger":"/admin/seasons/[seasonId]/teams"},"startTime":1775331846349,"traceId":"a228c018b954d827"}] [{"name":"handle-request","duration":481592,"timestamp":30485348472,"id":21,"tags":{"url":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams?_rsc=z8uaw"},"startTime":1775331846347,"traceId":"a228c018b954d827"},{"name":"memory-usage","duration":7,"timestamp":30485830144,"id":24,"parentId":21,"tags":{"url":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams?_rsc=z8uaw","memory.rss":"1439055872","memory.heapUsed":"93202512","memory.heapTotal":"96440320"},"startTime":1775331846828,"traceId":"a228c018b954d827"},{"name":"ensure-page","duration":1954,"timestamp":30487343136,"id":25,"parentId":3,"tags":{"inputPage":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams/69ca9f6252dca2f98264048d"},"startTime":1775331848341,"traceId":"a228c018b954d827"},{"name":"ensure-page","duration":1089,"timestamp":30487345402,"id":26,"parentId":3,"tags":{"inputPage":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams/69ca9f6252dca2f98264048d"},"startTime":1775331848344,"traceId":"a228c018b954d827"},{"name":"ensure-page","duration":1048,"timestamp":30487349353,"id":27,"parentId":3,"tags":{"inputPage":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams/69ca9f6252dca2f98264048d"},"startTime":1775331848347,"traceId":"a228c018b954d827"},{"name":"ensure-page","duration":1001,"timestamp":30487350686,"id":28,"parentId":3,"tags":{"inputPage":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams/69ca9f6252dca2f98264048d"},"startTime":1775331848349,"traceId":"a228c018b954d827"},{"name":"compile-path","duration":25109,"timestamp":30487360518,"id":31,"tags":{"trigger":"/admin/seasons/[seasonId]/teams/[teamId]"},"startTime":1775331848359,"traceId":"a228c018b954d827"}] [{"name":"handle-request","duration":468555,"timestamp":30487356461,"id":29,"tags":{"url":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams/69ca9f6252dca2f98264048d?_rsc=r0mnm"},"startTime":1775331848355,"traceId":"a228c018b954d827"},{"name":"memory-usage","duration":9,"timestamp":30487825148,"id":32,"parentId":29,"tags":{"url":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams/69ca9f6252dca2f98264048d?_rsc=r0mnm","memory.rss":"1450237952","memory.heapUsed":"95261656","memory.heapTotal":"101085184"},"startTime":1775331848823,"traceId":"a228c018b954d827"},{"name":"compile-path","duration":48696,"timestamp":30507496895,"id":35,"tags":{"trigger":"/admin/users"},"startTime":1775331868495,"traceId":"a228c018b954d827"}] +[{"name":"hot-reloader","duration":58,"timestamp":40749343279,"id":3,"tags":{"version":"16.1.6"},"startTime":1775412106260,"traceId":"a89cc531fe55e735"},{"name":"compile-path","duration":497378,"timestamp":40749901590,"id":4,"tags":{"trigger":"middleware"},"startTime":1775412106818,"traceId":"a89cc531fe55e735"}] +[{"name":"setup-dev-bundler","duration":1241043,"timestamp":40749248366,"id":2,"parentId":1,"tags":{},"startTime":1775412106165,"traceId":"a89cc531fe55e735"},{"name":"start-dev-server","duration":1976697,"timestamp":40748600846,"id":1,"tags":{"cpus":"8","platform":"linux","memory.freeMem":"10292842496","memory.totalMem":"16408375296","memory.heapSizeLimit":"8254390272","memory.rss":"547815424","memory.heapTotal":"89591808","memory.heapUsed":"66266952"},"startTime":1775412105517,"traceId":"a89cc531fe55e735"},{"name":"compile-path","duration":1291817,"timestamp":40755317379,"id":7,"tags":{"trigger":"/"},"startTime":1775412112234,"traceId":"a89cc531fe55e735"}] +[{"name":"handle-request","duration":1639201,"timestamp":40755309084,"id":5,"tags":{"url":"/"},"startTime":1775412112225,"traceId":"a89cc531fe55e735"},{"name":"memory-usage","duration":13,"timestamp":40756948436,"id":8,"parentId":5,"tags":{"url":"/","memory.rss":"990793728","memory.heapUsed":"80177376","memory.heapTotal":"88244224"},"startTime":1775412113865,"traceId":"a89cc531fe55e735"},{"name":"ensure-page","duration":1272,"timestamp":40757106449,"id":9,"parentId":3,"tags":{"inputPage":"/favicon.ico/route"},"startTime":1775412114023,"traceId":"a89cc531fe55e735"},{"name":"ensure-page","duration":395,"timestamp":40757107844,"id":10,"parentId":3,"tags":{"inputPage":"/favicon.ico"},"startTime":1775412114024,"traceId":"a89cc531fe55e735"},{"name":"ensure-page","duration":344,"timestamp":40757110220,"id":11,"parentId":3,"tags":{"inputPage":"/favicon.ico/route"},"startTime":1775412114026,"traceId":"a89cc531fe55e735"},{"name":"ensure-page","duration":451,"timestamp":40757110640,"id":12,"parentId":3,"tags":{"inputPage":"/favicon.ico"},"startTime":1775412114027,"traceId":"a89cc531fe55e735"},{"name":"compile-path","duration":150819,"timestamp":40761379324,"id":15,"tags":{"trigger":"/login"},"startTime":1775412118296,"traceId":"a89cc531fe55e735"}] +[{"name":"handle-request","duration":244552,"timestamp":40761378427,"id":13,"tags":{"url":"/login"},"startTime":1775412118295,"traceId":"a89cc531fe55e735"},{"name":"memory-usage","duration":16,"timestamp":40761623091,"id":16,"parentId":13,"tags":{"url":"/login","memory.rss":"1236865024","memory.heapUsed":"90539320","memory.heapTotal":"98140160"},"startTime":1775412118539,"traceId":"a89cc531fe55e735"},{"name":"ensure-page","duration":2030,"timestamp":40790601931,"id":18,"parentId":3,"tags":{"inputPage":"/page"},"startTime":1775412147518,"traceId":"a89cc531fe55e735"},{"name":"handle-request","duration":77983,"timestamp":40790598347,"id":17,"tags":{"url":"/"},"startTime":1775412147515,"traceId":"a89cc531fe55e735"},{"name":"memory-usage","duration":9,"timestamp":40790676456,"id":19,"parentId":17,"tags":{"url":"/","memory.rss":"1235066880","memory.heapUsed":"88525216","memory.heapTotal":"92372992"},"startTime":1775412147593,"traceId":"a89cc531fe55e735"},{"name":"compile-path","duration":148699,"timestamp":40795208925,"id":22,"tags":{"trigger":"/admin"},"startTime":1775412152125,"traceId":"a89cc531fe55e735"}] +[{"name":"handle-request","duration":265304,"timestamp":40795208046,"id":20,"tags":{"url":"/admin"},"startTime":1775412152124,"traceId":"a89cc531fe55e735"},{"name":"memory-usage","duration":11,"timestamp":40795473768,"id":23,"parentId":20,"tags":{"url":"/admin","memory.rss":"1366323200","memory.heapUsed":"97755464","memory.heapTotal":"117813248"},"startTime":1775412152390,"traceId":"a89cc531fe55e735"},{"name":"compile-path","duration":68064,"timestamp":40911703991,"id":26,"tags":{"trigger":"/admin/news"},"startTime":1775412268620,"traceId":"a89cc531fe55e735"}] +[{"name":"handle-request","duration":101863,"timestamp":40911699587,"id":24,"tags":{"url":"/admin/news?_rsc=1szk4"},"startTime":1775412268616,"traceId":"a89cc531fe55e735"},{"name":"memory-usage","duration":7,"timestamp":40911801522,"id":27,"parentId":24,"tags":{"url":"/admin/news?_rsc=1szk4","memory.rss":"1547358208","memory.heapUsed":"100068432","memory.heapTotal":"106463232"},"startTime":1775412268718,"traceId":"a89cc531fe55e735"},{"name":"compile-path","duration":57157,"timestamp":40926422452,"id":30,"tags":{"trigger":"/admin/members"},"startTime":1775412283339,"traceId":"a89cc531fe55e735"}] +[{"name":"handle-request","duration":84260,"timestamp":40926421438,"id":28,"tags":{"url":"/admin/members?_rsc=1hodn"},"startTime":1775412283338,"traceId":"a89cc531fe55e735"},{"name":"memory-usage","duration":6,"timestamp":40926505772,"id":31,"parentId":28,"tags":{"url":"/admin/members?_rsc=1hodn","memory.rss":"1591914496","memory.heapUsed":"103139744","memory.heapTotal":"112177152"},"startTime":1775412283422,"traceId":"a89cc531fe55e735"},{"name":"compile-path","duration":57372,"timestamp":40956124212,"id":34,"tags":{"trigger":"/admin/seasons"},"startTime":1775412313040,"traceId":"a89cc531fe55e735"}] +[{"name":"handle-request","duration":87575,"timestamp":40956122306,"id":32,"tags":{"url":"/admin/seasons?_rsc=3qvm5"},"startTime":1775412313039,"traceId":"a89cc531fe55e735"},{"name":"memory-usage","duration":7,"timestamp":40956209955,"id":35,"parentId":32,"tags":{"url":"/admin/seasons?_rsc=3qvm5","memory.rss":"1642635264","memory.heapUsed":"104408472","memory.heapTotal":"109518848"},"startTime":1775412313126,"traceId":"a89cc531fe55e735"},{"name":"ensure-page","duration":1392,"timestamp":40957806909,"id":36,"parentId":3,"tags":{"inputPage":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams"},"startTime":1775412314723,"traceId":"a89cc531fe55e735"},{"name":"ensure-page","duration":883,"timestamp":40957808587,"id":37,"parentId":3,"tags":{"inputPage":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams"},"startTime":1775412314725,"traceId":"a89cc531fe55e735"},{"name":"ensure-page","duration":677,"timestamp":40957811415,"id":38,"parentId":3,"tags":{"inputPage":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams"},"startTime":1775412314728,"traceId":"a89cc531fe55e735"},{"name":"ensure-page","duration":508,"timestamp":40957812253,"id":39,"parentId":3,"tags":{"inputPage":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams"},"startTime":1775412314728,"traceId":"a89cc531fe55e735"},{"name":"compile-path","duration":89932,"timestamp":40957819250,"id":42,"tags":{"trigger":"/admin/seasons/[seasonId]/teams"},"startTime":1775412314735,"traceId":"a89cc531fe55e735"}] +[{"name":"handle-request","duration":552641,"timestamp":40957817090,"id":40,"tags":{"url":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams?_rsc=z8uaw"},"startTime":1775412314733,"traceId":"a89cc531fe55e735"},{"name":"memory-usage","duration":11,"timestamp":40958369870,"id":43,"parentId":40,"tags":{"url":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams?_rsc=z8uaw","memory.rss":"1670582272","memory.heapUsed":"107293952","memory.heapTotal":"110514176"},"startTime":1775412315286,"traceId":"a89cc531fe55e735"},{"name":"ensure-page","duration":1650,"timestamp":40959961870,"id":44,"parentId":3,"tags":{"inputPage":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams/69ca9f6252dca2f98264048d"},"startTime":1775412316878,"traceId":"a89cc531fe55e735"},{"name":"ensure-page","duration":837,"timestamp":40959963748,"id":45,"parentId":3,"tags":{"inputPage":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams/69ca9f6252dca2f98264048d"},"startTime":1775412316880,"traceId":"a89cc531fe55e735"},{"name":"ensure-page","duration":760,"timestamp":40959966631,"id":46,"parentId":3,"tags":{"inputPage":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams/69ca9f6252dca2f98264048d"},"startTime":1775412316883,"traceId":"a89cc531fe55e735"},{"name":"ensure-page","duration":669,"timestamp":40959967536,"id":47,"parentId":3,"tags":{"inputPage":"/admin/seasons/69ca8e27a9e3f2536eba4127/teams/69ca9f6252dca2f98264048d"},"startTime":1775412316884,"traceId":"a89cc531fe55e735"},{"name":"compile-path","duration":68973,"timestamp":40959973824,"id":50,"tags":{"trigger":"/admin/seasons/[seasonId]/teams/[teamId]"},"startTime":1775412316890,"traceId":"a89cc531fe55e735"}] diff --git a/saintBarthVolleyApp/frontend/src/app/admin/club/page.tsx b/saintBarthVolleyApp/frontend/src/app/admin/club/page.tsx index 51dd4b6..874998c 100644 --- a/saintBarthVolleyApp/frontend/src/app/admin/club/page.tsx +++ b/saintBarthVolleyApp/frontend/src/app/admin/club/page.tsx @@ -34,7 +34,7 @@ export default function ClubPage() { useEffect(() => { const fetchClub = async () => { try { - const data = await apiFetch("/api/clubs"); + const data = await apiFetch("/api/clubs"); setClub(data[0]); setInitialClub(data[0]); } catch (err) { diff --git a/saintBarthVolleyApp/frontend/src/app/admin/matches/page.tsx b/saintBarthVolleyApp/frontend/src/app/admin/matches/page.tsx index 8de3505..2fa51eb 100644 --- a/saintBarthVolleyApp/frontend/src/app/admin/matches/page.tsx +++ b/saintBarthVolleyApp/frontend/src/app/admin/matches/page.tsx @@ -79,7 +79,7 @@ export default function MatchesPage() { const CLUB_NAME = "AS SAINT-BARTHELEMY D'ANJOU V.B."; React.useEffect(() => { - apiFetch("/api/seasons").then(setSeasons).catch(console.error); + apiFetch("/api/seasons").then(setSeasons).catch(console.error); }, []); React.useEffect(() => { @@ -87,7 +87,7 @@ export default function MatchesPage() { const fetchAll = async () => { const allTeams: Team[] = []; for (const s of seasons) { - const t: Team[] = await apiFetch( + const t: Team[] = await apiFetch( `/api/teams?seasonId=${s._id}`, ).catch(() => []); allTeams.push(...t); @@ -96,7 +96,7 @@ export default function MatchesPage() { }; if (seasons.length > 0) fetchAll(); } else { - apiFetch(`/api/teams?seasonId=${selectedSeason}`) + apiFetch(`/api/teams?seasonId=${selectedSeason}`) .then(setTeams) .catch(console.error); } @@ -116,7 +116,7 @@ export default function MatchesPage() { selectedTeam === "all" ? "/api/matches" : `/api/matches?teamId=${selectedTeam}`; - setMatches(await apiFetch(url)); + setMatches(await apiFetch(url)); } catch (err) { console.error(err); } finally { @@ -131,7 +131,7 @@ export default function MatchesPage() { selectedTeam === "all" ? "/api/standings" : `/api/standings?teamId=${selectedTeam}`; - setStandings(await apiFetch(url)); + setStandings(await apiFetch(url)); } catch (err) { console.error(err); } finally { diff --git a/saintBarthVolleyApp/frontend/src/components/dashboard/admin/club-form.tsx b/saintBarthVolleyApp/frontend/src/components/dashboard/admin/club-form.tsx index 367e87d..5a2db63 100644 --- a/saintBarthVolleyApp/frontend/src/components/dashboard/admin/club-form.tsx +++ b/saintBarthVolleyApp/frontend/src/components/dashboard/admin/club-form.tsx @@ -1,26 +1,22 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ "use client"; -import { useState } from "react"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Textarea } from "@/components/ui/textarea"; import { FileUpload } from "@/components/dashboard/admin/file-upload"; import Image from "next/image"; +const API = process.env.NEXT_PUBLIC_API_URL ?? "http://localhost:5000"; + interface Props { club: any; onChange: (club: any) => void; - onSave?: (club: any) => Promise; // géré par le parent + onSave?: (club: any) => Promise; } export function ClubForm({ club, onChange }: Props) { - const [dirty, setDirty] = useState(false); - const saving = false; - const handleChange = (name: string, value: string) => { - setDirty(true); - if (name.startsWith("social_")) { onChange({ ...club, @@ -45,20 +41,20 @@ export function ClubForm({ club, onChange }: Props) { const handleFileUpload = async ( field: "logo" | "photo", file: File, - oldFileUrl?: string, // on peut passer l'ancienne image + oldFileUrl?: string, ) => { const formData = new FormData(); formData.append("file", file); if (oldFileUrl) { - // envoie juste le filename, pas l'URL complète formData.append("oldFile", oldFileUrl.split("/").pop()!); } try { - const res = await fetch("http://localhost:5000/api/upload", { + const res = await fetch(`${API}/api/upload`, { method: "POST", body: formData, + credentials: "include", }); if (!res.ok) { @@ -68,7 +64,7 @@ export function ClubForm({ club, onChange }: Props) { } const data = await res.json(); - const imageUrl = `http://localhost:5000/uploads/${data.filename}`; + const imageUrl = `${API}/uploads/${data.filename}`; handleChange(field, imageUrl); } catch (err) { @@ -127,7 +123,9 @@ export function ClubForm({ club, onChange }: Props) {
- handleFileUpload("logo", file)} /> + handleFileUpload("logo", file, club.logo)} + /> {club.logo && (
- handleFileUpload("photo", file)} /> + handleFileUpload("photo", file, club.photo)} + /> {club.photo && (
- - {saving && ( -

💾 Sauvegarde en cours...

- )} - {!dirty && !saving && ( -

- ✅ Tous les changements sauvegardés -

- )}
); } diff --git a/saintBarthVolleyApp/frontend/src/lib/auth.ts b/saintBarthVolleyApp/frontend/src/lib/auth.ts index f8d91a5..2adbe53 100644 --- a/saintBarthVolleyApp/frontend/src/lib/auth.ts +++ b/saintBarthVolleyApp/frontend/src/lib/auth.ts @@ -1,8 +1,18 @@ import { apiFetch } from "./api"; +export interface AuthUser { + _id: string; + email: string; + firstName: string; + lastName: string; + role: "admin" | "editor" | "user"; + isActive: boolean; + isVerified: boolean; +} + export const authApi = { login: (email: string, password: string) => - apiFetch("/api/auth/login", { + apiFetch("/api/auth/login", { method: "POST", body: JSON.stringify({ email, password }), }), @@ -13,14 +23,14 @@ export const authApi = { firstName: string; lastName: string; }) => - apiFetch("/api/auth/register", { + apiFetch("/api/auth/register", { method: "POST", body: JSON.stringify(body), }), logout: () => apiFetch("/api/auth/logout", { method: "POST" }), - me: () => apiFetch("/api/auth/me"), + me: () => apiFetch("/api/auth/me"), resendVerification: (email: string) => apiFetch("/api/auth/resend-verification", {