pub struct SpecificationRepository { /* private fields */ }
Expand description
Repository for specification data access operations
Implementations§
Source§impl SpecificationRepository
impl SpecificationRepository
Sourcepub fn new(fs_manager: FileSystemManager) -> Self
pub fn new(fs_manager: FileSystemManager) -> Self
Create a new SpecificationRepository instance
Sourcepub fn with_cache(
fs_manager: FileSystemManager,
cache: ProjectManagerCache,
) -> Self
pub fn with_cache( fs_manager: FileSystemManager, cache: ProjectManagerCache, ) -> Self
Create a new SpecificationRepository instance with shared cache
Sourcepub async fn create_spec(
&self,
project_name: &str,
spec_name: &str,
description: &str,
content: &str,
) -> Result<Specification>
pub async fn create_spec( &self, project_name: &str, spec_name: &str, description: &str, content: &str, ) -> Result<Specification>
Create a new specification
Sourcepub async fn load_spec(
&self,
project_name: &str,
spec_id: &str,
) -> Result<Specification>
pub async fn load_spec( &self, project_name: &str, spec_id: &str, ) -> Result<Specification>
Load a specification from the file system
Sourcepub async fn spec_exists(&self, project_name: &str, spec_id: &str) -> bool
pub async fn spec_exists(&self, project_name: &str, spec_id: &str) -> bool
Check if a specification exists
Sourcepub async fn list_specs(&self, project_name: &str) -> Result<Vec<Specification>>
pub async fn list_specs(&self, project_name: &str) -> Result<Vec<Specification>>
List all specifications for a project
Sourcepub async fn load_task_list(
&self,
project_name: &str,
spec_id: &str,
) -> Result<TaskList>
pub async fn load_task_list( &self, project_name: &str, spec_id: &str, ) -> Result<TaskList>
Load task list for a specification
Sourcepub async fn load_notes(
&self,
project_name: &str,
spec_id: &str,
) -> Result<Vec<Note>>
pub async fn load_notes( &self, project_name: &str, spec_id: &str, ) -> Result<Vec<Note>>
Load notes for a specification
Sourcepub async fn add_task(
&self,
project_name: &str,
spec_id: &str,
task: Task,
) -> Result<()>
pub async fn add_task( &self, project_name: &str, spec_id: &str, task: Task, ) -> Result<()>
Add a new task to a specification
Sourcepub async fn remove_task(
&self,
project_name: &str,
spec_id: &str,
task_id: &str,
) -> Result<()>
pub async fn remove_task( &self, project_name: &str, spec_id: &str, task_id: &str, ) -> Result<()>
Remove a task from a specification
Sourcepub async fn update_task(
&self,
project_name: &str,
spec_id: &str,
task: Task,
) -> Result<()>
pub async fn update_task( &self, project_name: &str, spec_id: &str, task: Task, ) -> Result<()>
Update an existing task in a specification
Sourcepub async fn update_task_status(
&self,
project_name: &str,
spec_id: &str,
task_id: &str,
status: TaskStatus,
) -> Result<()>
pub async fn update_task_status( &self, project_name: &str, spec_id: &str, task_id: &str, status: TaskStatus, ) -> Result<()>
Update task status
Sourcepub async fn add_note(
&self,
project_name: &str,
spec_id: &str,
note: Note,
) -> Result<()>
pub async fn add_note( &self, project_name: &str, spec_id: &str, note: Note, ) -> Result<()>
Add a new note to a specification
Sourcepub async fn reorder_tasks(
&self,
project_name: &str,
spec_id: &str,
) -> Result<()>
pub async fn reorder_tasks( &self, project_name: &str, spec_id: &str, ) -> Result<()>
Reorder tasks by priority
Sourcepub async fn update_spec(
&self,
project_name: &str,
spec: &Specification,
) -> Result<()>
pub async fn update_spec( &self, project_name: &str, spec: &Specification, ) -> Result<()>
Update an existing specification
Trait Implementations§
Source§impl Clone for SpecificationRepository
impl Clone for SpecificationRepository
Source§fn clone(&self) -> SpecificationRepository
fn clone(&self) -> SpecificationRepository
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for SpecificationRepository
impl !RefUnwindSafe for SpecificationRepository
impl Send for SpecificationRepository
impl Sync for SpecificationRepository
impl Unpin for SpecificationRepository
impl !UnwindSafe for SpecificationRepository
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