sqlx_utils/macros/repository/
mod.rs1mod 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}