api_register.go 990 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package api
  2. import (
  3. "github.com/torkelo/grafana-pro/pkg/log"
  4. "github.com/torkelo/grafana-pro/pkg/middleware"
  5. "github.com/torkelo/grafana-pro/pkg/models"
  6. "github.com/torkelo/grafana-pro/pkg/utils"
  7. )
  8. type registerAccountJsonModel struct {
  9. Email string `json:"email" binding:"required"`
  10. Password string `json:"password" binding:"required"`
  11. Password2 bool `json:"remember2"`
  12. }
  13. func CreateAccount(c *middleware.Context) {
  14. var registerModel registerAccountJsonModel
  15. if !c.JsonBody(&registerModel) {
  16. c.JSON(400, utils.DynMap{"status": "bad request"})
  17. return
  18. }
  19. account := models.Account{
  20. Login: registerModel.Email,
  21. Email: registerModel.Email,
  22. Password: registerModel.Password,
  23. }
  24. err := models.CreateAccount(&account)
  25. if err != nil {
  26. log.Error(2, "Failed to create user account, email: %v, error: %v", registerModel.Email, err)
  27. c.JSON(500, utils.DynMap{"status": "failed to create account"})
  28. return
  29. }
  30. c.JSON(200, utils.DynMap{"status": "ok"})
  31. }