package profileService import ( "errors" "gitea.cybertalant.ru/VisionCareerMiniapp/MiniappGoService/internal/application/types" "gitea.cybertalant.ru/VisionCareerMiniapp/MiniappGoService/internal/application/utils" ) func (t *service) UpdateUser(user *types.User) error { if !user.ActiveStatus.Valid() { return errors.New("invalid active status") } else if user.SalaryRange != nil && !user.SalaryRange.Valid() { return errors.New("invalid salary range") } else if user.WorkFormat != nil && !user.WorkFormat.Valid() { return errors.New("invalid work format") } else if !utils.ValidateWorkExperience(user.WorkExperience) { return errors.New("invalid work experience") } if err := t.profileRepository.UpdateUser(user); err != nil { return err } if !utils.CheckProfileCompletion(user) { return nil } if err := t.sendUserData(user); err != nil { return err } return nil }