org.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package api
  2. import (
  3. "github.com/grafana/grafana/pkg/bus"
  4. "github.com/grafana/grafana/pkg/metrics"
  5. "github.com/grafana/grafana/pkg/middleware"
  6. m "github.com/grafana/grafana/pkg/models"
  7. "github.com/grafana/grafana/pkg/setting"
  8. )
  9. func GetOrg(c *middleware.Context) {
  10. query := m.GetOrgByIdQuery{Id: c.OrgId}
  11. if err := bus.Dispatch(&query); err != nil {
  12. if err == m.ErrOrgNotFound {
  13. c.JsonApiErr(404, "Organization not found", err)
  14. return
  15. }
  16. c.JsonApiErr(500, "Failed to get organization", err)
  17. return
  18. }
  19. org := m.OrgDTO{
  20. Id: query.Result.Id,
  21. Name: query.Result.Name,
  22. }
  23. c.JSON(200, &org)
  24. }
  25. func CreateOrg(c *middleware.Context, cmd m.CreateOrgCommand) {
  26. if !setting.AllowUserOrgCreate && !c.IsGrafanaAdmin {
  27. c.JsonApiErr(401, "Access denied", nil)
  28. return
  29. }
  30. cmd.UserId = c.UserId
  31. if err := bus.Dispatch(&cmd); err != nil {
  32. c.JsonApiErr(500, "Failed to create organization", err)
  33. return
  34. }
  35. metrics.M_Api_Org_Create.Inc(1)
  36. c.JsonOK("Organization created")
  37. }
  38. func UpdateOrg(c *middleware.Context, cmd m.UpdateOrgCommand) {
  39. cmd.OrgId = c.OrgId
  40. if err := bus.Dispatch(&cmd); err != nil {
  41. c.JsonApiErr(500, "Failed to update organization", err)
  42. return
  43. }
  44. c.JsonOK("Organization updated")
  45. }