package main import ( "code.dlmw.ch/dlmw/qv/internal/models" "code.dlmw.ch/dlmw/qv/ui" "github.com/justinas/alice" "log/slog" "net/http" ) type application struct { logger *slog.Logger elections models.ElectionModelInterface voters models.VoterModelInterface votes models.VoteModelInterface } func (app *application) routes() http.Handler { mux := http.NewServeMux() mux.Handle("GET /static/", http.FileServerFS(ui.Files)) mux.HandleFunc("GET /election/create", app.createElectionPage) mux.HandleFunc("POST /election", app.createElection) mux.HandleFunc("POST /election/{id}/votes", app.createVotes) standard := alice.New(app.recoverPanic, app.logRequest) return standard.Then(mux) }