Skip to main content

rebuilderd_common/api/v1/models/
mod.rs

1mod build;
2mod dashboard;
3mod meta;
4mod package;
5mod queue;
6mod worker;
7
8pub use build::*;
9pub use dashboard::*;
10pub use meta::*;
11pub use package::*;
12pub use queue::*;
13use serde::{Deserialize, Serialize};
14pub use worker::*;
15
16#[derive(Debug, Clone, Serialize, Deserialize)]
17pub struct Page {
18    pub limit: Option<i32>,
19    pub before: Option<i32>,
20    pub after: Option<i32>,
21    pub sort: Option<String>,
22    pub direction: Option<SortDirection>,
23}
24
25#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)]
26pub enum SortDirection {
27    Ascending,
28    Descending,
29}
30
31#[derive(Debug, Serialize, Deserialize)]
32pub struct ResultPage<T> {
33    pub total: i64,
34    pub records: Vec<T>,
35}
36
37#[derive(Debug, Clone, Serialize, Deserialize)]
38pub struct OriginFilter {
39    pub distribution: Option<String>,
40    pub release: Option<String>,
41    pub component: Option<String>,
42    pub architecture: Option<String>,
43}
44
45#[derive(Debug, Clone, Serialize, Deserialize)]
46pub struct SourceIdentityFilter {
47    pub name: Option<String>,
48    pub version: Option<String>,
49}
50
51#[derive(Debug, Clone, Serialize, Deserialize)]
52pub struct BinaryIdentityFilter {
53    pub name: Option<String>,
54    pub version: Option<String>,
55    pub source_name: Option<String>,
56}
57
58#[derive(Debug, Clone, Serialize, Deserialize)]
59pub struct FreshnessFilter {
60    pub seen_only: Option<bool>,
61}