pub struct AsanaSource { /* private fields */ }Expand description
Imports tasks from a single Asana project.
Implementations§
Source§impl AsanaSource
impl AsanaSource
Sourcepub fn new(project: impl Into<String>, token: impl Into<String>) -> Result<Self>
pub fn new(project: impl Into<String>, token: impl Into<String>) -> Result<Self>
Import tasks from the Asana project gid, authenticating with a PAT.
Sourcepub fn with_base(
base: &str,
project: impl Into<String>,
token: impl Into<String>,
) -> Result<Self>
pub fn with_base( base: &str, project: impl Into<String>, token: impl Into<String>, ) -> Result<Self>
As AsanaSource::new but against a custom API base (e.g. a test
server).
Sourcepub fn with_mapping(self, mapping: StateMapping) -> Self
pub fn with_mapping(self, mapping: StateMapping) -> Self
Apply a per-connection [StateMapping] selecting the status signal
(completed / section / custom field).
Trait Implementations§
Source§impl TicketSource for AsanaSource
impl TicketSource for AsanaSource
Source§fn capabilities(&self) -> Capabilities
fn capabilities(&self) -> Capabilities
What this source supports. Callers consult this before attempting writes.
Source§fn fetch_changed<'life0, 'life1, 'async_trait>(
&'life0 self,
cursor: &'life1 Cursor,
) -> Pin<Box<dyn Future<Output = Result<Page>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_changed<'life0, 'life1, 'async_trait>(
&'life0 self,
cursor: &'life1 Cursor,
) -> Pin<Box<dyn Future<Output = Result<Page>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Tickets changed since
cursor (or all tickets, if the cursor is empty),
plus the cursor to resume incremental sync from.Source§fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
uid: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Ticket>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get<'life0, 'life1, 'async_trait>(
&'life0 self,
uid: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Ticket>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Fetch a single ticket by its stable provider
uid.Source§fn set_state<'life0, 'life1, 'async_trait>(
&'life0 self,
uid: &'life1 str,
target: StateCategory,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn set_state<'life0, 'life1, 'async_trait>(
&'life0 self,
uid: &'life1 str,
target: StateCategory,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Move a ticket to a normalized [
StateCategory]. The source resolves this
to its native mechanism (a Jira transition, a GitLab label swap, an Asana
section move). Capability-gated: defaults to Unsupported.Source§fn comment<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
uid: &'life1 str,
body: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn comment<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
uid: &'life1 str,
body: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Append a comment to a ticket. Capability-gated: defaults to
Unsupported.Auto Trait Implementations§
impl Freeze for AsanaSource
impl !RefUnwindSafe for AsanaSource
impl Send for AsanaSource
impl Sync for AsanaSource
impl Unpin for AsanaSource
impl UnsafeUnpin for AsanaSource
impl !UnwindSafe for AsanaSource
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