forked from noxious/server
32 lines
794 B
TypeScript
32 lines
794 B
TypeScript
import prisma from '#application/prisma'
|
|
import passwordResetTokenRepository from '#repositories/passwordResetTokenRepository'
|
|
import { appLogger } from '#application/logger'
|
|
|
|
class PasswordResetTokenService {
|
|
/**
|
|
* Delete token
|
|
* @param token
|
|
*/
|
|
public async delete(token: string): Promise<boolean> {
|
|
try {
|
|
const tokenData = await passwordResetTokenRepository.getByToken(token)
|
|
if (!tokenData) {
|
|
return false
|
|
}
|
|
|
|
await prisma.passwordResetToken.delete({
|
|
where: {
|
|
token
|
|
}
|
|
})
|
|
|
|
return true
|
|
} catch (error: any) {
|
|
appLogger.error(`Error deleting password reset token: ${error instanceof Error ? error.message : String(error)}`)
|
|
return false
|
|
}
|
|
}
|
|
}
|
|
|
|
export default PasswordResetTokenService
|