View Issue Details

IDProjectCategoryView StatusLast Update
0007949Talerspecificationpublic2025-07-03 17:28
Reportersebasjm Assigned ToChristian Grothoff  
PrioritynormalSeverityfeatureReproducibilityalways
Status resolvedResolutionfixed 
Product Versiongit (master) 
Target Version1.0 stretch goalsFixed in Version1.0 stretch goals 
Summary0007949: unified set of parameters for endpoint with pagination
Descriptioncurrent state:

delta and start
https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCE]-private-orders

limit and offset
https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCE]-private-transfers
https://docs.taler.net/core/api-merchant.html#get-[-instances-$INSTANCE]-private-rewards

proposal:

if we want the result to be paginated it will be enough to have
 * offset: id of the element in the list ( equals product_id in products or order_id in orders)
 * limit: max number of elements in the list

if we need the result to be ordered by some criteria defined by the client (other than the default)
 * order: criteria name in increasing order, a hyphen symbol at the start indicate decreasing

the criteria for witch the order is possible should be explicitly indicated in the endpoint documentation (since it will match some index in the db), for example:
 - creation_time
 - last_update_time
 - execution_time

Additional parameters are considered filters and every filter has its own semantic.
Like "before", "after" in transfers or "date_s" in orders.

modification to the current API
 1 names are always use offset and limit
 2 offset is always the row id or element id
 3 order is specified as a parameter, not in the limit parameter as a hyphen

This will also allow the SPA client to have sorting columns in the table UI in the future.
TagsNo tags attached.

Relationships

related to 0007948 confirmed add pagination API for inventory management 

Activities

Christian Grothoff

2025-07-03 17:09

manager   ~0025403

We will keep the minus ("-") for in the "limit" to indicate going backwards, that's IMO still nice and already uniform.
The /private/orders endpoint already supports the new offset/limit style.
However, *bank* APIs still use those, so that still needs to be fixed.

Christian Grothoff

2025-07-03 17:28

manager   ~0025405

Bank code is now also unified in e28159fc7..316caf603

Issue History

Date Modified Username Field Change
2023-10-05 14:47 sebasjm New Issue
2023-10-05 14:47 sebasjm Status new => assigned
2023-10-05 14:47 sebasjm Assigned To => Christian Grothoff
2023-10-05 16:43 Christian Grothoff Assigned To Christian Grothoff =>
2023-10-05 16:43 Christian Grothoff Status assigned => confirmed
2024-01-12 14:02 Christian Grothoff Category merchant backend API (HTTP specification) => specification
2024-12-07 23:15 Christian Grothoff Relationship added related to 0007948
2024-12-07 23:15 Christian Grothoff Product Version post-1.0 => git (master)
2024-12-07 23:15 Christian Grothoff Target Version post-1.0 => 1.3
2025-07-03 15:17 Christian Grothoff Assigned To => Christian Grothoff
2025-07-03 15:17 Christian Grothoff Status confirmed => assigned
2025-07-03 17:09 Christian Grothoff Note Added: 0025403
2025-07-03 17:27 Christian Grothoff Status assigned => resolved
2025-07-03 17:27 Christian Grothoff Resolution open => fixed
2025-07-03 17:27 Christian Grothoff Fixed in Version => 1.0 stretch goals
2025-07-03 17:27 Christian Grothoff Target Version 1.3 => 1.0 stretch goals
2025-07-03 17:28 Christian Grothoff Note Added: 0025405