register.go 903 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package database
  2. import (
  3. "git.linuxforward.com/byom/byom-onboard/internal/common/models"
  4. )
  5. func (d *Database) RegisterUser(user *models.User) error {
  6. // Save registration details to database
  7. err := d.db.Create(user).Error
  8. if err != nil {
  9. return err
  10. }
  11. return nil
  12. }
  13. func (d *Database) ChangeSubscriptionStatus(email string) error {
  14. // Change the status of the user to active
  15. user, err := d.getUserByEmail(email)
  16. if err != nil {
  17. return err
  18. }
  19. user.Status = true
  20. err = d.updateUser(user)
  21. if err != nil {
  22. return err
  23. }
  24. return nil
  25. }
  26. func (d *Database) getUserByEmail(email string) (*models.User, error) {
  27. var user *models.User
  28. err := d.db.Where("email = ?", email).First(&user).Error
  29. if err != nil {
  30. return nil, err
  31. }
  32. return user, nil
  33. }
  34. func (d *Database) updateUser(user *models.User) error {
  35. err := d.db.Save(user).Error
  36. if err != nil {
  37. return err
  38. }
  39. return nil
  40. }