29 lines
976 B
TypeScript
29 lines
976 B
TypeScript
// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
|
|
import type {NextApiRequest, NextApiResponse} from "next";
|
|
import {withIronSessionApiRoute} from "iron-session/next";
|
|
import {sessionOptions} from "@/lib/session";
|
|
import {getLinkedUsers} from "@/utils/users.be";
|
|
import {Type} from "@/interfaces/user";
|
|
|
|
export default withIronSessionApiRoute(handler, sessionOptions);
|
|
|
|
async function handler(req: NextApiRequest, res: NextApiResponse) {
|
|
if (!req.session.user && !req.headers["page"] && req.headers["page"] !== "register") {
|
|
res.status(401).json({ok: false});
|
|
return;
|
|
}
|
|
|
|
const {size, type, page} = req.query as {size?: string; type?: Type; page?: string};
|
|
console.log(size, type, page);
|
|
|
|
const {users, total} = await getLinkedUsers(
|
|
req.session.user?.id,
|
|
req.session.user?.type,
|
|
type,
|
|
page !== undefined ? parseInt(page) : undefined,
|
|
size !== undefined ? parseInt(size) : undefined,
|
|
);
|
|
|
|
res.status(200).json({users, total});
|
|
}
|