package pagination import ( "context" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" ) type MongoFilter interface { FilterQuery(ctx context.Context) mongo.Pipeline Sort(ctx context.Context) bson.D } type dynamicFilter struct { pipeline mongo.Pipeline sort bson.D } func (d dynamicFilter) FilterQuery(ctx context.Context) mongo.Pipeline { return d.pipeline } func (d dynamicFilter) Sort(ctx context.Context) bson.D { return d.sort } func CreateFilter(pipeline mongo.Pipeline, sort bson.D) MongoFilter { return dynamicFilter{pipeline: pipeline, sort: sort} }