pub struct FileRepository<'a> { /* private fields */ }Expand description
Repository over the files table.
Implementations§
Source§impl<'a> FileRepository<'a>
impl<'a> FileRepository<'a>
pub fn new(catalog: &'a Catalog) -> Self
Sourcepub fn get_by_id(&self, id: &FileId) -> OrbokResult<Option<FileRecord>>
pub fn get_by_id(&self, id: &FileId) -> OrbokResult<Option<FileRecord>>
Fetch a file record by its primary key.
Sourcepub fn get_by_path_str(
&self,
display_path_tail: &str,
) -> OrbokResult<Option<FileRecord>>
pub fn get_by_path_str( &self, display_path_tail: &str, ) -> OrbokResult<Option<FileRecord>>
Find a file by the tail of its display_path (test convenience).
Sourcepub fn get_by_path(
&self,
source_id: &SourceId,
canonical_path: &str,
) -> OrbokResult<Option<FileRecord>>
pub fn get_by_path( &self, source_id: &SourceId, canonical_path: &str, ) -> OrbokResult<Option<FileRecord>>
Look up a file by its identity key (source, canonical path).
Sourcepub fn insert(&self, new: NewFile) -> OrbokResult<FileRecord>
pub fn insert(&self, new: NewFile) -> OrbokResult<FileRecord>
Insert a newly discovered file.
Sourcepub fn touch_seen(&self, id: &FileId) -> OrbokResult<()>
pub fn touch_seen(&self, id: &FileId) -> OrbokResult<()>
Touch a file confirmed unchanged by the metadata check.
Sourcepub fn update_observed(
&self,
id: &FileId,
metadata: &ObservedMetadata,
status: FileStatus,
) -> OrbokResult<()>
pub fn update_observed( &self, id: &FileId, metadata: &ObservedMetadata, status: FileStatus, ) -> OrbokResult<()>
Record changed on-disk metadata and the resulting status transition (RFC-004 §12 stale detection).
Sourcepub fn set_status(&self, id: &FileId, status: FileStatus) -> OrbokResult<()>
pub fn set_status(&self, id: &FileId, status: FileStatus) -> OrbokResult<()>
Set status only (e.g. permission_denied observed mid-scan).
Sourcepub fn mark_missing_unseen(
&self,
source_id: &SourceId,
cutoff: &str,
) -> OrbokResult<u64>
pub fn mark_missing_unseen( &self, source_id: &SourceId, cutoff: &str, ) -> OrbokResult<u64>
RFC-004 §11: mark files of source_id not seen since cutoff
as Missing — never Deleted (drives may be disconnected). Returns
the number of newly missing files.
Sourcepub fn count_by_status(
&self,
source_id: &SourceId,
) -> OrbokResult<Vec<(FileStatus, u64)>>
pub fn count_by_status( &self, source_id: &SourceId, ) -> OrbokResult<Vec<(FileStatus, u64)>>
Status counts for one source (Indexing/Sources view summaries).
Sourcepub fn count_with_status(&self, status: FileStatus) -> OrbokResult<u64>
pub fn count_with_status(&self, status: FileStatus) -> OrbokResult<u64>
Count files with a specific status across all sources.
Sourcepub fn count_for_source_with_status(
&self,
source_id: &SourceId,
status: FileStatus,
) -> OrbokResult<u64>
pub fn count_for_source_with_status( &self, source_id: &SourceId, status: FileStatus, ) -> OrbokResult<u64>
Count files for a specific source with a specific status.