signup.go 618 B

123456789101112131415161718192021222324252627
  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, cmd m.CreateUserCommand) {
  10. cmd.Login = cmd.Email
  11. cmd.Salt = util.GetRandomString(10)
  12. cmd.Password = util.EncodePassword(cmd.Password, cmd.Salt)
  13. if err := bus.Dispatch(&cmd); err != nil {
  14. c.JsonApiErr(500, "failed to create user", err)
  15. return
  16. }
  17. user := cmd.Result
  18. loginUserWithUser(&user, c)
  19. c.JsonOK("User created and logged in")
  20. }