46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
import prisma from '../utilities/prisma'
|
|
import { appLogger } from '../utilities/logger' // Import the global Prisma instance
|
|
|
|
class PasswordResetTokenRepository {
|
|
async getById(id: number): Promise<any> {
|
|
try {
|
|
return await prisma.passwordResetToken.findUnique({
|
|
where: {
|
|
id
|
|
}
|
|
})
|
|
} catch (error: any) {
|
|
// Handle error
|
|
appLogger.error(`Failed to get password reset token by ID: ${error instanceof Error ? error.message : String(error)}`)
|
|
}
|
|
}
|
|
|
|
async getByUserId(userId: number): Promise<any> {
|
|
try {
|
|
return await prisma.passwordResetToken.findFirst({
|
|
where: {
|
|
userId
|
|
}
|
|
})
|
|
} catch (error: any) {
|
|
// Handle error
|
|
appLogger.error(`Failed to get password reset token by user ID: ${error instanceof Error ? error.message : String(error)}`)
|
|
}
|
|
}
|
|
|
|
async getByToken(token: string): Promise<any> {
|
|
try {
|
|
return await prisma.passwordResetToken.findFirst({
|
|
where: {
|
|
token
|
|
}
|
|
})
|
|
} catch (error: any) {
|
|
// Handle error
|
|
appLogger.error(`Failed to get password reset token by token: ${error instanceof Error ? error.message : String(error)}`)
|
|
}
|
|
}
|
|
}
|
|
|
|
export default new PasswordResetTokenRepository()
|