From 72c2590571104b8d10e3f72d7a5b984d0b520c51 Mon Sep 17 00:00:00 2001 From: soryu Date: Tue, 23 Dec 2025 22:20:52 +0000 Subject: Add conflict notification and file update WS endpoint --- makima/src/db/models.rs | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'makima/src/db/models.rs') diff --git a/makima/src/db/models.rs b/makima/src/db/models.rs index 135ae75..8204b86 100644 --- a/makima/src/db/models.rs +++ b/makima/src/db/models.rs @@ -68,6 +68,8 @@ pub struct File { /// Structured body content (headings, paragraphs, charts) #[sqlx(json)] pub body: Vec, + /// Version number for optimistic locking + pub version: i32, pub created_at: DateTime, pub updated_at: DateTime, } @@ -100,6 +102,8 @@ pub struct UpdateFileRequest { pub summary: Option, /// Structured body content (optional) pub body: Option>, + /// Version for optimistic locking (required for updates from frontend) + pub version: Option, } /// Response for file list endpoint. @@ -120,6 +124,8 @@ pub struct FileSummary { pub transcript_count: usize, /// Duration derived from last transcript end time pub duration: Option, + /// Version number for optimistic locking + pub version: i32, pub created_at: DateTime, pub updated_at: DateTime, } @@ -137,6 +143,7 @@ impl From for FileSummary { description: file.description, transcript_count: file.transcript.len(), duration: if duration > 0.0 { Some(duration) } else { None }, + version: file.version, created_at: file.created_at, updated_at: file.updated_at, } -- cgit v1.2.3