arxiv/models/
common.rs

1/// A structure that stores the paper information.
2#[derive(Debug, Clone, Eq, PartialEq, Default)]
3pub struct Arxiv {
4    pub id: String,
5    pub updated: String,
6    pub published: String,
7    pub title: String,
8    pub summary: String,
9    pub authors: Vec<String>,
10    pub primary_category: String,
11    pub categories: Vec<String>,
12    pub pdf_url: String,
13    pub html_url: String,
14    pub comment: Option<String>,
15}
16
17/// A structure that stores the query information.
18#[derive(Debug, Clone, Eq, PartialEq)]
19pub struct ArxivQuery {
20    pub base_url: String,
21    pub search_query: String,
22    pub id_list: String,
23    pub start: Option<i32>,
24    pub max_results: Option<i32>,
25    pub sort_by: String,
26    pub sort_order: String,
27}
28
29/// A builder of ArxivQuery
30#[derive(Debug, Clone, Eq, PartialEq, Default)]
31pub struct ArxivQueryBuilder {
32    pub base_url: String,
33    pub search_query: String,
34    pub id_list: String,
35    pub start: Option<i32>,
36    pub max_results: Option<i32>,
37    pub sort_by: String,
38    pub sort_order: String,
39}