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