server/server/api/v1/accounts/[id]/index.ts
Jesse Wierzbinski dacbc5a00b
Begin more work
2023-09-19 14:16:50 -10:00

29 lines
688 B
TypeScript

import { getUserByToken } from "@auth";
import { errorResponse, jsonResponse } from "@response";
import { MatchedRoute } from "bun";
import { RawActor } from "~database/entities/RawActor";
/**
* Fetch a user
*/
export default async (
req: Request,
matchedRoute: MatchedRoute
): Promise<Response> => {
const id = matchedRoute.params.id;
// Check auth token
const token = req.headers.get("Authorization")?.split(" ")[1] || null;
const user = await getUserByToken(token);
const foundUser = await RawActor.findOneBy({
id,
});
if (!foundUser) return errorResponse("User not found", 404);
return jsonResponse(
await foundUser.toAPIAccount(user?.id === foundUser.id)
);
};