From 471be08fd732fc1efb868644c0513d1f9947f8b5 Mon Sep 17 00:00:00 2001 From: gprunet Date: Fri, 23 Jan 2026 17:04:22 +0100 Subject: [PATCH] Fix image --- README.md | 10 +++++----- srcs/backend/avatar/default.png | Bin 0 -> 2053 bytes srcs/backend/routes/avatar.js | 1 + srcs/backend/services/avatar.js | 3 ++- srcs/frontend/nginx.conf | 8 ++++++++ 5 files changed, 16 insertions(+), 6 deletions(-) create mode 100644 srcs/backend/avatar/default.png diff --git a/README.md b/README.md index 69171c5..ab014cb 100644 --- a/README.md +++ b/README.md @@ -30,18 +30,18 @@ Ressource: BACKEND -17/01 Ajout du service/route pour le systeme de game_room +17/01 - Ajout du service/route pour le systeme de game_room permet aux joueurs de creer et rejoindre des rooms une room vide est automatiquement detruite. - Presence d'une fonction affichant toutes les rooms joignables + - Presence d'une fonction affichant toutes les rooms joignables ainsi qu'une autre fonction pour afficher tous les joueurs de la room avec leur scores et leur etat actuel. - Aucun moyen de changer l'etat de la room de waiting a en cours ou finished + - Aucun moyen de changer l'etat de la room de waiting a en cours ou finished ca attendra le systeme du jeu -21/01 Ajout du service/route pour le systeme d'avatar +21/01 - Ajout du service/route pour le systeme d'avatar permet aux utilisateurs de changer ou supprimer leur avatar actuel - Ajout egalement d'une simple fonction pour recuperer l'avatar d'un utilisateur (pour le frontend) + - Ajout egalement d'une simple fonction pour recuperer l'avatar d'un utilisateur (pour le frontend) DATABASE diff --git a/srcs/backend/avatar/default.png b/srcs/backend/avatar/default.png new file mode 100644 index 0000000000000000000000000000000000000000..e5be31746b6b66cd9ec9d4c5b233326dada332c3 GIT binary patch literal 2053 zcmZ`)eK^w#8|I*`+G2=}j*s-RwAi$yEfz+^goKP(K3Yr?2l+^}eylW(B!rGudj7qy`(`*goPzFB+a)C>1+}#yI&bsD zzX6un-aCW$+iX*UqrHojL?V%vmfpVB*49EpLj?lC%E}6h#d30T+Su6W>+2H=g^P=e z91cfLPL9v#D=I2ZPfx?)a5|l?rlvMAF;P`j1%*P9NTjo~Gn>r@03ahHBP1jQkH_2F z+gn&zG&VN+`ufJj#c642q0#7ofB-BOOD2=e%*>cfW(M-@u#^;tU`sT2iOOBbo4r_r zQ#gsa!fq^}s@8i1wHvfaWJc{3D^Li>i%N}QTP||Di}%g zeD?JPugXtxr`)W>o-g}8b218hoB=`38M}>RDAHq)FyTU zxWwUh_*>n;PX}R{Ed||ahpp3gwjAleWplwfkn<-dHPnPyiXe{*R#AHkE`5@Z$Rwiw z>bAKCd_R>_296Fu>Ig7DjFc>8mjQk^>U~+Xf0S1d;Xa1$qLlicM~a6urD&zkkP;D= zznW`8{c~pEO07=lOHl~(c!>D$WsCbpx#+H27t}7~&HUl1W^_EgsY8{Q?(o!vL^XgI z_S0X>TRxZ}#YlrxRu^{jJZ0lB0N3Zu(#3vqe9DNejzhOJX!I08 zvgcEmmQTNjp4rfq4$>Fm)O}NlSC%8j~G%3strGX0}!dcz@VOi4p}+AzUn0Cwi!lbI&8S6 zXu%EAQYNpo)s<_MM?ikj31AlBdFr}1?m+?sSv~;5$TjYWn{$q?{wakqNNTjS+W zyrh+bXZTziOpNEF{hczLX z#S9QlwRt56W(S2sm{kdr=9 z`ORF|Oz9HlPpuALeG`}}w_yw^d>m3sLB@=$r~`qMRjt4zJY%-B9+jmtv*Pk*KScoA=7>pf$qPyimh1a;8>o?d7X~%ZZtp zZ(_K0R2QaEmbH1)mOyV3_4)`rk#Z>UbZn#pLQc{7n;8Mm?68E5|#& z`>`p}5jk(#m5J8tBXhR~G`#Izqj6I`stXw9sxy)=bC!lN55)n77fiWs`2)q?afHWN znEAONPhDDNj&_Tfzx(6tFImT;UMMb(Pajmq7+ieHK4c@rf$pLuh z_|47ob_ycazxNBlgv>Z<2Jnv6wu$8cgZh6(59ekZAQ$_mI-q z1M2sgOX|Id%G*|K?uzcHZn;uOXM)~C^Vq+oJ((RBto}G?mfBfN7R`Pb%g0^!e zj2Hn5+zAoZ)%%%mFe;OCuVFove=DLzxC1D*ZPxQ$;|and`SE8}OsUB+B9GBMG0KMP zeV>UVQDBOhZ1LBK>U&k&0i_`sbcYSodKJartF-I5kr6L{!h6O`PH-bvmmK{GZTe54 zAR{N6)zWUJA5M@kLHG@JI3~UIDNcXtA#;h$xW8$r7u@(KV)1h|9m(hzW35IC1rTB^ zOONY#Pwt0Px4&j>f?jgWry({}8-1uU#3{ZhO9ftb<*SrfL@q4}?~)mK(;@DLdE2O) z2}5_GO*JD*cUr_Ina2j^vL?d{2lIHH!9J3KWO(JdYxil|0doh=R}H)hMxB*pJtG=2 zPd9-53gmwd5Jaa;aDt!uY$zdKT^-z7`f#!4((UIx$}d^WeRu9kCDrIGlpx0zMN>y@ z)wxKIV+~)Iqg=xE9jy*5$sA|Hyc0B838kh7@|n%GK+=JaNZt)YTfieC!e&n@N8fgj zOkdf&RsV?W?`t%9uh}K7E!0pi@}y?rghEd7<^OuNPSOL>j3Va_C4_yOy_x-g>MjvE aNysb;y;Jpsudv router.get('/me', authenticateToken, async(req, res) => { + console.log('GET /me hit, user:', req.user); const result = await avatarService.getAvatarUrl(req.user.userId); res.status(result.status).json(result.data); }); diff --git a/srcs/backend/services/avatar.js b/srcs/backend/services/avatar.js index 5af32ec..ac59255 100644 --- a/srcs/backend/services/avatar.js +++ b/srcs/backend/services/avatar.js @@ -128,7 +128,8 @@ async function getAvatarUrl(userId) if (result.rows.length === 0) return ({status: 404, data: {error: 'User not found'}}); - return ({status: 200, data: {avatar_url: result.rows[0].avatar_url}}); + const avatarUrl = result.rows[0].avatar_url || DEFAULT_AVATAR; + return ({status: 200, data: {avatar_url: avatarUrl}}); } catch (err) { diff --git a/srcs/frontend/nginx.conf b/srcs/frontend/nginx.conf index 97cc9d7..42edddc 100644 --- a/srcs/frontend/nginx.conf +++ b/srcs/frontend/nginx.conf @@ -27,4 +27,12 @@ server { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } + + location /avatar/ { + proxy_pass http://backend:3001/avatar/; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_hide_header Content-Type; + add_header Cache-Control "public, max-age=3600"; + } }