sqlx_utils/macros/repository/
update.rs1#[macro_export]
2macro_rules! repository_update {
3 {
4 $ident:ident<$model:ty>;
5 } => {
6 $crate::repository_update!(
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 } => {
17 $crate::repository_update!(!inner $ident<$model>; fn $method_name($param: &$model) -> $crate::types::Query<'_> $block);
18 };
19
20 {
21 $ident:ident<$model:ty>;
22
23 $($tokens:tt)*
24 } => {
25 $crate::repository_update!(!inner $ident<$model>; $($tokens)*);
26 };
27
28 {
29 !inner
30 $ident:ident<$model:ty>;
31
32 $($tokens:tt)*
33 } => {
34 impl $crate::traits::UpdatableRepository<$model> for $ident {
35 $($tokens)*
36 }
37 }
38}