FILE / Unmei/Backend

v1/tokens_routes.go

Исходный файл и его история в репозитории.
FILE ae81fbcce941523578569fccd828c513e38e6201
Files
Backend/v1/tokens_routes.go
T
2021-05-02 16:04:45 +03:00

39 lines
717 B
Go

package v1
import (
"github.com/gorilla/mux"
"net/http"
)
func RegisterTokensRouter(r *mux.Router) {
sub := r.PathPrefix("/tokens").Subrouter()
sub.HandleFunc("/auth", auth)
sub.HandleFunc("/apps", resolveApps)
sub.HandleFunc("/apps/{id:[0-9]+}", auth)
}
func auth(w http.ResponseWriter, r *http.Request) {
tokenCookie, err := r.Cookie("token")
if err == http.ErrNoCookie || len(tokenCookie.Value) == 0 {
Unauthorized.Ferror(w)
return
}
}
func resolveApps(w http.ResponseWriter, r *http.Request) {
user, err := FetchCurrentUser(r)
if err != nil {
Error(w, err)
return
}
if !hasPermission(user, "apps") {
NoAccess.Ferror(w)
return
}
apps, err := FetchApps()
Response(w, err, apps)
}