1use chrono::NaiveDateTime;
2use serde::{Deserialize, Serialize};
3use uuid::Uuid;
4
5#[derive(Debug, Clone, Serialize, Deserialize)]
6pub struct OauthAccount {
7 pub id: Uuid,
8 pub user_id: Uuid,
9 pub provider: String,
10 pub provider_user_id: String,
11 pub access_token_enc: Option<String>,
12 pub refresh_token_enc: Option<String>,
13 pub created_at: NaiveDateTime,
14 pub expires_at: Option<NaiveDateTime>,
15 pub updated_at: NaiveDateTime,
16}
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
19pub struct NewOauthAccount {
20 pub id: Uuid,
21 pub user_id: Uuid,
22 pub provider: String,
23 pub provider_user_id: String,
24 pub access_token_enc: Option<String>,
25 pub refresh_token_enc: Option<String>,
26 pub created_at: NaiveDateTime,
27 pub expires_at: Option<NaiveDateTime>,
28 pub updated_at: NaiveDateTime,
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize)]
32pub struct OauthState {
33 pub state: String,
34 pub provider: String,
35 pub redirect_url: Option<String>,
36 pub expires_at: NaiveDateTime,
37 pub created_at: NaiveDateTime,
38}
39
40#[derive(Debug, Clone, Serialize, Deserialize)]
41pub struct NewOauthState {
42 pub state: String,
43 pub provider: String,
44 pub redirect_url: Option<String>,
45 pub expires_at: NaiveDateTime,
46 pub created_at: NaiveDateTime,
47}