1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: place.atwork.getListings
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8/// A job listing record with metadata for strong references
9#[jacquard_derive::lexicon]
10#[derive(
11 serde::Serialize,
12 serde::Deserialize,
13 Debug,
14 Clone,
15 PartialEq,
16 Eq,
17 jacquard_derive::IntoStatic,
18 bon::Builder
19)]
20#[serde(rename_all = "camelCase")]
21pub struct ListingRecord<'a> {
22 /// CID of the listing record
23 #[serde(borrow)]
24 pub cid: jacquard_common::types::string::Cid<'a>,
25 /// AT-URI of the listing (at://did/place.atwork.listing/rkey)
26 #[serde(borrow)]
27 pub uri: jacquard_common::types::string::AtUri<'a>,
28 /// The full job listing record
29 #[serde(skip_serializing_if = "std::option::Option::is_none")]
30 #[builder(into)]
31 #[serde(borrow)]
32 pub value: Option<crate::place_atwork::listing::Listing<'a>>,
33}
34
35#[derive(
36 serde::Serialize,
37 serde::Deserialize,
38 Debug,
39 Clone,
40 PartialEq,
41 Eq,
42 bon::Builder,
43 jacquard_derive::IntoStatic
44)]
45#[builder(start_fn = new)]
46#[serde(rename_all = "camelCase")]
47pub struct GetListings<'a> {
48 #[serde(skip_serializing_if = "std::option::Option::is_none")]
49 #[serde(borrow)]
50 #[builder(into)]
51 pub identity: std::option::Option<jacquard_common::CowStr<'a>>,
52 #[serde(skip_serializing_if = "std::option::Option::is_none")]
53 #[serde(borrow)]
54 #[builder(into)]
55 pub tag: std::option::Option<jacquard_common::CowStr<'a>>,
56}
57
58#[jacquard_derive::lexicon]
59#[derive(
60 serde::Serialize,
61 serde::Deserialize,
62 Debug,
63 Clone,
64 PartialEq,
65 Eq,
66 jacquard_derive::IntoStatic
67)]
68#[serde(rename_all = "camelCase")]
69pub struct GetListingsOutput<'a> {
70 #[serde(borrow)]
71 pub listings: Vec<jacquard_common::types::value::Data<'a>>,
72}
73
74///Response type for
75///place.atwork.getListings
76pub struct GetListingsResponse;
77impl jacquard_common::xrpc::XrpcResp for GetListingsResponse {
78 const NSID: &'static str = "place.atwork.getListings";
79 const ENCODING: &'static str = "application/json";
80 type Output<'de> = GetListingsOutput<'de>;
81 type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
82}
83
84impl<'a> jacquard_common::xrpc::XrpcRequest for GetListings<'a> {
85 const NSID: &'static str = "place.atwork.getListings";
86 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
87 type Response = GetListingsResponse;
88}
89
90///Endpoint type for
91///place.atwork.getListings
92pub struct GetListingsRequest;
93impl jacquard_common::xrpc::XrpcEndpoint for GetListingsRequest {
94 const PATH: &'static str = "/xrpc/place.atwork.getListings";
95 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
96 type Request<'de> = GetListings<'de>;
97 type Response = GetListingsResponse;
98}