jacquard_api/place_stream/
key.rs1#[jacquard_derive::lexicon]
10#[derive(
11 serde::Serialize,
12 serde::Deserialize,
13 Debug,
14 Clone,
15 PartialEq,
16 Eq,
17 jacquard_derive::IntoStatic
18)]
19#[serde(rename_all = "camelCase")]
20pub struct Key<'a> {
21 pub created_at: jacquard_common::types::string::Datetime,
23 #[serde(skip_serializing_if = "std::option::Option::is_none")]
25 #[serde(borrow)]
26 pub created_by: std::option::Option<jacquard_common::CowStr<'a>>,
27 #[serde(borrow)]
29 pub signing_key: jacquard_common::CowStr<'a>,
30}
31
32#[derive(
34 serde::Serialize,
35 serde::Deserialize,
36 Debug,
37 Clone,
38 PartialEq,
39 Eq,
40 jacquard_derive::IntoStatic
41)]
42#[serde(rename_all = "camelCase")]
43pub struct KeyGetRecordOutput<'a> {
44 #[serde(skip_serializing_if = "std::option::Option::is_none")]
45 #[serde(borrow)]
46 pub cid: std::option::Option<jacquard_common::types::string::Cid<'a>>,
47 #[serde(borrow)]
48 pub uri: jacquard_common::types::string::AtUri<'a>,
49 #[serde(borrow)]
50 pub value: Key<'a>,
51}
52
53pub struct KeyRecord;
55impl jacquard_common::xrpc::XrpcResp for KeyRecord {
56 const NSID: &'static str = "place.stream.key";
57 const ENCODING: &'static str = "application/json";
58 type Output<'de> = KeyGetRecordOutput<'de>;
59 type Err<'de> = jacquard_common::types::collection::RecordError<'de>;
60}
61
62impl jacquard_common::types::collection::Collection for Key<'_> {
63 const NSID: &'static str = "place.stream.key";
64 type Record = KeyRecord;
65}
66
67impl From<KeyGetRecordOutput<'_>> for Key<'_> {
68 fn from(output: KeyGetRecordOutput<'_>) -> Self {
69 use jacquard_common::IntoStatic;
70 output.value.into_static()
71 }
72}