22 lines
547 B
TypeScript
22 lines
547 B
TypeScript
|
import { NextApiRequest } from "next";
|
||
|
import { getToken } from "next-auth/jwt";
|
||
|
|
||
|
type Props = {
|
||
|
req: NextApiRequest;
|
||
|
};
|
||
|
|
||
|
export default async function authenticateUser({ req }: Props) {
|
||
|
const token = await getToken({ req });
|
||
|
|
||
|
if (!token?.id) {
|
||
|
return { response: "You must be logged in.", status: 401 };
|
||
|
} else if (token.isSubscriber === false)
|
||
|
return {
|
||
|
response:
|
||
|
"You are not a subscriber, feel free to reach out to us at support@linkwarden.app in case of any issues.",
|
||
|
status: 401,
|
||
|
};
|
||
|
|
||
|
return token;
|
||
|
}
|