FILE / Unmei/Backend
routes/tokens.go
Исходный файл и его история в репозитории.
41 lines
781 B
Go
41 lines
781 B
Go
package routes
|
|
|
|
import (
|
|
"backend/database"
|
|
"errors"
|
|
"github.com/go-chi/chi/v5"
|
|
"net/http"
|
|
)
|
|
|
|
func RegisterTokensRouter(r chi.Router) {
|
|
r.Post("/auth", auth)
|
|
r.Route("/apps", func(s chi.Router) {
|
|
s.Get("/", getApps)
|
|
s.Get("/{id:[0-9]+}", getApp)
|
|
})
|
|
}
|
|
|
|
func auth(w http.ResponseWriter, r *http.Request) {
|
|
tokenCookie, err := r.Cookie("token")
|
|
if errors.Is(err, http.ErrNoCookie) || len(tokenCookie.Value) == 0 {
|
|
Unauthorized.Ferror(w)
|
|
return
|
|
}
|
|
}
|
|
|
|
func getApps(w http.ResponseWriter, r *http.Request) {
|
|
user, err := GetCurrentUser(r)
|
|
if err != nil {
|
|
Error(w, err)
|
|
return
|
|
}
|
|
if !hasPermission(user, "apps") {
|
|
NoAccess.Ferror(w)
|
|
return
|
|
}
|
|
apps, err := database.FetchApps()
|
|
Response(w, err, apps)
|
|
}
|
|
|
|
func getApp(w http.ResponseWriter, r *http.Request) {}
|