refactor: make database name configurable in admin routes and bug report deletion
Some checks failed
Build & Publish Docker Image / build-and-push (push) Failing after 9s

This commit is contained in:
Flavio Fois
2026-05-27 23:21:20 +02:00
parent 3347f9ba4e
commit bca15fe636
3 changed files with 20 additions and 3 deletions

View File

@@ -11,7 +11,7 @@ import (
"github.com/jmoiron/sqlx"
)
func registerAdmin(r chi.Router, db *sqlx.DB) {
func registerAdmin(r chi.Router, db *sqlx.DB, dbName string) {
r.Route("/admin", func(r chi.Router) {
// Auth — public, handles its own credential checks.
@@ -40,5 +40,14 @@ func registerAdmin(r chi.Router, db *sqlx.DB) {
r.Post("/{id}/reset-password", handlers.ResetPassword(db))
r.Delete("/{id}", handlers.DeleteUser(db))
})
// Backward-compatible alias for admin-prefixed bug report delete path.
r.Route("/bug-reports", func(r chi.Router) {
r.Use(apimw.APIKeyAuth(db))
r.Use(apimw.AdminKeyAuth(db))
r.Use(httprate.LimitByIP(30, time.Minute))
r.Delete("/{id}", handlers.DeleteBugReportByID(db, dbName))
})
})
}

View File

@@ -15,6 +15,7 @@ import (
// NewRouter returns a chi.Router with all /v1 routes mounted.
func NewRouter(db *sqlx.DB, s3conn *storage.S3Connector) http.Handler {
r := chi.NewRouter()
dbName := config.Load().Database
rl := emlyMiddleware.NewRateLimiter(config.Load())
@@ -31,8 +32,8 @@ func NewRouter(db *sqlx.DB, s3conn *storage.S3Connector) http.Handler {
r.Get("/health", handlers.Health(db))
r.Route("/api", func(r chi.Router) {
registerAdmin(r, db)
registerBugReports(r, db, config.Load().Database, s3conn)
registerAdmin(r, db, dbName)
registerBugReports(r, db, dbName, s3conn)
})
return r