treasurer/internal/initialize/repositories.go

30 lines
739 B
Go
Raw Normal View History

2023-06-13 13:22:51 +00:00
package initialize
import (
"go.mongodb.org/mongo-driver/mongo"
"go.uber.org/zap"
"penahub.gitlab.yandexcloud.net/external/treasurer/internal/errors"
"penahub.gitlab.yandexcloud.net/external/treasurer/internal/interface/repository"
)
type RepositoriesDeps struct {
Logger *zap.Logger
Database *mongo.Database
}
type Repositories struct {
Payment *repository.PaymentRepository
}
func NewRepositories(deps RepositoriesDeps) (*Repositories, errors.Error) {
paymentRepository, err := repository.NewPaymentRepository(repository.PaymentRepositoryDeps{
Logger: deps.Logger,
Collection: deps.Database.Collection("payments"),
})
if err != nil {
return nil, err
}
return &Repositories{Payment: paymentRepository}, nil
}