2026-02-23 20:02:17 +03:00
|
|
|
package merch
|
|
|
|
|
|
|
|
|
|
import (
|
2026-03-04 17:02:11 +03:00
|
|
|
"github.com/jackc/pgx/v5/pgxpool"
|
2026-03-01 22:13:39 +03:00
|
|
|
"merch-api/pkg/utils"
|
2026-02-23 20:02:17 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type Handler struct {
|
|
|
|
|
controller *controller
|
2026-03-08 14:07:00 +03:00
|
|
|
*provider
|
2026-02-23 20:02:17 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Deps struct {
|
2026-03-13 20:21:52 +03:00
|
|
|
DB *pgxpool.Pool
|
|
|
|
|
Utils utils.Utils
|
2026-02-23 20:02:17 +03:00
|
|
|
}
|
|
|
|
|
|
2026-03-01 22:13:39 +03:00
|
|
|
func New(deps Deps) *Handler {
|
|
|
|
|
r := newRepo(deps.DB)
|
2026-03-13 20:21:52 +03:00
|
|
|
s := newService(r, deps.Utils)
|
2026-03-04 17:02:11 +03:00
|
|
|
c := newController(s, deps.Utils)
|
2026-03-08 16:42:37 +03:00
|
|
|
p := newProvider(s, deps.Utils)
|
2026-02-23 20:02:17 +03:00
|
|
|
|
|
|
|
|
return &Handler{
|
|
|
|
|
controller: c,
|
2026-03-08 14:07:00 +03:00
|
|
|
provider: p,
|
2026-02-23 20:02:17 +03:00
|
|
|
}
|
|
|
|
|
}
|