treasurer/internal/initialize/repositories.go

36 lines
963 B
Go
Raw Normal View History

2023-06-13 13:22:51 +00:00
package initialize
import (
"gitea.pena/PenaSide/treasurer/internal/errors"
"gitea.pena/PenaSide/treasurer/internal/repository"
2023-06-13 13:22:51 +00:00
"go.mongodb.org/mongo-driver/mongo"
"go.uber.org/zap"
)
type RepositoriesDeps struct {
Logger *zap.Logger
Database *mongo.Database
}
type Repositories struct {
2025-06-14 05:59:36 +00:00
Payment *repository.PaymentRepository
PaymentMethod *repository.PaymentMethodRepository
2023-06-13 13:22:51 +00:00
}
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
}
2025-06-14 05:59:36 +00:00
paymentMethod := repository.NewPaymentMethodRepository(repository.PaymentMethodRepositoryDeps{
Logger: deps.Logger,
Collection: deps.Database.Collection("payment_methods"),
})
return &Repositories{Payment: paymentRepository, PaymentMethod: paymentMethod}, nil
2023-06-13 13:22:51 +00:00
}