package v1 import ( "quyun/v2/app/middlewares" "go.ipao.vip/atom" "go.ipao.vip/atom/container" "go.ipao.vip/atom/contracts" "go.ipao.vip/atom/opt" ) func Provide(opts ...opt.Option) error { if err := container.Container.Provide(func() (*contents, error) { obj := &contents{} return obj, nil }); err != nil { return err } if err := container.Container.Provide(func() (*coupons, error) { obj := &coupons{} return obj, nil }); err != nil { return err } if err := container.Container.Provide(func() (*creators, error) { obj := &creators{} return obj, nil }); err != nil { return err } if err := container.Container.Provide(func() (*orders, error) { obj := &orders{} return obj, nil }); err != nil { return err } if err := container.Container.Provide(func() (*reports, error) { obj := &reports{} return obj, nil }); err != nil { return err } if err := container.Container.Provide(func( contents *contents, coupons *coupons, creators *creators, middlewares *middlewares.Middlewares, orders *orders, reports *reports, tenants *tenants, users *users, withdrawals *withdrawals, ) (contracts.HttpRoute, error) { obj := &Routes{ contents: contents, coupons: coupons, creators: creators, middlewares: middlewares, orders: orders, reports: reports, tenants: tenants, users: users, withdrawals: withdrawals, } if err := obj.Prepare(); err != nil { return nil, err } return obj, nil }, atom.GroupRoutes); err != nil { return err } if err := container.Container.Provide(func() (*tenants, error) { obj := &tenants{} return obj, nil }); err != nil { return err } if err := container.Container.Provide(func() (*users, error) { obj := &users{} return obj, nil }); err != nil { return err } if err := container.Container.Provide(func() (*withdrawals, error) { obj := &withdrawals{} return obj, nil }); err != nil { return err } return nil }