pub trait ShareCreationStepHandler: Send + Sync {
Show 22 methods
// Required methods
fn handle_validate_file<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn evaluate_check_share_permission<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<ShareCreationFlowStep, FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn handle_check_manage_permission<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn evaluate_check_share_type<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<ShareCreationFlowStep, FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn handle_validate_public_share<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn handle_validate_user_share<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn handle_validate_email_share<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn handle_check_existing_share<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn handle_update_existing_share<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn handle_create_share_record<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn handle_generate_share_url<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn evaluate_determine_notification<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<ShareCreationFlowStep, FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn handle_notify_user<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn handle_send_email_invitation<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn handle_log_share<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn handle_complete<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<(), FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn handle_file_not_found<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<(), FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn handle_permission_denied<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn handle_failed_permission<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<(), FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn handle_public_sharing_disabled<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<(), FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn handle_user_not_found<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<(), FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn handle_invalid_config<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<(), FlowError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}Expand description
Step handler trait for ShareCreation flow
Required Methods§
Sourcefn handle_validate_file<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle_validate_file<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handle validate_file step
Evaluate condition for check_share_permission step
Sourcefn handle_check_manage_permission<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle_check_manage_permission<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handle check_manage_permission step
Evaluate condition for check_share_type step
Handle validate_public_share step
Handle validate_user_share step
Handle validate_email_share step
Handle check_existing_share step
Handle update_existing_share step
Handle create_share_record step
Handle generate_share_url step
Sourcefn evaluate_determine_notification<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<ShareCreationFlowStep, FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn evaluate_determine_notification<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<ShareCreationFlowStep, FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Evaluate condition for determine_notification step
Sourcefn handle_notify_user<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle_notify_user<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handle notify_user step
Sourcefn handle_send_email_invitation<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle_send_email_invitation<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handle send_email_invitation step
Handle log_share step
Sourcefn handle_complete<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<(), FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle_complete<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<(), FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handle terminal step complete
Sourcefn handle_file_not_found<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<(), FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle_file_not_found<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<(), FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handle terminal step file_not_found
Sourcefn handle_permission_denied<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle_permission_denied<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<Option<ShareCreationFlowStep>, FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handle permission_denied step
Sourcefn handle_failed_permission<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<(), FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle_failed_permission<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<(), FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handle terminal step failed_permission
Sourcefn handle_public_sharing_disabled<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<(), FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle_public_sharing_disabled<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<(), FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handle terminal step public_sharing_disabled
Sourcefn handle_user_not_found<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<(), FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle_user_not_found<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<(), FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handle terminal step user_not_found
Sourcefn handle_invalid_config<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<(), FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle_invalid_config<'life0, 'life1, 'async_trait>(
&'life0 self,
instance: &'life1 mut ShareCreationFlowInstance,
) -> Pin<Box<dyn Future<Output = Result<(), FlowError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handle terminal step invalid_config
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".