gewe-core 0.1.4

Core types and definitions for gewe WeChat SDK
Documentation
use super::common::{FinderContactProfile, FinderSearchInfo};
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct FollowFinderRequest<'a> {
    #[serde(rename = "appId")]
    pub app_id: &'a str,
    #[serde(rename = "myUserName")]
    pub my_user_name: &'a str,
    #[serde(rename = "myRoleType")]
    pub my_role_type: i32,
    #[serde(rename = "toUserName")]
    pub to_user_name: &'a str,
    #[serde(rename = "opType")]
    pub op_type: i32,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub search_info: Option<FinderSearchInfo<'a>>,
}

#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct FollowFinderResponse {
    pub username: String,
    pub nickname: String,
    #[serde(rename = "headUrl")]
    pub head_url: String,
    pub signature: String,
    #[serde(rename = "followFlag")]
    pub follow_flag: i32,
    #[serde(default)]
    pub auth_info: serde_json::Value,
    #[serde(rename = "coverImgUrl")]
    pub cover_img_url: String,
    #[serde(rename = "spamStatus")]
    pub spam_status: i32,
    #[serde(rename = "extFlag")]
    pub ext_flag: i32,
    #[serde(rename = "extInfo")]
    pub ext_info: Option<super::common::FinderExtInfo>,
    #[serde(rename = "liveStatus")]
    pub live_status: i32,
    #[serde(rename = "liveCoverImgUrl")]
    pub live_cover_img_url: String,
    #[serde(rename = "liveInfo")]
    pub live_info: Option<super::common::FinderLiveInfo>,
    pub status: i32,
}

#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct FollowListRequest<'a> {
    #[serde(rename = "appId")]
    pub app_id: &'a str,
    #[serde(rename = "myUserName")]
    pub my_user_name: &'a str,
    #[serde(rename = "myRoleType")]
    pub my_role_type: i32,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub last_buffer: Option<&'a str>,
}

#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct FollowListData {
    #[serde(rename = "contactList")]
    pub contact_list: Vec<FinderContactProfile>,
    #[serde(rename = "lastBuffer")]
    pub last_buffer: String,
    #[serde(rename = "continueFlag")]
    pub continue_flag: i32,
    #[serde(rename = "followCount")]
    pub follow_count: i32,
}

#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct SearchFollowRequest<'a> {
    #[serde(rename = "appId")]
    pub app_id: &'a str,
    #[serde(rename = "myUserName")]
    pub my_user_name: &'a str,
    #[serde(rename = "myRoleType")]
    pub my_role_type: i32,
    #[serde(rename = "toUserName")]
    pub to_user_name: &'a str,
    pub keyword: &'a str,
}