summary refs log tree commit diff
path: root/src/api/routes/users
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-02-01 03:49:51 +0100
committerRory& <root@rory.gay>2026-02-01 03:49:51 +0100
commit98af6066a2d95d7f561ba8887bb941621233018a (patch)
tree207c64552decf83fdf34376f808ac6c0a75cbc0f /src/api/routes/users
parentBump dependencies (node) (diff)
downloadserver-ts-98af6066a2d95d7f561ba8887bb941621233018a.tar.xz
Assert req.params type as solely string (express update)
Diffstat (limited to 'src/api/routes/users')
-rw-r--r--src/api/routes/users/#user_id/delete.ts18
-rw-r--r--src/api/routes/users/#user_id/index.ts2
-rw-r--r--src/api/routes/users/#user_id/messages.ts2
-rw-r--r--src/api/routes/users/#user_id/profile.ts2
-rw-r--r--src/api/routes/users/#user_id/relationships.ts2
-rw-r--r--src/api/routes/users/@me/connections/#connection_name/#connection_id/access-token.ts2
-rw-r--r--src/api/routes/users/@me/connections/#connection_name/#connection_id/index.ts4
-rw-r--r--src/api/routes/users/@me/guilds.ts2
-rw-r--r--src/api/routes/users/@me/guilds/#guild_id/settings.ts6
-rw-r--r--src/api/routes/users/@me/mfa/webauthn/credentials/#key_id/index.ts2
-rw-r--r--src/api/routes/users/@me/notes.ts4
-rw-r--r--src/api/routes/users/@me/relationships.ts6
12 files changed, 26 insertions, 26 deletions
diff --git a/src/api/routes/users/#user_id/delete.ts b/src/api/routes/users/#user_id/delete.ts

