From fdafea3741a17d3acb43fb8ee7b5416ea76dbcee Mon Sep 17 00:00:00 2001 From: rustyrory Date: Sun, 5 Apr 2026 20:19:46 +0200 Subject: [PATCH 1/2] feat(dashboard): Fixes #138 - Dashboard membres & teams --- .../uploads/1775412325537_1734616916045.jpeg | Bin 0 -> 7584 bytes .../dev/cache/turbopack/0c06f068/CURRENT | Bin 4 -> 4 bytes .../.next/dev/cache/turbopack/0c06f068/LOG | 123 ++++++++++++++++++ .../.next/dev/prerender-manifest.json | 6 +- .../.next/dev/server/app-paths-manifest.json | 6 +- .../.next/dev/server/middleware-manifest.json | 6 +- .../.next/dev/server/next-font-manifest.js | 2 +- .../.next/dev/server/next-font-manifest.json | 12 +- saintBarthVolleyApp/frontend/.next/dev/trace | 9 ++ .../frontend/src/app/admin/club/page.tsx | 2 +- .../frontend/src/app/admin/matches/page.tsx | 10 +- .../components/dashboard/admin/club-form.tsx | 35 ++--- 12 files changed, 172 insertions(+), 39 deletions(-) create mode 100644 saintBarthVolleyApp/backend/public/uploads/1775412325537_1734616916045.jpeg diff --git a/saintBarthVolleyApp/backend/public/uploads/1775412325537_1734616916045.jpeg b/saintBarthVolleyApp/backend/public/uploads/1775412325537_1734616916045.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b077737544fb7592898fbd5016fd70c2eb07e0d6 GIT binary patch literal 7584 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 TwCMK{60?s~ClK7*e_Z-M%8%c1 literal 0 HcmV?d00001 diff --git a/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/CURRENT b/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/CURRENT index dfee94c3630c3c2ec5de8b519b6ad31bb75def37..9179536bb62326cef327bd07e264532687fe5284 100644 GIT binary patch literal 4 LcmZQzP!R_J0Am0= literal 4 LcmZQzP<{pg0Wbjy diff --git a/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/LOG b/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/LOG index d9fb329..35e8a54 100644 --- a/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/LOG +++ b/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/LOG @@ -12282,3 +12282,126 @@ 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) 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 -

- )}
); } From 5872255efe014529a75a4f79d50fb21cb53af37c Mon Sep 17 00:00:00 2001 From: rustyrory Date: Sun, 5 Apr 2026 20:29:33 +0200 Subject: [PATCH 2/2] feat(dashboard): Fixes #138 - Dashboard membres et teams --- .github/workflows/audit.yml | 4 +- saintBarthVolleyApp/backend/package-lock.json | 207 +----------------- saintBarthVolleyApp/backend/package.json | 2 - .../dev/cache/turbopack/0c06f068/CURRENT | Bin 4 -> 4 bytes .../.next/dev/cache/turbopack/0c06f068/LOG | 6 + saintBarthVolleyApp/frontend/src/lib/auth.ts | 16 +- 6 files changed, 24 insertions(+), 211 deletions(-) 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/frontend/.next/dev/cache/turbopack/0c06f068/CURRENT b/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/CURRENT index 9179536bb62326cef327bd07e264532687fe5284..63f78d8344433da125722e8ac6de85124535f00e 100644 GIT binary patch literal 4 LcmZQzP>}@y0BHb1 literal 4 LcmZQzP!R_J0Am0= diff --git a/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/LOG b/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/LOG index 35e8a54..dd8528f 100644 --- a/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/LOG +++ b/saintBarthVolleyApp/frontend/.next/dev/cache/turbopack/0c06f068/LOG @@ -12405,3 +12405,9 @@ 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/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", {