reifydb_core/interceptor/
namespace_def.rs1use std::marker::PhantomData;
5
6use crate::{define_api_function, define_closure_interceptor, define_interceptor, interface::NamespaceDef};
7
8define_interceptor!(
10 context: NamespaceDefPostCreateContext<T>,
11 trait: NamespaceDefPostCreateInterceptor,
12 fields: {
13 txn: &'a mut T,
14 post: &'a NamespaceDef}
15);
16
17define_closure_interceptor!(
18 ClosureNamespaceDefPostCreateInterceptor,
19 NamespaceDefPostCreateInterceptor,
20 NamespaceDefPostCreateContext,
21 with_transaction
22);
23
24define_api_function!(
25 namespace_def_post_create,
26 ClosureNamespaceDefPostCreateInterceptor<T, F>,
27 NamespaceDefPostCreateContext<T>
28);
29
30define_interceptor!(
32 context: NamespaceDefPreUpdateContext<T>,
33 trait: NamespaceDefPreUpdateInterceptor,
34 fields: {
35 txn: &'a mut T,
36 pre: &'a NamespaceDef}
37);
38
39define_closure_interceptor!(
40 ClosureNamespaceDefPreUpdateInterceptor,
41 NamespaceDefPreUpdateInterceptor,
42 NamespaceDefPreUpdateContext,
43 with_transaction
44);
45
46define_api_function!(
47 namespace_def_pre_update,
48 ClosureNamespaceDefPreUpdateInterceptor<T, F>,
49 NamespaceDefPreUpdateContext<T>
50);
51
52define_interceptor!(
54 context: NamespaceDefPostUpdateContext<T>,
55 trait: NamespaceDefPostUpdateInterceptor,
56 fields: {
57 txn: &'a mut T,
58 pre: &'a NamespaceDef,
59 post: &'a NamespaceDef}
60);
61
62define_closure_interceptor!(
63 ClosureNamespaceDefPostUpdateInterceptor,
64 NamespaceDefPostUpdateInterceptor,
65 NamespaceDefPostUpdateContext,
66 with_transaction
67);
68
69define_api_function!(
70 namespace_def_post_update,
71 ClosureNamespaceDefPostUpdateInterceptor<T, F>,
72 NamespaceDefPostUpdateContext<T>
73);
74
75define_interceptor!(
77 context: NamespaceDefPreDeleteContext<T>,
78 trait: NamespaceDefPreDeleteInterceptor,
79 fields: {
80 txn: &'a mut T,
81 pre: &'a NamespaceDef}
82);
83
84define_closure_interceptor!(
85 ClosureNamespaceDefPreDeleteInterceptor,
86 NamespaceDefPreDeleteInterceptor,
87 NamespaceDefPreDeleteContext,
88 with_transaction
89);
90
91define_api_function!(
92 namespace_def_pre_delete,
93 ClosureNamespaceDefPreDeleteInterceptor<T, F>,
94 NamespaceDefPreDeleteContext<T>
95);
96
97use crate::impl_register_interceptor;
98
99impl_register_interceptor!(
100 ClosureNamespaceDefPostCreateInterceptor<T, F>,
101 NamespaceDefPostCreateContext<T>,
102 NamespaceDefPostCreateInterceptor,
103 namespace_def_post_create
104);
105
106impl_register_interceptor!(
107 ClosureNamespaceDefPreUpdateInterceptor<T, F>,
108 NamespaceDefPreUpdateContext<T>,
109 NamespaceDefPreUpdateInterceptor,
110 namespace_def_pre_update
111);
112
113impl_register_interceptor!(
114 ClosureNamespaceDefPostUpdateInterceptor<T, F>,
115 NamespaceDefPostUpdateContext<T>,
116 NamespaceDefPostUpdateInterceptor,
117 namespace_def_post_update
118);
119
120impl_register_interceptor!(
121 ClosureNamespaceDefPreDeleteInterceptor<T, F>,
122 NamespaceDefPreDeleteContext<T>,
123 NamespaceDefPreDeleteInterceptor,
124 namespace_def_pre_delete
125);