diff --git a/docs/api/routes/pos/init.md b/docs/api/routes/pos/init.md index 62ee4cc..a6cdc1e 100644 --- a/docs/api/routes/pos/init.md +++ b/docs/api/routes/pos/init.md @@ -4,20 +4,21 @@ Protected. Requires a valid session cookie (`credentials: 'include'`). POS sync initialization counts -Returns entity change counts since the provided `lastChanged*` unix timestamp cursors -for the authenticated POS terminal (`Authorization: Bearer `). +Returns entity change counts since the provided `lastChanged*` sync queue ID cursors +(`posterminalsyncqueue.id` / `posterminalobituary.id`) for the authenticated POS terminal +(`Authorization: Bearer `). ## Query parameters | Param | Required | Type | Description | |-------|----------|------|-------------| -| `lastChangedProduct` | no | integer | Unix timestamp of last synced product update | -| `lastChangedCategory` | no | integer | Unix timestamp of last synced category update | -| `lastChangedCustomer` | no | integer | Unix timestamp of last synced customer update | -| `lastChangedCustomerGroup` | no | integer | Unix timestamp of last synced customer group update | -| `lastChangedCompositeProduct` | no | integer | Unix timestamp of last synced composite product update | -| `lastChangedDeletedEntity` | no | integer | Unix timestamp of last synced deleted entity | +| `lastChangedProduct` | no | integer | Sequential ID cursor of last synced product entry (`posterminalsyncqueue.id`) | +| `lastChangedCategory` | no | integer | Sequential ID cursor of last synced category entry (`posterminalsyncqueue.id`) | +| `lastChangedCustomer` | no | integer | Sequential ID cursor of last synced customer entry (`posterminalsyncqueue.id`) | +| `lastChangedCustomerGroup` | no | integer | Sequential ID cursor of last synced customer group entry (`posterminalsyncqueue.id`) | +| `lastChangedCompositeProduct` | no | integer | Sequential ID cursor of last synced composite product entry (`posterminalsyncqueue.id`) | +| `lastChangedDeletedEntity` | no | integer | Sequential ID cursor of last synced deleted entity (`posterminalobituary.id`) | ## Response `200` diff --git a/docs/api/routes/v1/category.md b/docs/api/routes/v1/category.md index b67e2f5..218fea0 100644 --- a/docs/api/routes/v1/category.md +++ b/docs/api/routes/v1/category.md @@ -10,7 +10,7 @@ Returns category hierarchy modified after lastChangedCategory cursor for the aut | Param | Required | Type | Description | |-------|----------|------|-------------| -| `lastChangedCategory` | no | string | Unix timestamp cursor of last category sync | +| `lastChangedCategory` | no | string | Sequential ID cursor of last synced category entry (`posterminalsyncqueue.id`) | | `limit` | no | integer | Maximum number of categories to return | ## Response `200` diff --git a/docs/api/routes/v1/customer.md b/docs/api/routes/v1/customer.md index bbaf39c..df4d662 100644 --- a/docs/api/routes/v1/customer.md +++ b/docs/api/routes/v1/customer.md @@ -10,7 +10,7 @@ Returns customer list modified after lastChangedCustomer cursor for the authenti | Param | Required | Type | Description | |-------|----------|------|-------------| -| `lastChangedCustomer` | no | string | Unix timestamp cursor of last customer sync | +| `lastChangedCustomer` | no | string | Sequential ID cursor of last synced customer entry (`posterminalsyncqueue.id`) | | `limit` | no | integer | Maximum number of customers to return | ## Response `200` diff --git a/docs/api/routes/v1/customergroup.md b/docs/api/routes/v1/customergroup.md index bd110f7..59d7152 100644 --- a/docs/api/routes/v1/customergroup.md +++ b/docs/api/routes/v1/customergroup.md @@ -10,7 +10,7 @@ Returns customer groups modified after lastChangedCustomerGroup cursor for the a | Param | Required | Type | Description | |-------|----------|------|-------------| -| `lastChangedCustomerGroup` | no | string | Unix timestamp cursor of last customer group sync | +| `lastChangedCustomerGroup` | no | string | Sequential ID cursor of last synced customer group entry (`posterminalsyncqueue.id`) | | `limit` | no | integer | Maximum number of customer groups to return | ## Response `200` @@ -24,7 +24,7 @@ Array of customer group objects for JTL-POS "name": "Endkunden", "standard": "1", "discountPercent": "0.000000", - "lastChanged": "1721000000" + "lastChanged": "12" } ] ``` diff --git a/docs/api/routes/v1/product.md b/docs/api/routes/v1/product.md index f352533..bd4204d 100644 --- a/docs/api/routes/v1/product.md +++ b/docs/api/routes/v1/product.md @@ -10,7 +10,7 @@ Returns product catalog with prices, stock, variants, and image hashes modified | Param | Required | Type | Description | |-------|----------|------|-------------| -| `lastChangedProduct` | no | string | Unix timestamp cursor of last product sync | +| `lastChangedProduct` | no | string | Sequential ID cursor of last synced product entry (`posterminalsyncqueue.id`) | | `limit` | no | integer | Maximum number of products to return | ## Response `200` diff --git a/src/v1/routes/category.js b/src/v1/routes/category.js index 8730d8a..a2459d2 100644 --- a/src/v1/routes/category.js +++ b/src/v1/routes/category.js @@ -21,7 +21,7 @@ function formatServerTimestamp() { * name: lastChangedCategory * schema: * type: string - * description: Unix timestamp cursor of last category sync + * description: Sequential ID cursor of last synced category entry (`posterminalsyncqueue.id`) * - in: query * name: limit * schema: diff --git a/src/v1/routes/customer.js b/src/v1/routes/customer.js index e24e4f3..30ff87c 100644 --- a/src/v1/routes/customer.js +++ b/src/v1/routes/customer.js @@ -15,7 +15,7 @@ import { getCustomerList } from '../../db/posterminal.js'; * name: lastChangedCustomer * schema: * type: string - * description: Unix timestamp cursor of last customer sync + * description: Sequential ID cursor of last synced customer entry (`posterminalsyncqueue.id`) * - in: query * name: limit * schema: diff --git a/src/v1/routes/customergroup.js b/src/v1/routes/customergroup.js index dbf7ad6..d0e142d 100644 --- a/src/v1/routes/customergroup.js +++ b/src/v1/routes/customergroup.js @@ -15,7 +15,7 @@ import { getCustomerGroupList } from '../../db/posterminal.js'; * name: lastChangedCustomerGroup * schema: * type: string - * description: Unix timestamp cursor of last customer group sync + * description: Sequential ID cursor of last synced customer group entry (`posterminalsyncqueue.id`) * - in: query * name: limit * schema: @@ -46,7 +46,7 @@ import { getCustomerGroupList } from '../../db/posterminal.js'; * example: "0.000000" * lastChanged: * type: string - * example: "1721000000" + * example: "12" * 401: * description: Unauthorized */ diff --git a/src/v1/routes/init.js b/src/v1/routes/init.js index 94b90c3..0d2e01f 100644 --- a/src/v1/routes/init.js +++ b/src/v1/routes/init.js @@ -7,8 +7,9 @@ import * as db from '../../db/posterminal.js'; * tags: [POS] * summary: POS sync initialization counts * description: | - * Returns entity change counts since the provided `lastChanged*` unix timestamp cursors - * for the authenticated POS terminal (`Authorization: Bearer `). + * Returns entity change counts since the provided `lastChanged*` sync queue ID cursors + * (`posterminalsyncqueue.id` / `posterminalobituary.id`) for the authenticated POS terminal + * (`Authorization: Bearer `). * x-markdown: pos/init.md * parameters: * - in: header @@ -24,7 +25,7 @@ import * as db from '../../db/posterminal.js'; * schema: * type: integer * default: 0 - * description: Unix timestamp of last synced product update + * description: Sequential ID cursor of last synced product entry (`posterminalsyncqueue.id`) * example: 0 * - in: query * name: lastChangedCategory @@ -32,7 +33,7 @@ import * as db from '../../db/posterminal.js'; * schema: * type: integer * default: 0 - * description: Unix timestamp of last synced category update + * description: Sequential ID cursor of last synced category entry (`posterminalsyncqueue.id`) * example: 0 * - in: query * name: lastChangedCustomer @@ -40,7 +41,7 @@ import * as db from '../../db/posterminal.js'; * schema: * type: integer * default: 0 - * description: Unix timestamp of last synced customer update + * description: Sequential ID cursor of last synced customer entry (`posterminalsyncqueue.id`) * example: 0 * - in: query * name: lastChangedCustomerGroup @@ -48,7 +49,7 @@ import * as db from '../../db/posterminal.js'; * schema: * type: integer * default: 0 - * description: Unix timestamp of last synced customer group update + * description: Sequential ID cursor of last synced customer group entry (`posterminalsyncqueue.id`) * example: 0 * - in: query * name: lastChangedCompositeProduct @@ -56,7 +57,7 @@ import * as db from '../../db/posterminal.js'; * schema: * type: integer * default: 0 - * description: Unix timestamp of last synced composite product update + * description: Sequential ID cursor of last synced composite product entry (`posterminalsyncqueue.id`) * example: 0 * - in: query * name: lastChangedDeletedEntity @@ -64,7 +65,7 @@ import * as db from '../../db/posterminal.js'; * schema: * type: integer * default: 0 - * description: Unix timestamp of last synced deleted entity + * description: Sequential ID cursor of last synced deleted entity (`posterminalobituary.id`) * example: 0 * responses: * 200: diff --git a/src/v1/routes/product.js b/src/v1/routes/product.js index f37d56d..75161be 100644 --- a/src/v1/routes/product.js +++ b/src/v1/routes/product.js @@ -61,7 +61,7 @@ const STATIC_DEFAULTS = { * name: lastChangedProduct * schema: * type: string - * description: Unix timestamp cursor of last product sync + * description: Sequential ID cursor of last synced product entry (`posterminalsyncqueue.id`) * - in: query * name: limit * schema: