Skip to main content

bitwarden_api_api/models/
event_type.rs

1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use serde::{Deserialize, Deserializer, Serialize, Serializer, de::Visitor};
12
13use crate::models;
14///
15#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
16pub enum EventType {
17    User_LoggedIn,
18    User_ChangedPassword,
19    User_Updated2fa,
20    User_Disabled2fa,
21    User_Recovered2fa,
22    User_FailedLogIn,
23    User_FailedLogIn2fa,
24    User_ClientExportedVault,
25    User_UpdatedTempPassword,
26    User_MigratedKeyToKeyConnector,
27    User_RequestedDeviceApproval,
28    User_TdeOffboardingPasswordSet,
29    Cipher_Created,
30    Cipher_Updated,
31    Cipher_Deleted,
32    Cipher_AttachmentCreated,
33    Cipher_AttachmentDeleted,
34    Cipher_Shared,
35    Cipher_UpdatedCollections,
36    Cipher_ClientViewed,
37    Cipher_ClientToggledPasswordVisible,
38    Cipher_ClientToggledHiddenFieldVisible,
39    Cipher_ClientToggledCardCodeVisible,
40    Cipher_ClientCopiedPassword,
41    Cipher_ClientCopiedHiddenField,
42    Cipher_ClientCopiedCardCode,
43    Cipher_ClientAutofilled,
44    Cipher_SoftDeleted,
45    Cipher_Restored,
46    Cipher_ClientToggledCardNumberVisible,
47    Cipher_ClientToggledTOTPSeedVisible,
48    Cipher_ClientCopiedBankAccountNumber,
49    Cipher_ClientCopiedBankAccountPin,
50    Cipher_ClientToggledBankAccountNumberVisible,
51    Cipher_ClientToggledBankAccountPinVisible,
52    Cipher_ClientCopiedLicenseNumber,
53    Cipher_ClientToggledLicenseNumberVisible,
54    Cipher_ClientCopiedPassportNumber,
55    Cipher_ClientToggledPassportNumberVisible,
56    Cipher_ClientCopiedSwiftCode,
57    Cipher_ClientToggledSwiftCodeVisible,
58    Cipher_ClientCopiedIban,
59    Cipher_ClientToggledIbanVisible,
60    Cipher_ClientCopiedNationalIdentificationNumber,
61    Cipher_ClientToggledNationalIdentificationNumberVisible,
62    Collection_Created,
63    Collection_Updated,
64    Collection_Deleted,
65    Group_Created,
66    Group_Updated,
67    Group_Deleted,
68    OrganizationUser_Invited,
69    OrganizationUser_Confirmed,
70    OrganizationUser_Updated,
71    OrganizationUser_Removed,
72    OrganizationUser_UpdatedGroups,
73    OrganizationUser_UnlinkedSso,
74    OrganizationUser_ResetPassword_Enroll,
75    OrganizationUser_ResetPassword_Withdraw,
76    OrganizationUser_AdminResetPassword,
77    OrganizationUser_ResetSsoLink,
78    OrganizationUser_FirstSsoLogin,
79    OrganizationUser_Revoked,
80    OrganizationUser_Restored,
81    OrganizationUser_ApprovedAuthRequest,
82    OrganizationUser_RejectedAuthRequest,
83    OrganizationUser_Deleted,
84    OrganizationUser_Left,
85    OrganizationUser_AutomaticallyConfirmed,
86    OrganizationUser_SelfRevoked,
87    OrganizationUser_AdminResetTwoFactor,
88    OrganizationUser_Revoked_TwoFactorNonCompliance,
89    OrganizationUser_Revoked_SingleOrganizationNonCompliance,
90    OrganizationUser_NotificationBannerActionClicked,
91    Organization_Updated,
92    Organization_PurgedVault,
93    Organization_ClientExportedVault,
94    Organization_VaultAccessed,
95    Organization_EnabledSso,
96    Organization_DisabledSso,
97    Organization_EnabledKeyConnector,
98    Organization_DisabledKeyConnector,
99    Organization_SponsorshipsSynced,
100    Organization_CollectionManagement_Updated,
101    Organization_CollectionManagement_LimitCollectionCreationEnabled,
102    Organization_CollectionManagement_LimitCollectionCreationDisabled,
103    Organization_CollectionManagement_LimitCollectionDeletionEnabled,
104    Organization_CollectionManagement_LimitCollectionDeletionDisabled,
105    Organization_CollectionManagement_LimitItemDeletionEnabled,
106    Organization_CollectionManagement_LimitItemDeletionDisabled,
107    Organization_CollectionManagement_AllowAdminAccessToAllCollectionItemsEnabled,
108    Organization_CollectionManagement_AllowAdminAccessToAllCollectionItemsDisabled,
109    Organization_ItemOrganization_Accepted,
110    Organization_ItemOrganization_Declined,
111    Organization_AutoConfirmEnabled_Admin,
112    Organization_AutoConfirmDisabled_Admin,
113    Organization_AutoConfirmEnabled_Portal,
114    Organization_AutoConfirmDisabled_Portal,
115    Policy_Updated,
116    ProviderUser_Invited,
117    ProviderUser_Confirmed,
118    ProviderUser_Updated,
119    ProviderUser_Removed,
120    ProviderOrganization_Created,
121    ProviderOrganization_Added,
122    ProviderOrganization_Removed,
123    ProviderOrganization_VaultAccessed,
124    OrganizationDomain_Added,
125    OrganizationDomain_Removed,
126    OrganizationDomain_Verified,
127    OrganizationDomain_NotVerified,
128    Secret_Retrieved,
129    Secret_Created,
130    Secret_Edited,
131    Secret_Deleted,
132    Secret_Permanently_Deleted,
133    Secret_Restored,
134    Project_Retrieved,
135    Project_Created,
136    Project_Edited,
137    Project_Deleted,
138    ServiceAccount_UserAdded,
139    ServiceAccount_UserRemoved,
140    ServiceAccount_GroupAdded,
141    ServiceAccount_GroupRemoved,
142    ServiceAccount_Created,
143    ServiceAccount_Deleted,
144    PhishingBlocker_SiteAccessed,
145    PhishingBlocker_SiteExited,
146    PhishingBlocker_Bypassed,
147    Send_Created_Text,
148    Send_Created_Text_WithEmailVerification,
149    Send_Created_Text_WithPasswordProtection,
150    Send_Created_File,
151    Send_Created_File_WithEmailVerification,
152    Send_Created_File_WithPasswordProtection,
153    Send_Edited_Text,
154    Send_Edited_File,
155    Send_Deleted_Text,
156    Send_Deleted_File,
157    Send_Accessed_Text,
158    Send_Accessed_File,
159
160    /// Unknown value returned from the server. This is used to handle forward compatibility.
161    __Unknown(i64),
162}
163
164impl EventType {
165    pub fn as_i64(&self) -> i64 {
166        match self {
167            Self::User_LoggedIn => 1000,
168            Self::User_ChangedPassword => 1001,
169            Self::User_Updated2fa => 1002,
170            Self::User_Disabled2fa => 1003,
171            Self::User_Recovered2fa => 1004,
172            Self::User_FailedLogIn => 1005,
173            Self::User_FailedLogIn2fa => 1006,
174            Self::User_ClientExportedVault => 1007,
175            Self::User_UpdatedTempPassword => 1008,
176            Self::User_MigratedKeyToKeyConnector => 1009,
177            Self::User_RequestedDeviceApproval => 1010,
178            Self::User_TdeOffboardingPasswordSet => 1011,
179            Self::Cipher_Created => 1100,
180            Self::Cipher_Updated => 1101,
181            Self::Cipher_Deleted => 1102,
182            Self::Cipher_AttachmentCreated => 1103,
183            Self::Cipher_AttachmentDeleted => 1104,
184            Self::Cipher_Shared => 1105,
185            Self::Cipher_UpdatedCollections => 1106,
186            Self::Cipher_ClientViewed => 1107,
187            Self::Cipher_ClientToggledPasswordVisible => 1108,
188            Self::Cipher_ClientToggledHiddenFieldVisible => 1109,
189            Self::Cipher_ClientToggledCardCodeVisible => 1110,
190            Self::Cipher_ClientCopiedPassword => 1111,
191            Self::Cipher_ClientCopiedHiddenField => 1112,
192            Self::Cipher_ClientCopiedCardCode => 1113,
193            Self::Cipher_ClientAutofilled => 1114,
194            Self::Cipher_SoftDeleted => 1115,
195            Self::Cipher_Restored => 1116,
196            Self::Cipher_ClientToggledCardNumberVisible => 1117,
197            Self::Cipher_ClientToggledTOTPSeedVisible => 1118,
198            Self::Cipher_ClientCopiedBankAccountNumber => 1119,
199            Self::Cipher_ClientCopiedBankAccountPin => 1120,
200            Self::Cipher_ClientToggledBankAccountNumberVisible => 1121,
201            Self::Cipher_ClientToggledBankAccountPinVisible => 1122,
202            Self::Cipher_ClientCopiedLicenseNumber => 1123,
203            Self::Cipher_ClientToggledLicenseNumberVisible => 1124,
204            Self::Cipher_ClientCopiedPassportNumber => 1125,
205            Self::Cipher_ClientToggledPassportNumberVisible => 1126,
206            Self::Cipher_ClientCopiedSwiftCode => 1127,
207            Self::Cipher_ClientToggledSwiftCodeVisible => 1128,
208            Self::Cipher_ClientCopiedIban => 1129,
209            Self::Cipher_ClientToggledIbanVisible => 1130,
210            Self::Cipher_ClientCopiedNationalIdentificationNumber => 1131,
211            Self::Cipher_ClientToggledNationalIdentificationNumberVisible => 1132,
212            Self::Collection_Created => 1300,
213            Self::Collection_Updated => 1301,
214            Self::Collection_Deleted => 1302,
215            Self::Group_Created => 1400,
216            Self::Group_Updated => 1401,
217            Self::Group_Deleted => 1402,
218            Self::OrganizationUser_Invited => 1500,
219            Self::OrganizationUser_Confirmed => 1501,
220            Self::OrganizationUser_Updated => 1502,
221            Self::OrganizationUser_Removed => 1503,
222            Self::OrganizationUser_UpdatedGroups => 1504,
223            Self::OrganizationUser_UnlinkedSso => 1505,
224            Self::OrganizationUser_ResetPassword_Enroll => 1506,
225            Self::OrganizationUser_ResetPassword_Withdraw => 1507,
226            Self::OrganizationUser_AdminResetPassword => 1508,
227            Self::OrganizationUser_ResetSsoLink => 1509,
228            Self::OrganizationUser_FirstSsoLogin => 1510,
229            Self::OrganizationUser_Revoked => 1511,
230            Self::OrganizationUser_Restored => 1512,
231            Self::OrganizationUser_ApprovedAuthRequest => 1513,
232            Self::OrganizationUser_RejectedAuthRequest => 1514,
233            Self::OrganizationUser_Deleted => 1515,
234            Self::OrganizationUser_Left => 1516,
235            Self::OrganizationUser_AutomaticallyConfirmed => 1517,
236            Self::OrganizationUser_SelfRevoked => 1518,
237            Self::OrganizationUser_AdminResetTwoFactor => 1519,
238            Self::OrganizationUser_Revoked_TwoFactorNonCompliance => 1520,
239            Self::OrganizationUser_Revoked_SingleOrganizationNonCompliance => 1521,
240            Self::OrganizationUser_NotificationBannerActionClicked => 1522,
241            Self::Organization_Updated => 1600,
242            Self::Organization_PurgedVault => 1601,
243            Self::Organization_ClientExportedVault => 1602,
244            Self::Organization_VaultAccessed => 1603,
245            Self::Organization_EnabledSso => 1604,
246            Self::Organization_DisabledSso => 1605,
247            Self::Organization_EnabledKeyConnector => 1606,
248            Self::Organization_DisabledKeyConnector => 1607,
249            Self::Organization_SponsorshipsSynced => 1608,
250            Self::Organization_CollectionManagement_Updated => 1609,
251            Self::Organization_CollectionManagement_LimitCollectionCreationEnabled => 1610,
252            Self::Organization_CollectionManagement_LimitCollectionCreationDisabled => 1611,
253            Self::Organization_CollectionManagement_LimitCollectionDeletionEnabled => 1612,
254            Self::Organization_CollectionManagement_LimitCollectionDeletionDisabled => 1613,
255            Self::Organization_CollectionManagement_LimitItemDeletionEnabled => 1614,
256            Self::Organization_CollectionManagement_LimitItemDeletionDisabled => 1615,
257            Self::Organization_CollectionManagement_AllowAdminAccessToAllCollectionItemsEnabled => 1616,
258            Self::Organization_CollectionManagement_AllowAdminAccessToAllCollectionItemsDisabled => 1617,
259            Self::Organization_ItemOrganization_Accepted => 1618,
260            Self::Organization_ItemOrganization_Declined => 1619,
261            Self::Organization_AutoConfirmEnabled_Admin => 1620,
262            Self::Organization_AutoConfirmDisabled_Admin => 1621,
263            Self::Organization_AutoConfirmEnabled_Portal => 1622,
264            Self::Organization_AutoConfirmDisabled_Portal => 1623,
265            Self::Policy_Updated => 1700,
266            Self::ProviderUser_Invited => 1800,
267            Self::ProviderUser_Confirmed => 1801,
268            Self::ProviderUser_Updated => 1802,
269            Self::ProviderUser_Removed => 1803,
270            Self::ProviderOrganization_Created => 1900,
271            Self::ProviderOrganization_Added => 1901,
272            Self::ProviderOrganization_Removed => 1902,
273            Self::ProviderOrganization_VaultAccessed => 1903,
274            Self::OrganizationDomain_Added => 2000,
275            Self::OrganizationDomain_Removed => 2001,
276            Self::OrganizationDomain_Verified => 2002,
277            Self::OrganizationDomain_NotVerified => 2003,
278            Self::Secret_Retrieved => 2100,
279            Self::Secret_Created => 2101,
280            Self::Secret_Edited => 2102,
281            Self::Secret_Deleted => 2103,
282            Self::Secret_Permanently_Deleted => 2104,
283            Self::Secret_Restored => 2105,
284            Self::Project_Retrieved => 2200,
285            Self::Project_Created => 2201,
286            Self::Project_Edited => 2202,
287            Self::Project_Deleted => 2203,
288            Self::ServiceAccount_UserAdded => 2300,
289            Self::ServiceAccount_UserRemoved => 2301,
290            Self::ServiceAccount_GroupAdded => 2302,
291            Self::ServiceAccount_GroupRemoved => 2303,
292            Self::ServiceAccount_Created => 2304,
293            Self::ServiceAccount_Deleted => 2305,
294            Self::PhishingBlocker_SiteAccessed => 2400,
295            Self::PhishingBlocker_SiteExited => 2401,
296            Self::PhishingBlocker_Bypassed => 2402,
297            Self::Send_Created_Text => 2500,
298            Self::Send_Created_Text_WithEmailVerification => 2501,
299            Self::Send_Created_Text_WithPasswordProtection => 2502,
300            Self::Send_Created_File => 2503,
301            Self::Send_Created_File_WithEmailVerification => 2504,
302            Self::Send_Created_File_WithPasswordProtection => 2505,
303            Self::Send_Edited_Text => 2506,
304            Self::Send_Edited_File => 2507,
305            Self::Send_Deleted_Text => 2508,
306            Self::Send_Deleted_File => 2509,
307            Self::Send_Accessed_Text => 2510,
308            Self::Send_Accessed_File => 2511,
309            Self::__Unknown(v) => *v,
310        }
311    }
312
313    pub fn from_i64(value: i64) -> Self {
314        match value {
315            1000 => Self::User_LoggedIn,
316            1001 => Self::User_ChangedPassword,
317            1002 => Self::User_Updated2fa,
318            1003 => Self::User_Disabled2fa,
319            1004 => Self::User_Recovered2fa,
320            1005 => Self::User_FailedLogIn,
321            1006 => Self::User_FailedLogIn2fa,
322            1007 => Self::User_ClientExportedVault,
323            1008 => Self::User_UpdatedTempPassword,
324            1009 => Self::User_MigratedKeyToKeyConnector,
325            1010 => Self::User_RequestedDeviceApproval,
326            1011 => Self::User_TdeOffboardingPasswordSet,
327            1100 => Self::Cipher_Created,
328            1101 => Self::Cipher_Updated,
329            1102 => Self::Cipher_Deleted,
330            1103 => Self::Cipher_AttachmentCreated,
331            1104 => Self::Cipher_AttachmentDeleted,
332            1105 => Self::Cipher_Shared,
333            1106 => Self::Cipher_UpdatedCollections,
334            1107 => Self::Cipher_ClientViewed,
335            1108 => Self::Cipher_ClientToggledPasswordVisible,
336            1109 => Self::Cipher_ClientToggledHiddenFieldVisible,
337            1110 => Self::Cipher_ClientToggledCardCodeVisible,
338            1111 => Self::Cipher_ClientCopiedPassword,
339            1112 => Self::Cipher_ClientCopiedHiddenField,
340            1113 => Self::Cipher_ClientCopiedCardCode,
341            1114 => Self::Cipher_ClientAutofilled,
342            1115 => Self::Cipher_SoftDeleted,
343            1116 => Self::Cipher_Restored,
344            1117 => Self::Cipher_ClientToggledCardNumberVisible,
345            1118 => Self::Cipher_ClientToggledTOTPSeedVisible,
346            1119 => Self::Cipher_ClientCopiedBankAccountNumber,
347            1120 => Self::Cipher_ClientCopiedBankAccountPin,
348            1121 => Self::Cipher_ClientToggledBankAccountNumberVisible,
349            1122 => Self::Cipher_ClientToggledBankAccountPinVisible,
350            1123 => Self::Cipher_ClientCopiedLicenseNumber,
351            1124 => Self::Cipher_ClientToggledLicenseNumberVisible,
352            1125 => Self::Cipher_ClientCopiedPassportNumber,
353            1126 => Self::Cipher_ClientToggledPassportNumberVisible,
354            1127 => Self::Cipher_ClientCopiedSwiftCode,
355            1128 => Self::Cipher_ClientToggledSwiftCodeVisible,
356            1129 => Self::Cipher_ClientCopiedIban,
357            1130 => Self::Cipher_ClientToggledIbanVisible,
358            1131 => Self::Cipher_ClientCopiedNationalIdentificationNumber,
359            1132 => Self::Cipher_ClientToggledNationalIdentificationNumberVisible,
360            1300 => Self::Collection_Created,
361            1301 => Self::Collection_Updated,
362            1302 => Self::Collection_Deleted,
363            1400 => Self::Group_Created,
364            1401 => Self::Group_Updated,
365            1402 => Self::Group_Deleted,
366            1500 => Self::OrganizationUser_Invited,
367            1501 => Self::OrganizationUser_Confirmed,
368            1502 => Self::OrganizationUser_Updated,
369            1503 => Self::OrganizationUser_Removed,
370            1504 => Self::OrganizationUser_UpdatedGroups,
371            1505 => Self::OrganizationUser_UnlinkedSso,
372            1506 => Self::OrganizationUser_ResetPassword_Enroll,
373            1507 => Self::OrganizationUser_ResetPassword_Withdraw,
374            1508 => Self::OrganizationUser_AdminResetPassword,
375            1509 => Self::OrganizationUser_ResetSsoLink,
376            1510 => Self::OrganizationUser_FirstSsoLogin,
377            1511 => Self::OrganizationUser_Revoked,
378            1512 => Self::OrganizationUser_Restored,
379            1513 => Self::OrganizationUser_ApprovedAuthRequest,
380            1514 => Self::OrganizationUser_RejectedAuthRequest,
381            1515 => Self::OrganizationUser_Deleted,
382            1516 => Self::OrganizationUser_Left,
383            1517 => Self::OrganizationUser_AutomaticallyConfirmed,
384            1518 => Self::OrganizationUser_SelfRevoked,
385            1519 => Self::OrganizationUser_AdminResetTwoFactor,
386            1520 => Self::OrganizationUser_Revoked_TwoFactorNonCompliance,
387            1521 => Self::OrganizationUser_Revoked_SingleOrganizationNonCompliance,
388            1522 => Self::OrganizationUser_NotificationBannerActionClicked,
389            1600 => Self::Organization_Updated,
390            1601 => Self::Organization_PurgedVault,
391            1602 => Self::Organization_ClientExportedVault,
392            1603 => Self::Organization_VaultAccessed,
393            1604 => Self::Organization_EnabledSso,
394            1605 => Self::Organization_DisabledSso,
395            1606 => Self::Organization_EnabledKeyConnector,
396            1607 => Self::Organization_DisabledKeyConnector,
397            1608 => Self::Organization_SponsorshipsSynced,
398            1609 => Self::Organization_CollectionManagement_Updated,
399            1610 => Self::Organization_CollectionManagement_LimitCollectionCreationEnabled,
400            1611 => Self::Organization_CollectionManagement_LimitCollectionCreationDisabled,
401            1612 => Self::Organization_CollectionManagement_LimitCollectionDeletionEnabled,
402            1613 => Self::Organization_CollectionManagement_LimitCollectionDeletionDisabled,
403            1614 => Self::Organization_CollectionManagement_LimitItemDeletionEnabled,
404            1615 => Self::Organization_CollectionManagement_LimitItemDeletionDisabled,
405            1616 => {
406                Self::Organization_CollectionManagement_AllowAdminAccessToAllCollectionItemsEnabled
407            }
408            1617 => {
409                Self::Organization_CollectionManagement_AllowAdminAccessToAllCollectionItemsDisabled
410            }
411            1618 => Self::Organization_ItemOrganization_Accepted,
412            1619 => Self::Organization_ItemOrganization_Declined,
413            1620 => Self::Organization_AutoConfirmEnabled_Admin,
414            1621 => Self::Organization_AutoConfirmDisabled_Admin,
415            1622 => Self::Organization_AutoConfirmEnabled_Portal,
416            1623 => Self::Organization_AutoConfirmDisabled_Portal,
417            1700 => Self::Policy_Updated,
418            1800 => Self::ProviderUser_Invited,
419            1801 => Self::ProviderUser_Confirmed,
420            1802 => Self::ProviderUser_Updated,
421            1803 => Self::ProviderUser_Removed,
422            1900 => Self::ProviderOrganization_Created,
423            1901 => Self::ProviderOrganization_Added,
424            1902 => Self::ProviderOrganization_Removed,
425            1903 => Self::ProviderOrganization_VaultAccessed,
426            2000 => Self::OrganizationDomain_Added,
427            2001 => Self::OrganizationDomain_Removed,
428            2002 => Self::OrganizationDomain_Verified,
429            2003 => Self::OrganizationDomain_NotVerified,
430            2100 => Self::Secret_Retrieved,
431            2101 => Self::Secret_Created,
432            2102 => Self::Secret_Edited,
433            2103 => Self::Secret_Deleted,
434            2104 => Self::Secret_Permanently_Deleted,
435            2105 => Self::Secret_Restored,
436            2200 => Self::Project_Retrieved,
437            2201 => Self::Project_Created,
438            2202 => Self::Project_Edited,
439            2203 => Self::Project_Deleted,
440            2300 => Self::ServiceAccount_UserAdded,
441            2301 => Self::ServiceAccount_UserRemoved,
442            2302 => Self::ServiceAccount_GroupAdded,
443            2303 => Self::ServiceAccount_GroupRemoved,
444            2304 => Self::ServiceAccount_Created,
445            2305 => Self::ServiceAccount_Deleted,
446            2400 => Self::PhishingBlocker_SiteAccessed,
447            2401 => Self::PhishingBlocker_SiteExited,
448            2402 => Self::PhishingBlocker_Bypassed,
449            2500 => Self::Send_Created_Text,
450            2501 => Self::Send_Created_Text_WithEmailVerification,
451            2502 => Self::Send_Created_Text_WithPasswordProtection,
452            2503 => Self::Send_Created_File,
453            2504 => Self::Send_Created_File_WithEmailVerification,
454            2505 => Self::Send_Created_File_WithPasswordProtection,
455            2506 => Self::Send_Edited_Text,
456            2507 => Self::Send_Edited_File,
457            2508 => Self::Send_Deleted_Text,
458            2509 => Self::Send_Deleted_File,
459            2510 => Self::Send_Accessed_Text,
460            2511 => Self::Send_Accessed_File,
461            v => Self::__Unknown(v),
462        }
463    }
464}
465
466impl serde::Serialize for EventType {
467    fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> {
468        serializer.serialize_i64(self.as_i64())
469    }
470}
471
472impl<'de> serde::Deserialize<'de> for EventType {
473    fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
474        struct EventTypeVisitor;
475
476        impl Visitor<'_> for EventTypeVisitor {
477            type Value = EventType;
478
479            fn expecting(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
480                f.write_str("an integer")
481            }
482
483            fn visit_i64<E: serde::de::Error>(self, v: i64) -> Result<Self::Value, E> {
484                Ok(EventType::from_i64(v))
485            }
486
487            fn visit_u64<E: serde::de::Error>(self, v: u64) -> Result<Self::Value, E> {
488                Ok(EventType::from_i64(v as i64))
489            }
490        }
491
492        deserializer.deserialize_i64(EventTypeVisitor)
493    }
494}
495
496impl std::fmt::Display for EventType {
497    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
498        write!(f, "{}", self.as_i64())
499    }
500}
501impl Default for EventType {
502    fn default() -> EventType {
503        Self::User_LoggedIn
504    }
505}