//! //! use crate::repositories::member::models::Member as _Member; use crate::repositories::member_bank_withdraw::schema::MemberBankWithdrawState; use diesel::deserialize::QueryableByName; /// #[derive(Eq, Hash, PartialEq, Debug, Clone)] pub struct MemberBankWithdrawModel { /// pub id: uuid::Uuid, /// pub member: _Member, /// pub bank_name: String, /// pub name: String, /// pub account_number: String, /// pub amount: i32, /// pub password: String, /// pub memo: Option, /// pub state: MemberBankWithdrawState, /// pub state_changed_at: i64, /// pub created_at: i64, /// pub updated_at: i64, } impl QueryableByName for MemberBankWithdrawModel { fn build>(row: &R) -> diesel::deserialize::Result { let member = _Member { id: row.get("_m_id")?, site_id: row.get("_m_site_id")?, member_class_id: row.get("_m_member_class_id")?, member_level_id: row.get("_m_member_level_id")?, username: row.get("_m_username")?, password: row.get("_m_password")?, nickname: row.get("_m_nickname")?, mobile_phone_number: row.get("_m_mobile_phone_number")?, state: row.get("_m_state")?, state_changed_at: row.get("_m_state_changed_at")?, parent_member_id: row.get("_m_parent_member_id")?, child_member_count: row.get("_m_child_member_count")?, last_signined_ip: row.get("_m_last_signined_ip")?, last_signined_at: row.get("_m_last_signined_at")?, created_at: row.get("_m_created_at")?, updated_at: row.get("_m_updated_at")?, deleted_at: row.get("_m_deleted_at")?, }; Ok(MemberBankWithdrawModel { id: row.get("mbw_id")?, member, bank_name: row.get("mbw_bank_name")?, name: row.get("mbw_name")?, account_number: row.get("mbw_account_number")?, amount: row.get("mbw_amount")?, password: row.get("mbw_password")?, memo: row.get("mbw_memo")?, state: row.get("mbw_state")?, state_changed_at: row.get("mbw_state_changed_at")?, created_at: row.get("mbw_created_at")?, updated_at: row.get("mbw_updated_at")?, }) } }