Add sync conflict detection and resolution system

Implement conflict detection for concurrent reading progress updates from different devices. Adds conflict management endpoints for listing, viewing, and resolving conflicts.

- Add ConflictHandler with CRUD endpoints for conflict management
- Implement automatic conflict detection in KOReader progress updates
- Add WebSocket broadcast for real-time conflict notifications
- Add database query for listing user conflicts by status
- Add integration tests and Bruno API test collection
This commit is contained in:
2026-01-31 11:45:52 -05:00
parent 9b41b3ecb0
commit 2d2d643873
11 changed files with 1084 additions and 16 deletions
+33
View File
@@ -0,0 +1,33 @@
meta {
name: Delete Conflict
type: http
seq: 4
}
delete {
url: {{baseUrl}}/api/conflicts/{{conflict_id}}
body: none
auth: bearer
}
headers: {
Authorization: Bearer {{token}}
}
docs: {
Deletes a specific conflict record.
Path Parameters:
- conflict_id: UUID of the conflict to delete
Use this when:
- A conflict was created in error
- You want to dismiss a conflict without resolving it
- The conflict is no longer relevant
Response: 204 No Content on success
Note: This permanently removes the conflict record.
Consider resolving the conflict instead if you want to
maintain an audit trail of what happened.
}