Mercurial > gemma
comparison pkg/controllers/routes.go @ 472:39b5deee8810
Replaced 'all' by 'any' in routes.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 23 Aug 2018 12:57:15 +0200 |
parents | 5e8ac1c67fe6 |
children | b2dea4e56ff1 |
comparison
equal
deleted
inserted
replaced
471:1b08432a0e5d | 472:39b5deee8810 |
---|---|
15 | 15 |
16 api := m.PathPrefix("/api").Subrouter() | 16 api := m.PathPrefix("/api").Subrouter() |
17 | 17 |
18 var ( | 18 var ( |
19 sysAdmin = auth.EnsureRole("sys_admin") | 19 sysAdmin = auth.EnsureRole("sys_admin") |
20 all = auth.EnsureRole("sys_admin", "waterway_admin", "waterway_user") | 20 any = auth.EnsureRole("sys_admin", "waterway_admin", "waterway_user") |
21 ) | 21 ) |
22 | 22 |
23 // User management. | 23 // User management. |
24 api.Handle("/users", all(&JSONHandler{ | 24 api.Handle("/users", any(&JSONHandler{ |
25 Handle: listUsers, | 25 Handle: listUsers, |
26 })).Methods(http.MethodGet) | 26 })).Methods(http.MethodGet) |
27 | 27 |
28 api.Handle("/users", sysAdmin(&JSONHandler{ | 28 api.Handle("/users", sysAdmin(&JSONHandler{ |
29 Input: func() interface{} { return new(models.User) }, | 29 Input: func() interface{} { return new(models.User) }, |
30 Handle: createUser, | 30 Handle: createUser, |
31 })).Methods(http.MethodPost) | 31 })).Methods(http.MethodPost) |
32 | 32 |
33 api.Handle("/users/{user}", all(&JSONHandler{ | 33 api.Handle("/users/{user}", any(&JSONHandler{ |
34 Handle: listUser, | 34 Handle: listUser, |
35 })).Methods(http.MethodGet) | 35 })).Methods(http.MethodGet) |
36 | 36 |
37 api.Handle("/users/{user}", all(&JSONHandler{ | 37 api.Handle("/users/{user}", any(&JSONHandler{ |
38 Input: func() interface{} { return new(models.User) }, | 38 Input: func() interface{} { return new(models.User) }, |
39 Handle: updateUser, | 39 Handle: updateUser, |
40 })).Methods(http.MethodPut) | 40 })).Methods(http.MethodPut) |
41 | 41 |
42 api.Handle("/users/{user}", sysAdmin(&JSONHandler{ | 42 api.Handle("/users/{user}", sysAdmin(&JSONHandler{ |
57 external := &httputil.ReverseProxy{ | 57 external := &httputil.ReverseProxy{ |
58 Director: proxyDirector(models.ExternalServices.Find), | 58 Director: proxyDirector(models.ExternalServices.Find), |
59 ModifyResponse: proxyModifyResponse("/api/external/"), | 59 ModifyResponse: proxyModifyResponse("/api/external/"), |
60 } | 60 } |
61 | 61 |
62 externalAuth := all(external) | 62 externalAuth := any(external) |
63 | 63 |
64 api.Handle("/external/{hash}/{url}", externalAuth). | 64 api.Handle("/external/{hash}/{url}", externalAuth). |
65 Methods( | 65 Methods( |
66 http.MethodGet, http.MethodPost, | 66 http.MethodGet, http.MethodPost, |
67 http.MethodPut, http.MethodDelete) | 67 http.MethodPut, http.MethodDelete) |
75 internal := &httputil.ReverseProxy{ | 75 internal := &httputil.ReverseProxy{ |
76 Director: proxyDirector(models.PublishedServices.Find), | 76 Director: proxyDirector(models.PublishedServices.Find), |
77 ModifyResponse: proxyModifyResponse("/api/internal/"), | 77 ModifyResponse: proxyModifyResponse("/api/internal/"), |
78 } | 78 } |
79 | 79 |
80 internalAuth := all( | 80 internalAuth := any( |
81 middleware.ModifyQuery(internal, middleware.InjectUser)) | 81 middleware.ModifyQuery(internal, middleware.InjectUser)) |
82 | 82 |
83 api.Handle("/internal/{hash}/{url}", internalAuth). | 83 api.Handle("/internal/{hash}/{url}", internalAuth). |
84 Methods( | 84 Methods( |
85 http.MethodGet, http.MethodPost, | 85 http.MethodGet, http.MethodPost, |