Files
qvyun/backend/app/http/posts/provider.gen.go
2025-01-15 20:31:21 +08:00

75 lines
1.4 KiB
Go
Executable File

package posts
import (
"database/sql"
"backend/app/http/medias"
"backend/app/http/tenants"
"backend/app/http/users"
"backend/providers/event"
"backend/providers/hashids"
"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(
event *event.PubSub,
hashId *hashids.Hasher,
mediaSvc *medias.Service,
svc *Service,
tenantSvc *tenants.Service,
userSvc *users.Service,
) (*Controller, error) {
obj := &Controller{
event: event,
hashId: hashId,
mediaSvc: mediaSvc,
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(
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,
hashIds *hashids.Hasher,
) (*Service, error) {
obj := &Service{
db: db,
hashIds: hashIds,
}
if err := obj.Prepare(); err != nil {
return nil, err
}
return obj, nil
}); err != nil {
return err
}
return nil
}