package services import ( provider_job "quyun/v2/providers/job" provider_jwt "quyun/v2/providers/jwt" "go.ipao.vip/atom" "go.ipao.vip/atom/container" "go.ipao.vip/atom/contracts" "go.ipao.vip/atom/opt" "gorm.io/gorm" ) func Provide(opts ...opt.Option) error { if err := container.Container.Provide(func() (*content, error) { obj := &content{} return obj, nil }); err != nil { return err } if err := container.Container.Provide(func( db *gorm.DB, ) (*ledger, error) { obj := &ledger{ db: db, } return obj, nil }); err != nil { return err } if err := container.Container.Provide(func( job *provider_job.Job, ) (*mediaAsset, error) { obj := &mediaAsset{ job: job, } return obj, nil }); err != nil { return err } if err := container.Container.Provide(func( jwt *provider_jwt.JWT, ) (*mediaDelivery, error) { obj := &mediaDelivery{ jwt: jwt, } return obj, nil }); err != nil { return err } if err := container.Container.Provide(func( db *gorm.DB, job *provider_job.Job, ledger *ledger, ) (*order, error) { obj := &order{ db: db, job: job, ledger: ledger, } return obj, nil }); err != nil { return err } if err := container.Container.Provide(func( content *content, db *gorm.DB, ledger *ledger, mediaAsset *mediaAsset, mediaDelivery *mediaDelivery, order *order, tenant *tenant, tenantJoin *tenantJoin, test *test, user *user, ) (contracts.Initial, error) { obj := &services{ content: content, db: db, ledger: ledger, mediaAsset: mediaAsset, mediaDelivery: mediaDelivery, order: order, tenant: tenant, tenantJoin: tenantJoin, test: test, user: user, } if err := obj.Prepare(); err != nil { return nil, err } return obj, nil }, atom.GroupInitial); err != nil { return err } if err := container.Container.Provide(func() (*tenant, error) { obj := &tenant{} return obj, nil }); err != nil { return err } if err := container.Container.Provide(func() (*tenantJoin, error) { obj := &tenantJoin{} return obj, nil }); err != nil { return err } if err := container.Container.Provide(func() (*test, error) { obj := &test{} return obj, nil }); err != nil { return err } if err := container.Container.Provide(func() (*user, error) { obj := &user{} return obj, nil }); err != nil { return err } return nil }