generated from PenaSide/GolangTemplate
38 lines
1.1 KiB
Go
38 lines
1.1 KiB
Go
![]() |
package initialize
|
||
|
|
||
|
import (
|
||
|
"go.mongodb.org/mongo-driver/mongo"
|
||
|
"go.uber.org/zap"
|
||
|
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/interface/repository"
|
||
|
)
|
||
|
|
||
|
type RepositoriesDeps struct {
|
||
|
Logger *zap.Logger
|
||
|
MongoDB *mongo.Database
|
||
|
}
|
||
|
|
||
|
type Repositories struct {
|
||
|
HealthRepository *repository.HealthRepository
|
||
|
AccountRepository *repository.AccountRepository
|
||
|
CurrencyRepository *repository.CurrencyRepository
|
||
|
HistoryRepository *repository.HistoryRepository
|
||
|
}
|
||
|
|
||
|
func NewRepositories(deps RepositoriesDeps) *Repositories {
|
||
|
return &Repositories{
|
||
|
HealthRepository: repository.NewHealthRepository(deps.MongoDB),
|
||
|
AccountRepository: repository.NewAccountRepository(repository.AccountRepositoryDeps{
|
||
|
Logger: deps.Logger,
|
||
|
MongoDB: deps.MongoDB.Collection("accounts"),
|
||
|
}),
|
||
|
CurrencyRepository: repository.NewCurrencyRepository(repository.CurrencyRepositoryDeps{
|
||
|
Logger: deps.Logger,
|
||
|
MongoDB: deps.MongoDB.Collection("currency_lists"),
|
||
|
}),
|
||
|
HistoryRepository: repository.NewHistoryRepository(repository.HistoryRepositoryDeps{
|
||
|
Logger: deps.Logger,
|
||
|
MongoDB: deps.MongoDB.Collection("histories"),
|
||
|
}),
|
||
|
}
|
||
|
}
|