Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nexpie-grafana-theme
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Registry
Registry
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kornkitt Poolsup
nexpie-grafana-theme
Commits
9cc6c212
Unverified
Commit
9cc6c212
authored
Nov 20, 2018
by
Marcus Efraimsson
Committed by
GitHub
Nov 20, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #14120 from supercharlesliu/user-teams
Add API GET /api/users/:id/teams for GrafanaAdmin
parents
49bf003d
a241f67f
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
46 additions
and
3 deletions
+46
-3
docs/sources/http_api/user.md
+34
-0
pkg/api/api.go
+1
-0
pkg/api/user.go
+11
-3
No files found.
docs/sources/http_api/user.md
View file @
9cc6c212
...
...
@@ -226,6 +226,40 @@ Content-Type: application/json
]
```
## Get Teams for user
`GET /api/users/:id/teams`
**Example Request**
:
```
http
GET
/api/users/1/teams
HTTP
/
1.1
Accept
:
application/json
Content-Type
:
application/json
Authorization
:
Basic YWRtaW46YWRtaW4=
```
Requires basic authentication and that the authenticated user is a Grafana Admin.
**Example Response**
:
```
http
HTTP/1.1 200
Content-Type: application/json
[
{
"id":1,
"orgId":1,
"name":"team1",
"email":"",
"avatarUrl":"/avatar/3fcfe295eae3bcb67a49349377428a66",
"memberCount":1
}
]
```
## User
## Actual User
...
...
pkg/api/api.go
View file @
9cc6c212
...
...
@@ -140,6 +140,7 @@ func (hs *HTTPServer) registerRoutes() {
usersRoute
.
Get
(
"/"
,
Wrap
(
SearchUsers
))
usersRoute
.
Get
(
"/search"
,
Wrap
(
SearchUsersWithPaging
))
usersRoute
.
Get
(
"/:id"
,
Wrap
(
GetUserByID
))
usersRoute
.
Get
(
"/:id/teams"
,
Wrap
(
GetUserTeams
))
usersRoute
.
Get
(
"/:id/orgs"
,
Wrap
(
GetUserOrgList
))
// query parameters /users/lookup?loginOrEmail=admin@example.com
usersRoute
.
Get
(
"/lookup"
,
Wrap
(
GetUserByLoginOrEmail
))
...
...
pkg/api/user.go
View file @
9cc6c212
...
...
@@ -113,7 +113,16 @@ func GetSignedInUserOrgList(c *m.ReqContext) Response {
// GET /api/user/teams
func
GetSignedInUserTeamList
(
c
*
m
.
ReqContext
)
Response
{
query
:=
m
.
GetTeamsByUserQuery
{
OrgId
:
c
.
OrgId
,
UserId
:
c
.
UserId
}
return
getUserTeamList
(
c
.
OrgId
,
c
.
UserId
)
}
// GET /api/users/:id/teams
func
GetUserTeams
(
c
*
m
.
ReqContext
)
Response
{
return
getUserTeamList
(
c
.
OrgId
,
c
.
ParamsInt64
(
":id"
))
}
func
getUserTeamList
(
userID
int64
,
orgID
int64
)
Response
{
query
:=
m
.
GetTeamsByUserQuery
{
OrgId
:
orgID
,
UserId
:
userID
}
if
err
:=
bus
.
Dispatch
(
&
query
);
err
!=
nil
{
return
Error
(
500
,
"Failed to get user teams"
,
err
)
...
...
@@ -122,11 +131,10 @@ func GetSignedInUserTeamList(c *m.ReqContext) Response {
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
s
/:id/orgs
func
GetUserOrgList
(
c
*
m
.
ReqContext
)
Response
{
return
getUserOrgList
(
c
.
ParamsInt64
(
":id"
))
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment