From edec4841881b969a3b13ef0cd00687f577286c69 Mon Sep 17 00:00:00 2001 From: MathMan05 Date: Mon, 17 Nov 2025 15:46:24 -0600 Subject: [PATCH] fixes slight bug with joining guilds via ID --- assets/openapi.json | Bin 1384928 -> 1384175 bytes assets/schemas.json | Bin 4239136 -> 4238449 bytes .../#guild_id/members/#member_id/index.ts | 40 +++++------------- 3 files changed, 10 insertions(+), 30 deletions(-) diff --git a/assets/openapi.json b/assets/openapi.json index 0aa58c79f893b3635ce3dfb7b7b736c7cc39828b..75f7f590d7a64e7d51f4eaab1a2c0f82031b22ba 100644 GIT binary patch delta 819 zcmZ9IO-NK>6o$FuH}jo4e~xLcbjJTt(-~(_@1QfIEpkyUW?`gI5)MKHHR7T+5rd2g zB{U%Tws2w4e~=2%C9;@sC4>t7?6k3#QHt%_*cq?lrNsmHe&?L`yywj?_iw-JPiK^j zB~$cDT-0nMW7kKlyxpAgsJxdvWlx5J4xY0?xyfz z{=OuvPs_WyCn_@v^7F!vwYXGqYhDabr(@NHzFOV)LWV6^7Q$` z*!1$$Mvq*qll!ZVp7z4jVp40KP-;xxzD0Szr=99d z8;07c(U5b*NX6?y^~hbgg986uv)e%@_OF?%BA+4NJ9~J|W|VCB)ybyYa_%6q->p7e z)2P)XS)3#XQsY!%GPd4VBjLr{E@}d+ zR2u@@tBMn`B$XS#r@C2X@42V}C+0xiuGI?;suKBb@?x#8$O(6pXE`at$BDzSsVLQA z-~F3HmA{(6f%tJ%(gEA!{*@?v zdeCUFgPu}RJP0aS*pnB97Q~n;MS$4+L5(WT9#EckYWyvJ686V&@|a?jSSj(dn_*~s+O>YWed+wo?b1I&H4m6+Q$V@Ig>gLzfN~i8Sa~Ya!W8GgCt2dh%VCIUZ%(X~xIt_$@OsMM`f2lE zGy?IC-tNG73T*f=@-I`a2o97^!7i+va5-`JM=7?b5Ffrufrt-+;KsFU!ghm~;P)s5 zG;&_=ipL<#bQJR>$h19W*2%bF#9+Uc95{6CU zVD#Kn=}dWa8hhp(A5;y^Fbz8y6E)DwB5K(H>unW{YOm6n!Vv}1tV(rCIIloIOQ|;m9~mj>D8|wf>0`XF z74WgvUy7lNI%UI8hoP6X97-DndM^>L%yVA6o(A8|qZ~#R+r^rk0aeb3&lj2-t{o`X qsn2rO9>IoH5^7^BB882@PT`<%Qb-go3YnsZVk^Zqb!^3bck&O9r%5^h diff --git a/assets/schemas.json b/assets/schemas.json index 6122ddc90bf34847d4f069c6194d44ddee6bb505..ad620bfe3f9a4ec18d1de5f7aa3a531240e099c4 100644 GIT binary patch delta 1732 zcmbVLZA@Eb6b{gj+k0P1v7_BaDP@#9xNu<7?+#LfUm1x0AeX?@0l5snkFnv$ z1b|8&hiIo-3a(DJ9$mNCM7kc2>vAx3aV$FTv0Yi>zrgIz#R^!y%QistS>|kQm^`AdT^s zj}$`38MYf*PLdbFaZ1hz{?i2gr}Hfzf!(co18cvj{+<3OquPfGs9ma*qjy1fY&*Kk zY9A^va?dc)3Fb$H2)218+U5)1)UNefdpo*cHEyay*Uh45lSCu1ZM_x+>wfCkwH|glnT4&w77e2 zWBJLo!qJ&lV_`y5+Nw?2uhc>OgTm(_5!FhCvx}SX?BZs>Bg1XdDdMrQVvLRHo<5p| z3-iGeoDb?v{tW1dV^v>3Zz-bJ&{Vm0M1iiIRvE1=^a{$SUr5swXl7a!G&}z&FAYcy z6Lt!Xw|Q*5z4fP+4CtT}<44pE4idArgM!{|LcM#N{y+wc3MB2@F=?-g^C@UO--ocD zt;YSVd8{p4Y%*rX$ym+({QnXY=uOhwtowW^LqNP_qfE?f>a9mpuZ6K@u;^sbtGW+W zt1PJc(#Qxw>kbTB8>Zb^R3T*Ai6K*C{q+>|vZy?gY{Ze|E?MR_)O*o=&1_W)cdk5% lcdj&z-cNgJ-$g6#yZF?ecQZUbaSE*w8?9z+jkGNN_7}#Rp=baA delta 2201 zcmb_bdrVtZ98OCgxA$Hi@}`uwKp%9DwmildV~m9aS%5&CR%b%MO=6fbx)J9Kfz;Bw zghiS``peWYbdi{71e3v$K(#I~7MHC|hb|%FCPYM|EBIJoMm)EdmJ2C=xj#;F&hPu~ z_kHL0J9p`}P1rYU6Smt0cA-7YF0za561(&g@kN>RNOS$kQ}rj|<`}6%zm^fr!c8T> zrE*xvm&AhS2jOFkxq`q;hRhY@spEX69hpbTcLaeF!g>cqfsg znufJcH`RV?qqQ*gATOB{$Zn^Vtbmw(IC2a#^&s z-t#q`&dW+63I2e+6C2%Sqjfy1QX8$}Sq(5azvUM_Kkz-awqWA|hrDp}n{*m?;l9gQ z&hJ&dT$skiSK0C9w$yGgxG|mfO-*o);AFv^Q2C>Tg7Hx*9in>DaC`BMiHfG9&%Rh+ z(EvBUCDXzAn!vEpf6OvMwU5MqAgwTg`ITY~%y!Tz&^I6!!#^E#D!0QkQFA+NNJ68V zj^~beFgP(w#^aE|8AkwUUnG(^z#aS+_dc7e`Ex25dYzKTtXoRg!@|-?hMc3m^)a2y z?W_!*FzbcKLBcsEU^N)1gO|ab^ryl7mv=jbA}D@=jD|WSjRc>UMvV6~jl8GB_r43& z*P}`y>UM^SY12laHfV^Gum*sPXqaLZC0vMj|jHKFk4D%Ad!Q6mBCU=Fq#Pe9J`MBU3gDvqSAM#YDX zr3tLzY8IFmbx(r&yCexSKb?f;r{x`0JU%ZPRDYNp!DL=cMwu5C`Oj}9F<1^uDsRng zMOdTfs{BR_(W*j3tGXbAN5YxH-iJu{{%~fpEETUbG+CCu_AigZi@~%^Xi&?9_E7&e zc*mj+bu8-VS3}{J8c;_k#~|ObqL5-EJ6K=pUa9eeavs7@x-w-%D^sSw!+ALGP2hL1K6hC*x-+R8l5l~v{br=?&#DO-sJY6~ zkUiXxV>`eT4GLLmhOa2!j`Hh3+k{5K%;e{ynfzTt*3fk188qz^a=s2j9 VpT8QU zsyX29@@{l@IbReqP)ymdJa;afv%EK#CT2>;_Mnong5E#2>RcGyi!KZn9_R`Jri~up RPP^Ru@G3$s_x_pR{{yveWFi0n diff --git a/src/api/routes/guilds/#guild_id/members/#member_id/index.ts b/src/api/routes/guilds/#guild_id/members/#member_id/index.ts index 446d31d6..c0d5f4a1 100644 --- a/src/api/routes/guilds/#guild_id/members/#member_id/index.ts +++ b/src/api/routes/guilds/#guild_id/members/#member_id/index.ts @@ -17,19 +17,7 @@ */ import { route } from "@spacebar/api"; -import { - DiscordApiErrors, - emitEvent, - Emoji, - getPermission, - getRights, - Guild, - GuildMemberUpdateEvent, - handleFile, - Member, - Role, - Sticker, -} from "@spacebar/util"; +import { DiscordApiErrors, emitEvent, Emoji, getPermission, getRights, Guild, GuildMemberUpdateEvent, handleFile, Member, Role, Sticker } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { MemberChangeSchema, PublicMemberProjection, PublicUserProjection } from "@spacebar/schemas"; @@ -60,13 +48,9 @@ router.get( select: { index: true, // only grab public member props - ...Object.fromEntries( - PublicMemberProjection.map((x) => [x, true]), - ), + ...Object.fromEntries(PublicMemberProjection.map((x) => [x, true])), // and public user props - user: Object.fromEntries( - PublicUserProjection.map((x) => [x, true]), - ), + user: Object.fromEntries(PublicUserProjection.map((x) => [x, true])), roles: { id: true, }, @@ -102,8 +86,7 @@ router.patch( }), async (req: Request, res: Response) => { const { guild_id } = req.params; - const member_id = - req.params.member_id === "@me" ? req.user_id : req.params.member_id; + const member_id = req.params.member_id === "@me" ? req.user_id : req.params.member_id; const body = req.body as MemberChangeSchema; const member = await Member.findOneOrFail({ @@ -123,19 +106,12 @@ router.patch( } } - if ( - ("bio" in body || "avatar" in body) && - req.params.member_id != "@me" - ) { + if (("bio" in body || "avatar" in body) && req.params.member_id != "@me") { const rights = await getRights(req.user_id); rights.hasThrow("MANAGE_USERS"); } - if (body.avatar) - body.avatar = await handleFile( - `/guilds/${guild_id}/users/${member_id}/avatars`, - body.avatar as string, - ); + if (body.avatar) body.avatar = await handleFile(`/guilds/${guild_id}/users/${member_id}/avatars`, body.avatar as string); member.assign(body); @@ -202,6 +178,10 @@ router.put( where: { id: guild_id }, }); + if (!guild.features.includes("DISCOVERABLE")) { + throw DiscordApiErrors.UNKNOWN_GUILD; + } + const emoji = await Emoji.find({ where: { guild_id: guild_id }, });