sqlx_utils/macros/repository/
delete.rs1#[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}