soundcloud_rs/models/response/
users.rs1use serde::{Deserialize, Serialize};
2
3use crate::models::response::PagingCollection;
4
5pub type Users = PagingCollection<User>;
6
7#[derive(Debug, Serialize, Deserialize, Default, Clone)]
8pub struct User {
9 pub avatar_url: Option<String>,
10 pub city: Option<String>,
11 pub comments_count: Option<i32>,
12 pub country_code: Option<String>,
13 pub created_at: Option<String>,
14 pub creator_subscriptions: Option<Vec<CreatorSubscriptionWrapper>>,
15 pub creator_subscription: Option<CreatorSubscriptionWrapper>,
16 pub description: Option<String>,
17 pub followers_count: Option<i32>,
18 pub followings_count: Option<i32>,
19 pub first_name: Option<String>,
20 pub full_name: Option<String>,
21 pub groups_count: Option<i32>,
22 pub id: Option<i64>,
23 pub kind: Option<String>,
24 pub last_modified: Option<String>,
25 pub last_name: Option<String>,
26 pub likes_count: Option<i32>,
27 pub playlist_likes_count: Option<i32>,
28 pub permalink: Option<String>,
29 pub permalink_url: Option<String>,
30 pub playlist_count: Option<i32>,
31 pub reposts_count: Option<i32>,
32 pub track_count: Option<i32>,
33 pub uri: Option<String>,
34 pub urn: Option<String>,
35 pub username: Option<String>,
36 pub verified: Option<bool>,
37 pub visuals: Option<Visuals>,
38 pub badges: Option<Badges>,
39 pub station_urn: Option<String>,
40 pub station_permalink: Option<String>,
41 pub date_of_birth: Option<DateOfBirth>,
42}
43
44#[derive(Debug, Serialize, Deserialize, Default, Clone)]
45pub struct CreatorSubscriptionWrapper {
46 pub product: Product,
47}
48
49#[derive(Debug, Serialize, Deserialize, Default, Clone)]
50pub struct Product {
51 pub id: String,
52}
53
54#[derive(Debug, Serialize, Deserialize, Default, Clone)]
55pub struct Visuals {
56 pub urn: Option<String>,
57 pub enabled: Option<bool>,
58 pub visuals: Option<Vec<VisualEntry>>,
59}
60
61#[derive(Debug, Serialize, Deserialize, Default, Clone)]
62pub struct VisualEntry {
63 pub urn: Option<String>,
64 pub entry_time: Option<i32>,
65 pub visual_url: Option<String>,
66}
67
68#[derive(Debug, Serialize, Deserialize, Default, Clone)]
69pub struct Badges {
70 pub pro: Option<bool>,
71 pub creator_mid_tier: Option<bool>,
72 pub pro_unlimited: Option<bool>,
73 pub verified: Option<bool>,
74}
75
76#[derive(Debug, Serialize, Deserialize, Default, Clone)]
77pub struct DateOfBirth {
78 pub month: Option<i8>,
79 pub year: Option<i16>,
80 pub day: Option<i8>,
81}
82
83#[derive(Debug, Serialize, Deserialize, Default, Clone)]
84pub struct UserSummary {
85 pub id: Option<i64>,
86 pub username: Option<String>,
87 pub permalink_url: Option<String>,
88 pub avatar_url: Option<String>,
89}