alibi_sqlx/store/entities/
device_code.rs1use crate::SqlxModel;
2use alibi_core::DeviceCode;
3use chrono::{DateTime, Utc};
4
5#[derive(Clone, Debug, PartialEq, Eq, sqlx::FromRow, SqlxModel)]
6#[auth(table = "device_code")]
7pub struct Model {
8 pub id: String,
9 pub device_code: String,
10 pub user_code: String,
11 pub user_id: Option<String>,
12 pub expires_at: DateTime<Utc>,
13 pub status: String,
14 pub last_polled_at: Option<DateTime<Utc>>,
15 pub polling_interval: Option<i64>,
16 pub client_id: Option<String>,
17 pub scope: Option<String>,
18}
19
20impl From<&Model> for DeviceCode {
21 fn from(model: &Model) -> Self {
22 Self {
23 id: model.id.clone(),
24 device_code: model.device_code.clone(),
25 user_code: model.user_code.clone(),
26 user_id: model.user_id.clone(),
27 expires_at: model.expires_at,
28 status: model.status.clone(),
29 last_polled_at: model.last_polled_at,
30 polling_interval: model.polling_interval,
31 client_id: model.client_id.clone(),
32 scope: model.scope.clone(),
33 }
34 }
35}