FILE / Unmei/Backend
v1/club_routes.go
Исходный файл и его история в репозитории.
41 lines
823 B
Go
41 lines
823 B
Go
package v1
|
|
|
|
import (
|
|
"github.com/gorilla/mux"
|
|
"net/http"
|
|
"strconv"
|
|
)
|
|
|
|
func RegisterClubRoutes(r *mux.Router) {
|
|
r.HandleFunc("/clubs", resolveClubs).Methods("GET", "OPTIONS", "POST")
|
|
r.HandleFunc("/clubs/{id:[0-9]+}", resolveClub).Methods("GET", "OPTIONS")
|
|
}
|
|
|
|
func resolveClubs(w http.ResponseWriter, r *http.Request) {
|
|
if r.Method == "GET" {
|
|
userId, err := GetCurrentUserID(r)
|
|
if err != nil {
|
|
Error(w, err)
|
|
return
|
|
}
|
|
clubs, err := GetClubs(userId)
|
|
Response(w, err, clubs)
|
|
}
|
|
}
|
|
|
|
func resolveClub(w http.ResponseWriter, r *http.Request) {
|
|
vars := mux.Vars(r)
|
|
rawId, _ := strconv.Atoi(vars["id"])
|
|
id := uint16(rawId)
|
|
|
|
if r.Method == http.MethodGet {
|
|
userId, err := GetCurrentUserID(r)
|
|
if err != nil {
|
|
Error(w, err)
|
|
return
|
|
}
|
|
club, err := GetClub(id, userId)
|
|
Response(w, err, club)
|
|
}
|
|
}
|