fistinc-auth 0.1.0

Paging types for Fist Inc bank
Documentation
use chrono::{DateTime, Utc};
use uuid::Uuid;

use crate::domain::entity::LoginAction;
use crate::infrastructure::schema::login_actions;

#[derive(Queryable, Insertable)]
#[table_name = "login_actions"]
pub struct LoginActionDiesel {
    user_id: String,
    date_time: DateTime<Utc>,
    ip: String,
}

impl Into<LoginAction> for LoginActionDiesel {
    fn into(self) -> LoginAction {
        LoginAction {
            user_id: Uuid::parse_str(&*self.user_id).unwrap(),
            date_time: self.date_time,
            ip: self.ip,
        }
    }
}

impl From<LoginAction> for LoginActionDiesel {
    fn from(action: LoginAction) -> Self {
        Self {
            user_id: action.user_id.to_string(),
            date_time: action.date_time,
            ip: action.ip,
        }
    }
}