Files
qvyun/backend/app/http/medias/provider.gen.go
2025-01-15 10:43:16 +08:00

64 lines
1.2 KiB
Go
Executable File

package medias
import (
"database/sql"
"backend/app/http/storages"
"backend/app/http/tenants"
"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(
storageSvc *storages.Service,
svc *Service,
tenantSvc *tenants.Service,
) (*Controller, error) {
obj := &Controller{
storageSvc: storageSvc,
svc: svc,
tenantSvc: tenantSvc,
}
if err := obj.Prepare(); err != nil {
return nil, err
}
return obj, nil
}); err != nil {
return err
}
if err := container.Container.Provide(func(
controller *Controller,
) (contracts.HttpRoute, error) {
obj := &Routes{
controller: controller,
}
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
}