Skip to content
Snippets Groups Projects
Verified Commit 9a1ef006 authored by Réthelyi Bálint's avatar Réthelyi Bálint :no_mouth:
Browse files

add admin middleware

parent ae2d8368
No related branches found
No related tags found
No related merge requests found
Pipeline #8684 waiting for manual action
...@@ -10,7 +10,8 @@ import ( ...@@ -10,7 +10,8 @@ import (
var adminTemplate *template.Template var adminTemplate *template.Template
var balanceTemplate *template.Template var balanceTemplate *template.Template
var Router = http.NewServeMux() var router = http.NewServeMux()
var Handler = adminMW(router)
type Between struct { type Between struct {
User *homepage.User User *homepage.User
...@@ -35,14 +36,30 @@ func init() { ...@@ -35,14 +36,30 @@ func init() {
panic(err) panic(err)
} }
Router.HandleFunc("/balance/", balance) router.HandleFunc("/balance/", balance)
Router.HandleFunc("/", handler) router.HandleFunc("/", handler)
}
func adminMW(h http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
admin, err := homepage.GetUserInfoBySession(r)
if err != nil {
helpers.Logger.Println(err)
return
}
if admin.IsAdmin {
h.ServeHTTP(w, r)
} else {
w.WriteHeader(http.StatusForbidden)
}
})
} }
func handler(w http.ResponseWriter, r *http.Request) { func handler(w http.ResponseWriter, r *http.Request) {
if r.Method == http.MethodGet { if r.Method == http.MethodGet {
admin, err := homepage.GetUserInfoBySession(r) admin, err := homepage.GetUserInfoBySession(r)
if err != nil { if err != nil {
helpers.Logger.Println(err)
return return
} }
er := adminTemplate.Execute(w, admin) er := adminTemplate.Execute(w, admin)
......
...@@ -5,3 +5,4 @@ source secret.env ...@@ -5,3 +5,4 @@ source secret.env
set +o allexport set +o allexport
envsubst < values.yaml | helm upgrade --install --wait becskasszasch . -n apps --values - envsubst < values.yaml | helm upgrade --install --wait becskasszasch . -n apps --values -
...@@ -7,5 +7,5 @@ POSTGRES: "${POSTGRES}" ...@@ -7,5 +7,5 @@ POSTGRES: "${POSTGRES}"
POSTGRES_PASS: "${POSTGRES_PASS}" POSTGRES_PASS: "${POSTGRES_PASS}"
POSTGRES_USER: "${POSTGRES_USER}" POSTGRES_USER: "${POSTGRES_USER}"
POSTGRES_DB: "${POSTGRES_DB}" POSTGRES_DB: "${POSTGRES_DB}"
Tag: "v1.6.2" Tag: "v1.6.3"
REGISTRY_CONF: "${REGISTRY_CONF}" REGISTRY_CONF: "${REGISTRY_CONF}"
...@@ -38,7 +38,7 @@ func main() { ...@@ -38,7 +38,7 @@ func main() {
//mux.HandleFunc("/topup/api/", topup.PayPalHandler) //mux.HandleFunc("/topup/api/", topup.PayPalHandler)
mux.Handle("/metrics", promhttp.Handler()) mux.Handle("/metrics", promhttp.Handler())
mux.Handle("/metrics/", promhttp.Handler()) mux.Handle("/metrics/", promhttp.Handler())
mux.Handle("/admin/", http.StripPrefix("/admin", admin.Router)) mux.Handle("/admin/", http.StripPrefix("/admin", admin.Handler))
mux.HandleFunc("/history/", history.Handler) mux.HandleFunc("/history/", history.Handler)
mux.HandleFunc("/", homepage.Handler) mux.HandleFunc("/", homepage.Handler)
//mux.HandleFunc("/new/", homepage.NewHandler) //mux.HandleFunc("/new/", homepage.NewHandler)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment