package services

import (
	"GoMembership/internal/constants"
	"GoMembership/internal/models"
)

func (s *UserService) HandlePasswordChangeRequest(user *models.User) (token string, err error) {
	// Deactivate user and reset Verification
	if err := s.SetUserStatus(user.ID, constants.DisabledStatus); err != nil {
		return "", err
	}

	if err := s.RevokeVerification(&user.ID, constants.VerificationTypes.Password); err != nil {
		return "", err
	}

	// Generate a  token
	return s.SetVerificationToken(&user.ID, &constants.VerificationTypes.Password)

}
