initial commit
This commit is contained in:
29
internal/http/router.go
Normal file
29
internal/http/router.go
Normal file
@@ -0,0 +1,29 @@
|
||||
package http
|
||||
|
||||
import (
|
||||
"log/slog"
|
||||
"net/http"
|
||||
|
||||
"git.yigid.dev/fyb/tingz/internal/config"
|
||||
"git.yigid.dev/fyb/tingz/internal/deploy"
|
||||
"git.yigid.dev/fyb/tingz/internal/user"
|
||||
)
|
||||
|
||||
func NewRouter(cfg *config.Config, userMgr *user.Manager, deployMgr *deploy.Manager, logger *slog.Logger) http.Handler {
|
||||
mux := http.NewServeMux()
|
||||
|
||||
baseURL := "https://docs.yigid.dev"
|
||||
server := NewServer(userMgr, deployMgr, logger, baseURL)
|
||||
|
||||
adminAuth := AdminAuthMiddleware(cfg.AdminToken, logger)
|
||||
userAuth := UserAuthMiddleware(userMgr, logger)
|
||||
maxBytes := MaxBytesMiddleware(cfg.MaxUploadSize)
|
||||
|
||||
mux.Handle("POST /api/v1/auth", adminAuth(http.HandlerFunc(server.handleAuthCreate)))
|
||||
mux.Handle("DELETE /api/v1/auth", adminAuth(http.HandlerFunc(server.handleAuthDelete)))
|
||||
mux.Handle("POST /api/v1/deploy", userAuth(maxBytes(http.HandlerFunc(server.handleDeploy))))
|
||||
mux.HandleFunc("GET /api/v1/status", server.handleStatus)
|
||||
|
||||
return LoggingMiddleware(logger)(mux)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user