1use opentalk_types_common::utils::ExampleData;
6
7use super::{Event, EventException, ExternalUser, RegisteredUser, UnregisteredUser};
8
9#[derive(Clone, PartialEq, Eq, Debug)]
10#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
11#[cfg_attr(
12 feature = "utoipa",
13 derive(utoipa::ToSchema),
14 schema(example = json!(RegisteredEventInvite::example_data()))
15)]
16pub struct RegisteredEventInvite {
17 pub invitee: RegisteredUser,
18 pub event: Event,
19 pub inviter: RegisteredUser,
20}
21
22impl ExampleData for RegisteredEventInvite {
23 fn example_data() -> Self {
24 Self {
25 invitee: RegisteredUser::example_data(),
26 event: Event::example_data(),
27 inviter: example_inviter(),
28 }
29 }
30}
31
32#[derive(Clone, PartialEq, Eq, Debug)]
33#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
34#[cfg_attr(
35 feature = "utoipa",
36 derive(utoipa::ToSchema),
37 schema(example = json!(UnregisteredEventInvite::example_data()))
38)]
39pub struct UnregisteredEventInvite {
40 pub invitee: UnregisteredUser,
41 pub event: Event,
42 pub inviter: RegisteredUser,
43}
44
45impl ExampleData for UnregisteredEventInvite {
46 fn example_data() -> Self {
47 Self {
48 invitee: UnregisteredUser::example_data(),
49 event: Event::example_data(),
50 inviter: example_inviter(),
51 }
52 }
53}
54
55#[derive(Clone, PartialEq, Eq, Debug)]
56#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
57#[cfg_attr(
58 feature = "utoipa",
59 derive(utoipa::ToSchema),
60 schema(example = json!(ExternalEventInvite::example_data()))
61)]
62pub struct ExternalEventInvite {
63 pub invitee: ExternalUser,
64 pub event: Event,
65 pub inviter: RegisteredUser,
66}
67
68impl ExampleData for ExternalEventInvite {
69 fn example_data() -> Self {
70 Self {
71 invitee: ExternalUser::example_data(),
72 event: Event::example_data(),
73 inviter: example_inviter(),
74 }
75 }
76}
77
78#[derive(Clone, PartialEq, Eq, Debug)]
79#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
80#[cfg_attr(
81 feature = "utoipa",
82 derive(utoipa::ToSchema),
83 schema(example = json!(RegisteredEventUpdate::example_data()))
84)]
85pub struct RegisteredEventUpdate {
86 pub invitee: RegisteredUser,
87 pub event: Event,
88 pub event_exception: Option<EventException>,
89 pub inviter: RegisteredUser,
90}
91
92impl ExampleData for RegisteredEventUpdate {
93 fn example_data() -> Self {
94 Self {
95 invitee: RegisteredUser::example_data(),
96 event: Event::example_data(),
97 event_exception: Some(EventException::example_data()),
98 inviter: example_inviter(),
99 }
100 }
101}
102
103#[derive(Clone, PartialEq, Eq, Debug)]
104#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
105#[cfg_attr(
106 feature = "utoipa",
107 derive(utoipa::ToSchema),
108 schema(example = json!(UnregisteredEventUpdate::example_data()))
109)]
110pub struct UnregisteredEventUpdate {
111 pub invitee: UnregisteredUser,
112 pub event: Event,
113 pub event_exception: Option<EventException>,
114 pub inviter: RegisteredUser,
115}
116
117impl ExampleData for UnregisteredEventUpdate {
118 fn example_data() -> Self {
119 Self {
120 invitee: UnregisteredUser::example_data(),
121 event: Event::example_data(),
122 event_exception: Some(EventException::example_data()),
123 inviter: example_inviter(),
124 }
125 }
126}
127
128#[derive(Clone, PartialEq, Eq, Debug)]
129#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
130#[cfg_attr(
131 feature = "utoipa",
132 derive(utoipa::ToSchema),
133 schema(example = json!(ExternalEventUpdate::example_data()))
134)]
135pub struct ExternalEventUpdate {
136 pub invitee: ExternalUser,
137 pub event: Event,
138 pub event_exception: Option<EventException>,
139 pub inviter: RegisteredUser,
140}
141
142impl ExampleData for ExternalEventUpdate {
143 fn example_data() -> Self {
144 Self {
145 invitee: ExternalUser::example_data(),
146 event: Event::example_data(),
147 event_exception: Some(EventException::example_data()),
148 inviter: example_inviter(),
149 }
150 }
151}
152
153#[derive(Clone, PartialEq, Eq, Debug)]
154#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
155#[cfg_attr(
156 feature = "utoipa",
157 derive(utoipa::ToSchema),
158 schema(example = json!(RegisteredEventCancellation::example_data()))
159)]
160pub struct RegisteredEventCancellation {
161 pub invitee: RegisteredUser,
162 pub event: Event,
163 pub inviter: RegisteredUser,
164}
165
166impl ExampleData for RegisteredEventCancellation {
167 fn example_data() -> Self {
168 Self {
169 invitee: RegisteredUser::example_data(),
170 event: Event::example_data(),
171 inviter: example_inviter(),
172 }
173 }
174}
175
176#[derive(Clone, PartialEq, Eq, Debug)]
177#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
178#[cfg_attr(
179 feature = "utoipa",
180 derive(utoipa::ToSchema),
181 schema(example = json!(UnregisteredEventCancellation::example_data()))
182)]
183pub struct UnregisteredEventCancellation {
184 pub invitee: UnregisteredUser,
185 pub event: Event,
186 pub inviter: RegisteredUser,
187}
188
189impl ExampleData for UnregisteredEventCancellation {
190 fn example_data() -> Self {
191 Self {
192 invitee: UnregisteredUser::example_data(),
193 event: Event::example_data(),
194 inviter: example_inviter(),
195 }
196 }
197}
198
199#[derive(Clone, PartialEq, Eq, Debug)]
200#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
201#[cfg_attr(
202 feature = "utoipa",
203 derive(utoipa::ToSchema),
204 schema(example = json!(ExternalEventCancellation::example_data()))
205)]
206pub struct ExternalEventCancellation {
207 pub invitee: ExternalUser,
208 pub event: Event,
209 pub inviter: RegisteredUser,
210}
211
212impl ExampleData for ExternalEventCancellation {
213 fn example_data() -> Self {
214 Self {
215 invitee: ExternalUser::example_data(),
216 event: Event::example_data(),
217 inviter: example_inviter(),
218 }
219 }
220}
221
222#[derive(Clone, PartialEq, Eq, Debug)]
223#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
224#[cfg_attr(
225 feature = "utoipa",
226 derive(utoipa::ToSchema),
227 schema(example = json!(RegisteredEventUninvite::example_data()))
228)]
229pub struct RegisteredEventUninvite {
230 pub invitee: RegisteredUser,
231 pub event: Event,
232 pub inviter: RegisteredUser,
233}
234
235impl ExampleData for RegisteredEventUninvite {
236 fn example_data() -> Self {
237 Self {
238 invitee: RegisteredUser::example_data(),
239 event: Event::example_data(),
240 inviter: example_inviter(),
241 }
242 }
243}
244
245#[derive(Clone, PartialEq, Eq, Debug)]
246#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
247#[cfg_attr(
248 feature = "utoipa",
249 derive(utoipa::ToSchema),
250 schema(example = json!(UnregisteredEventUninvite::example_data()))
251)]
252pub struct UnregisteredEventUninvite {
253 pub invitee: UnregisteredUser,
254 pub event: Event,
255 pub inviter: RegisteredUser,
256}
257
258impl ExampleData for UnregisteredEventUninvite {
259 fn example_data() -> Self {
260 Self {
261 invitee: UnregisteredUser::example_data(),
262 event: Event::example_data(),
263 inviter: example_inviter(),
264 }
265 }
266}
267
268#[derive(Clone, PartialEq, Eq, Debug)]
269#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
270#[cfg_attr(
271 feature = "utoipa",
272 derive(utoipa::ToSchema),
273 schema(example = json!(ExternalEventUninvite::example_data()))
274)]
275pub struct ExternalEventUninvite {
276 pub invitee: ExternalUser,
277 pub event: Event,
278 pub inviter: RegisteredUser,
279}
280
281impl ExampleData for ExternalEventUninvite {
282 fn example_data() -> Self {
283 Self {
284 invitee: ExternalUser::example_data(),
285 event: Event::example_data(),
286 inviter: example_inviter(),
287 }
288 }
289}
290
291fn example_inviter() -> RegisteredUser {
292 RegisteredUser {
293 email: "dave.dunn@example.com".into(),
294 title: "".parse().expect("valid user title"),
295 first_name: "Dave".to_string(),
296 last_name: "Dunn".to_string(),
297 language: "en".parse().expect("valid language"),
298 }
299}