index 598be974..a0730cb7 100644 --- a/src/api/routes/users/#user_id/delete.ts +++ b/src/api/routes/users/#user_id/delete.ts
@@ -58,7 +58,7 @@ router.post( const sw = Stopwatch.startNew(); const body = req.body as InstanceUserDeleteSchema | undefined; const user = await User.findOneOrFail({ - where: { id: req.params.user_id }, + where: { id: req.params.user_id as string }, select: [...PrivateUserProjection, "data"], }); @@ -130,11 +130,11 @@ router.post( ); // change ownership on guilds - const guilds = await Guild.find({ where: { owner_id: req.params.user_id } }); + const guilds = await Guild.find({ where: { owner_id: req.params.user_id as string } }); await Promise.all( guilds.map(async (guild) => { const members = await Member.find({ - where: { guild_id: guild.id, id: Not(req.params.user_id) }, + where: { guild_id: guild.id, id: Not(req.params.user_id as string) }, relations: { roles: true }, select: { id: true, roles: { id: true, position: true } }, }); @@ -156,7 +156,7 @@ router.post( console.log(`[Instance ban] Transferred ownership of guild ${guild.id} to user ${guild.owner_id}`); // safety - reassign emojis/stickers owned by the old owner - const stickers = await Sticker.find({ where: { guild_id: guild.id, user_id: req.params.user_id } }); + const stickers = await Sticker.find({ where: { guild_id: guild.id, user_id: req.params.user_id as string } }); await Promise.all( stickers.map(async (sticker) => { sticker.user_id = guild.owner_id; @@ -165,7 +165,7 @@ router.post( }), ); - const emojis = await Emoji.find({ where: { guild_id: guild.id, user_id: req.params.user_id } }); + const emojis = await Emoji.find({ where: { guild_id: guild.id, user_id: req.params.user_id as string } }); await Promise.all( emojis.map(async (emoji) => { emoji.user_id = guild.owner_id!; @@ -177,16 +177,16 @@ router.post( }), ); - const members = await Member.find({ where: { id: req.params.user_id } }); + const members = await Member.find({ where: { id: req.params.user_id as string } }); await Promise.all([...members.map((member) => Member.removeFromGuild(member.id, member.guild_id))]); - await UserSettingsProtos.delete({ user_id: req.params.user_id }); - await User.delete({ id: req.params.user_id }); + await UserSettingsProtos.delete({ user_id: req.params.user_id as string }); + await User.delete({ id: req.params.user_id as string }); // TODO: respect intents as USER_DELETE has potential to cause privacy issues await emitEvent({ event: "USER_DELETE", user_id: req.user_id, - data: { user_id: req.params.user_id }, + data: { user_id: req.params.user_id as string }, } as UserDeleteEvent); console.log(`[Instance ban] Deleted user ${user.id} from instance in ${sw.elapsed().toString()}`); diff --git a/src/api/routes/users/#user_id/index.ts b/src/api/routes/users/#user_id/index.ts
index 7fca1e0e..ada0e916 100644 --- a/src/api/routes/users/#user_id/index.ts +++ b/src/api/routes/users/#user_id/index.ts
@@ -32,7 +32,7 @@ router.get( }, }), async (req: Request, res: Response) => { - const { user_id } = req.params; + const { user_id } = req.params as { [key: string]: string }; res.json(await User.getPublicUser(user_id)); }, diff --git a/src/api/routes/users/#user_id/messages.ts b/src/api/routes/users/#user_id/messages.ts
index 95c7cfc4..5d86c282 100644 --- a/src/api/routes/users/#user_id/messages.ts +++ b/src/api/routes/users/#user_id/messages.ts
@@ -35,7 +35,7 @@ router.get( }, }), async (req: Request, res: Response) => { - const user = await User.findOneOrFail({ where: { id: req.params.user_id } }); + const user = await User.findOneOrFail({ where: { id: req.params.user_id as string } }); const channel = await user.getDmChannelWith(req.user_id); const messages = ( diff --git a/src/api/routes/users/#user_id/profile.ts b/src/api/routes/users/#user_id/profile.ts
index c7996c07..fccdeca3 100644 --- a/src/api/routes/users/#user_id/profile.ts +++ b/src/api/routes/users/#user_id/profile.ts
@@ -28,7 +28,7 @@ router.get("/", route({ responses: { 200: { body: "UserProfileResponse" } } }), if (req.params.user_id === "@me") req.params.user_id = req.user_id; const { guild_id, with_mutual_guilds, with_mutual_friends, with_mutual_friends_count } = req.query; - const { user_id } = req.params; + const { user_id } = req.params as { [key: string]: string }; const user = await User.findOneOrFail({ where: { diff --git a/src/api/routes/users/#user_id/relationships.ts b/src/api/routes/users/#user_id/relationships.ts
index 93f11296..38bd64b6 100644 --- a/src/api/routes/users/#user_id/relationships.ts +++ b/src/api/routes/users/#user_id/relationships.ts
@@ -37,7 +37,7 @@ router.get( const mutual_relations: UserRelationsResponse = []; const requested_relations = await User.findOneOrFail({ - where: { id: req.params.user_id }, + where: { id: req.params.user_id as string }, relations: { relationships: true }, }); const self_relations = await User.findOneOrFail({ diff --git a/src/api/routes/users/@me/connections/#connection_name/#connection_id/access-token.ts b/src/api/routes/users/@me/connections/#connection_name/#connection_id/access-token.ts
index a85348ae..6e6d7e2f 100644 --- a/src/api/routes/users/@me/connections/#connection_name/#connection_id/access-token.ts +++ b/src/api/routes/users/@me/connections/#connection_name/#connection_id/access-token.ts
@@ -28,7 +28,7 @@ const ALLOWED_CONNECTIONS = ["twitch", "youtube"]; // NOTE: this route has not been extensively tested, as the required connections are not implemented as of writing router.get("/", route({}), async (req: Request, res: Response) => { - const { connection_name, connection_id } = req.params; + const { connection_name, connection_id } = req.params as { [key: string]: string }; const connection = ConnectionStore.connections.get(connection_name); diff --git a/src/api/routes/users/@me/connections/#connection_name/#connection_id/index.ts b/src/api/routes/users/@me/connections/#connection_name/#connection_id/index.ts
index 718c80c0..0fc6f3fb 100644 --- a/src/api/routes/users/@me/connections/#connection_name/#connection_id/index.ts +++ b/src/api/routes/users/@me/connections/#connection_name/#connection_id/index.ts
@@ -24,7 +24,7 @@ const router = Router({ mergeParams: true }); // TODO: connection update schema router.patch("/", route({ requestBody: "ConnectionUpdateSchema" }), async (req: Request, res: Response) => { - const { connection_name, connection_id } = req.params; + const { connection_name, connection_id } = req.params as { [key: string]: string }; const body = req.body as ConnectionUpdateSchema; const connection = await ConnectedAccount.findOne({ @@ -63,7 +63,7 @@ router.patch("/", route({ requestBody: "ConnectionUpdateSchema" }), async (req: }); router.delete("/", route({}), async (req: Request, res: Response) => { - const { connection_name, connection_id } = req.params; + const { connection_name, connection_id } = req.params as { [key: string]: string }; const account = await ConnectedAccount.findOneOrFail({ where: { diff --git a/src/api/routes/users/@me/guilds.ts b/src/api/routes/users/@me/guilds.ts
index 8fcec95a..d2740678 100644 --- a/src/api/routes/users/@me/guilds.ts +++ b/src/api/routes/users/@me/guilds.ts
@@ -64,7 +64,7 @@ router.delete( }), async (req: Request, res: Response) => { const { autoJoin } = Config.get().guild; - const { guild_id } = req.params; + const { guild_id } = req.params as { [key: string]: string }; const guild = await Guild.findOneOrFail({ where: { id: guild_id }, select: { owner_id: true }, diff --git a/src/api/routes/users/@me/guilds/#guild_id/settings.ts b/src/api/routes/users/@me/guilds/#guild_id/settings.ts
index 3aaf723e..1501ac4b 100644 --- a/src/api/routes/users/@me/guilds/#guild_id/settings.ts +++ b/src/api/routes/users/@me/guilds/#guild_id/settings.ts
@@ -34,7 +34,7 @@ router.get( }), async (req: Request, res: Response) => { const user = await Member.findOneOrFail({ - where: { id: req.user_id, guild_id: req.params.guild_id }, + where: { id: req.user_id, guild_id: req.params.guild_id as string }, select: { settings: true }, }); return res.json(user.settings); @@ -65,11 +65,11 @@ router.patch( } const user = await Member.findOneOrFail({ - where: { id: req.user_id, guild_id: req.params.guild_id }, + where: { id: req.user_id, guild_id: req.params.guild_id as string }, select: { settings: true }, }); OrmUtils.mergeDeep(user.settings || {}, body); - Member.update({ id: req.user_id, guild_id: req.params.guild_id }, user); + Member.update({ id: req.user_id, guild_id: req.params.guild_id as string }, user); res.json(user.settings); }, diff --git a/src/api/routes/users/@me/mfa/webauthn/credentials/#key_id/index.ts b/src/api/routes/users/@me/mfa/webauthn/credentials/#key_id/index.ts
index 77180cac..65c01806 100644 --- a/src/api/routes/users/@me/mfa/webauthn/credentials/#key_id/index.ts +++ b/src/api/routes/users/@me/mfa/webauthn/credentials/#key_id/index.ts
@@ -29,7 +29,7 @@ router.delete( }, }), async (req: Request, res: Response) => { - const { key_id } = req.params; + const { key_id } = req.params as { [key: string]: string }; await SecurityKey.delete({ id: key_id, diff --git a/src/api/routes/users/@me/notes.ts b/src/api/routes/users/@me/notes.ts
index f25aca79..0b174791 100644 --- a/src/api/routes/users/@me/notes.ts +++ b/src/api/routes/users/@me/notes.ts
@@ -35,7 +35,7 @@ router.get( }, }), async (req: Request, res: Response) => { - const { user_id } = req.params; + const { user_id } = req.params as { [key: string]: string }; const note = await Note.findOneOrFail({ where: { @@ -64,7 +64,7 @@ router.put( }, }), async (req: Request, res: Response) => { - const { user_id } = req.params; + const { user_id } = req.params as { [key: string]: string }; const owner = req.user; const target = await User.findOneOrFail({ where: { id: user_id } }); //if noted user does not exist throw const { note } = req.body; diff --git a/src/api/routes/users/@me/relationships.ts b/src/api/routes/users/@me/relationships.ts
index 37d5e222..88f95a3d 100644 --- a/src/api/routes/users/@me/relationships.ts +++ b/src/api/routes/users/@me/relationships.ts
@@ -69,7 +69,7 @@ router.put( req, res, await User.findOneOrFail({ - where: { id: req.params.user_id }, + where: { id: req.params.user_id as string }, relations: { relationships: { to: true } }, select: userProjection, }), @@ -97,7 +97,7 @@ router.patch( const rel = await Relationship.findOneOrFail({ where: { from_id: req.user_id, - to_id: req.params.user_id, + to_id: req.params.user_id as string, }, }); rel.nickname = body.nickname; @@ -161,7 +161,7 @@ router.delete( }, }), async (req: Request, res: Response) => { - const { user_id } = req.params; + const { user_id } = req.params as { [key: string]: string }; if (user_id === req.user_id) throw new HTTPError("You can't remove yourself as a friend"); const user = await User.findOneOrFail({