sqlx_utils/macros/repository/
delete.rs

1#[macro_export]
2macro_rules! repository_delete {
3    {
4        $ident:ident<$model:ty>;
5    } => {
6        $crate::repository_delete!(
7            !inner
8            $ident<$model>;
9        );
10    };
11
12    {
13        $ident:ident<$model:ty>;
14
15        $method_name:ident($param:pat_param) $block:block
16        $method_name2:ident($param2:pat_param) $block2:block
17
18        $($tokens:tt)*
19    } => {
20        $crate::repository_delete!(!inner $ident<$model>; fn $method_name($param: &<$model as $crate::traits::Model>::Id) -> $crate::types::Query<'_> $block fn $method_name2<'args>($param2: impl $crate::prelude::SqlFilter<'args>) -> ::sqlx::QueryBuilder<'args, $crate::prelude::Database> $block2 $($tokens)*) ;
21    };
22
23    {
24        $ident:ident<$model:ty>;
25
26        $($tokens:tt)*
27    } => {
28        $crate::repository_delete!(!inner $ident<$model>; $($tokens)*);
29    };
30
31    {
32        !inner
33        $ident:ident<$model:ty>;
34
35        $($tokens:tt)*
36    } => {
37        impl $crate::traits::DeleteRepository<$model> for $ident {
38            $($tokens)*
39        }
40    }
41}