21
0
Fork 0
goext/pagination/filter.go

29 lines
514 B
Go

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