sqlstore_accounts.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package sqlstore
  2. import (
  3. "github.com/torkelo/grafana-pro/pkg/models"
  4. )
  5. func CreateAccount(account *models.Account) error {
  6. var err error
  7. sess := x.NewSession()
  8. defer sess.Close()
  9. if err = sess.Begin(); err != nil {
  10. return err
  11. }
  12. if _, err = sess.Insert(account); err != nil {
  13. sess.Rollback()
  14. return err
  15. } else if err = sess.Commit(); err != nil {
  16. return err
  17. }
  18. return nil
  19. }
  20. func GetAccount(id int64) (*models.Account, error) {
  21. var err error
  22. var account models.Account
  23. has, err := x.Id(id).Get(&account)
  24. if err != nil {
  25. return nil, err
  26. } else if has == false {
  27. return nil, models.ErrAccountNotFound
  28. }
  29. if account.UsingAccountId == 0 {
  30. account.UsingAccountId = account.Id
  31. }
  32. return &account, nil
  33. }
  34. func GetAccountByLogin(emailOrLogin string) (*models.Account, error) {
  35. var err error
  36. account := &models.Account{Login: emailOrLogin}
  37. has, err := x.Get(account)
  38. if err != nil {
  39. return nil, err
  40. } else if has == false {
  41. return nil, models.ErrAccountNotFound
  42. }
  43. return account, nil
  44. }