PostgresSyncClientRepository
Repository for managing sync clients in PostgreSQL. Implements spec Section 13 (Tombstone Retention) client tracking.
public static class PostgresSyncClientRepository
Methods
GetAll(NpgsqlConnection)
public static Result<IReadOnlyList<SyncClient>, SyncError> GetAll(NpgsqlConnection connection)
Gets all sync clients from _sync_clients table.
Parameters:
| Name | Type | Description |
|---|---|---|
connection |
NpgsqlConnection |
PostgreSQL connection. |
Returns: SyncError> - List of sync clients or database error.
GetByOrigin(NpgsqlConnection, string)
public static Result<SyncClient?, SyncError> GetByOrigin(NpgsqlConnection connection, string originId)
Gets a sync client by origin ID.
Parameters:
| Name | Type | Description |
|---|---|---|
connection |
NpgsqlConnection |
PostgreSQL connection. |
originId |
String |
Origin ID to look up. |
Returns: SyncError> - Sync client if found, null if not found, or database error.
Upsert(NpgsqlConnection, SyncClient)
public static Result<bool, SyncError> Upsert(NpgsqlConnection connection, SyncClient client)
Upserts a sync client record.
Parameters:
| Name | Type | Description |
|---|---|---|
connection |
NpgsqlConnection |
PostgreSQL connection. |
client |
SyncClient |
Client to upsert. |
Returns: SyncError> - Success or database error.
Delete(NpgsqlConnection, string)
public static Result<bool, SyncError> Delete(NpgsqlConnection connection, string originId)
Deletes a sync client by origin ID.
Parameters:
| Name | Type | Description |
|---|---|---|
connection |
NpgsqlConnection |
PostgreSQL connection. |
originId |
String |
Origin ID to delete. |
Returns: SyncError> - Success or database error.
GetMinVersion(NpgsqlConnection)
public static Result<long, SyncError> GetMinVersion(NpgsqlConnection connection)
Gets the minimum sync version across all clients.
Parameters:
| Name | Type | Description |
|---|---|---|
connection |
NpgsqlConnection |
PostgreSQL connection. |
Returns: SyncError> - Minimum version or 0 if no clients.