95 lines
3.6 KiB
Rust
95 lines
3.6 KiB
Rust
use crate::compositions;
|
|
use crate::repositories;
|
|
use beteran_protobuf_rust as bpr;
|
|
|
|
impl From<i32> for repositories::member::schema::MemberState {
|
|
fn from(s: i32) -> Self {
|
|
match s {
|
|
s if s == repositories::member::schema::MemberState::Normal as i32 => {
|
|
repositories::member::schema::MemberState::Normal
|
|
}
|
|
s if s == repositories::member::schema::MemberState::Pending as i32 => {
|
|
repositories::member::schema::MemberState::Pending
|
|
}
|
|
s if s == repositories::member::schema::MemberState::Withdrawal as i32 => {
|
|
repositories::member::schema::MemberState::Withdrawal
|
|
}
|
|
s if s == repositories::member::schema::MemberState::Dormancy as i32 => {
|
|
repositories::member::schema::MemberState::Dormancy
|
|
}
|
|
s if s == repositories::member::schema::MemberState::Blacklist as i32 => {
|
|
repositories::member::schema::MemberState::Blacklist
|
|
}
|
|
s if s == repositories::member::schema::MemberState::Suspended as i32 => {
|
|
repositories::member::schema::MemberState::Suspended
|
|
}
|
|
_ => repositories::member::schema::MemberState::Normal,
|
|
}
|
|
}
|
|
}
|
|
|
|
impl From<&repositories::member::models::Member> for bpr::models::member::Member {
|
|
fn from(d: &repositories::member::models::Member) -> Self {
|
|
bpr::models::member::Member {
|
|
id: d.id.to_string(),
|
|
site_id: d.site_id.to_string(),
|
|
member_class_id: d.member_class_id.to_string(),
|
|
member_level_id: d.member_level_id.to_string(),
|
|
parent_member_id: d.parent_member_id.map(|d| d.to_string()),
|
|
child_member_count: d.child_member_count as u64,
|
|
username: d.username.clone(),
|
|
nickname: d.nickname.clone(),
|
|
mobile_phone_number: d.mobile_phone_number.clone(),
|
|
state: d.state as i32,
|
|
state_changed_at: d.state_changed_at.map(|d| d as u64),
|
|
last_signined_ip: d.last_signined_ip.clone(),
|
|
last_signined_at: d.last_signined_at.map(|d| d as u64),
|
|
created_at: d.created_at as u64,
|
|
updated_at: d.updated_at as u64,
|
|
deleted_at: d.deleted_at.map(|d| d as u64),
|
|
}
|
|
}
|
|
}
|
|
|
|
impl From<&compositions::member::models::MemberModel> for bpr::models::member::MemberModel {
|
|
fn from(d: &compositions::member::models::MemberModel) -> Self {
|
|
bpr::models::member::MemberModel {
|
|
id: d.id.to_string(),
|
|
site: Some(bpr::models::site::Site::from(&d.site)),
|
|
member_class: Some(bpr::models::member_class::MemberClass::from(
|
|
&d.member_class,
|
|
)),
|
|
member_level: Some(bpr::models::member_level::MemberLevel::from(
|
|
&d.member_level,
|
|
)),
|
|
bank_account: d
|
|
.bank_account
|
|
.as_ref()
|
|
.map(bpr::models::member_bank_account::MemberBankAccountModel::from),
|
|
parent_member: d
|
|
.parent_member
|
|
.as_ref()
|
|
.map(bpr::models::member::Member::from),
|
|
child_member_count: d.child_member_count as u64,
|
|
username: d.username.clone(),
|
|
nickname: d.nickname.clone(),
|
|
mobile_phone_number: d.mobile_phone_number.clone(),
|
|
state: d.state as i32,
|
|
state_changed_at: d.state_changed_at.map(|d| d as u64),
|
|
member_game_setting: d
|
|
.member_game_setting
|
|
.as_ref()
|
|
.map(bpr::models::member_game_setting::MemberGameSetting::from),
|
|
member_settlement_setting: d
|
|
.member_settlement_setting
|
|
.as_ref()
|
|
.map(bpr::models::member_settlement_setting::MemberSettlementSetting::from),
|
|
last_signined_ip: d.last_signined_ip.clone(),
|
|
last_signined_at: d.last_signined_at.map(|d| d as u64),
|
|
created_at: d.created_at as u64,
|
|
updated_at: d.updated_at as u64,
|
|
deleted_at: d.deleted_at.map(|d| d as u64),
|
|
}
|
|
}
|
|
}
|