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
cf926134
Commit
cf926134
authored
Mar 05, 2016
by
utkarshcmu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added savePreferencesAPI
parent
e73e7aea
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
74 additions
and
1 deletions
+74
-1
pkg/api/api.go
+1
-0
pkg/api/user.go
+20
-1
pkg/models/preferences.go
+28
-0
pkg/services/sqlstore/user.go
+25
-0
No files found.
pkg/api/api.go
View file @
cf926134
...
@@ -96,6 +96,7 @@ func Register(r *macaron.Macaron) {
...
@@ -96,6 +96,7 @@ func Register(r *macaron.Macaron) {
r
.
Delete
(
"/stars/dashboard/:id"
,
wrap
(
UnstarDashboard
))
r
.
Delete
(
"/stars/dashboard/:id"
,
wrap
(
UnstarDashboard
))
r
.
Put
(
"/password"
,
bind
(
m
.
ChangeUserPasswordCommand
{}),
wrap
(
ChangeUserPassword
))
r
.
Put
(
"/password"
,
bind
(
m
.
ChangeUserPasswordCommand
{}),
wrap
(
ChangeUserPassword
))
r
.
Get
(
"/quotas"
,
wrap
(
GetUserQuotas
))
r
.
Get
(
"/quotas"
,
wrap
(
GetUserQuotas
))
r
.
Put
(
"/prefs"
,
bind
(
m
.
SavePreferenceCommand
{}),
wrap
(
SaveUserPreferences
))
})
})
// users (admin permission required)
// users (admin permission required)
...
...
pkg/api/user.go
View file @
cf926134
...
@@ -5,6 +5,7 @@ import (
...
@@ -5,6 +5,7 @@ import (
"github.com/grafana/grafana/pkg/middleware"
"github.com/grafana/grafana/pkg/middleware"
m
"github.com/grafana/grafana/pkg/models"
m
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/util"
"github.com/grafana/grafana/pkg/util"
"github.com/grafana/grafana/pkg/log"
)
)
// GET /api/user (current authenticated user)
// GET /api/user (current authenticated user)
...
@@ -110,7 +111,10 @@ func UserSetUsingOrg(c *middleware.Context) Response {
...
@@ -110,7 +111,10 @@ func UserSetUsingOrg(c *middleware.Context) Response {
}
}
func
ChangeUserPassword
(
c
*
middleware
.
Context
,
cmd
m
.
ChangeUserPasswordCommand
)
Response
{
func
ChangeUserPassword
(
c
*
middleware
.
Context
,
cmd
m
.
ChangeUserPasswordCommand
)
Response
{
userQuery
:=
m
.
GetUserByIdQuery
{
Id
:
c
.
UserId
}
log
.
Info
(
"%v"
,
cmd
)
userQuery
:=
m
.
GetUserByIdQuery
{
Id
:
c
.
UserId
}
if
err
:=
bus
.
Dispatch
(
&
userQuery
);
err
!=
nil
{
if
err
:=
bus
.
Dispatch
(
&
userQuery
);
err
!=
nil
{
return
ApiError
(
500
,
"Could not read user from database"
,
err
)
return
ApiError
(
500
,
"Could not read user from database"
,
err
)
...
@@ -144,3 +148,18 @@ func SearchUsers(c *middleware.Context) Response {
...
@@ -144,3 +148,18 @@ func SearchUsers(c *middleware.Context) Response {
return
Json
(
200
,
query
.
Result
)
return
Json
(
200
,
query
.
Result
)
}
}
func
SaveUserPreferences
(
c
*
middleware
.
Context
,
cmd
m
.
SavePreferenceCommand
)
Response
{
log
.
Info
(
"%v"
,
cmd
.
PrefData
)
cmd
.
PrefId
=
c
.
UserId
cmd
.
PrefType
=
`user`
if
err
:=
bus
.
Dispatch
(
&
cmd
);
err
!=
nil
{
return
ApiError
(
500
,
"Failed to saved user preferences"
,
err
)
}
return
ApiSuccess
(
"User preferences saved"
)
}
pkg/models/preferences.go
0 → 100644
View file @
cf926134
package
models
import
(
"errors"
)
// Typed errors
var
(
ErrPreferenceNotFound
=
errors
.
New
(
"Preference not found"
)
)
type
Preference
struct
{
Id
int64
PrefId
int64
PrefType
string
PrefData
map
[
string
]
interface
{}
}
// ---------------------
// COMMANDS
type
SavePreferenceCommand
struct
{
PrefData
map
[
string
]
interface
{}
`json:"prefData"`
PrefId
int64
`json:"-"`
PrefType
string
`json:"-"`
}
pkg/services/sqlstore/user.go
View file @
cf926134
...
@@ -11,6 +11,7 @@ import (
...
@@ -11,6 +11,7 @@ import (
m
"github.com/grafana/grafana/pkg/models"
m
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/setting"
"github.com/grafana/grafana/pkg/setting"
"github.com/grafana/grafana/pkg/util"
"github.com/grafana/grafana/pkg/util"
"github.com/grafana/grafana/pkg/log"
)
)
func
init
()
{
func
init
()
{
...
@@ -27,6 +28,7 @@ func init() {
...
@@ -27,6 +28,7 @@ func init() {
bus
.
AddHandler
(
"sql"
,
DeleteUser
)
bus
.
AddHandler
(
"sql"
,
DeleteUser
)
bus
.
AddHandler
(
"sql"
,
SetUsingOrg
)
bus
.
AddHandler
(
"sql"
,
SetUsingOrg
)
bus
.
AddHandler
(
"sql"
,
UpdateUserPermissions
)
bus
.
AddHandler
(
"sql"
,
UpdateUserPermissions
)
bus
.
AddHandler
(
"sql"
,
SaveUserPreferences
)
}
}
func
getOrgIdForNewUser
(
cmd
*
m
.
CreateUserCommand
,
sess
*
session
)
(
int64
,
error
)
{
func
getOrgIdForNewUser
(
cmd
*
m
.
CreateUserCommand
,
sess
*
session
)
(
int64
,
error
)
{
...
@@ -346,3 +348,26 @@ func UpdateUserPermissions(cmd *m.UpdateUserPermissionsCommand) error {
...
@@ -346,3 +348,26 @@ func UpdateUserPermissions(cmd *m.UpdateUserPermissionsCommand) error {
return
err
return
err
})
})
}
}
func
SaveUserPreferences
(
cmd
*
m
.
SavePreferenceCommand
)
error
{
return
inTransaction2
(
func
(
sess
*
session
)
error
{
log
.
Info
(
"%v"
,
cmd
)
pref
:=
m
.
Preference
{
PrefId
:
cmd
.
PrefId
,
PrefType
:
cmd
.
PrefType
,
PrefData
:
cmd
.
PrefData
,
}
sess
.
Table
(
"preferences"
)
.
Where
(
"pref_id"
,
pref
.
PrefId
)
.
And
(
"pref_type"
,
pref
.
PrefType
)
if
_
,
err
:=
sess
.
Update
(
&
pref
);
err
!=
nil
{
return
err
}
log
.
Info
(
"%v"
,
pref
)
return
nil
})
}
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