This commit is contained in:
nquidox 2026-02-23 20:02:17 +03:00
parent 781d525d72
commit 8c38107ff2
5 changed files with 86 additions and 0 deletions

View file

@ -0,0 +1,34 @@
package merch
import "github.com/gin-gonic/gin"
type controller struct {
service *service
}
func newController(s *service) *controller {
return &controller{
service: s,
}
}
func (h *Handler) RegisterRoutes(r *gin.RouterGroup) {
merchGroup := r.Group("/merch")
merchGroup.POST("/create", h.controller.create)
merchGroup.GET("/:id", h.controller.getOne)
merchGroup.GET("/list", h.controller.getMany)
merchGroup.PUT("/update", h.controller.update)
merchGroup.DELETE("/delete", h.controller.delete)
}
func (co *controller) create(c *gin.Context) {}
func (co *controller) getOne(c *gin.Context) {}
func (co *controller) getMany(c *gin.Context) {}
func (co *controller) update(c *gin.Context) {}
func (co *controller) delete(c *gin.Context) {}

25
internal/merch/handler.go Normal file
View file

@ -0,0 +1,25 @@
package merch
import (
"database/sql"
"github.com/gin-gonic/gin"
)
type Handler struct {
controller *controller
}
type Deps struct {
DB *sql.DB
Group *gin.RouterGroup
}
func New(db *sql.DB) *Handler {
r := newRepo(db)
s := newService(r)
c := newController(s)
return &Handler{
controller: c,
}
}

1
internal/merch/model.go Normal file
View file

@ -0,0 +1 @@
package merch

View file

@ -0,0 +1,15 @@
package merch
import "database/sql"
type Repository interface{}
type repo struct {
db *sql.DB
}
func newRepo(db *sql.DB) Repository {
return repo{
db: db,
}
}

11
internal/merch/service.go Normal file
View file

@ -0,0 +1,11 @@
package merch
type service struct {
repo Repository
}
func newService(repo Repository) *service {
return &service{
repo: repo,
}
}