sqlx_utils/macros/repository/
mod.rs

1mod delete;
2mod update;
3
4#[macro_export]
5macro_rules! repository_insert {
6    {
7        $ident:ident<$model:ty>;
8    } => {
9        $crate::repository_insert!(
10            !inner
11            $ident<$model>;
12        );
13    };
14
15    {
16        $ident:ident<$model:ty>;
17
18        $method_name:ident($param:pat_param) $block:block
19    } => {
20        $crate::repository_insert!(!inner $ident<$model>; fn $method_name($param: &$model) -> $crate::types::Query<'_> $block);
21    };
22
23    {
24        $ident:ident<$model:ty>;
25
26        $($tokens:tt)*
27    } => {
28        $crate::repository_insert!(!inner $ident<$model>; $($tokens)*);
29    };
30
31    {
32        !inner
33        $ident:ident<$model:ty>;
34
35        $($tokens:tt)*
36    } => {
37        impl $crate::traits::InsertableRepository<$model> for $ident {
38            $($tokens)*
39        }
40    }
41}