This commit is contained in:
2026-02-03 20:29:55 +08:00
parent d5dde77ee9
commit 9d42a45bb1
18 changed files with 484 additions and 186 deletions

View File

@@ -0,0 +1,70 @@
import { prisma } from "@/lib/db";
import {
RepoInputFindUserByEmail,
RepoInputFindUserById,
RepoInputFindUserByUsername,
RepoOutputUserProfile
} from "./auth-repository-dto";
/**
* Find user by username
*/
export async function repoFindUserByUsername(dto: RepoInputFindUserByUsername): Promise<RepoOutputUserProfile> {
const user = await prisma.user.findUnique({
where: { username: dto.username },
select: {
id: true,
email: true,
emailVerified: true,
username: true,
displayUsername: true,
image: true,
createdAt: true,
updatedAt: true,
}
});
return user;
}
/**
* Find user by ID
*/
export async function repoFindUserById(dto: RepoInputFindUserById): Promise<RepoOutputUserProfile> {
const user = await prisma.user.findUnique({
where: { id: dto.id },
select: {
id: true,
email: true,
emailVerified: true,
username: true,
displayUsername: true,
image: true,
createdAt: true,
updatedAt: true,
}
});
return user;
}
/**
* Find user by email
*/
export async function repoFindUserByEmail(dto: RepoInputFindUserByEmail): Promise<RepoOutputUserProfile> {
const user = await prisma.user.findUnique({
where: { email: dto.email },
select: {
id: true,
email: true,
emailVerified: true,
username: true,
displayUsername: true,
image: true,
createdAt: true,
updatedAt: true,
}
});
return user;
}