mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-03-21 18:04:39 -05:00
29 lines
686 B
TypeScript
29 lines
686 B
TypeScript
import { requireUser } from "~/features/auth/core/user.server";
|
|
import * as ApiRepository from "../ApiRepository.server";
|
|
import { checkUserHasApiAccess } from "../core/perms";
|
|
|
|
export const loader = async () => {
|
|
const user = requireUser();
|
|
|
|
const hasApiAccess = await checkUserHasApiAccess(user);
|
|
|
|
if (!hasApiAccess) {
|
|
return {
|
|
hasAccess: false,
|
|
readToken: null,
|
|
writeToken: null,
|
|
};
|
|
}
|
|
|
|
const [readToken, writeToken] = await Promise.all([
|
|
ApiRepository.findTokenByUserId(user.id, "read"),
|
|
ApiRepository.findTokenByUserId(user.id, "write"),
|
|
]);
|
|
|
|
return {
|
|
hasAccess: true,
|
|
readToken: readToken?.token ?? null,
|
|
writeToken: writeToken?.token ?? null,
|
|
};
|
|
};
|