1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: app.bsky.notification.listNotifications
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8#[derive(
9 serde::Serialize,
10 serde::Deserialize,
11 Debug,
12 Clone,
13 PartialEq,
14 Eq,
15 bon::Builder,
16 jacquard_derive::IntoStatic
17)]
18#[builder(start_fn = new)]
19#[serde(rename_all = "camelCase")]
20pub struct ListNotifications<'a> {
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23 #[builder(into)]
24 pub cursor: std::option::Option<jacquard_common::CowStr<'a>>,
25 ///(default: 50, min: 1, max: 100)
26 #[serde(skip_serializing_if = "std::option::Option::is_none")]
27 pub limit: std::option::Option<i64>,
28 #[serde(skip_serializing_if = "std::option::Option::is_none")]
29 pub priority: std::option::Option<bool>,
30 #[serde(skip_serializing_if = "std::option::Option::is_none")]
31 #[serde(borrow)]
32 pub reasons: std::option::Option<Vec<jacquard_common::CowStr<'a>>>,
33 #[serde(skip_serializing_if = "std::option::Option::is_none")]
34 pub seen_at: std::option::Option<jacquard_common::types::string::Datetime>,
35}
36
37#[jacquard_derive::lexicon]
38#[derive(
39 serde::Serialize,
40 serde::Deserialize,
41 Debug,
42 Clone,
43 PartialEq,
44 Eq,
45 jacquard_derive::IntoStatic
46)]
47#[serde(rename_all = "camelCase")]
48pub struct ListNotificationsOutput<'a> {
49 #[serde(skip_serializing_if = "std::option::Option::is_none")]
50 #[serde(borrow)]
51 pub cursor: std::option::Option<jacquard_common::CowStr<'a>>,
52 #[serde(borrow)]
53 pub notifications: Vec<jacquard_common::types::value::Data<'a>>,
54 #[serde(skip_serializing_if = "std::option::Option::is_none")]
55 pub priority: std::option::Option<bool>,
56 #[serde(skip_serializing_if = "std::option::Option::is_none")]
57 pub seen_at: std::option::Option<jacquard_common::types::string::Datetime>,
58}
59
60///Response type for
61///app.bsky.notification.listNotifications
62pub struct ListNotificationsResponse;
63impl jacquard_common::xrpc::XrpcResp for ListNotificationsResponse {
64 const NSID: &'static str = "app.bsky.notification.listNotifications";
65 const ENCODING: &'static str = "application/json";
66 type Output<'de> = ListNotificationsOutput<'de>;
67 type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
68}
69
70impl<'a> jacquard_common::xrpc::XrpcRequest for ListNotifications<'a> {
71 const NSID: &'static str = "app.bsky.notification.listNotifications";
72 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
73 type Response = ListNotificationsResponse;
74}
75
76///Endpoint type for
77///app.bsky.notification.listNotifications
78pub struct ListNotificationsRequest;
79impl jacquard_common::xrpc::XrpcEndpoint for ListNotificationsRequest {
80 const PATH: &'static str = "/xrpc/app.bsky.notification.listNotifications";
81 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
82 type Request<'de> = ListNotifications<'de>;
83 type Response = ListNotificationsResponse;
84}
85
86#[jacquard_derive::lexicon]
87#[derive(
88 serde::Serialize,
89 serde::Deserialize,
90 Debug,
91 Clone,
92 PartialEq,
93 Eq,
94 jacquard_derive::IntoStatic,
95 bon::Builder
96)]
97#[serde(rename_all = "camelCase")]
98pub struct Notification<'a> {
99 #[serde(borrow)]
100 pub author: crate::app_bsky::actor::ProfileView<'a>,
101 #[serde(borrow)]
102 pub cid: jacquard_common::types::string::Cid<'a>,
103 pub indexed_at: jacquard_common::types::string::Datetime,
104 pub is_read: bool,
105 #[serde(skip_serializing_if = "std::option::Option::is_none")]
106 #[builder(into)]
107 #[serde(borrow)]
108 pub labels: Option<Vec<crate::com_atproto::label::Label<'a>>>,
109 /// The reason why this notification was delivered - e.g. your post was liked, or you received a new follower.
110 #[serde(borrow)]
111 #[builder(into)]
112 pub reason: jacquard_common::CowStr<'a>,
113 #[serde(skip_serializing_if = "std::option::Option::is_none")]
114 #[builder(into)]
115 #[serde(borrow)]
116 pub reason_subject: Option<jacquard_common::types::string::AtUri<'a>>,
117 #[serde(borrow)]
118 pub record: jacquard_common::types::value::Data<'a>,
119 #[serde(borrow)]
120 pub uri: jacquard_common::types::string::AtUri<'a>,
121}