Files
kompress_eshop/src/views/auth.rs
2026-06-16 12:12:25 +02:00

46 lines
1.0 KiB
Rust

use serde::{Deserialize, Serialize};
use crate::models::_entities::users;
#[derive(Debug, Deserialize, Serialize)]
pub struct LoginResponse {
pub token: String,
pub pid: String,
pub name: String,
pub is_verified: bool,
pub is_admin: bool,
}
impl LoginResponse {
#[must_use]
pub fn new(user: &users::Model, token: &String, is_admin: bool) -> Self {
Self {
token: token.to_string(),
pid: user.pid.to_string(),
name: user.name.clone(),
is_verified: user.email_verified_at.is_some(),
is_admin,
}
}
}
#[derive(Debug, Deserialize, Serialize)]
pub struct CurrentResponse {
pub pid: String,
pub name: String,
pub email: String,
pub is_admin: bool,
}
impl CurrentResponse {
#[must_use]
pub fn new(user: &users::Model, is_admin: bool) -> Self {
Self {
pid: user.pid.to_string(),
name: user.name.clone(),
email: user.email.clone(),
is_admin,
}
}
}