vrchatapi/models/
group_my_member.rs1use crate::models;
10use serde::{Deserialize, Serialize};
11
12#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
13pub struct GroupMyMember {
14 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
15 pub id: Option<String>,
16 #[serde(rename = "groupId", skip_serializing_if = "Option::is_none")]
17 pub group_id: Option<String>,
18 #[serde(rename = "userId", skip_serializing_if = "Option::is_none")]
20 pub user_id: Option<String>,
21 #[serde(rename = "roleIds", skip_serializing_if = "Option::is_none")]
22 pub role_ids: Option<Vec<String>>,
23 #[serde(
24 rename = "acceptedByDisplayName",
25 default,
26 with = "::serde_with::rust::double_option",
27 skip_serializing_if = "Option::is_none"
28 )]
29 pub accepted_by_display_name: Option<Option<String>>,
30 #[serde(
31 rename = "acceptedById",
32 default,
33 with = "::serde_with::rust::double_option",
34 skip_serializing_if = "Option::is_none"
35 )]
36 pub accepted_by_id: Option<Option<String>>,
37 #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")]
38 pub created_at: Option<String>,
39 #[serde(rename = "managerNotes", skip_serializing_if = "Option::is_none")]
40 pub manager_notes: Option<String>,
41 #[serde(rename = "membershipStatus", skip_serializing_if = "Option::is_none")]
42 pub membership_status: Option<String>,
43 #[serde(
44 rename = "isSubscribedToAnnouncements",
45 skip_serializing_if = "Option::is_none"
46 )]
47 pub is_subscribed_to_announcements: Option<bool>,
48 #[serde(
49 rename = "isSubscribedToEventAnnouncements",
50 skip_serializing_if = "Option::is_none"
51 )]
52 pub is_subscribed_to_event_announcements: Option<bool>,
53 #[serde(rename = "visibility", skip_serializing_if = "Option::is_none")]
54 pub visibility: Option<String>,
55 #[serde(rename = "isRepresenting", skip_serializing_if = "Option::is_none")]
56 pub is_representing: Option<bool>,
57 #[serde(rename = "joinedAt", skip_serializing_if = "Option::is_none")]
58 pub joined_at: Option<String>,
59 #[serde(
60 rename = "bannedAt",
61 default,
62 with = "::serde_with::rust::double_option",
63 skip_serializing_if = "Option::is_none"
64 )]
65 pub banned_at: Option<Option<String>>,
66 #[serde(rename = "has2FA", skip_serializing_if = "Option::is_none")]
67 pub has2_fa: Option<bool>,
68 #[serde(
69 rename = "hasJoinedFromPurchase",
70 skip_serializing_if = "Option::is_none"
71 )]
72 pub has_joined_from_purchase: Option<bool>,
73 #[serde(
74 rename = "lastPostReadAt",
75 default,
76 with = "::serde_with::rust::double_option",
77 skip_serializing_if = "Option::is_none"
78 )]
79 pub last_post_read_at: Option<Option<String>>,
80 #[serde(rename = "mRoleIds", skip_serializing_if = "Option::is_none")]
81 pub m_role_ids: Option<Vec<String>>,
82 #[serde(rename = "permissions", skip_serializing_if = "Option::is_none")]
83 pub permissions: Option<Vec<models::GroupPermissions>>,
84}
85
86impl GroupMyMember {
87 pub fn new() -> GroupMyMember {
88 GroupMyMember {
89 id: None,
90 group_id: None,
91 user_id: None,
92 role_ids: None,
93 accepted_by_display_name: None,
94 accepted_by_id: None,
95 created_at: None,
96 manager_notes: None,
97 membership_status: None,
98 is_subscribed_to_announcements: None,
99 is_subscribed_to_event_announcements: None,
100 visibility: None,
101 is_representing: None,
102 joined_at: None,
103 banned_at: None,
104 has2_fa: None,
105 has_joined_from_purchase: None,
106 last_post_read_at: None,
107 m_role_ids: None,
108 permissions: None,
109 }
110 }
111}