pub struct StatusTracker { /* private fields */ }Expand description
Status tracker for managing publish status
Implementations§
Source§impl StatusTracker
impl StatusTracker
Sourcepub fn load_default() -> Result<Self>
pub fn load_default() -> Result<Self>
Load status with default configuration. Uses current directory as project root.
Sourcepub fn project_root(&self) -> &Path
pub fn project_root(&self) -> &Path
Get the project root for path normalization.
Sourcepub fn normalize_path(&self, local_path: &Path) -> Result<String>
pub fn normalize_path(&self, local_path: &Path) -> Result<String>
Normalize a local path to relative format for storage.
Per [[RFC-0005:C-PROJECT-ROOT]], paths stored in the database MUST be:
- Relative to project root
- Using forward slashes (OS-agnostic)
- Without
./prefix or..components
Sourcepub fn get_published_url(
&self,
slug: &str,
platform: &str,
) -> Result<Option<String>>
pub fn get_published_url( &self, slug: &str, platform: &str, ) -> Result<Option<String>>
Get previously published URL for a post+platform.
Sourcepub fn get_first_published_url(
&self,
slug: &str,
) -> Result<Option<(String, String)>>
pub fn get_first_published_url( &self, slug: &str, ) -> Result<Option<(String, String)>>
Get the first published URL for a post across all platforms.
Returns the platform with the lowest alphabetical ID that has a published URL. Used by copypaste adapters for auto-selecting internal link targets.
Sourcepub fn get_platform_id(
&self,
slug: &str,
platform: &str,
) -> Result<Option<String>>
pub fn get_platform_id( &self, slug: &str, platform: &str, ) -> Result<Option<String>>
Get previously stored platform-specific ID for a post+platform.
Sourcepub fn load_platform_status_internal(
&self,
slug: &str,
platform: &str,
) -> Result<Option<PlatformStatus>>
pub fn load_platform_status_internal( &self, slug: &str, platform: &str, ) -> Result<Option<PlatformStatus>>
Get platform status for lifecycle determination. Per [[RFC-0005:C-LIFECYCLE-TRANSITIONS]], used by pipeline to determine remote_status.
Sourcepub fn get_status(
&self,
content: &Content,
) -> HashMap<String, (bool, Option<String>)>
pub fn get_status( &self, content: &Content, ) -> HashMap<String, (bool, Option<String>)>
Get status for a post across all platforms. Returns (published, last_url) for each platform.
This queries the database directly for all platforms that have status records for this slug, rather than being limited to platforms defined in the content’s meta.toml.
Sourcepub fn mark_published(
&mut self,
content: &Content,
platform: &str,
result: &PublishResult,
remote_status: Option<&str>,
) -> Result<()>
pub fn mark_published( &mut self, content: &Content, platform: &str, result: &PublishResult, remote_status: Option<&str>, ) -> Result<()>
Mark a post as published to a platform.
Per [[RFC-0005:C-STATUS-TRACKING]], stores the remote lifecycle state.
§Arguments
remote_status- “draft” or “published” for API-based platforms, orNonefor local output platforms.
Sourcepub fn record_reconcile(
&self,
slug: &str,
platform: &str,
remote_id: Option<&str>,
remote_url: Option<&str>,
error: &str,
) -> Result<()>
pub fn record_reconcile( &self, slug: &str, platform: &str, remote_id: Option<&str>, remote_url: Option<&str>, error: &str, ) -> Result<()>
Record a reconciliation signal when remote publish succeeded but local status persistence failed.
Sourcepub fn has_changed(&self, content: &Content, platform: &str) -> Result<bool>
pub fn has_changed(&self, content: &Content, platform: &str) -> Result<bool>
Check if content has changed since last publish
Sourcepub fn get_asset_by_content(
&self,
storage_config_id: &str,
content_hash: &str,
extension: &str,
) -> Result<Option<AssetUploadRecord>>
pub fn get_asset_by_content( &self, storage_config_id: &str, content_hash: &str, extension: &str, ) -> Result<Option<AssetUploadRecord>>
Look up cached asset URL by content index key. Per [[RFC-0004:C-UPLOAD-TRACKING]] - content index lookup.
Sourcepub fn get_asset_by_path(
&self,
local_path: &str,
storage_config_id: &str,
) -> Result<Option<AssetUploadRecord>>
pub fn get_asset_by_path( &self, local_path: &str, storage_config_id: &str, ) -> Result<Option<AssetUploadRecord>>
Look up cached asset by local path. Per [[RFC-0004:C-UPLOAD-TRACKING]] - path index lookup.
Sourcepub fn record_asset_upload(&self, record: &AssetUploadRecord) -> Result<()>
pub fn record_asset_upload(&self, record: &AssetUploadRecord) -> Result<()>
Record a successful asset upload. Per [[RFC-0004:C-UPLOAD-TRACKING]] - per-asset atomic persistence.
Sourcepub fn list_assets_by_prefix(
&self,
path_prefix: &str,
) -> Result<Vec<AssetUploadRecord>>
pub fn list_assets_by_prefix( &self, path_prefix: &str, ) -> Result<Vec<AssetUploadRecord>>
List all asset uploads for assets under a given path prefix. Per [[RFC-0004:C-UPLOAD-TRACKING]].
Auto Trait Implementations§
impl !Freeze for StatusTracker
impl !RefUnwindSafe for StatusTracker
impl Send for StatusTracker
impl !Sync for StatusTracker
impl Unpin for StatusTracker
impl UnsafeUnpin for StatusTracker
impl !UnwindSafe for StatusTracker
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more