Mercurial > gemma
comparison controllers/routes.go @ 276:863ec6010045
merge
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Mon, 30 Jul 2018 13:13:26 +0200 |
parents | d1b0d964af09 |
children | 3c5420976910 |
comparison
equal
deleted
inserted
replaced
275:89f1aa33adcf | 276:863ec6010045 |
---|---|
10 | 10 |
11 func BindRoutes(m *mux.Router) { | 11 func BindRoutes(m *mux.Router) { |
12 | 12 |
13 api := m.PathPrefix("/api").Subrouter() | 13 api := m.PathPrefix("/api").Subrouter() |
14 | 14 |
15 sysAdmin := auth.EnsureRole("sys_admin") | 15 var ( |
16 sysAdmin = auth.EnsureRole("sys_admin") | |
17 all = auth.EnsureRole("sys_admin", "waterway_admin", "waterway_user") | |
18 ) | |
16 | 19 |
17 api.Handle("/users", sysAdmin(&JSONHandler{ | 20 api.Handle("/users", sysAdmin(&JSONHandler{ |
18 Handle: listUsers, | 21 Handle: listUsers, |
19 })).Methods(http.MethodGet) | 22 })).Methods(http.MethodGet) |
20 | 23 |
21 api.Handle("/users", sysAdmin(&JSONHandler{ | 24 api.Handle("/users", sysAdmin(&JSONHandler{ |
22 Input: func() interface{} { return new(User) }, | 25 Input: func() interface{} { return new(User) }, |
23 Handle: createUser, | 26 Handle: createUser, |
24 })).Methods(http.MethodPost) | 27 })).Methods(http.MethodPost) |
25 | 28 |
26 api.Handle("/users/{user}", sysAdmin(&JSONHandler{ | 29 api.Handle("/users/{user}", all(&JSONHandler{ |
27 Handle: listUser, | 30 Handle: listUser, |
28 })).Methods(http.MethodGet) | 31 })).Methods(http.MethodGet) |
29 | 32 |
30 api.Handle("/users/{user}", sysAdmin(&JSONHandler{ | 33 api.Handle("/users/{user}", all(&JSONHandler{ |
31 Input: func() interface{} { return new(User) }, | 34 Input: func() interface{} { return new(User) }, |
32 Handle: updateUser, | 35 Handle: updateUser, |
33 })).Methods(http.MethodPut) | 36 })).Methods(http.MethodPut) |
34 | 37 |
35 api.Handle("/users/{user}", sysAdmin(&JSONHandler{ | 38 api.Handle("/users/{user}", sysAdmin(&JSONHandler{ |