feat(S2-b): connect durable MQTT sync to capture workflow
This commit is contained in:
@@ -76,6 +76,23 @@ public sealed class AppDatabase
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<List<LoggedPoint>> GetUnsyncedPointsAsync()
|
||||
{
|
||||
var db = await Db;
|
||||
return await db.Table<LoggedPoint>()
|
||||
.Where(point => !point.Synced)
|
||||
.OrderBy(point => point.TimestampUtc)
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<LoggedPoint?> GetPointBySyncIdAsync(string syncPointId)
|
||||
{
|
||||
var db = await Db;
|
||||
return await db.Table<LoggedPoint>()
|
||||
.Where(point => point.SyncPointId == syncPointId)
|
||||
.FirstOrDefaultAsync();
|
||||
}
|
||||
|
||||
public async Task<int> GetPointCountAsync(int jobId)
|
||||
{
|
||||
var db = await Db;
|
||||
@@ -87,4 +104,27 @@ public sealed class AppDatabase
|
||||
var db = await Db;
|
||||
await db.DeleteAsync<LoggedPoint>(pointId);
|
||||
}
|
||||
|
||||
public async Task UpdatePointAsync(LoggedPoint point)
|
||||
{
|
||||
var db = await Db;
|
||||
await db.UpdateAsync(point);
|
||||
}
|
||||
|
||||
public async Task MarkPointSyncedAsync(string syncPointId)
|
||||
{
|
||||
var db = await Db;
|
||||
await db.ExecuteAsync(
|
||||
"UPDATE points SET Synced = 1, SyncError = NULL WHERE SyncPointId = ?",
|
||||
syncPointId);
|
||||
}
|
||||
|
||||
public async Task MarkPointSyncErrorAsync(string syncPointId, string reasonCode)
|
||||
{
|
||||
var db = await Db;
|
||||
await db.ExecuteAsync(
|
||||
"UPDATE points SET Synced = 0, SyncError = ? WHERE SyncPointId = ?",
|
||||
reasonCode,
|
||||
syncPointId);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user