in src/task.rb [124:161]
def self.list_tasks(next_token:,max_items:)
qbuilder = build_query.on_index(:reverse).
key_expr(":table_name = ?", "TASK").
scan_ascending(false).
limit(max_items)
if next_token
esk = PaginationToken.unwrap(next_token)
if esk.nil?
return [
nil,
InvalidInputException.new("Invalid or expired pagination token.")
]
end
qbuilder.exclusive_start_key(esk)
end
query = qbuilder.complete!
results = query.page
next_token = nil
if lek = query.last_evaluated_key
next_token = PaginationToken.generate(lek)
if next_token.nil?
puts "[ERROR] Unable to generate pagination token from last evaluated key #{lek.to_json}"
return [
nil,
ServerError.new
]
end
end
return [
{
tasks: results,
next_token: next_token
},
nil
]
end