pub trait DataSource:
Send
+ Sync
+ 'static {
// Required methods
fn create_local_participant<'life0, 'async_trait>(
&'life0 self,
request: ParticipantRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ParticipantResponse>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn update_local_participant<'life0, 'async_trait>(
&'life0 self,
request: ParticipantRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ParticipantResponse>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn delete_local_participant<'life0, 'async_trait>(
&'life0 self,
request: ParticipantRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ParticipantResponse>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn local_participant_details<'life0, 'async_trait>(
&'life0 self,
request: ParticipantRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ParticipantResponse>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn create_participant_activity<'life0, 'async_trait>(
&'life0 self,
request: ActivityRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ActivityResponse>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn update_participant_activity<'life0, 'async_trait>(
&'life0 self,
request: ActivityRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ActivityResponse>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn delete_participant_activity<'life0, 'async_trait>(
&'life0 self,
request: ActivityRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ActivityResponse>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn participant_activity_details<'life0, 'async_trait>(
&'life0 self,
request: ActivityRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ActivityResponse>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn participant_activity_progress<'life0, 'async_trait>(
&'life0 self,
request: ActivityRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ActivityResponse>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn participant_activity_result<'life0, 'async_trait>(
&'life0 self,
request: ActivityRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ActivityResponse>, ApiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}
Required Methods§
Sourcefn create_local_participant<'life0, 'async_trait>(
&'life0 self,
request: ParticipantRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ParticipantResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_local_participant<'life0, 'async_trait>(
&'life0 self,
request: ParticipantRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ParticipantResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Create a new participant in this data source in a specific domain.
Sourcefn update_local_participant<'life0, 'async_trait>(
&'life0 self,
request: ParticipantRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ParticipantResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_local_participant<'life0, 'async_trait>(
&'life0 self,
request: ParticipantRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ParticipantResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Update a participant in this data source in a specific domain.
Sourcefn delete_local_participant<'life0, 'async_trait>(
&'life0 self,
request: ParticipantRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ParticipantResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_local_participant<'life0, 'async_trait>(
&'life0 self,
request: ParticipantRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ParticipantResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Delete a participant from this data source in a specific domain.
Sourcefn local_participant_details<'life0, 'async_trait>(
&'life0 self,
request: ParticipantRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ParticipantResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn local_participant_details<'life0, 'async_trait>(
&'life0 self,
request: ParticipantRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ParticipantResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Check the details of a participant in this data source in a specific domain.
Sourcefn create_participant_activity<'life0, 'async_trait>(
&'life0 self,
request: ActivityRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ActivityResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_participant_activity<'life0, 'async_trait>(
&'life0 self,
request: ActivityRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ActivityResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Create an activity for a specific participant.
Sourcefn update_participant_activity<'life0, 'async_trait>(
&'life0 self,
request: ActivityRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ActivityResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_participant_activity<'life0, 'async_trait>(
&'life0 self,
request: ActivityRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ActivityResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Update an activity for a specific participant.
Sourcefn delete_participant_activity<'life0, 'async_trait>(
&'life0 self,
request: ActivityRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ActivityResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_participant_activity<'life0, 'async_trait>(
&'life0 self,
request: ActivityRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ActivityResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Delete an activity for a specific participant.
Sourcefn participant_activity_details<'life0, 'async_trait>(
&'life0 self,
request: ActivityRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ActivityResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn participant_activity_details<'life0, 'async_trait>(
&'life0 self,
request: ActivityRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ActivityResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Check the details of an activity for a specific participant. This should NOT return any sensitive data.
Sourcefn participant_activity_progress<'life0, 'async_trait>(
&'life0 self,
request: ActivityRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ActivityResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn participant_activity_progress<'life0, 'async_trait>(
&'life0 self,
request: ActivityRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ActivityResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Check the progress of an activity for a specific participant. This should NOT return any sensitive data.
Sourcefn participant_activity_result<'life0, 'async_trait>(
&'life0 self,
request: ActivityRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ActivityResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn participant_activity_result<'life0, 'async_trait>(
&'life0 self,
request: ActivityRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<ActivityResponse>, ApiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Check the result of an activity for a specific participant. This should only return how the data can be accessed, not the data itself. Or it should return the data, but encrypted for an authorized user.