signup.go 648 B

1234567891011121314151617181920212223242526272829
  1. package api
  2. import (
  3. "github.com/torkelo/grafana-pro/pkg/bus"
  4. "github.com/torkelo/grafana-pro/pkg/middleware"
  5. m "github.com/torkelo/grafana-pro/pkg/models"
  6. "github.com/torkelo/grafana-pro/pkg/util"
  7. )
  8. // POST /api/account/signup
  9. func SignUp(c *middleware.Context) {
  10. var cmd m.CreateAccountCommand
  11. if !c.JsonBody(&cmd) {
  12. c.JsonApiErr(400, "Validation error", nil)
  13. return
  14. }
  15. cmd.Login = cmd.Email
  16. cmd.Salt = util.GetRandomString(10)
  17. cmd.Password = util.EncodePassword(cmd.Password, cmd.Salt)
  18. if err := bus.Dispatch(&cmd); err != nil {
  19. c.JsonApiErr(500, "failed to create account", err)
  20. return
  21. }
  22. c.JsonOK("Account created")
  23. }