mirror of
https://github.com/Luzifer/cloudkeys-go.git
synced 2024-11-08 22:20:05 +00:00
28 lines
1.1 KiB
Go
28 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/gorilla/mux"
|
|
)
|
|
|
|
func router() *mux.Router {
|
|
r := mux.NewRouter()
|
|
registerAPIv2(r.PathPrefix("/v2").Subrouter())
|
|
r.PathPrefix("/").HandlerFunc(gzipFunc(serveAssets))
|
|
return r
|
|
}
|
|
|
|
func registerAPIv2(r *mux.Router) {
|
|
r.HandleFunc("/login", apiHelper(apiLogin)).Methods(http.MethodPost)
|
|
r.HandleFunc("/register", apiHelper(apiRegister)).Methods(http.MethodPost)
|
|
r.HandleFunc("/users", apiHelper(apiListUsers)).Methods(http.MethodGet)
|
|
|
|
r.HandleFunc("/user/{user}/data", apiHelper(apiGetUserData)).Methods(http.MethodGet)
|
|
r.HandleFunc("/user/{user}/data", apiHelper(apiSetUserData)).Methods(http.MethodPut)
|
|
r.HandleFunc("/user/{user}/logout", apiHelper(apiLogoutUser)).Methods(http.MethodPost)
|
|
r.HandleFunc("/user/{user}/settings", apiHelper(apiGetUserSettings)).Methods(http.MethodGet)
|
|
r.HandleFunc("/user/{user}/settings", apiHelper(apiSetUserSettings)).Methods(http.MethodPatch)
|
|
r.HandleFunc("/user/{user}/password", apiHelper(apiChangeLoginPassword)).Methods(http.MethodPut)
|
|
r.HandleFunc("/user/{user}/validate-mfa", apiHelper(apiValidateMFA)).Methods(http.MethodPost)
|
|
}
|