1#[derive(Debug, Clone)]
2pub enum LoginMethod {
3 Password,
4 OAuth { provider_id: String },
5}
6
7#[derive(Debug, Clone)]
8pub enum LoginFailReason {
9 InvalidCredentials,
10 EmailNotVerified,
11 OAuthError,
12}
13
14#[derive(Debug, Clone)]
15pub enum AuthEvent {
16 UserSignedUp {
17 user_id: i64,
18 email: String,
19 },
20 UserLoggedIn {
21 user_id: i64,
22 method: LoginMethod,
23 },
24 UserLoginFailed {
25 email: String,
26 reason: LoginFailReason,
27 },
28 UserLoggedOut {
29 user_id: i64,
30 session_id: i64,
31 },
32 EmailVerified {
33 user_id: i64,
34 },
35 PasswordResetRequested {
36 user_id: i64,
37 },
38 PasswordResetCompleted {
39 user_id: i64,
40 },
41 OAuthAccountLinked {
42 user_id: i64,
43 provider_id: String,
44 },
45 OAuthAccountUnlinked {
46 user_id: i64,
47 provider_id: String,
48 },
49 SessionCreated {
50 user_id: i64,
51 session_id: i64,
52 ip: Option<String>,
53 },
54 SessionRevoked {
55 user_id: i64,
56 session_id: i64,
57 },
58}