2023-09-07 17:53:11 +08:00

44 lines
866 B
Go

package api
import (
"github.com/gin-gonic/gin"
"github.com/jmoiron/sqlx"
)
// Server serves HTTP requests for our banking service.
type Server struct {
store *sqlx.DB
router *gin.Engine
}
func NewServer(store *sqlx.DB) (*Server, error) {
server := &Server{
store: store,
}
server.setupRouter()
return server, nil
}
func (server *Server) setupRouter() {
router := gin.Default()
router.GET("/guilds", server.listGuilds)
router.GET("/guilds/:guild_id", server.getGuild)
router.POST("/guilds", server.createGuild)
router.DELETE("/guilds/:guild_id", server.deleteGuild)
authRoutes := router.Group("/")
authRoutes.GET("/accounts", server.listAccounts)
server.router = router
}
func (server *Server) Start(address string) error {
return server.router.Run(address)
}
func errorResponse(err error) gin.H {
return gin.H{"error": err.Error()}
}