mirror of
https://github.com/grafana/grafana.git
synced 2025-07-30 09:52:34 +08:00
add api route for retrieving teams of signed in user
This commit is contained in:
@ -363,6 +363,39 @@ Content-Type: application/json
|
|||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Teams that the actual User is member of
|
||||||
|
|
||||||
|
`GET /api/user/teams`
|
||||||
|
|
||||||
|
Return a list of all teams that the current user is member of.
|
||||||
|
|
||||||
|
**Example Request**:
|
||||||
|
|
||||||
|
```http
|
||||||
|
GET /api/user/teams HTTP/1.1
|
||||||
|
Accept: application/json
|
||||||
|
Content-Type: application/json
|
||||||
|
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||||||
|
```
|
||||||
|
|
||||||
|
**Example Response**:
|
||||||
|
|
||||||
|
```http
|
||||||
|
HTTP/1.1 200
|
||||||
|
Content-Type: application/json
|
||||||
|
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"orgId": 1,
|
||||||
|
"name": "MyTestTeam",
|
||||||
|
"email": "",
|
||||||
|
"avatarUrl": "\/avatar\/3f49c15916554246daa714b9bd0ee398",
|
||||||
|
"memberCount": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
## Star a dashboard
|
## Star a dashboard
|
||||||
|
|
||||||
`POST /api/user/stars/dashboard/:dashboardId`
|
`POST /api/user/stars/dashboard/:dashboardId`
|
||||||
|
@ -120,6 +120,7 @@ func (hs *HTTPServer) registerRoutes() {
|
|||||||
userRoute.Put("/", bind(m.UpdateUserCommand{}), Wrap(UpdateSignedInUser))
|
userRoute.Put("/", bind(m.UpdateUserCommand{}), Wrap(UpdateSignedInUser))
|
||||||
userRoute.Post("/using/:id", Wrap(UserSetUsingOrg))
|
userRoute.Post("/using/:id", Wrap(UserSetUsingOrg))
|
||||||
userRoute.Get("/orgs", Wrap(GetSignedInUserOrgList))
|
userRoute.Get("/orgs", Wrap(GetSignedInUserOrgList))
|
||||||
|
userRoute.Get("/teams", Wrap(GetSignedInUserTeamList))
|
||||||
|
|
||||||
userRoute.Post("/stars/dashboard/:id", Wrap(StarDashboard))
|
userRoute.Post("/stars/dashboard/:id", Wrap(StarDashboard))
|
||||||
userRoute.Delete("/stars/dashboard/:id", Wrap(UnstarDashboard))
|
userRoute.Delete("/stars/dashboard/:id", Wrap(UnstarDashboard))
|
||||||
|
@ -111,6 +111,21 @@ func GetSignedInUserOrgList(c *m.ReqContext) Response {
|
|||||||
return getUserOrgList(c.UserId)
|
return getUserOrgList(c.UserId)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GET /api/user/teams
|
||||||
|
func GetSignedInUserTeamList(c *m.ReqContext) Response {
|
||||||
|
query := m.GetTeamsByUserQuery{OrgId: c.OrgId, UserId: c.UserId}
|
||||||
|
|
||||||
|
if err := bus.Dispatch(&query); err != nil {
|
||||||
|
return Error(500, "Failed to get user teams", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, team := range query.Result {
|
||||||
|
team.AvatarUrl = dtos.GetGravatarUrlWithDefault(team.Email, team.Name)
|
||||||
|
}
|
||||||
|
|
||||||
|
return JSON(200, query.Result)
|
||||||
|
}
|
||||||
|
|
||||||
// GET /api/user/:id/orgs
|
// GET /api/user/:id/orgs
|
||||||
func GetUserOrgList(c *m.ReqContext) Response {
|
func GetUserOrgList(c *m.ReqContext) Response {
|
||||||
return getUserOrgList(c.ParamsInt64(":id"))
|
return getUserOrgList(c.ParamsInt64(":id"))
|
||||||
|
Reference in New Issue
Block a user