pub struct GitHubProjectsSource { /* private fields */ }Expand description
A source which reads GitHub afresh for every operation.
Implementations§
Source§impl GitHubProjectsSource
impl GitHubProjectsSource
Sourcepub fn new(
name: &SourceName,
config: GitHubProjectsConfig,
secrets: &dyn SecretResolver,
) -> Result<Self, SourceError>
pub fn new( name: &SourceName, config: GitHubProjectsConfig, secrets: &dyn SecretResolver, ) -> Result<Self, SourceError>
Validate configuration and capture the named credential without exposing it.
§Errors
Returns SourceError::Config for a configuration this instance cannot use and
SourceError::Auth when the named credential is missing or empty.
Trait Implementations§
Source§impl TaskSource for GitHubProjectsSource
impl TaskSource for GitHubProjectsSource
Source§fn write_document<'life0, 'life1, 'async_trait>(
&'life0 self,
write: &'life1 ItemWrite<Document>,
) -> Pin<Box<dyn Future<Output = Result<NativeId, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn write_document<'life0, 'life1, 'async_trait>(
&'life0 self,
write: &'life1 ItemWrite<Document>,
) -> Pin<Box<dyn Future<Output = Result<NativeId, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Create or update one document, which is one issue titled the way this board spells a document.
Everything else is exactly a task write: caller metadata goes to the same canonical JSON slot at the end of the body and comes back with its JSON types intact, a key or a field this board cannot carry is refused by name rather than dropped, a target naming an issue this board does not hold is refused rather than created, and an issue this call created is taken back when the rest of the write fails.
Source§fn kind(&self) -> &'static str
fn kind(&self) -> &'static str
Source§fn capabilities(&self) -> Capabilities
fn capabilities(&self) -> Capabilities
Source§fn health<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Health, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn health<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Health, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_task<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 NativeId,
) -> Pin<Box<dyn Future<Output = Result<Option<Task>, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_task<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 NativeId,
) -> Pin<Box<dyn Future<Output = Result<Option<Task>, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
None when there is no such task. Read moreSource§fn get_project<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 NativeId,
) -> Pin<Box<dyn Future<Output = Result<Option<Project>, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_project<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 NativeId,
) -> Pin<Box<dyn Future<Output = Result<Option<Project>, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
None when there is no such project. Read moreSource§fn query_tasks<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
query: &'life1 TaskQuery,
page: &'life2 PageRequest,
) -> Pin<Box<dyn Future<Output = Result<Page<Task>, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn query_tasks<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
query: &'life1 TaskQuery,
page: &'life2 PageRequest,
) -> Pin<Box<dyn Future<Output = Result<Page<Task>, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
query. Read moreSource§fn query_projects<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
query: &'life1 ProjectQuery,
page: &'life2 PageRequest,
) -> Pin<Box<dyn Future<Output = Result<Page<Project>, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn query_projects<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
query: &'life1 ProjectQuery,
page: &'life2 PageRequest,
) -> Pin<Box<dyn Future<Output = Result<Page<Project>, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
query. Read moreSource§fn get_document<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 NativeId,
) -> Pin<Box<dyn Future<Output = Result<Option<Document>, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_document<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 NativeId,
) -> Pin<Box<dyn Future<Output = Result<Option<Document>, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
None when there is no such document. Read moreSource§fn query_documents<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
query: &'life1 DocumentQuery,
page: &'life2 PageRequest,
) -> Pin<Box<dyn Future<Output = Result<Page<Document>, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn query_documents<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
query: &'life1 DocumentQuery,
page: &'life2 PageRequest,
) -> Pin<Box<dyn Future<Output = Result<Page<Document>, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
query. Read moreSource§fn labels<'life0, 'life1, 'async_trait>(
&'life0 self,
page: &'life1 PageRequest,
) -> Pin<Box<dyn Future<Output = Result<Page<Label>, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn labels<'life0, 'life1, 'async_trait>(
&'life0 self,
page: &'life1 PageRequest,
) -> Pin<Box<dyn Future<Output = Result<Page<Label>, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn task_dependencies<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 NativeId,
direction: Direction,
page: &'life2 PageRequest,
) -> Pin<Box<dyn Future<Output = Result<Page<DependencyEdge>, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn task_dependencies<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 NativeId,
direction: Direction,
page: &'life2 PageRequest,
) -> Pin<Box<dyn Future<Output = Result<Page<DependencyEdge>, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn project_dependencies<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 NativeId,
direction: Direction,
page: &'life2 PageRequest,
) -> Pin<Box<dyn Future<Output = Result<Page<DependencyEdge>, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn project_dependencies<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 NativeId,
direction: Direction,
page: &'life2 PageRequest,
) -> Pin<Box<dyn Future<Output = Result<Page<DependencyEdge>, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn writes(&self) -> WriteSupport
fn writes(&self) -> WriteSupport
Source§fn write_task<'life0, 'life1, 'async_trait>(
&'life0 self,
write: &'life1 ItemWrite<Task>,
) -> Pin<Box<dyn Future<Output = Result<NativeId, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn write_task<'life0, 'life1, 'async_trait>(
&'life0 self,
write: &'life1 ItemWrite<Task>,
) -> Pin<Box<dyn Future<Output = Result<NativeId, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn write_project<'life0, 'life1, 'async_trait>(
&'life0 self,
write: &'life1 ItemWrite<Project>,
) -> Pin<Box<dyn Future<Output = Result<NativeId, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn write_project<'life0, 'life1, 'async_trait>(
&'life0 self,
write: &'life1 ItemWrite<Project>,
) -> Pin<Box<dyn Future<Output = Result<NativeId, SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
write_task. Read moreSource§fn delete_task<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 NativeId,
) -> Pin<Box<dyn Future<Output = Result<(), SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_task<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 NativeId,
) -> Pin<Box<dyn Future<Output = Result<(), SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn delete_project<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 NativeId,
) -> Pin<Box<dyn Future<Output = Result<(), SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_project<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 NativeId,
) -> Pin<Box<dyn Future<Output = Result<(), SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
delete_task. Read moreSource§fn delete_document<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 NativeId,
) -> Pin<Box<dyn Future<Output = Result<(), SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_document<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 NativeId,
) -> Pin<Box<dyn Future<Output = Result<(), SourceError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
delete_task. Read more