トークン生成ロジック追加

This commit is contained in:
ろむねこ 2024-06-19 16:02:59 +09:00
parent 33a61b410f
commit 8623d6311e
Signed by: Fujimatsu
GPG Key ID: FA1F39A1BA37D168

View File

@ -1,7 +1,7 @@
import jsonwebtoken from "jsonwebtoken";
import { Role } from "@src/enums";
import { findUserById } from "./userUtils";
import { User } from "@prisma/client";
import { findUserById, findChildById } from "./userUtils";
import { Child, User } from "@prisma/client";
async function issueTokenByUserId(userId: string) {
const user: User = await findUserById(userId);
@ -21,5 +21,23 @@ async function issueTokenByUserId(userId: string) {
return jsonwebtoken.sign(payload, "secret", options);
}
export { issueTokenByUserId };
async function issueTokenByChildId(childId: string) {
const child: Child = await findChildById(childId);
if (!child) {
throw new Error("見つかりません");
}
const payload = {
sub: childId,
role: Role.CHILD,
home_group_id: child.home_group_id
};
const options = {
expiresIn: "9999h"
};
return jsonwebtoken.sign(payload, "secret", options);
}
export { issueTokenByUserId, issueTokenByChildId }