reposetory.go
1.1 KB
package factory
import (
"github.com/linmadan/egglib-go/core/application"
"github.com/linmadan/egglib-go/transaction/pg"
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain"
pgDB "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/infrastructure/pg"
"gitlab.fjmaimaimai.com/allied-creation/performance/pkg/infrastructure/repository"
)
func CreateTransactionContext(options map[string]interface{}) (application.TransactionContext, error) {
return pg.NewPGTransactionContext(pgDB.DB), nil
}
func CreateCompanyRepository(options map[string]interface{}) domain.CompanyRepository {
var transactionContext *pg.TransactionContext
if value, ok := options["transactionContext"]; ok {
transactionContext = value.(*pg.TransactionContext)
}
return repository.NewCompanyRepository(transactionContext)
}
func CreateUserRepository(options map[string]interface{}) domain.UserRepository {
var transactionContext *pg.TransactionContext
if value, ok := options["transactionContext"]; ok {
transactionContext = value.(*pg.TransactionContext)
}
return repository.NewUserRepository(transactionContext)
}