repository.go 3.7 KB
package factory

import (
	"github.com/linmadan/egglib-go/transaction/pg"
	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain"
	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/repository"
)

func CreateCooperationModeRepository(options map[string]interface{}) (domain.CooperationModeRepository, error) {
	var transactionContext *pg.TransactionContext
	if value, ok := options["transactionContext"]; ok {
		transactionContext = value.(*pg.TransactionContext)
	}
	return repository.NewCooperationModeRepository(transactionContext)
}

func CreateCooperationProjectRepository(options map[string]interface{}) (domain.CooperationProjectRepository, error) {
	var transactionContext *pg.TransactionContext
	if value, ok := options["transactionContext"]; ok {
		transactionContext = value.(*pg.TransactionContext)
	}
	return repository.NewCooperationProjectRepository(transactionContext)
}

func CreateCooperationContractRepository(options map[string]interface{}) (domain.CooperationContractRepository, error) {
	var transactionContext *pg.TransactionContext
	if value, ok := options["transactionContext"]; ok {
		transactionContext = value.(*pg.TransactionContext)
	}
	return repository.NewCooperationContractRepository(transactionContext)
}

func CreateCooperationApplicationRepository(options map[string]interface{}) (domain.CooperationApplicationRepository, error) {
	var transactionContext *pg.TransactionContext
	if value, ok := options["transactionContext"]; ok {
		transactionContext = value.(*pg.TransactionContext)
	}
	return repository.NewCooperationApplicationRepository(transactionContext)
}

func CreateContractUndertakerFeedbackRepository(options map[string]interface{}) (domain.ContractUndertakerFeedbackRepository, error) {
	var transactionContext *pg.TransactionContext
	if value, ok := options["transactionContext"]; ok {
		transactionContext = value.(*pg.TransactionContext)
	}
	return repository.NewContractUndertakerFeedbackRepository(transactionContext)
}

func CreateDividendsEstimateRepository(options map[string]interface{}) (domain.DividendsEstimateRepository, error) {
	var transactionContext *pg.TransactionContext
	if value, ok := options["transactionContext"]; ok {
		transactionContext = value.(*pg.TransactionContext)
	}
	return repository.NewDividendsEstimateRepository(transactionContext)
}

func CreateDividendsIncentivesRuleRepository(options map[string]interface{}) (domain.DividendsIncentivesRuleRepository, error) {
	var transactionContext *pg.TransactionContext
	if value, ok := options["transactionContext"]; ok {
		transactionContext = value.(*pg.TransactionContext)
	}
	return repository.NewDividendsIncentivesRuleRepository(transactionContext)
}

func CreateMoneyIncentivesRuleRepository(options map[string]interface{}) (domain.MoneyIncentivesRuleRepository, error) {
	var transactionContext *pg.TransactionContext
	if value, ok := options["transactionContext"]; ok {
		transactionContext = value.(*pg.TransactionContext)
	}
	return repository.NewMoneyIncentivesRuleRepository(transactionContext)
}

func CreateCooperationContractChangeLogRepository(options map[string]interface{}) (domain.CooperationContractChangeLogRepository, error) {
	var transactionContext *pg.TransactionContext
	if value, ok := options["transactionContext"]; ok {
		transactionContext = value.(*pg.TransactionContext)
	}
	return repository.NewCooperationContractChangeLogRepository(transactionContext)
}

func CreateCreditAccountRepository(options map[string]interface{}) (domain.CreditAccountRepository, error) {
	var transactionContext *pg.TransactionContext
	if value, ok := options["transactionContext"]; ok {
		transactionContext = value.(*pg.TransactionContext)
	}
	return repository.NewCreditAccountRepository(transactionContext)
}