Skip to main content

person/
main.rs

1use peopledatalabs::{
2    BulkEnrichPersonParams, BulkEnrichSinglePersonParams, BulkRetrievePersonParams,
3    BulkRetrieveSinglePersonParams, EnrichPersonParams, IdentifyPersonParams, PersonParams,
4    RetrievePersonParams, SearchBaseParams, SearchParams, PDL,
5};
6
7fn main() {
8    let client = PDL::new();
9    let mut person_params = PersonParams::default();
10    person_params.name = Some(vec!["josh finnie".to_string()]);
11    person_params.location = Some(vec!["washington, dc".to_string()]);
12
13    // Enrich
14    let mut enrich_params = EnrichPersonParams::default();
15    enrich_params.person_params = person_params.clone();
16
17    let enrich_results = client.person.enrich(enrich_params);
18
19    println!("{:#?}", enrich_results);
20
21    // Bulk Enrich
22    let request = BulkEnrichSinglePersonParams {
23        params: person_params.clone(),
24        metadata: None,
25    };
26    let bulk_enrich_params = BulkEnrichPersonParams {
27        requires: None,
28        requests: vec![request],
29    };
30
31    let bulk_enrich_results = client.person.bulk_enrich(bulk_enrich_params);
32
33    println!("{:#?}", bulk_enrich_results);
34
35    // Identify
36    let mut identify_params = IdentifyPersonParams::default();
37    identify_params.person_params = person_params.clone();
38
39    let identify_results = client.person.identify(identify_params);
40
41    println!("{:#?}", identify_results);
42
43    // Search
44    let mut search_base_params = SearchBaseParams::default();
45    search_base_params.query = Some(serde_json::value::Value::String(
46        "{'bool':{'must': [{'term': {'job_title_role': 'health'}},]}}".to_string(),
47    ));
48
49    let mut search_params = SearchParams::default();
50    search_params.search_base_params = search_base_params;
51
52    let search_results = client.person.search(search_params);
53
54    println!("{:#?}", search_results);
55
56    // Retrieve
57    let retrieve_person_params = RetrievePersonParams {
58        base_params: None,
59        person_id: "82MYIGZzMttzdyKiQBv4ZQ_0000".to_string(),
60    };
61
62    let retrieve_results = client.person.retrieve(retrieve_person_params);
63
64    println!("{:#?}", retrieve_results);
65
66    // Bulk Retrieve
67    let retrieve_request = BulkRetrieveSinglePersonParams {
68        id: "82MYIGZzMttzdyKiQBv4ZQ_0000".to_string(),
69        metadata: None,
70    };
71
72    let bulk_retrieve_params = BulkRetrievePersonParams {
73        base_params: None,
74        requests: vec![retrieve_request],
75        additional_params: None,
76    };
77
78    let bulk_retrieve_results = client.person.bulk_retrieve(bulk_retrieve_params);
79
80    println!("{:#?}", bulk_retrieve_results);
81}