Files
qvyun/backend/app/http/orders/provider.gen.go
2025-01-14 14:42:08 +08:00

92 lines
1.8 KiB
Go
Executable File

package orders
import (
"database/sql"
"backend/app/http/posts"
"backend/app/http/tenants"
"backend/app/http/users"
"backend/providers/pay"
"git.ipao.vip/rogeecn/atom"
"git.ipao.vip/rogeecn/atom/container"
"git.ipao.vip/rogeecn/atom/contracts"
"git.ipao.vip/rogeecn/atom/utils/opt"
)
func Provide(opts ...opt.Option) error {
if err := container.Container.Provide(func(
postSvc *posts.Service,
svc *Service,
tenantSvc *tenants.Service,
userSvc *users.Service,
) (*OrderController, error) {
obj := &OrderController{
postSvc: postSvc,
svc: svc,
tenantSvc: tenantSvc,
userSvc: userSvc,
}
if err := obj.Prepare(); err != nil {
return nil, err
}
return obj, nil
}); err != nil {
return err
}
if err := container.Container.Provide(func(
pay *pay.Client,
postSvc *posts.Service,
svc *Service,
tenantSvc *tenants.Service,
userSvc *users.Service,
) (*PayController, error) {
obj := &PayController{
pay: pay,
postSvc: postSvc,
svc: svc,
tenantSvc: tenantSvc,
userSvc: userSvc,
}
if err := obj.Prepare(); err != nil {
return nil, err
}
return obj, nil
}); err != nil {
return err
}
if err := container.Container.Provide(func(
orderController *OrderController,
payController *PayController,
) (contracts.HttpRoute, error) {
obj := &Routes{
orderController: orderController,
payController: payController,
}
if err := obj.Prepare(); err != nil {
return nil, err
}
return obj, nil
}, atom.GroupRoutes); err != nil {
return err
}
if err := container.Container.Provide(func(
db *sql.DB,
) (*Service, error) {
obj := &Service{
db: db,
}
if err := obj.Prepare(); err != nil {
return nil, err
}
return obj, nil
}); err != nil {
return err
}
return nil
}