package helpers import ( "context" "time" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" "gitea.pena/PenaSide/treasurer/internal/models" mongopkg "gitea.pena/PenaSide/treasurer/pkg/mongo" ) type MongoHelper struct { collection *mongo.Collection } func NewMongoHelper(ctx context.Context, config *mongopkg.Configuration) (*MongoHelper, error) { database, err := mongopkg.Connect(ctx, &mongopkg.ConnectDeps{ Configuration: config, Timeout: 10 * time.Second, }) if err != nil { return nil, err } return &MongoHelper{collection: database.Collection("payments")}, nil } func (receiver *MongoHelper) GetPayments(ctx context.Context) ([]models.Payment, error) { return mongopkg.Find[models.Payment](ctx, &mongopkg.RequestSettings{ Driver: receiver.collection, Filter: bson.M{}, }) } func (receiver *MongoHelper) Clear(ctx context.Context) error { if _, err := receiver.collection.DeleteMany(ctx, bson.M{}); err != nil { return err } return nil }