wecom_rs/client/contact/async_batch/
model.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Deserialize, Serialize, Default)]
4pub struct JobStatus {
5 pub status: i32,
7 #[serde(rename = "type")]
12 pub kind: JobType,
13 pub total: i32,
15 pub percentage: i32,
17 pub result: Vec<Job>,
19}
20
21#[derive(Debug, Deserialize, Serialize, Default)]
22pub enum JobType {
23 #[default]
25 #[serde(rename = "sync_user")]
26 SyncUser,
27 #[serde(rename = "replace_user")]
29 ReplaceUser,
30 #[serde(rename = "replace_party")]
32 ReplaceParty,
33}
34
35#[derive(Debug, Deserialize, Serialize, Default)]
36pub struct Job {
37 #[serde(rename = "errcode")]
38 pub err_code: String,
39 #[serde(rename = "errmsg")]
40 pub err_msg: i64,
41 #[serde(flatten, skip_serializing_if = "Option::is_none")]
42 pub user: Option<UserId>,
43 #[serde(flatten, skip_serializing_if = "Option::is_none")]
44 pub party: Option<Party>,
45}
46
47#[derive(Debug, Deserialize, Serialize, Default)]
50pub struct UserId {
51 pub userid: String,
53}
54
55#[derive(Debug, Deserialize, Serialize, Default)]
58pub struct Party {
59 pub action: i32,
65 pub partyid: i64,
67}