pub struct SqliteBackend { /* private fields */ }Expand description
SQLite backend implementation
Implementations§
Source§impl SqliteBackend
impl SqliteBackend
Sourcepub fn save_sync_state(&self, state: &GitLabSyncState) -> Result<()>
pub fn save_sync_state(&self, state: &GitLabSyncState) -> Result<()>
Save or update a GitLab sync state trace:STORY-0325 | ai:claude
Sourcepub fn load_sync_state(
&self,
requirement_id: Uuid,
issue_iid: u64,
) -> Result<Option<GitLabSyncState>>
pub fn load_sync_state( &self, requirement_id: Uuid, issue_iid: u64, ) -> Result<Option<GitLabSyncState>>
Load sync state for a specific requirement and issue trace:STORY-0325 | ai:claude
Sourcepub fn load_sync_states_for_requirement(
&self,
requirement_id: Uuid,
) -> Result<Vec<GitLabSyncState>>
pub fn load_sync_states_for_requirement( &self, requirement_id: Uuid, ) -> Result<Vec<GitLabSyncState>>
Load all sync states for a requirement trace:STORY-0325 | ai:claude
Sourcepub fn load_all_sync_states(&self) -> Result<Vec<GitLabSyncState>>
pub fn load_all_sync_states(&self) -> Result<Vec<GitLabSyncState>>
Load all sync states trace:STORY-0325 | ai:claude
Sourcepub fn load_sync_states_by_status(
&self,
status: SyncStatus,
) -> Result<Vec<GitLabSyncState>>
pub fn load_sync_states_by_status( &self, status: SyncStatus, ) -> Result<Vec<GitLabSyncState>>
Load sync states by status (e.g., all diverged items) trace:STORY-0325 | ai:claude
Trait Implementations§
Source§impl DatabaseBackend for SqliteBackend
impl DatabaseBackend for SqliteBackend
Source§fn backend_type(&self) -> BackendType
fn backend_type(&self) -> BackendType
Returns the backend type
Source§fn load(&self) -> Result<RequirementsStore>
fn load(&self) -> Result<RequirementsStore>
Loads the entire requirements store from the database
Source§fn save(&self, store: &RequirementsStore) -> Result<()>
fn save(&self, store: &RequirementsStore) -> Result<()>
Saves the entire requirements store to the database
Source§fn update_atomically<F>(&self, update_fn: F) -> Result<RequirementsStore>where
F: FnOnce(&mut RequirementsStore),
fn update_atomically<F>(&self, update_fn: F) -> Result<RequirementsStore>where
F: FnOnce(&mut RequirementsStore),
Performs an atomic update operation
Default implementation loads, applies changes, and saves
Source§fn get_requirement(&self, id: &Uuid) -> Result<Option<Requirement>>
fn get_requirement(&self, id: &Uuid) -> Result<Option<Requirement>>
Gets a requirement by its UUID
Source§fn update_requirement(&self, requirement: &Requirement) -> Result<()>
fn update_requirement(&self, requirement: &Requirement) -> Result<()>
Updates an existing requirement
Source§fn update_requirement_versioned(
&self,
requirement: &Requirement,
) -> Result<UpdateResult>
fn update_requirement_versioned( &self, requirement: &Requirement, ) -> Result<UpdateResult>
Updates a requirement with optimistic locking Read more
Source§fn get_store_version(&self) -> Result<i64>
fn get_store_version(&self) -> Result<i64>
Gets the current store version (for detecting external modifications) Read more
Source§fn queue_list(
&self,
user_id: &str,
include_completed: bool,
) -> Result<Vec<QueueEntry>>
fn queue_list( &self, user_id: &str, include_completed: bool, ) -> Result<Vec<QueueEntry>>
Lists queue entries for a user
If include_completed is false, excludes entries whose requirement is Completed
Source§fn queue_remove(&self, user_id: &str, requirement_id: &Uuid) -> Result<()>
fn queue_remove(&self, user_id: &str, requirement_id: &Uuid) -> Result<()>
Removes an entry from a user’s queue
Source§fn queue_reorder(&self, user_id: &str, items: &[(Uuid, i64)]) -> Result<()>
fn queue_reorder(&self, user_id: &str, items: &[(Uuid, i64)]) -> Result<()>
Reorders queue entries by updating positions
Source§fn queue_clear(&self, user_id: &str, completed_only: bool) -> Result<()>
fn queue_clear(&self, user_id: &str, completed_only: bool) -> Result<()>
Clears queue entries. If completed_only is true, only removes entries
whose requirement has status Completed.
Source§fn get_requirement_by_spec_id(
&self,
spec_id: &str,
) -> Result<Option<Requirement>>
fn get_requirement_by_spec_id( &self, spec_id: &str, ) -> Result<Option<Requirement>>
Gets a requirement by its spec_id (e.g., “FR-001”)
Source§fn list_requirements(&self, include_archived: bool) -> Result<Vec<Requirement>>
fn list_requirements(&self, include_archived: bool) -> Result<Vec<Requirement>>
Lists all requirements (non-archived by default)
Source§fn add_requirement(&self, requirement: Requirement) -> Result<Requirement>
fn add_requirement(&self, requirement: Requirement) -> Result<Requirement>
Adds a new requirement
Returns the requirement with assigned spec_id
Note: This uses the simple SPEC-XXX format for ID generation.
For more complex ID generation (with feature/type prefixes), use update_atomically
Source§fn get_description(&self) -> Result<String>
fn get_description(&self) -> Result<String>
Gets the database description
Source§fn create_baseline(
&self,
name: String,
description: Option<String>,
created_by: String,
) -> Result<Baseline>
fn create_baseline( &self, name: String, description: Option<String>, created_by: String, ) -> Result<Baseline>
Creates a new baseline from current requirements
For YAML backend, this also creates a git tag
Source§fn compare_with_baseline(
&self,
baseline_id: &Uuid,
) -> Result<Option<BaselineComparison>>
fn compare_with_baseline( &self, baseline_id: &Uuid, ) -> Result<Option<BaselineComparison>>
Compares current state against a baseline
Source§fn compare_baselines(
&self,
source_id: &Uuid,
target_id: &Uuid,
) -> Result<Option<BaselineComparison>>
fn compare_baselines( &self, source_id: &Uuid, target_id: &Uuid, ) -> Result<Option<BaselineComparison>>
Compares two baselines
Source§fn create_if_not_exists(&self) -> Result<()>
fn create_if_not_exists(&self) -> Result<()>
Creates the database with default/empty data if it doesn’t exist
Auto Trait Implementations§
impl !Freeze for SqliteBackend
impl RefUnwindSafe for SqliteBackend
impl Send for SqliteBackend
impl Sync for SqliteBackend
impl Unpin for SqliteBackend
impl UnsafeUnpin for SqliteBackend
impl UnwindSafe for SqliteBackend
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
Mutably borrows from an owned value. Read more