Files
sxchnge/backend/shared/database/repository/cursor.go

20 lines
486 B
Go

package repository
import (
"git.sendico.io/tech/sxchnge/shared/database/repository/builder"
sharedmodel "git.sendico.io/tech/sxchnge/shared/model"
)
// ApplyCursor adds pagination and archival filters to the provided query.
func ApplyCursor(query builder.Query, cursor *sharedmodel.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
}