treasurer/internal/initialize/repositories.go
2024-12-16 16:47:40 +03:00

30 lines
699 B
Go

package initialize
import (
"go.mongodb.org/mongo-driver/mongo"
"go.uber.org/zap"
"gitea.pena/PenaSide/treasurer/internal/errors"
"gitea.pena/PenaSide/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
}