pub trait FirestoreCreateSupport {
fn create_doc<'life0, 'life1, 'async_trait, S>(
&'life0 self,
collection_id: &'life1 str,
document_id: Option<S>,
input_doc: Document,
return_only_fields: Option<Vec<String>>
) -> Pin<Box<dyn Future<Output = FirestoreResult<Document>> + Send + 'async_trait>>
where
S: AsRef<str> + Send,
S: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
fn create_doc_at<'life0, 'life1, 'life2, 'async_trait, S>(
&'life0 self,
parent: &'life1 str,
collection_id: &'life2 str,
document_id: Option<S>,
input_doc: Document,
return_only_fields: Option<Vec<String>>
) -> Pin<Box<dyn Future<Output = FirestoreResult<Document>> + Send + 'async_trait>>
where
S: AsRef<str> + Send,
S: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait;
fn create_obj<'life0, 'life1, 'life2, 'async_trait, I, O, S>(
&'life0 self,
collection_id: &'life1 str,
document_id: Option<S>,
obj: &'life2 I
) -> Pin<Box<dyn Future<Output = FirestoreResult<O>> + Send + 'async_trait>>
where
I: Serialize + Sync + Send,
for<'de> O: Deserialize<'de>,
S: AsRef<str> + Send,
I: 'async_trait,
O: 'async_trait,
S: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait;
fn create_obj_return_fields<'life0, 'life1, 'life2, 'async_trait, I, O, S>(
&'life0 self,
collection_id: &'life1 str,
document_id: Option<S>,
obj: &'life2 I,
return_only_fields: Option<Vec<String>>
) -> Pin<Box<dyn Future<Output = FirestoreResult<O>> + Send + 'async_trait>>
where
I: Serialize + Sync + Send,
for<'de> O: Deserialize<'de>,
S: AsRef<str> + Send,
I: 'async_trait,
O: 'async_trait,
S: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait;
fn create_obj_at<'life0, 'life1, 'life2, 'life3, 'async_trait, I, O, S>(
&'life0 self,
parent: &'life1 str,
collection_id: &'life2 str,
document_id: Option<S>,
obj: &'life3 I
) -> Pin<Box<dyn Future<Output = FirestoreResult<O>> + Send + 'async_trait>>
where
I: Serialize + Sync + Send,
for<'de> O: Deserialize<'de>,
S: AsRef<str> + Send,
I: 'async_trait,
O: 'async_trait,
S: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait;
fn create_obj_at_return_fields<'life0, 'life1, 'life2, 'life3, 'async_trait, I, O, S>(
&'life0 self,
parent: &'life1 str,
collection_id: &'life2 str,
document_id: Option<S>,
obj: &'life3 I,
return_only_fields: Option<Vec<String>>
) -> Pin<Box<dyn Future<Output = FirestoreResult<O>> + Send + 'async_trait>>
where
I: Serialize + Sync + Send,
for<'de> O: Deserialize<'de>,
S: AsRef<str> + Send,
I: 'async_trait,
O: 'async_trait,
S: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait;
}