proxycurl_linkedin_rs/models/
person.rs

1/*
2 * Proxycurl API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 1.0.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
12pub struct Person {
13    ///                  The vanity identifier of the public LinkedIn profile.                 The vanity identifier comes after the `/in/` part of the LinkedIn Profile URL                 in the following format: `https://www.linkedin.com/in/<public_identifier>`             
14    #[serde(
15        rename = "public_identifier",
16        default,
17        with = "::serde_with::rust::double_option",
18        skip_serializing_if = "Option::is_none"
19    )]
20    pub public_identifier: Option<Option<String>>,
21    ///                  A temporary link to the user's profile picture that is valid for 30 minutes.                  The temporal nature of the link is by design to prevent having Proxycurl be the mirror for the images.                 The developer is expected to handle these images by downloading the image and re-hosting the image.                 See [this post](https://nubela.co/blog/why-is-the-api-returning-s3-links-for-profile-pictures-scraped-from-linkedin-profiles/) for context.                 Some profile pictures might be of the standard LinkedIn's profile picture placeholder. It is so because. See [this post](https://nubela.co/blog/why-do-most-linkedin-profiles-fetched-via-the-person-profile-endpoint-return-a-placeholder-profile-picture/) for context.             
22    #[serde(
23        rename = "profile_pic_url",
24        default,
25        with = "::serde_with::rust::double_option",
26        skip_serializing_if = "Option::is_none"
27    )]
28    pub profile_pic_url: Option<Option<String>>,
29    ///                  A temporary link to the user's background cover picture                 that is valid for 30 minutes.                 The temporal nature of the link is by design to prevent                 having Proxycurl be the mirror for the images.                 The developer is expected to handle these images                  by downloading the image and re-hosting the image.                  See [this post](https://nubela.co/blog/why-is-the-api-returning-s3-links-for-profile-pictures-scraped-from-linkedin-profiles/) for context.             
30    #[serde(
31        rename = "background_cover_image_url",
32        default,
33        with = "::serde_with::rust::double_option",
34        skip_serializing_if = "Option::is_none"
35    )]
36    pub background_cover_image_url: Option<Option<String>>,
37    /// First name of the user.
38    #[serde(
39        rename = "first_name",
40        default,
41        with = "::serde_with::rust::double_option",
42        skip_serializing_if = "Option::is_none"
43    )]
44    pub first_name: Option<Option<String>>,
45    /// Last name of the user.
46    #[serde(
47        rename = "last_name",
48        default,
49        with = "::serde_with::rust::double_option",
50        skip_serializing_if = "Option::is_none"
51    )]
52    pub last_name: Option<Option<String>>,
53    ///                  Full name of the user (`first_name` + `last_name`)             
54    #[serde(
55        rename = "full_name",
56        default,
57        with = "::serde_with::rust::double_option",
58        skip_serializing_if = "Option::is_none"
59    )]
60    pub full_name: Option<Option<String>>,
61    /// Follower count for this profile
62    #[serde(rename = "follower_count", skip_serializing_if = "Option::is_none")]
63    pub follower_count: Option<i32>,
64    ///                  The title and company name of the user's current employment.             
65    #[serde(
66        rename = "occupation",
67        default,
68        with = "::serde_with::rust::double_option",
69        skip_serializing_if = "Option::is_none"
70    )]
71    pub occupation: Option<Option<String>>,
72    ///                  The tagline written by the user for his profile.             
73    #[serde(
74        rename = "headline",
75        default,
76        with = "::serde_with::rust::double_option",
77        skip_serializing_if = "Option::is_none"
78    )]
79    pub headline: Option<Option<String>>,
80    ///                  A blurb (longer than the tagline) written by the user for his profile.             
81    #[serde(
82        rename = "summary",
83        default,
84        with = "::serde_with::rust::double_option",
85        skip_serializing_if = "Option::is_none"
86    )]
87    pub summary: Option<Option<String>>,
88    ///                  The user's country of residence depicted by                 a 2-letter country code (ISO 3166-1 alpha-2).             
89    #[serde(
90        rename = "country",
91        default,
92        with = "::serde_with::rust::double_option",
93        skip_serializing_if = "Option::is_none"
94    )]
95    pub country: Option<Option<String>>,
96    /// The user's country of residence, in English words.
97    #[serde(
98        rename = "country_full_name",
99        default,
100        with = "::serde_with::rust::double_option",
101        skip_serializing_if = "Option::is_none"
102    )]
103    pub country_full_name: Option<Option<String>>,
104    /// The city that the user is living at.
105    #[serde(
106        rename = "city",
107        default,
108        with = "::serde_with::rust::double_option",
109        skip_serializing_if = "Option::is_none"
110    )]
111    pub city: Option<Option<String>>,
112    /// The state that the user is living at.
113    #[serde(
114        rename = "state",
115        default,
116        with = "::serde_with::rust::double_option",
117        skip_serializing_if = "Option::is_none"
118    )]
119    pub state: Option<Option<String>>,
120    /// The user's list of historic work experiences.
121    #[serde(rename = "experiences", skip_serializing_if = "Option::is_none")]
122    pub experiences: Option<Vec<crate::models::Experience>>,
123    /// The user's list of education background.
124    #[serde(rename = "education", skip_serializing_if = "Option::is_none")]
125    pub education: Option<Vec<crate::models::Education>>,
126    ///                  A list of languages that the user claims to be familiar with,                 and has added to his/her profile.                 Do note that we do not have the proficiency level as                 that data point is not available on a public LinkedIn profile.             
127    #[serde(rename = "languages", skip_serializing_if = "Option::is_none")]
128    pub languages: Option<Vec<String>>,
129    ///                  List of noteworthy organizations that this user is part of.             
130    #[serde(
131        rename = "accomplishment_organisations",
132        skip_serializing_if = "Option::is_none"
133    )]
134    pub accomplishment_organisations: Option<Vec<crate::models::AccomplishmentOrg>>,
135    ///                  List of noteworthy publications that this user has partook in.             
136    #[serde(
137        rename = "accomplishment_publications",
138        skip_serializing_if = "Option::is_none"
139    )]
140    pub accomplishment_publications: Option<Vec<crate::models::Publication>>,
141    ///                  List of noteworthy honours and awards that this user has won.             
142    #[serde(
143        rename = "accomplishment_honors_awards",
144        skip_serializing_if = "Option::is_none"
145    )]
146    pub accomplishment_honors_awards: Option<Vec<crate::models::HonourAward>>,
147    /// List of noteworthy patents won by this user.
148    #[serde(
149        rename = "accomplishment_patents",
150        skip_serializing_if = "Option::is_none"
151    )]
152    pub accomplishment_patents: Option<Vec<crate::models::Patent>>,
153    /// List of noteworthy courses partook by this user.
154    #[serde(
155        rename = "accomplishment_courses",
156        skip_serializing_if = "Option::is_none"
157    )]
158    pub accomplishment_courses: Option<Vec<crate::models::Course>>,
159    ///                  List of noteworthy projects undertaken by this user.             
160    #[serde(
161        rename = "accomplishment_projects",
162        skip_serializing_if = "Option::is_none"
163    )]
164    pub accomplishment_projects: Option<Vec<crate::models::Project>>,
165    ///                  List of noteworthy test scores accomplished by this user.             
166    #[serde(
167        rename = "accomplishment_test_scores",
168        skip_serializing_if = "Option::is_none"
169    )]
170    pub accomplishment_test_scores: Option<Vec<crate::models::TestScore>>,
171    /// List of historic volunteer work experiences.
172    #[serde(rename = "volunteer_work", skip_serializing_if = "Option::is_none")]
173    pub volunteer_work: Option<Vec<crate::models::VolunteeringExperience>>,
174    ///                  List of noteworthy certifications accomplished by this user.             
175    #[serde(rename = "certifications", skip_serializing_if = "Option::is_none")]
176    pub certifications: Option<Vec<crate::models::Certification>>,
177    /// Total *count* of LinkedIn connections.
178    #[serde(
179        rename = "connections",
180        default,
181        with = "::serde_with::rust::double_option",
182        skip_serializing_if = "Option::is_none"
183    )]
184    pub connections: Option<Option<i32>>,
185    ///                  A list of other LinkedIn profiles closely related to this user.             
186    #[serde(rename = "people_also_viewed", skip_serializing_if = "Option::is_none")]
187    pub people_also_viewed: Option<Vec<crate::models::PeopleAlsoViewed>>,
188    ///                  List of recommendations made by other users about this profile.             
189    #[serde(rename = "recommendations", skip_serializing_if = "Option::is_none")]
190    pub recommendations: Option<Vec<String>>,
191    /// A list of LinkedIn status activities.
192    #[serde(rename = "activities", skip_serializing_if = "Option::is_none")]
193    pub activities: Option<Vec<crate::models::Activity>>,
194    ///                  A list of other LinkedIn profiles with similar names.             
195    #[serde(
196        rename = "similarly_named_profiles",
197        skip_serializing_if = "Option::is_none"
198    )]
199    pub similarly_named_profiles: Option<Vec<crate::models::SimilarProfile>>,
200    ///                  A list of content-based articles posted by this user.             
201    #[serde(rename = "articles", skip_serializing_if = "Option::is_none")]
202    pub articles: Option<Vec<crate::models::Article>>,
203    ///                  A list of LinkedIn groups that this user is a part of.\",             
204    #[serde(rename = "groups", skip_serializing_if = "Option::is_none")]
205    pub groups: Option<Vec<crate::models::PersonGroup>>,
206    #[serde(rename = "phone_numbers", skip_serializing_if = "Option::is_none")]
207    pub phone_numbers: Option<Vec<String>>,
208    #[serde(
209        rename = "social_networking_services",
210        skip_serializing_if = "Option::is_none"
211    )]
212    pub social_networking_services: Option<Vec<crate::models::PersonSocialNetworkingService>>,
213    /// A list of keyword-based skills that this user boasts of on his LinkedIn profile.
214    #[serde(rename = "skills", skip_serializing_if = "Option::is_none")]
215    pub skills: Option<Vec<String>>,
216}
217
218impl Person {
219    pub fn new() -> Person {
220        Person {
221            public_identifier: None,
222            profile_pic_url: None,
223            background_cover_image_url: None,
224            first_name: None,
225            last_name: None,
226            full_name: None,
227            follower_count: None,
228            occupation: None,
229            headline: None,
230            summary: None,
231            country: None,
232            country_full_name: None,
233            city: None,
234            state: None,
235            experiences: None,
236            education: None,
237            languages: None,
238            accomplishment_organisations: None,
239            accomplishment_publications: None,
240            accomplishment_honors_awards: None,
241            accomplishment_patents: None,
242            accomplishment_courses: None,
243            accomplishment_projects: None,
244            accomplishment_test_scores: None,
245            volunteer_work: None,
246            certifications: None,
247            connections: None,
248            people_also_viewed: None,
249            recommendations: None,
250            activities: None,
251            similarly_named_profiles: None,
252            articles: None,
253            groups: None,
254            phone_numbers: None,
255            social_networking_services: None,
256            skills: None,
257        }
258    }
259}