mirror of
https://github.com/r-ca/kidshift-be.git
synced 2024-10-26 00:24:02 +00:00
パスワードハッシュ化, 戻り値をトークンに, login実装
This commit is contained in:
parent
297e0c3df4
commit
004f57d3e7
|
@ -1,20 +1,38 @@
|
|||
import { Prisma, PrismaClient, User } from "@prisma/client";
|
||||
import prisma from "@src/prisma";
|
||||
import bcrypt from "bcrypt";
|
||||
import { issueTokenByUserId } from "@src/utils/tokenUtils";
|
||||
|
||||
async function registUser(email: string, password: string): Promise<String> {
|
||||
|
||||
function registUser(email: string, password: string): Promise<String> {
|
||||
const hashedPassword = bcrypt.hashSync(password, 10);
|
||||
|
||||
const registUser = prisma.user.create({ // TODO: バリデーション, ハッシュ化, その他
|
||||
data: {
|
||||
email,
|
||||
password,
|
||||
password: hashedPassword,
|
||||
name: email,
|
||||
}
|
||||
});
|
||||
|
||||
return registUser.then((user) => {
|
||||
return user.id
|
||||
const user = await registUser;
|
||||
return issueTokenByUserId(user.id);
|
||||
}
|
||||
|
||||
async function loginUser(email: string, password: string): Promise<String | null> {
|
||||
const user = await prisma.user.findUnique({
|
||||
where: {
|
||||
email: email
|
||||
}
|
||||
});
|
||||
if(!user) {
|
||||
return null;
|
||||
}
|
||||
if(bcrypt.compareSync(password, user.password)) {
|
||||
return issueTokenByUserId(user.id);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user