1
0
forked from noxious/server
noxious_server/src/repositories/passwordResetTokenRepository.ts

49 lines
1.7 KiB
TypeScript

import { BaseRepository } from '#application/base/baseRepository'
import { UUID } from '#application/types'
import { PasswordResetToken } from '#entities/passwordResetToken'
class PasswordResetTokenRepository extends BaseRepository {
async getById(id: UUID): Promise<any> {
try {
const repository = this.getEntityManager().getRepository(PasswordResetToken)
const result = await repository.findOne({ id })
if (result) result.setEntityManager(this.getEntityManager())
return result
} catch (error: any) {
// Handle error
this.logger.error(`Failed to get password reset token by ID: ${error instanceof Error ? error.message : String(error)}`)
}
}
async getByUserId(userId: UUID): Promise<any> {
try {
const repository = this.getEntityManager().getRepository(PasswordResetToken)
const result = await repository.findOne({
user: userId
})
if (result) result.setEntityManager(this.getEntityManager())
return result
} catch (error: any) {
// Handle error
this.logger.error(`Failed to get password reset token by user ID: ${error instanceof Error ? error.message : String(error)}`)
}
}
async getByToken(token: string): Promise<any> {
try {
const repository = this.getEntityManager().getRepository(PasswordResetToken)
const result = await repository.findOne({ token })
if (result) result.setEntityManager(this.getEntityManager())
return result
} catch (error: any) {
// Handle error
this.logger.error(`Failed to get password reset token by token: ${error instanceof Error ? error.message : String(error)}`)
}
}
}
export default PasswordResetTokenRepository