1use async_trait::async_trait;
4use serde::de::DeserializeOwned;
5use serde::Serialize;
6
7use crate::error::Result;
8use crate::record_id::RecordId;
9use crate::runtime::Valence;
10
11#[async_trait]
13pub trait BatchCreatable: Serialize + DeserializeOwned + Send + 'static {
14 fn table_name() -> &'static str;
15
16 fn set_id(&mut self, id: RecordId);
17
18 async fn ensure_ownership_after_batch_create(
19 _created_row: serde_json::Value,
20 _valence: &Valence,
21 ) -> Result<()> {
22 Ok(())
23 }
24}