47 lines
1.1 KiB
Rust
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,
|
|
}
|
|
}
|
|
}
|