gewe_core/video_account/
common.rs

1use serde::{Deserialize, Serialize};
2use serde_json::Value;
3
4#[derive(Debug, Clone, Serialize, Deserialize, Default)]
5#[serde(rename_all = "camelCase")]
6pub struct FinderExtInfo {
7    #[serde(skip_serializing_if = "Option::is_none")]
8    pub country: Option<String>,
9    #[serde(skip_serializing_if = "Option::is_none")]
10    pub province: Option<String>,
11    #[serde(skip_serializing_if = "Option::is_none")]
12    pub city: Option<String>,
13    #[serde(skip_serializing_if = "Option::is_none")]
14    pub sex: Option<i32>,
15}
16
17#[derive(Debug, Clone, Serialize, Deserialize, Default)]
18#[serde(rename_all = "camelCase")]
19pub struct FinderLotterySetting {
20    #[serde(skip_serializing_if = "Option::is_none")]
21    pub setting_flag: Option<i32>,
22    #[serde(skip_serializing_if = "Option::is_none")]
23    pub attend_type: Option<i32>,
24}
25
26#[derive(Debug, Clone, Serialize, Deserialize, Default)]
27#[serde(rename_all = "camelCase")]
28pub struct FinderLiveInfo {
29    #[serde(skip_serializing_if = "Option::is_none")]
30    pub anchor_status_flag: Option<i32>,
31    #[serde(skip_serializing_if = "Option::is_none")]
32    pub switch_flag: Option<i32>,
33    #[serde(skip_serializing_if = "Option::is_none")]
34    pub lottery_setting: Option<FinderLotterySetting>,
35    #[serde(skip_serializing_if = "Option::is_none")]
36    pub mic_setting: Option<Value>,
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize, Default)]
40#[serde(rename_all = "camelCase")]
41pub struct FinderContactProfile {
42    pub username: String,
43    pub nickname: String,
44    pub head_url: String,
45    #[serde(skip_serializing_if = "Option::is_none")]
46    pub seq: Option<i64>,
47    pub signature: String,
48    #[serde(skip_serializing_if = "Option::is_none")]
49    pub follow_flag: Option<i32>,
50    #[serde(default)]
51    pub auth_info: Value,
52    #[serde(skip_serializing_if = "Option::is_none")]
53    pub cover_img_url: Option<String>,
54    #[serde(skip_serializing_if = "Option::is_none")]
55    pub spam_status: Option<i32>,
56    #[serde(skip_serializing_if = "Option::is_none")]
57    pub ext_flag: Option<i32>,
58    #[serde(skip_serializing_if = "Option::is_none")]
59    pub ext_info: Option<FinderExtInfo>,
60    #[serde(skip_serializing_if = "Option::is_none")]
61    pub live_status: Option<i32>,
62    #[serde(skip_serializing_if = "Option::is_none")]
63    pub live_cover_img_url: Option<String>,
64    #[serde(skip_serializing_if = "Option::is_none")]
65    pub live_info: Option<FinderLiveInfo>,
66    #[serde(skip_serializing_if = "Option::is_none")]
67    pub friend_follow_count: Option<i32>,
68    #[serde(skip_serializing_if = "Option::is_none")]
69    pub one_time_flag: Option<i32>,
70    #[serde(skip_serializing_if = "Option::is_none")]
71    pub status: Option<i32>,
72    #[serde(skip_serializing_if = "Option::is_none")]
73    pub follow_time: Option<i64>,
74}
75
76#[derive(Debug, Clone, Serialize, Deserialize, Default)]
77#[serde(rename_all = "camelCase")]
78pub struct FinderSearchInfo<'a> {
79    #[serde(skip_serializing_if = "Option::is_none")]
80    pub cookies: Option<&'a str>,
81    #[serde(skip_serializing_if = "Option::is_none")]
82    pub search_id: Option<&'a str>,
83    #[serde(skip_serializing_if = "Option::is_none")]
84    pub doc_id: Option<&'a str>,
85}
86
87pub type FinderRawData = Value;