package main import ( "database/sql" "net/http" ) type Server struct { store *Store db *sql.DB } func NewServer(db *sql.DB) *Server { return &Server{store: NewStore(db), db: db} } func (s *Server) Routes() *http.ServeMux { mux := http.NewServeMux() mux.HandleFunc("GET /api/healthz", s.handleHealth) mux.HandleFunc("GET /api/posts", s.handleListPosts) mux.HandleFunc("POST /api/posts", s.handleCreatePost) mux.HandleFunc("GET /api/posts/{id}", s.handleGetPost) mux.HandleFunc("POST /api/posts/{id}/comments", s.handleCreateComment) return mux }