various: markdown improvements
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I81fda8247814da19eed1e76dbe97bd5b6a6a6964
This commit is contained in:
parent
875bdf5ebc
commit
80a8b5c7ca
23 changed files with 3373 additions and 24 deletions
|
|
@ -789,6 +789,45 @@ pub trait StorageBackend: Send + Sync + 'static {
|
|||
|
||||
/// Count items in trash.
|
||||
async fn count_trash(&self) -> Result<u64>;
|
||||
|
||||
// ===== Markdown Links (Obsidian-style) =====
|
||||
|
||||
/// Save extracted markdown links for a media item.
|
||||
/// This replaces any existing links for the source media.
|
||||
async fn save_markdown_links(
|
||||
&self,
|
||||
media_id: MediaId,
|
||||
links: &[crate::model::MarkdownLink],
|
||||
) -> Result<()>;
|
||||
|
||||
/// Get outgoing links from a media item.
|
||||
async fn get_outgoing_links(&self, media_id: MediaId) -> Result<Vec<crate::model::MarkdownLink>>;
|
||||
|
||||
/// Get backlinks (incoming links) to a media item.
|
||||
async fn get_backlinks(&self, media_id: MediaId) -> Result<Vec<crate::model::BacklinkInfo>>;
|
||||
|
||||
/// Clear all links for a media item.
|
||||
async fn clear_links_for_media(&self, media_id: MediaId) -> Result<()>;
|
||||
|
||||
/// Get graph data for visualization.
|
||||
///
|
||||
/// If `center_id` is provided, returns nodes within `depth` hops of that node.
|
||||
/// If `center_id` is None, returns the entire graph (limited by internal max).
|
||||
async fn get_graph_data(
|
||||
&self,
|
||||
center_id: Option<MediaId>,
|
||||
depth: u32,
|
||||
) -> Result<crate::model::GraphData>;
|
||||
|
||||
/// Resolve unresolved links by matching target_path against media item paths.
|
||||
/// Returns the number of links that were resolved.
|
||||
async fn resolve_links(&self) -> Result<u64>;
|
||||
|
||||
/// Update the links_extracted_at timestamp for a media item.
|
||||
async fn mark_links_extracted(&self, media_id: MediaId) -> Result<()>;
|
||||
|
||||
/// Get count of unresolved links (links where target_media_id is NULL).
|
||||
async fn count_unresolved_links(&self) -> Result<u64>;
|
||||
}
|
||||
|
||||
/// Comprehensive library statistics.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue