Files
quyun/backend/app/models/provider.gen.go

65 lines
1.2 KiB
Go
Executable File

package models
import (
"database/sql"
"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() (*mediasModel, error) {
obj := &mediasModel{}
if err := obj.Prepare(); err != nil {
return nil, err
}
return obj, nil
}); err != nil {
return err
}
if err := container.Container.Provide(func(
db *sql.DB,
medias *mediasModel,
posts *postsModel,
users *usersModel,
) (contracts.Initial, error) {
obj := &models{
db: db,
medias: medias,
posts: posts,
users: users,
}
if err := obj.Prepare(); err != nil {
return nil, err
}
return obj, nil
}, atom.GroupInitial); err != nil {
return err
}
if err := container.Container.Provide(func() (*postsModel, error) {
obj := &postsModel{}
if err := obj.Prepare(); err != nil {
return nil, err
}
return obj, nil
}); err != nil {
return err
}
if err := container.Container.Provide(func() (*usersModel, error) {
obj := &usersModel{}
if err := obj.Prepare(); err != nil {
return nil, err
}
return obj, nil
}); err != nil {
return err
}
return nil
}