accounts.go 835 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package sqlstore
  2. import (
  3. "time"
  4. "github.com/go-xorm/xorm"
  5. "github.com/torkelo/grafana-pro/pkg/bus"
  6. m "github.com/torkelo/grafana-pro/pkg/models"
  7. )
  8. func init() {
  9. bus.AddHandler("sql", CreateAccount)
  10. bus.AddHandler("sql", SetUsingAccount)
  11. bus.AddHandler("sql", UpdateAccount)
  12. }
  13. func CreateAccount(cmd *m.CreateAccountCommand) error {
  14. return inTransaction(func(sess *xorm.Session) error {
  15. account := m.Account{
  16. Name: cmd.Name,
  17. Created: time.Now(),
  18. Updated: time.Now(),
  19. }
  20. _, err := sess.Insert(&account)
  21. cmd.Result = account
  22. return err
  23. })
  24. }
  25. func UpdateAccount(cmd *m.UpdateAccountCommand) error {
  26. return inTransaction(func(sess *xorm.Session) error {
  27. account := m.Account{
  28. Name: cmd.Name,
  29. Updated: time.Now(),
  30. }
  31. _, err := sess.Id(cmd.AccountId).Update(&account)
  32. return err
  33. })
  34. }