27 lines
547 B
Go
27 lines
547 B
Go
package useCases
|
|
|
|
import (
|
|
"RenewCMS/internal/domain/user"
|
|
)
|
|
|
|
type CancelRegistrationUseCase struct {
|
|
userRepository user.Repository
|
|
}
|
|
|
|
func NewCancelRegistrationUseCase(userRepository user.Repository) *CancelRegistrationUseCase {
|
|
return &CancelRegistrationUseCase{userRepository}
|
|
}
|
|
|
|
func (c *CancelRegistrationUseCase) CancelRegistration(userId uint32) error {
|
|
dbUser, err := c.userRepository.Get(userId)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if dbUser.IsVerified {
|
|
return user.ErrAlreadyVerified
|
|
}
|
|
|
|
return c.userRepository.Delete(userId)
|
|
}
|