~swalladge/wallabag-api

wallabag-api/examples/get_entries_page.rs -rw-r--r-- 1.4 KiB
48384d42Samuel Walladge Add contributing guidelines 4 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
use std::env;

use wallabag_api::types::{Config, EntriesFilter, SortBy, SortOrder};
use wallabag_api::Client;

async fn run_example() {
    let config = Config {
        client_id: env::var("WALLABAG_CLIENT_ID").expect("WALLABAG_CLIENT_ID not set"),
        client_secret: env::var("WALLABAG_CLIENT_SECRET").expect("WALLABAG_CLIENT_SECRET not set"),
        username: env::var("WALLABAG_USERNAME").expect("WALLABAG_USERNAME not set"),
        password: env::var("WALLABAG_PASSWORD").expect("WALLABAG_PASSWORD not set"),
        base_url: env::var("WALLABAG_URL").expect("WALLABAG_URL not set"),
    };

    let mut client = Client::new(config);

    let filter = EntriesFilter {
        archive: None,
        starred: None,
        sort: SortBy::Created,
        order: SortOrder::Desc,
        tags: vec![],
        since: 0,
        public: None,
        per_page: Some(2),
    };

    let response = client.get_entries_page(&filter, 1).await;
    match response {
        Err(e) => {
            println!("Error: {}", e);
        }
        Ok(page) => {
            println!(
                "Fetched page {} of {}.",
                page.current_page, page.total_pages
            );
            println!(
                "{} entries per page, {} entries in total.",
                page.per_page, page.total_entries
            );
        }
    }
}

fn main() {
    async_std::task::block_on(run_example())
}