]> uap-core.de Git - note.git/commitdiff
add get_attachment_content main
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Sat, 5 Sep 2026 08:06:18 +0000 (10:06 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Sat, 5 Sep 2026 08:06:18 +0000 (10:06 +0200)
application/backend/src/backend.rs

index f3646e8ad6d2d29f5c6c29b6dc31cbec37deef5c..9dd0eb25dd2201cc41e54376cf4c8b8832310831 100644 (file)
@@ -948,6 +948,21 @@ impl BackendHandle {
         let _ = self.tx.send(cmd);
     }
 
+    pub fn get_attachment_content<F>(&self, attachment_id: i32, callback: F)
+    where F: FnOnce(Result<entity::attachmentcontent::Model, DbErr>) + Send + 'static {
+        let backend = self.backend.clone();
+        let cmd = Box::pin(async move {
+            let result = async {
+                attachmentcontent::Entity::find_by_id(attachment_id)
+                    .one(&backend.db)
+                    .await?
+                    .ok_or(DbErr::RecordNotFound(format!("attachment {} not found", attachment_id)))
+            }.await;
+            callback(result);
+        });
+        let _ = self.tx.send(cmd);
+    }
+
     pub fn open_extern<F>(&self, note_id: i32, callback: F)
     where F: FnOnce(OpenExternResult) + Send + 'static {
         let backend = self.backend.clone();