refactor: split route setup to each set of routes
This commit is contained in:
parent
4456b54550
commit
5ac86cc75c
|
@ -80,3 +80,12 @@ func (m *manifests) handlerConversion(w http.ResponseWriter, r *http.Request) {
|
|||
w.WriteHeader(http.StatusCreated)
|
||||
w.Write(appData)
|
||||
}
|
||||
|
||||
func setupManifestsRoutes(params RouteParams) {
|
||||
r := params.R
|
||||
|
||||
manifestApi := newManifests(params.Config, params.Db, params.Logger)
|
||||
manifestsRouter := r.PathPrefix("/api/v3/app-manifests").Subrouter()
|
||||
|
||||
manifestsRouter.HandleFunc("/{code}/conversions", manifestApi.handlerConversion).Methods("POST")
|
||||
}
|
||||
|
|
|
@ -8,37 +8,23 @@ import (
|
|||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func SetupRoutes(r *mux.Router, cfg *config.Config, db *gorm.DB, logger *zap.Logger) {
|
||||
type RouteParams struct {
|
||||
Config *config.Config
|
||||
Db *gorm.DB
|
||||
Logger *zap.Logger
|
||||
R *mux.Router
|
||||
}
|
||||
|
||||
func SetupRoutes(params RouteParams) {
|
||||
logger := params.Logger
|
||||
r := params.R
|
||||
|
||||
r.Use(loggingMiddleware(logger))
|
||||
|
||||
setupRouter := r.PathPrefix("/setup").Subrouter()
|
||||
setupRouter.Use(giteaOauthVerifyMiddleware(cfg))
|
||||
|
||||
setupApi := newSetupApi(cfg, logger, newOauth(cfg, logger))
|
||||
setupRouter.HandleFunc("", setupApi.setupHandler).Methods("GET")
|
||||
setupRouter.HandleFunc("/callback", setupApi.callbackHandler).Methods("GET")
|
||||
|
||||
settingsRouter := r.PathPrefix("/settings").Subrouter()
|
||||
settingsRouter.Use(giteaOauthVerifyMiddleware(cfg))
|
||||
settingsRouter.Use(requireAuthMiddleware(cfg))
|
||||
|
||||
settingsApi := newSettingsApi(cfg, db, logger)
|
||||
|
||||
settingsRouter.HandleFunc("/apps/new", settingsApi.handlerNewApp).Methods("POST")
|
||||
|
||||
manifestApi := newManifests(cfg, db, logger)
|
||||
manifestsRouter := r.PathPrefix("/api/v3/app-manifests").Subrouter()
|
||||
|
||||
manifestsRouter.HandleFunc("/{code}/conversions", manifestApi.handlerConversion).Methods("POST")
|
||||
|
||||
appApi := newAppApi(cfg, logger)
|
||||
appRouter := r.PathPrefix("/apps").Subrouter()
|
||||
|
||||
appRouter.Use(giteaOauthVerifyMiddleware(cfg))
|
||||
appRouter.Use(requireAuthMiddleware(cfg))
|
||||
|
||||
appRouter.HandleFunc("/{app}/installations/new", appApi.handlerNewAppInstall).Methods("GET")
|
||||
setupApiRoutes(params)
|
||||
setupSettingsRoutes(params)
|
||||
setupManifestsRoutes(params)
|
||||
setupAppRoutes(params)
|
||||
}
|
||||
|
||||
type ClientParams struct {
|
||||
|
|
|
@ -20,3 +20,17 @@ func (a *appApi) handlerNewAppInstall(w http.ResponseWriter, r *http.Request) {
|
|||
w.WriteHeader(http.StatusOK)
|
||||
w.Header().Set("Content-Type", "text/plain")
|
||||
}
|
||||
|
||||
func setupAppRoutes(params RouteParams) {
|
||||
logger := params.Logger
|
||||
cfg := params.Config
|
||||
r := params.R
|
||||
|
||||
appApi := newAppApi(cfg, logger)
|
||||
appRouter := r.PathPrefix("/apps").Subrouter()
|
||||
|
||||
appRouter.Use(giteaOauthVerifyMiddleware(cfg))
|
||||
appRouter.Use(requireAuthMiddleware(cfg))
|
||||
|
||||
appRouter.HandleFunc("/{app}/installations/new", appApi.handlerNewAppInstall).Methods("GET")
|
||||
}
|
||||
|
|
|
@ -69,3 +69,15 @@ func (s settingsApi) handlerNewApp(w http.ResponseWriter, r *http.Request) {
|
|||
http.Redirect(w, r, redirectUrl.String(), http.StatusFound)
|
||||
|
||||
}
|
||||
|
||||
func setupSettingsRoutes(params RouteParams) {
|
||||
r := params.R
|
||||
|
||||
settingsRouter := r.PathPrefix("/settings").Subrouter()
|
||||
settingsRouter.Use(giteaOauthVerifyMiddleware(params.Config))
|
||||
settingsRouter.Use(requireAuthMiddleware(params.Config))
|
||||
|
||||
settingsApi := newSettingsApi(params.Config, params.Db, params.Logger)
|
||||
|
||||
settingsRouter.HandleFunc("/apps/new", settingsApi.handlerNewApp).Methods("POST")
|
||||
}
|
||||
|
|
|
@ -57,3 +57,14 @@ func (s setupApi) callbackHandler(w http.ResponseWriter, r *http.Request) {
|
|||
|
||||
http.Redirect(w, r, "/setup", http.StatusFound)
|
||||
}
|
||||
|
||||
func setupApiRoutes(params RouteParams) {
|
||||
r := params.R
|
||||
|
||||
setupRouter := r.PathPrefix("/setup").Subrouter()
|
||||
setupRouter.Use(giteaOauthVerifyMiddleware(params.Config))
|
||||
|
||||
setupApi := newSetupApi(params.Config, params.Logger, newOauth(params.Config, params.Logger))
|
||||
setupRouter.HandleFunc("", setupApi.setupHandler).Methods("GET")
|
||||
setupRouter.HandleFunc("/callback", setupApi.callbackHandler).Methods("GET")
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue