use super::schema::{members, MemberState}; use beteran_common_rust as bcr; /// #[derive(Eq, Hash, PartialEq, PartialOrd, Debug, Clone, Identifiable, Queryable)] #[table_name = "members"] pub struct Member { /// pub id: uuid::Uuid, /// pub site_id: uuid::Uuid, /// pub member_class_id: uuid::Uuid, /// pub member_level_id: uuid::Uuid, /// pub username: String, /// pub password: String, /// pub nickname: String, /// pub mobile_phone_number: Option, /// pub state: MemberState, /// pub state_changed_at: Option, /// pub parent_member_id: Option, /// pub child_member_count: i64, /// pub last_signined_ip: Option, /// pub last_signined_at: Option, /// pub created_at: i64, /// pub updated_at: i64, /// pub deleted_at: Option, } /// #[derive(Insertable, Debug, Clone)] #[table_name = "members"] pub struct NewMember { /// pub site_id: uuid::Uuid, /// pub member_class_id: uuid::Uuid, /// pub member_level_id: uuid::Uuid, /// pub parent_member_id: Option, /// pub username: String, /// pub password: String, /// pub state: MemberState, /// pub nickname: String, /// pub mobile_phone_number: Option, } /// #[derive(AsChangeset, Debug, Clone)] #[table_name = "members"] pub struct ModifyMember { /// pub site_id: Option, /// pub member_level_id: Option, /// pub mobile_phone_number: Option, } /// #[derive(AsChangeset, Debug, Clone)] #[table_name = "members"] pub struct ModifyMemberForPassword { /// pub password: String, } /// #[derive(AsChangeset, Debug, Clone)] #[table_name = "members"] pub struct ModifyMemberForState { /// pub state: MemberState, } /// #[derive(AsChangeset, Debug, Clone)] #[table_name = "members"] pub struct ModifyMember4LastSignined { /// pub last_signined_ip: String, // pub last_signined_at: i64, } /// #[derive(AsChangeset, Debug, Clone)] #[table_name = "members"] pub struct ModifyMember4DeletedAt { /// pub deleted_at: Option, } /// #[derive(Debug, Clone)] pub struct FindAllSearch { /// pub site_id: Option, /// pub member_class_id: Option, /// pub member_level_id: Option, /// pub parent_member_id: Option, /// pub username: Option, /// pub usernames: Vec, /// pub username_like: Option, /// pub nickname: Option, /// pub nicknames: Vec, /// pub nickname_like: Option, /// pub mobile_phone_number_like: Option, /// pub last_signined_ip: Option, /// pub state: Option, /// pub deleted_at: Option, } /// #[derive(Debug, Clone)] pub struct FindAll { /// pub search: Option, /// pub pagination: Option, /// pub sorts: Option>, }