sendou.ink/app/features/api/loaders/api.server.ts
Kalle 57892fb571
Add read/write API token types (#2756)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 13:55:16 +02:00

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,
};
};