mirror of
https://github.com/kmc7468/arkvault.git
synced 2026-02-04 08:06:56 +00:00
레포지토리 레이어의 코드를 Kysely 기반으로 모두 마이그레이션 (WiP)
This commit is contained in:
@@ -1,21 +1,36 @@
|
||||
import { eq } from "drizzle-orm";
|
||||
import db from "./drizzle";
|
||||
import { user } from "./schema";
|
||||
import db from "./kysely";
|
||||
|
||||
interface User {
|
||||
id: number;
|
||||
email: string;
|
||||
nickname: string;
|
||||
password: string;
|
||||
}
|
||||
|
||||
export const getUser = async (userId: number) => {
|
||||
const users = await db.select().from(user).where(eq(user.id, userId)).limit(1);
|
||||
return users[0] ?? null;
|
||||
const user = await db
|
||||
.selectFrom("user")
|
||||
.selectAll()
|
||||
.where("id", "=", userId)
|
||||
.limit(1)
|
||||
.executeTakeFirst();
|
||||
return user ? (user satisfies User) : null;
|
||||
};
|
||||
|
||||
export const getUserByEmail = async (email: string) => {
|
||||
const users = await db.select().from(user).where(eq(user.email, email)).limit(1);
|
||||
return users[0] ?? null;
|
||||
};
|
||||
|
||||
export const setUserPassword = async (userId: number, password: string) => {
|
||||
await db.update(user).set({ password }).where(eq(user.id, userId));
|
||||
const user = await db
|
||||
.selectFrom("user")
|
||||
.selectAll()
|
||||
.where("email", "=", email)
|
||||
.limit(1)
|
||||
.executeTakeFirst();
|
||||
return user ? (user satisfies User) : null;
|
||||
};
|
||||
|
||||
export const setUserNickname = async (userId: number, nickname: string) => {
|
||||
await db.update(user).set({ nickname }).where(eq(user.id, userId));
|
||||
await db.updateTable("user").set({ nickname }).where("id", "=", userId).execute();
|
||||
};
|
||||
|
||||
export const setUserPassword = async (userId: number, password: string) => {
|
||||
await db.updateTable("user").set({ password }).where("id", "=", userId).execute();
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user