mirror of
https://github.com/Floriansylvain/RenewCMS.git
synced 2026-08-19 11:43:22 +02:00
42 lines
831 B
Go
42 lines
831 B
Go
package api
|
|
|
|
import (
|
|
. "GohCMS2/useCases"
|
|
"go.uber.org/dig"
|
|
)
|
|
|
|
type Container struct {
|
|
CreateArticleUseCase *CreateArticleUseCase
|
|
GetArticleUseCase *GetArticleUseCase
|
|
ListArticlesUseCase *ListArticlesUseCase
|
|
}
|
|
|
|
var container *Container
|
|
|
|
func createContainer(
|
|
createArticle *CreateArticleUseCase,
|
|
getArticle *GetArticleUseCase,
|
|
listArticle *ListArticlesUseCase,
|
|
) *Container {
|
|
container = &Container{
|
|
CreateArticleUseCase: createArticle,
|
|
GetArticleUseCase: getArticle,
|
|
ListArticlesUseCase: listArticle,
|
|
}
|
|
return container
|
|
}
|
|
|
|
func InitContainer() {
|
|
if container != nil {
|
|
return
|
|
}
|
|
|
|
digContainer := dig.New()
|
|
|
|
_ = digContainer.Provide(NewCreateArticleUseCase)
|
|
_ = digContainer.Provide(NewGetArticleUseCase)
|
|
_ = digContainer.Provide(NewListArticlesUseCase)
|
|
|
|
_ = digContainer.Invoke(createContainer)
|
|
}
|