df/api/server.go
2023-09-21 23:06:43 +02:00

37 lines
712 B
Go

package api
import (
"github.com/gin-gonic/gin"
db "github.com/itsscb/df/db/sqlc"
)
// Server serves HTTP requests for df service
type Server struct {
store db.Store
router *gin.Engine
}
// NewServer creates a new HTTP server and sets up routing
func NewServer(store db.Store) *Server {
server := &Server{
store: store,
}
router := gin.Default()
router.POST("/accounts", server.createAccount)
router.GET("/accounts/:id", server.getAccount)
router.GET("/accounts", server.listAccounts)
server.router = router
return server
}
func (server *Server) Start(address string) error {
return server.router.Run(address)
}
func errorResponse(err error) gin.H {
return gin.H{"error": err.Error()}
}