fix(federation): 🐛 Output error when requesting remote users through /users

This commit is contained in:
Jesse Wierzbinski 2024-07-20 00:17:35 +02:00
parent 42ff591e48
commit b5b8831073
No known key found for this signature in database
3 changed files with 21 additions and 0 deletions

View file

@ -92,6 +92,13 @@ export default (app: Hono) =>
return errorResponse("User not found", 404); return errorResponse("User not found", 404);
} }
if (user.isRemote()) {
return errorResponse(
"Cannot view users from remote instances",
403,
);
}
// @ts-expect-error IP attribute is not in types // @ts-expect-error IP attribute is not in types
const requestIp = context.env?.ip as const requestIp = context.env?.ip as
| SocketAddress | SocketAddress

View file

@ -37,6 +37,13 @@ export default (app: Hono) =>
return errorResponse("User not found", 404); return errorResponse("User not found", 404);
} }
if (user.isRemote()) {
return errorResponse(
"Cannot view users from remote instances",
403,
);
}
return jsonResponse(user.toLysand()); return jsonResponse(user.toLysand());
}, },
); );

View file

@ -48,6 +48,13 @@ export default (app: Hono) =>
return errorResponse("User not found", 404); return errorResponse("User not found", 404);
} }
if (author.isRemote()) {
return errorResponse(
"Cannot view users from remote instances",
403,
);
}
const pageNumber = Number(context.req.valid("query").page) || 1; const pageNumber = Number(context.req.valid("query").page) || 1;
const notes = await Note.manyFromSql( const notes = await Note.manyFromSql(