mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-03-21 18:04:39 -05:00
25 lines
624 B
TypeScript
25 lines
624 B
TypeScript
import type { LoaderFunctionArgs } from "react-router";
|
|
import { requireUser } from "~/features/auth/core/user.server";
|
|
import * as ApiRepository from "../ApiRepository.server";
|
|
import { checkUserHasApiAccess } from "../core/perms";
|
|
|
|
export const loader = async ({ request }: LoaderFunctionArgs) => {
|
|
const user = await requireUser(request);
|
|
|
|
const hasApiAccess = await checkUserHasApiAccess(user);
|
|
|
|
if (!hasApiAccess) {
|
|
return {
|
|
hasAccess: false,
|
|
apiToken: null,
|
|
};
|
|
}
|
|
|
|
const apiToken = await ApiRepository.findTokenByUserId(user.id);
|
|
|
|
return {
|
|
hasAccess: true,
|
|
apiToken: apiToken?.token ?? null,
|
|
};
|
|
};
|