gewe-core 0.1.4

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

#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct ScanFollowRequest<'a> {
    #[serde(rename = "appId")]
    pub app_id: &'a str,
    #[serde(rename = "proxyIp")]
    pub proxy_ip: &'a str,
    #[serde(rename = "myUserName")]
    pub my_user_name: &'a str,
    #[serde(rename = "myRoleType")]
    pub my_role_type: i32,
    #[serde(rename = "qrContent")]
    pub qr_content: &'a str,
    #[serde(rename = "objectId")]
    pub object_id: &'a str,
    #[serde(rename = "objectNonceId")]
    pub object_nonce_id: &'a str,
}

#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct ScanBrowseRequest<'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 = "qrContent")]
    pub qr_content: &'a str,
    #[serde(rename = "objectId")]
    pub object_id: i64,
}

#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct ScanFavRequest<'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 = "qrContent")]
    pub qr_content: &'a str,
    #[serde(rename = "objectId")]
    pub object_id: i64,
}

pub type ScanLikeRequest<'a> = ScanFavRequest<'a>;

#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct ScanCommentRequest<'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 = "qrContent")]
    pub qr_content: &'a str,
    #[serde(rename = "objectId")]
    pub object_id: i64,
    #[serde(rename = "commentContent")]
    pub comment_content: &'a str,
    #[serde(rename = "replyUsername", skip_serializing_if = "Option::is_none")]
    pub reply_username: Option<&'a str>,
    #[serde(rename = "refCommentId", skip_serializing_if = "Option::is_none")]
    pub ref_comment_id: Option<i64>,
    #[serde(rename = "rootCommentId", skip_serializing_if = "Option::is_none")]
    pub root_comment_id: Option<i64>,
}

#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct ScanQrCodeRequest<'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 = "qrContent")]
    pub qr_content: &'a str,
}

#[derive(Debug, Clone, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct ScanLoginChannelsRequest<'a> {
    #[serde(rename = "appId")]
    pub app_id: &'a str,
    #[serde(rename = "qrContent")]
    pub qr_content: &'a str,
}

#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ScanLoginFinderInfo {
    #[serde(rename = "finderUsername", skip_serializing_if = "Option::is_none")]
    pub finder_username: Option<String>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub nickname: Option<String>,
    #[serde(rename = "headImgUrl", skip_serializing_if = "Option::is_none")]
    pub head_img_url: Option<String>,
    #[serde(rename = "coverImgUrl", skip_serializing_if = "Option::is_none")]
    pub cover_img_url: Option<String>,
    #[serde(rename = "spamFlag", skip_serializing_if = "Option::is_none")]
    pub spam_flag: Option<i32>,
    #[serde(rename = "acctType", skip_serializing_if = "Option::is_none")]
    pub acct_type: Option<i32>,
    #[serde(rename = "authIconType", skip_serializing_if = "Option::is_none")]
    pub auth_icon_type: Option<i32>,
    #[serde(rename = "ownerWxUin", skip_serializing_if = "Option::is_none")]
    pub owner_wx_uin: Option<i64>,
    #[serde(rename = "adminNickname", skip_serializing_if = "Option::is_none")]
    pub admin_nickname: Option<String>,
    #[serde(rename = "categoryFlag", skip_serializing_if = "Option::is_none")]
    pub category_flag: Option<String>,
    #[serde(rename = "uniqId", skip_serializing_if = "Option::is_none")]
    pub uniq_id: Option<String>,
    #[serde(rename = "isMasterFinder", skip_serializing_if = "Option::is_none")]
    pub is_master_finder: Option<bool>,
}

#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ScanLoginChannelsResponse {
    #[serde(rename = "sessionId")]
    pub session_id: String,
    #[serde(rename = "finderList")]
    pub finder_list: Vec<ScanLoginFinderInfo>,
    #[serde(rename = "acctStatus")]
    pub acct_status: i32,
}

pub type ScanFollowResponse = FinderContactProfile;
pub type ScanQrCodeResponse = FinderRawData;
pub type ScanCommentResponse = FinderRawData;