package useCases import ( "RenewCMS/internal/domain/hash" "RenewCMS/internal/domain/user" ) type UpdateUserUseCase struct { userRepository user.Repository hasher hash.Hasher } func NewUpdateUserUseCase(userRepository user.Repository, hasher hash.Hasher) *UpdateUserUseCase { return &UpdateUserUseCase{userRepository, hasher} } func (g *UpdateUserUseCase) UpdateVerificationStatus(userId uint32, isVerified bool) (user.User, error) { return g.userRepository.UpdateVerificationStatus(userId, isVerified) } func (g *UpdateUserUseCase) UpdatePasswordResetCode(userId uint32, code string) (user.User, error) { hashedCode, err := g.hasher.Hash(code) if err != nil { return user.User{}, err } return g.userRepository.UpdatePasswordResetCode(userId, hashedCode) } func (g *UpdateUserUseCase) UpdatePassword(userId uint32, password string) (user.User, error) { hashedPassword, err := g.hasher.Hash(password) if err != nil { return user.User{}, err } return g.userRepository.UpdatePassword(userId, hashedPassword) }