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 }