2023-11-06 07:25:57 -06:00
|
|
|
import type { NextApiRequest, NextApiResponse } from "next";
|
2023-11-15 12:12:06 -06:00
|
|
|
import getPublicUser from "@/lib/api/controllers/public/users/getPublicUser";
|
2024-01-24 14:48:40 -06:00
|
|
|
import verifyToken from "@/lib/api/verifyToken";
|
2023-11-06 07:25:57 -06:00
|
|
|
|
|
|
|
export default async function users(req: NextApiRequest, res: NextApiResponse) {
|
2024-01-24 14:48:40 -06:00
|
|
|
const token = await verifyToken({ req });
|
|
|
|
const requestingId = typeof token === "string" ? undefined : token?.id;
|
2023-11-06 07:25:57 -06:00
|
|
|
|
|
|
|
const lookupId = req.query.id as string;
|
|
|
|
|
|
|
|
// Check if "lookupId" is the user "id" or their "username"
|
|
|
|
const isId = lookupId.split("").every((e) => Number.isInteger(parseInt(e)));
|
|
|
|
|
|
|
|
if (req.method === "GET") {
|
2023-11-15 12:12:06 -06:00
|
|
|
const users = await getPublicUser(lookupId, isId, requestingId);
|
2023-11-06 07:25:57 -06:00
|
|
|
return res.status(users.status).json({ response: users.response });
|
|
|
|
}
|
|
|
|
}
|