47 lines
1.1 KiB
Rust

#[derive(Clone, serde::Serialize)]
pub struct Name {
pub first: String,
pub full: String,
}
#[derive(Clone, serde::Serialize)]
pub struct Member {
pub id: String,
pub name: Name,
pub registration_token: Option<String>,
pub diploma: Option<String>,
pub hours: Vec<String>,
pub groups: Vec<String>,
}
use crate::database::model::Member as DbMember;
impl From<DbMember> for Member {
fn from(value: DbMember) -> Self {
Member {
id: value.id,
name: Name {
first: value.first_name,
full: value.full_name,
},
registration_token: value.registration_token,
diploma: value.diploma,
hours: value.hours,
groups: value.groups,
}
}
}
impl From<Member> for DbMember {
fn from(value: Member) -> Self {
DbMember {
id: value.id,
first_name: value.name.first,
full_name: value.name.full,
registration_token: None,
diploma: value.diploma,
hours: value.hours,
groups: value.groups,
}
}
}