1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use crate::types::api::notification::notification_state_type::NotificationStateType;
use crate::types::api::notification::notification_type::NotificationSubjectType;
use clap::Parser;

#[derive(Debug, Parser)]
pub struct ListNotificationArgs {
    #[arg(short, long, default_value_t = false)]
    pub all: bool,

    #[arg(long, default_values_t = vec![NotificationStateType::Unread, NotificationStateType::Pinned])]
    pub status_types: Vec<NotificationStateType>,

    #[arg(long)]
    pub subject_type: Option<NotificationSubjectType>,

    #[arg(short, long)]
    pub dates: bool,

    #[arg(short, long, default_value_t = 1)]
    pub page: usize,

    #[arg(short, long, default_value_t = usize::MAX)]
    pub limit: usize,
}