team_members.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package api
  2. import (
  3. "github.com/grafana/grafana/pkg/bus"
  4. "github.com/grafana/grafana/pkg/middleware"
  5. m "github.com/grafana/grafana/pkg/models"
  6. "github.com/grafana/grafana/pkg/util"
  7. )
  8. // GET /api/teams/:teamId/members
  9. func GetTeamMembers(c *middleware.Context) Response {
  10. query := m.GetTeamMembersQuery{TeamId: c.ParamsInt64(":teamId")}
  11. if err := bus.Dispatch(&query); err != nil {
  12. return ApiError(500, "Failed to get Team Members", err)
  13. }
  14. return Json(200, query.Result)
  15. }
  16. // POST /api/teams/:teamId/members
  17. func AddTeamMember(c *middleware.Context, cmd m.AddTeamMemberCommand) Response {
  18. cmd.TeamId = c.ParamsInt64(":teamId")
  19. cmd.OrgId = c.OrgId
  20. if err := bus.Dispatch(&cmd); err != nil {
  21. if err == m.ErrTeamMemberAlreadyAdded {
  22. return ApiError(400, "User is already added to this team", err)
  23. }
  24. return ApiError(500, "Failed to add Member to Team", err)
  25. }
  26. return Json(200, &util.DynMap{
  27. "message": "Member added to Team",
  28. })
  29. }
  30. // DELETE /api/teams/:teamId/members/:userId
  31. func RemoveTeamMember(c *middleware.Context) Response {
  32. if err := bus.Dispatch(&m.RemoveTeamMemberCommand{TeamId: c.ParamsInt64(":teamId"), UserId: c.ParamsInt64(":userId")}); err != nil {
  33. return ApiError(500, "Failed to remove Member from Team", err)
  34. }
  35. return ApiSuccess("Team Member removed")
  36. }