Skip to main content

Database

Struct Database 

Source
pub struct Database { /* private fields */ }

Implementations§

Source§

impl Database

Source

pub fn open(path: &Path) -> Result<Self>

Source

pub fn transaction<T, F>(&self, f: F) -> Result<T>
where F: FnOnce() -> Result<T>,

Execute a closure within a database transaction. If the closure returns Ok, the transaction is committed. If the closure returns Err, the transaction is rolled back.

Source

pub fn create_issue( &self, title: &str, description: Option<&str>, priority: &str, ) -> Result<i64>

Source

pub fn create_subissue( &self, parent_id: i64, title: &str, description: Option<&str>, priority: &str, ) -> Result<i64>

Source

pub fn get_subissues(&self, parent_id: i64) -> Result<Vec<Issue>>

Source

pub fn get_issue(&self, id: i64) -> Result<Option<Issue>>

Source

pub fn require_issue(&self, id: i64) -> Result<Issue>

Get an issue by ID, returning an error if not found. Use this instead of get_issue when you need the issue to exist.

Source

pub fn list_issues( &self, status_filter: Option<&str>, label_filter: Option<&str>, priority_filter: Option<&str>, ) -> Result<Vec<Issue>>

Source

pub fn update_issue( &self, id: i64, title: Option<&str>, description: Option<&str>, priority: Option<&str>, ) -> Result<bool>

Source

pub fn close_issue(&self, id: i64) -> Result<bool>

Source

pub fn reopen_issue(&self, id: i64) -> Result<bool>

Source

pub fn delete_issue(&self, id: i64) -> Result<bool>

Source

pub fn add_label(&self, issue_id: i64, label: &str) -> Result<bool>

Source

pub fn remove_label(&self, issue_id: i64, label: &str) -> Result<bool>

Source

pub fn get_labels(&self, issue_id: i64) -> Result<Vec<String>>

Source

pub fn add_comment(&self, issue_id: i64, content: &str) -> Result<i64>

Source

pub fn get_comments(&self, issue_id: i64) -> Result<Vec<Comment>>

Source

pub fn add_dependency(&self, blocked_id: i64, blocker_id: i64) -> Result<bool>

Source

pub fn remove_dependency( &self, blocked_id: i64, blocker_id: i64, ) -> Result<bool>

Source

pub fn get_blockers(&self, issue_id: i64) -> Result<Vec<i64>>

Source

pub fn get_blocking(&self, issue_id: i64) -> Result<Vec<i64>>

Source

pub fn list_blocked_issues(&self) -> Result<Vec<Issue>>

Source

pub fn list_ready_issues(&self) -> Result<Vec<Issue>>

Source

pub fn start_session(&self) -> Result<i64>

Source

pub fn end_session(&self, id: i64, notes: Option<&str>) -> Result<bool>

Source

pub fn get_current_session(&self) -> Result<Option<Session>>

Source

pub fn get_last_session(&self) -> Result<Option<Session>>

Source

pub fn set_session_issue(&self, session_id: i64, issue_id: i64) -> Result<bool>

Source

pub fn set_session_action(&self, session_id: i64, action: &str) -> Result<bool>

Source

pub fn start_timer(&self, issue_id: i64) -> Result<i64>

Source

pub fn stop_timer(&self, issue_id: i64) -> Result<bool>

Source

pub fn get_active_timer(&self) -> Result<Option<(i64, DateTime<Utc>)>>

Source

pub fn get_total_time(&self, issue_id: i64) -> Result<i64>

Source

pub fn search_issues(&self, query: &str) -> Result<Vec<Issue>>

Search issues by query string across titles, descriptions, and comments

Source

pub fn add_relation(&self, issue_id_1: i64, issue_id_2: i64) -> Result<bool>

Source

pub fn remove_relation(&self, issue_id_1: i64, issue_id_2: i64) -> Result<bool>

Source

pub fn update_parent(&self, id: i64, parent_id: Option<i64>) -> Result<bool>

Source

pub fn create_milestone( &self, name: &str, description: Option<&str>, ) -> Result<i64>

Source

pub fn get_milestone(&self, id: i64) -> Result<Option<Milestone>>

Source

pub fn list_milestones(&self, status: Option<&str>) -> Result<Vec<Milestone>>

Source

pub fn add_issue_to_milestone( &self, milestone_id: i64, issue_id: i64, ) -> Result<bool>

Source

pub fn remove_issue_from_milestone( &self, milestone_id: i64, issue_id: i64, ) -> Result<bool>

Source

pub fn get_milestone_issues(&self, milestone_id: i64) -> Result<Vec<Issue>>

Source

pub fn close_milestone(&self, id: i64) -> Result<bool>

Source

pub fn delete_milestone(&self, id: i64) -> Result<bool>

Source

pub fn get_issue_milestone(&self, issue_id: i64) -> Result<Option<Milestone>>

Source

pub fn archive_issue(&self, id: i64) -> Result<bool>

Source

pub fn unarchive_issue(&self, id: i64) -> Result<bool>

Source

pub fn list_archived_issues(&self) -> Result<Vec<Issue>>

Source

pub fn archive_older_than(&self, days: i64) -> Result<i32>

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.