20 lines
448 B
Go
20 lines
448 B
Go
package repository
|
|
|
|
import (
|
|
"github.com/tech/sendico/pkg/db/repository/builder"
|
|
"github.com/tech/sendico/pkg/model"
|
|
)
|
|
|
|
// ApplyCursor adds pagination and archival filters to the provided query.
|
|
func ApplyCursor(query builder.Query, cursor *model.ViewCursor) builder.Query {
|
|
if cursor == nil {
|
|
return query
|
|
}
|
|
|
|
query = query.Limit(cursor.Limit)
|
|
query = query.Offset(cursor.Offset)
|
|
query = query.Archived(cursor.IsArchived)
|
|
|
|
return query
|
|
}
|