A better Rust ATProto crate

okay finally i think we got the lifetime issues manageable

Orual da4d5bf1 46854a05

Changed files
+4816 -2655
crates
jacquard
jacquard-api
src
app_bsky
actor
bookmark
feed
graph
labeler
notification
unspecced
video
chat_bsky
com_atproto
admin
identity
label
moderation
repo
server
sync
temp
tools_ozone
jacquard-axum
src
jacquard-common
jacquard-identity
jacquard-lexicon
jacquard-oauth
+17 -9
crates/jacquard-api/src/app_bsky/actor/get_preferences.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetPreferences {} ··· 37 ///Response type for 38 ///app.bsky.actor.getPreferences 39 pub struct GetPreferencesResponse; 40 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetPreferencesResponse { 41 const ENCODING: &'static str = "application/json"; 42 - type Output = GetPreferencesOutput<'de>; 43 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 44 } 45 46 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetPreferences { 47 const NSID: &'static str = "app.bsky.actor.getPreferences"; 48 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 49 - jacquard_common::types::xrpc::XrpcMethod::Query; 50 - type Response<'de1> = GetPreferencesResponse; 51 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetPreferences {} ··· 45 ///Response type for 46 ///app.bsky.actor.getPreferences 47 pub struct GetPreferencesResponse; 48 + impl jacquard_common::xrpc::XrpcResp for GetPreferencesResponse { 49 + const NSID: &'static str = "app.bsky.actor.getPreferences"; 50 const ENCODING: &'static str = "application/json"; 51 + type Output<'de> = GetPreferencesOutput<'de>; 52 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 53 } 54 55 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetPreferences { 56 const NSID: &'static str = "app.bsky.actor.getPreferences"; 57 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 58 + type Response = GetPreferencesResponse; 59 + }
+17 -9
crates/jacquard-api/src/app_bsky/actor/get_profile.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetProfile<'a> { ··· 44 ///Response type for 45 ///app.bsky.actor.getProfile 46 pub struct GetProfileResponse; 47 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetProfileResponse { 48 const ENCODING: &'static str = "application/json"; 49 - type Output = GetProfileOutput<'de>; 50 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 51 } 52 53 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetProfile<'de> { 54 const NSID: &'static str = "app.bsky.actor.getProfile"; 55 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 56 - jacquard_common::types::xrpc::XrpcMethod::Query; 57 - type Response<'de1> = GetProfileResponse; 58 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetProfile<'a> { ··· 52 ///Response type for 53 ///app.bsky.actor.getProfile 54 pub struct GetProfileResponse; 55 + impl jacquard_common::xrpc::XrpcResp for GetProfileResponse { 56 + const NSID: &'static str = "app.bsky.actor.getProfile"; 57 const ENCODING: &'static str = "application/json"; 58 + type Output<'de> = GetProfileOutput<'de>; 59 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 60 } 61 62 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetProfile<'de> { 63 const NSID: &'static str = "app.bsky.actor.getProfile"; 64 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 65 + type Response = GetProfileResponse; 66 + }
+17 -9
crates/jacquard-api/src/app_bsky/actor/get_profiles.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetProfiles<'a> { ··· 43 ///Response type for 44 ///app.bsky.actor.getProfiles 45 pub struct GetProfilesResponse; 46 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetProfilesResponse { 47 const ENCODING: &'static str = "application/json"; 48 - type Output = GetProfilesOutput<'de>; 49 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 50 } 51 52 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetProfiles<'de> { 53 const NSID: &'static str = "app.bsky.actor.getProfiles"; 54 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 55 - jacquard_common::types::xrpc::XrpcMethod::Query; 56 - type Response<'de1> = GetProfilesResponse; 57 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetProfiles<'a> { ··· 51 ///Response type for 52 ///app.bsky.actor.getProfiles 53 pub struct GetProfilesResponse; 54 + impl jacquard_common::xrpc::XrpcResp for GetProfilesResponse { 55 + const NSID: &'static str = "app.bsky.actor.getProfiles"; 56 const ENCODING: &'static str = "application/json"; 57 + type Output<'de> = GetProfilesOutput<'de>; 58 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 59 } 60 61 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetProfiles<'de> { 62 const NSID: &'static str = "app.bsky.actor.getProfiles"; 63 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 64 + type Response = GetProfilesResponse; 65 + }
+17 -9
crates/jacquard-api/src/app_bsky/actor/get_suggestions.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetSuggestions<'a> { ··· 57 ///Response type for 58 ///app.bsky.actor.getSuggestions 59 pub struct GetSuggestionsResponse; 60 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetSuggestionsResponse { 61 const ENCODING: &'static str = "application/json"; 62 - type Output = GetSuggestionsOutput<'de>; 63 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 64 } 65 66 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSuggestions<'de> { 67 const NSID: &'static str = "app.bsky.actor.getSuggestions"; 68 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 69 - jacquard_common::types::xrpc::XrpcMethod::Query; 70 - type Response<'de1> = GetSuggestionsResponse; 71 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetSuggestions<'a> { ··· 65 ///Response type for 66 ///app.bsky.actor.getSuggestions 67 pub struct GetSuggestionsResponse; 68 + impl jacquard_common::xrpc::XrpcResp for GetSuggestionsResponse { 69 + const NSID: &'static str = "app.bsky.actor.getSuggestions"; 70 const ENCODING: &'static str = "application/json"; 71 + type Output<'de> = GetSuggestionsOutput<'de>; 72 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 73 } 74 75 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetSuggestions<'de> { 76 const NSID: &'static str = "app.bsky.actor.getSuggestions"; 77 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 78 + type Response = GetSuggestionsResponse; 79 + }
+19 -9
crates/jacquard-api/src/app_bsky/actor/put_preferences.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct PutPreferences<'a> { ··· 34 ///Response type for 35 ///app.bsky.actor.putPreferences 36 pub struct PutPreferencesResponse; 37 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for PutPreferencesResponse { 38 const ENCODING: &'static str = "application/json"; 39 - type Output = (); 40 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 41 } 42 43 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for PutPreferences<'de> { 44 const NSID: &'static str = "app.bsky.actor.putPreferences"; 45 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 46 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 47 - type Response<'de1> = PutPreferencesResponse; 48 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct PutPreferences<'a> { ··· 42 ///Response type for 43 ///app.bsky.actor.putPreferences 44 pub struct PutPreferencesResponse; 45 + impl jacquard_common::xrpc::XrpcResp for PutPreferencesResponse { 46 + const NSID: &'static str = "app.bsky.actor.putPreferences"; 47 const ENCODING: &'static str = "application/json"; 48 + type Output<'de> = (); 49 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 50 } 51 52 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for PutPreferences<'de> { 53 const NSID: &'static str = "app.bsky.actor.putPreferences"; 54 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 55 + "application/json", 56 + ); 57 + type Response = PutPreferencesResponse; 58 + }
+17 -9
crates/jacquard-api/src/app_bsky/actor/search_actors.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct SearchActors<'a> { ··· 63 ///Response type for 64 ///app.bsky.actor.searchActors 65 pub struct SearchActorsResponse; 66 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for SearchActorsResponse { 67 const ENCODING: &'static str = "application/json"; 68 - type Output = SearchActorsOutput<'de>; 69 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 70 } 71 72 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchActors<'de> { 73 const NSID: &'static str = "app.bsky.actor.searchActors"; 74 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 75 - jacquard_common::types::xrpc::XrpcMethod::Query; 76 - type Response<'de1> = SearchActorsResponse; 77 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct SearchActors<'a> { ··· 71 ///Response type for 72 ///app.bsky.actor.searchActors 73 pub struct SearchActorsResponse; 74 + impl jacquard_common::xrpc::XrpcResp for SearchActorsResponse { 75 + const NSID: &'static str = "app.bsky.actor.searchActors"; 76 const ENCODING: &'static str = "application/json"; 77 + type Output<'de> = SearchActorsOutput<'de>; 78 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 79 } 80 81 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for SearchActors<'de> { 82 const NSID: &'static str = "app.bsky.actor.searchActors"; 83 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 84 + type Response = SearchActorsResponse; 85 + }
+17 -9
crates/jacquard-api/src/app_bsky/actor/search_actors_typeahead.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct SearchActorsTypeahead<'a> { ··· 54 ///Response type for 55 ///app.bsky.actor.searchActorsTypeahead 56 pub struct SearchActorsTypeaheadResponse; 57 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for SearchActorsTypeaheadResponse { 58 const ENCODING: &'static str = "application/json"; 59 - type Output = SearchActorsTypeaheadOutput<'de>; 60 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 61 } 62 63 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchActorsTypeahead<'de> { 64 const NSID: &'static str = "app.bsky.actor.searchActorsTypeahead"; 65 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 66 - jacquard_common::types::xrpc::XrpcMethod::Query; 67 - type Response<'de1> = SearchActorsTypeaheadResponse; 68 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct SearchActorsTypeahead<'a> { ··· 62 ///Response type for 63 ///app.bsky.actor.searchActorsTypeahead 64 pub struct SearchActorsTypeaheadResponse; 65 + impl jacquard_common::xrpc::XrpcResp for SearchActorsTypeaheadResponse { 66 + const NSID: &'static str = "app.bsky.actor.searchActorsTypeahead"; 67 const ENCODING: &'static str = "application/json"; 68 + type Output<'de> = SearchActorsTypeaheadOutput<'de>; 69 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 70 } 71 72 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for SearchActorsTypeahead<'de> { 73 const NSID: &'static str = "app.bsky.actor.searchActorsTypeahead"; 74 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 75 + type Response = SearchActorsTypeaheadResponse; 76 + }
+23 -11
crates/jacquard-api/src/app_bsky/bookmark/create_bookmark.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct CreateBookmark<'a> { ··· 43 PartialEq, 44 Eq, 45 thiserror::Error, 46 - miette::Diagnostic, 47 )] 48 #[serde(tag = "error", content = "message")] 49 #[serde(bound(deserialize = "'de: 'a"))] ··· 75 CreateBookmarkError::UnsupportedCollection(v) => { 76 CreateBookmarkError::UnsupportedCollection(v.into_static()) 77 } 78 - CreateBookmarkError::Unknown(v) => CreateBookmarkError::Unknown(v.into_static()), 79 } 80 } 81 } ··· 83 ///Response type for 84 ///app.bsky.bookmark.createBookmark 85 pub struct CreateBookmarkResponse; 86 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for CreateBookmarkResponse { 87 const ENCODING: &'static str = "application/json"; 88 - type Output = (); 89 - type Err = CreateBookmarkError<'de>; 90 } 91 92 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CreateBookmark<'de> { 93 const NSID: &'static str = "app.bsky.bookmark.createBookmark"; 94 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 95 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 96 - type Response<'de1> = CreateBookmarkResponse; 97 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct CreateBookmark<'a> { ··· 51 PartialEq, 52 Eq, 53 thiserror::Error, 54 + miette::Diagnostic 55 )] 56 #[serde(tag = "error", content = "message")] 57 #[serde(bound(deserialize = "'de: 'a"))] ··· 83 CreateBookmarkError::UnsupportedCollection(v) => { 84 CreateBookmarkError::UnsupportedCollection(v.into_static()) 85 } 86 + CreateBookmarkError::Unknown(v) => { 87 + CreateBookmarkError::Unknown(v.into_static()) 88 + } 89 } 90 } 91 } ··· 93 ///Response type for 94 ///app.bsky.bookmark.createBookmark 95 pub struct CreateBookmarkResponse; 96 + impl jacquard_common::xrpc::XrpcResp for CreateBookmarkResponse { 97 + const NSID: &'static str = "app.bsky.bookmark.createBookmark"; 98 const ENCODING: &'static str = "application/json"; 99 + type Output<'de> = (); 100 + type Err<'de> = CreateBookmarkError<'de>; 101 } 102 103 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for CreateBookmark<'de> { 104 const NSID: &'static str = "app.bsky.bookmark.createBookmark"; 105 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 106 + "application/json", 107 + ); 108 + type Response = CreateBookmarkResponse; 109 + }
+23 -11
crates/jacquard-api/src/app_bsky/bookmark/delete_bookmark.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct DeleteBookmark<'a> { ··· 40 PartialEq, 41 Eq, 42 thiserror::Error, 43 - miette::Diagnostic, 44 )] 45 #[serde(tag = "error", content = "message")] 46 #[serde(bound(deserialize = "'de: 'a"))] ··· 72 DeleteBookmarkError::UnsupportedCollection(v) => { 73 DeleteBookmarkError::UnsupportedCollection(v.into_static()) 74 } 75 - DeleteBookmarkError::Unknown(v) => DeleteBookmarkError::Unknown(v.into_static()), 76 } 77 } 78 } ··· 80 ///Response type for 81 ///app.bsky.bookmark.deleteBookmark 82 pub struct DeleteBookmarkResponse; 83 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for DeleteBookmarkResponse { 84 const ENCODING: &'static str = "application/json"; 85 - type Output = (); 86 - type Err = DeleteBookmarkError<'de>; 87 } 88 89 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteBookmark<'de> { 90 const NSID: &'static str = "app.bsky.bookmark.deleteBookmark"; 91 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 92 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 93 - type Response<'de1> = DeleteBookmarkResponse; 94 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct DeleteBookmark<'a> { ··· 48 PartialEq, 49 Eq, 50 thiserror::Error, 51 + miette::Diagnostic 52 )] 53 #[serde(tag = "error", content = "message")] 54 #[serde(bound(deserialize = "'de: 'a"))] ··· 80 DeleteBookmarkError::UnsupportedCollection(v) => { 81 DeleteBookmarkError::UnsupportedCollection(v.into_static()) 82 } 83 + DeleteBookmarkError::Unknown(v) => { 84 + DeleteBookmarkError::Unknown(v.into_static()) 85 + } 86 } 87 } 88 } ··· 90 ///Response type for 91 ///app.bsky.bookmark.deleteBookmark 92 pub struct DeleteBookmarkResponse; 93 + impl jacquard_common::xrpc::XrpcResp for DeleteBookmarkResponse { 94 + const NSID: &'static str = "app.bsky.bookmark.deleteBookmark"; 95 const ENCODING: &'static str = "application/json"; 96 + type Output<'de> = (); 97 + type Err<'de> = DeleteBookmarkError<'de>; 98 } 99 100 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for DeleteBookmark<'de> { 101 const NSID: &'static str = "app.bsky.bookmark.deleteBookmark"; 102 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 103 + "application/json", 104 + ); 105 + type Response = DeleteBookmarkResponse; 106 + }
+17 -9
crates/jacquard-api/src/app_bsky/bookmark/get_bookmarks.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetBookmarks<'a> { ··· 53 ///Response type for 54 ///app.bsky.bookmark.getBookmarks 55 pub struct GetBookmarksResponse; 56 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetBookmarksResponse { 57 const ENCODING: &'static str = "application/json"; 58 - type Output = GetBookmarksOutput<'de>; 59 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 60 } 61 62 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetBookmarks<'de> { 63 const NSID: &'static str = "app.bsky.bookmark.getBookmarks"; 64 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 65 - jacquard_common::types::xrpc::XrpcMethod::Query; 66 - type Response<'de1> = GetBookmarksResponse; 67 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetBookmarks<'a> { ··· 61 ///Response type for 62 ///app.bsky.bookmark.getBookmarks 63 pub struct GetBookmarksResponse; 64 + impl jacquard_common::xrpc::XrpcResp for GetBookmarksResponse { 65 + const NSID: &'static str = "app.bsky.bookmark.getBookmarks"; 66 const ENCODING: &'static str = "application/json"; 67 + type Output<'de> = GetBookmarksOutput<'de>; 68 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 69 } 70 71 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetBookmarks<'de> { 72 const NSID: &'static str = "app.bsky.bookmark.getBookmarks"; 73 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 74 + type Response = GetBookmarksResponse; 75 + }
+8 -8
crates/jacquard-api/src/app_bsky/feed/describe_feed_generator.rs
··· 77 ///Response type for 78 ///app.bsky.feed.describeFeedGenerator 79 pub struct DescribeFeedGeneratorResponse; 80 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for DescribeFeedGeneratorResponse { 81 const ENCODING: &'static str = "application/json"; 82 - type Output = DescribeFeedGeneratorOutput<'de>; 83 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 84 } 85 86 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DescribeFeedGenerator { 87 const NSID: &'static str = "app.bsky.feed.describeFeedGenerator"; 88 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 89 - jacquard_common::types::xrpc::XrpcMethod::Query; 90 - type Response<'de1> = DescribeFeedGeneratorResponse; 91 - }
··· 77 ///Response type for 78 ///app.bsky.feed.describeFeedGenerator 79 pub struct DescribeFeedGeneratorResponse; 80 + impl jacquard_common::xrpc::XrpcResp for DescribeFeedGeneratorResponse { 81 + const NSID: &'static str = "app.bsky.feed.describeFeedGenerator"; 82 const ENCODING: &'static str = "application/json"; 83 + type Output<'de> = DescribeFeedGeneratorOutput<'de>; 84 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 85 } 86 87 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for DescribeFeedGenerator { 88 const NSID: &'static str = "app.bsky.feed.describeFeedGenerator"; 89 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 90 + type Response = DescribeFeedGeneratorResponse; 91 + }
+17 -9
crates/jacquard-api/src/app_bsky/feed/get_actor_feeds.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetActorFeeds<'a> { ··· 56 ///Response type for 57 ///app.bsky.feed.getActorFeeds 58 pub struct GetActorFeedsResponse; 59 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetActorFeedsResponse { 60 const ENCODING: &'static str = "application/json"; 61 - type Output = GetActorFeedsOutput<'de>; 62 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 63 } 64 65 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetActorFeeds<'de> { 66 const NSID: &'static str = "app.bsky.feed.getActorFeeds"; 67 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 68 - jacquard_common::types::xrpc::XrpcMethod::Query; 69 - type Response<'de1> = GetActorFeedsResponse; 70 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetActorFeeds<'a> { ··· 64 ///Response type for 65 ///app.bsky.feed.getActorFeeds 66 pub struct GetActorFeedsResponse; 67 + impl jacquard_common::xrpc::XrpcResp for GetActorFeedsResponse { 68 + const NSID: &'static str = "app.bsky.feed.getActorFeeds"; 69 const ENCODING: &'static str = "application/json"; 70 + type Output<'de> = GetActorFeedsOutput<'de>; 71 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 72 } 73 74 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetActorFeeds<'de> { 75 const NSID: &'static str = "app.bsky.feed.getActorFeeds"; 76 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 77 + type Response = GetActorFeedsResponse; 78 + }
+21 -11
crates/jacquard-api/src/app_bsky/feed/get_actor_likes.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetActorLikes<'a> { ··· 62 PartialEq, 63 Eq, 64 thiserror::Error, 65 - miette::Diagnostic, 66 )] 67 #[serde(tag = "error", content = "message")] 68 #[serde(bound(deserialize = "'de: 'a"))] ··· 105 GetActorLikesError::BlockedByActor(v) => { 106 GetActorLikesError::BlockedByActor(v.into_static()) 107 } 108 - GetActorLikesError::Unknown(v) => GetActorLikesError::Unknown(v.into_static()), 109 } 110 } 111 } ··· 113 ///Response type for 114 ///app.bsky.feed.getActorLikes 115 pub struct GetActorLikesResponse; 116 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetActorLikesResponse { 117 const ENCODING: &'static str = "application/json"; 118 - type Output = GetActorLikesOutput<'de>; 119 - type Err = GetActorLikesError<'de>; 120 } 121 122 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetActorLikes<'de> { 123 const NSID: &'static str = "app.bsky.feed.getActorLikes"; 124 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 125 - jacquard_common::types::xrpc::XrpcMethod::Query; 126 - type Response<'de1> = GetActorLikesResponse; 127 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetActorLikes<'a> { ··· 70 PartialEq, 71 Eq, 72 thiserror::Error, 73 + miette::Diagnostic 74 )] 75 #[serde(tag = "error", content = "message")] 76 #[serde(bound(deserialize = "'de: 'a"))] ··· 113 GetActorLikesError::BlockedByActor(v) => { 114 GetActorLikesError::BlockedByActor(v.into_static()) 115 } 116 + GetActorLikesError::Unknown(v) => { 117 + GetActorLikesError::Unknown(v.into_static()) 118 + } 119 } 120 } 121 } ··· 123 ///Response type for 124 ///app.bsky.feed.getActorLikes 125 pub struct GetActorLikesResponse; 126 + impl jacquard_common::xrpc::XrpcResp for GetActorLikesResponse { 127 + const NSID: &'static str = "app.bsky.feed.getActorLikes"; 128 const ENCODING: &'static str = "application/json"; 129 + type Output<'de> = GetActorLikesOutput<'de>; 130 + type Err<'de> = GetActorLikesError<'de>; 131 } 132 133 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetActorLikes<'de> { 134 const NSID: &'static str = "app.bsky.feed.getActorLikes"; 135 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 136 + type Response = GetActorLikesResponse; 137 + }
+21 -11
crates/jacquard-api/src/app_bsky/feed/get_author_feed.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetAuthorFeed<'a> { ··· 72 PartialEq, 73 Eq, 74 thiserror::Error, 75 - miette::Diagnostic, 76 )] 77 #[serde(tag = "error", content = "message")] 78 #[serde(bound(deserialize = "'de: 'a"))] ··· 115 GetAuthorFeedError::BlockedByActor(v) => { 116 GetAuthorFeedError::BlockedByActor(v.into_static()) 117 } 118 - GetAuthorFeedError::Unknown(v) => GetAuthorFeedError::Unknown(v.into_static()), 119 } 120 } 121 } ··· 123 ///Response type for 124 ///app.bsky.feed.getAuthorFeed 125 pub struct GetAuthorFeedResponse; 126 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetAuthorFeedResponse { 127 const ENCODING: &'static str = "application/json"; 128 - type Output = GetAuthorFeedOutput<'de>; 129 - type Err = GetAuthorFeedError<'de>; 130 } 131 132 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetAuthorFeed<'de> { 133 const NSID: &'static str = "app.bsky.feed.getAuthorFeed"; 134 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 135 - jacquard_common::types::xrpc::XrpcMethod::Query; 136 - type Response<'de1> = GetAuthorFeedResponse; 137 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetAuthorFeed<'a> { ··· 80 PartialEq, 81 Eq, 82 thiserror::Error, 83 + miette::Diagnostic 84 )] 85 #[serde(tag = "error", content = "message")] 86 #[serde(bound(deserialize = "'de: 'a"))] ··· 123 GetAuthorFeedError::BlockedByActor(v) => { 124 GetAuthorFeedError::BlockedByActor(v.into_static()) 125 } 126 + GetAuthorFeedError::Unknown(v) => { 127 + GetAuthorFeedError::Unknown(v.into_static()) 128 + } 129 } 130 } 131 } ··· 133 ///Response type for 134 ///app.bsky.feed.getAuthorFeed 135 pub struct GetAuthorFeedResponse; 136 + impl jacquard_common::xrpc::XrpcResp for GetAuthorFeedResponse { 137 + const NSID: &'static str = "app.bsky.feed.getAuthorFeed"; 138 const ENCODING: &'static str = "application/json"; 139 + type Output<'de> = GetAuthorFeedOutput<'de>; 140 + type Err<'de> = GetAuthorFeedError<'de>; 141 } 142 143 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetAuthorFeed<'de> { 144 const NSID: &'static str = "app.bsky.feed.getAuthorFeed"; 145 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 146 + type Response = GetAuthorFeedResponse; 147 + }
+18 -10
crates/jacquard-api/src/app_bsky/feed/get_feed.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetFeed<'a> { ··· 62 PartialEq, 63 Eq, 64 thiserror::Error, 65 - miette::Diagnostic, 66 )] 67 #[serde(tag = "error", content = "message")] 68 #[serde(bound(deserialize = "'de: 'a"))] ··· 99 ///Response type for 100 ///app.bsky.feed.getFeed 101 pub struct GetFeedResponse; 102 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetFeedResponse { 103 const ENCODING: &'static str = "application/json"; 104 - type Output = GetFeedOutput<'de>; 105 - type Err = GetFeedError<'de>; 106 } 107 108 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetFeed<'de> { 109 const NSID: &'static str = "app.bsky.feed.getFeed"; 110 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 111 - jacquard_common::types::xrpc::XrpcMethod::Query; 112 - type Response<'de1> = GetFeedResponse; 113 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetFeed<'a> { ··· 70 PartialEq, 71 Eq, 72 thiserror::Error, 73 + miette::Diagnostic 74 )] 75 #[serde(tag = "error", content = "message")] 76 #[serde(bound(deserialize = "'de: 'a"))] ··· 107 ///Response type for 108 ///app.bsky.feed.getFeed 109 pub struct GetFeedResponse; 110 + impl jacquard_common::xrpc::XrpcResp for GetFeedResponse { 111 + const NSID: &'static str = "app.bsky.feed.getFeed"; 112 const ENCODING: &'static str = "application/json"; 113 + type Output<'de> = GetFeedOutput<'de>; 114 + type Err<'de> = GetFeedError<'de>; 115 } 116 117 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetFeed<'de> { 118 const NSID: &'static str = "app.bsky.feed.getFeed"; 119 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 120 + type Response = GetFeedResponse; 121 + }
+17 -9
crates/jacquard-api/src/app_bsky/feed/get_feed_generator.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetFeedGenerator<'a> { ··· 49 ///Response type for 50 ///app.bsky.feed.getFeedGenerator 51 pub struct GetFeedGeneratorResponse; 52 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetFeedGeneratorResponse { 53 const ENCODING: &'static str = "application/json"; 54 - type Output = GetFeedGeneratorOutput<'de>; 55 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 56 } 57 58 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetFeedGenerator<'de> { 59 const NSID: &'static str = "app.bsky.feed.getFeedGenerator"; 60 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 61 - jacquard_common::types::xrpc::XrpcMethod::Query; 62 - type Response<'de1> = GetFeedGeneratorResponse; 63 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetFeedGenerator<'a> { ··· 57 ///Response type for 58 ///app.bsky.feed.getFeedGenerator 59 pub struct GetFeedGeneratorResponse; 60 + impl jacquard_common::xrpc::XrpcResp for GetFeedGeneratorResponse { 61 + const NSID: &'static str = "app.bsky.feed.getFeedGenerator"; 62 const ENCODING: &'static str = "application/json"; 63 + type Output<'de> = GetFeedGeneratorOutput<'de>; 64 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 65 } 66 67 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetFeedGenerator<'de> { 68 const NSID: &'static str = "app.bsky.feed.getFeedGenerator"; 69 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 70 + type Response = GetFeedGeneratorResponse; 71 + }
+17 -9
crates/jacquard-api/src/app_bsky/feed/get_feed_generators.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetFeedGenerators<'a> { ··· 43 ///Response type for 44 ///app.bsky.feed.getFeedGenerators 45 pub struct GetFeedGeneratorsResponse; 46 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetFeedGeneratorsResponse { 47 const ENCODING: &'static str = "application/json"; 48 - type Output = GetFeedGeneratorsOutput<'de>; 49 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 50 } 51 52 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetFeedGenerators<'de> { 53 const NSID: &'static str = "app.bsky.feed.getFeedGenerators"; 54 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 55 - jacquard_common::types::xrpc::XrpcMethod::Query; 56 - type Response<'de1> = GetFeedGeneratorsResponse; 57 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetFeedGenerators<'a> { ··· 51 ///Response type for 52 ///app.bsky.feed.getFeedGenerators 53 pub struct GetFeedGeneratorsResponse; 54 + impl jacquard_common::xrpc::XrpcResp for GetFeedGeneratorsResponse { 55 + const NSID: &'static str = "app.bsky.feed.getFeedGenerators"; 56 const ENCODING: &'static str = "application/json"; 57 + type Output<'de> = GetFeedGeneratorsOutput<'de>; 58 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 59 } 60 61 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetFeedGenerators<'de> { 62 const NSID: &'static str = "app.bsky.feed.getFeedGenerators"; 63 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 64 + type Response = GetFeedGeneratorsResponse; 65 + }
+21 -11
crates/jacquard-api/src/app_bsky/feed/get_feed_skeleton.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetFeedSkeleton<'a> { ··· 67 PartialEq, 68 Eq, 69 thiserror::Error, 70 - miette::Diagnostic, 71 )] 72 #[serde(tag = "error", content = "message")] 73 #[serde(bound(deserialize = "'de: 'a"))] ··· 98 GetFeedSkeletonError::UnknownFeed(v) => { 99 GetFeedSkeletonError::UnknownFeed(v.into_static()) 100 } 101 - GetFeedSkeletonError::Unknown(v) => GetFeedSkeletonError::Unknown(v.into_static()), 102 } 103 } 104 } ··· 106 ///Response type for 107 ///app.bsky.feed.getFeedSkeleton 108 pub struct GetFeedSkeletonResponse; 109 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetFeedSkeletonResponse { 110 const ENCODING: &'static str = "application/json"; 111 - type Output = GetFeedSkeletonOutput<'de>; 112 - type Err = GetFeedSkeletonError<'de>; 113 } 114 115 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetFeedSkeleton<'de> { 116 const NSID: &'static str = "app.bsky.feed.getFeedSkeleton"; 117 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 118 - jacquard_common::types::xrpc::XrpcMethod::Query; 119 - type Response<'de1> = GetFeedSkeletonResponse; 120 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetFeedSkeleton<'a> { ··· 75 PartialEq, 76 Eq, 77 thiserror::Error, 78 + miette::Diagnostic 79 )] 80 #[serde(tag = "error", content = "message")] 81 #[serde(bound(deserialize = "'de: 'a"))] ··· 106 GetFeedSkeletonError::UnknownFeed(v) => { 107 GetFeedSkeletonError::UnknownFeed(v.into_static()) 108 } 109 + GetFeedSkeletonError::Unknown(v) => { 110 + GetFeedSkeletonError::Unknown(v.into_static()) 111 + } 112 } 113 } 114 } ··· 116 ///Response type for 117 ///app.bsky.feed.getFeedSkeleton 118 pub struct GetFeedSkeletonResponse; 119 + impl jacquard_common::xrpc::XrpcResp for GetFeedSkeletonResponse { 120 + const NSID: &'static str = "app.bsky.feed.getFeedSkeleton"; 121 const ENCODING: &'static str = "application/json"; 122 + type Output<'de> = GetFeedSkeletonOutput<'de>; 123 + type Err<'de> = GetFeedSkeletonError<'de>; 124 } 125 126 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetFeedSkeleton<'de> { 127 const NSID: &'static str = "app.bsky.feed.getFeedSkeleton"; 128 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 129 + type Response = GetFeedSkeletonResponse; 130 + }
+17 -9
crates/jacquard-api/src/app_bsky/feed/get_likes.rs
··· 27 } 28 } 29 30 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 31 #[builder(start_fn = new)] 32 #[serde(rename_all = "camelCase")] 33 pub struct GetLikes<'a> { ··· 89 ///Response type for 90 ///app.bsky.feed.getLikes 91 pub struct GetLikesResponse; 92 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetLikesResponse { 93 const ENCODING: &'static str = "application/json"; 94 - type Output = GetLikesOutput<'de>; 95 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 96 } 97 98 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetLikes<'de> { 99 const NSID: &'static str = "app.bsky.feed.getLikes"; 100 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 101 - jacquard_common::types::xrpc::XrpcMethod::Query; 102 - type Response<'de1> = GetLikesResponse; 103 - }
··· 27 } 28 } 29 30 + #[derive( 31 + serde::Serialize, 32 + serde::Deserialize, 33 + Debug, 34 + Clone, 35 + PartialEq, 36 + Eq, 37 + bon::Builder 38 + )] 39 #[builder(start_fn = new)] 40 #[serde(rename_all = "camelCase")] 41 pub struct GetLikes<'a> { ··· 97 ///Response type for 98 ///app.bsky.feed.getLikes 99 pub struct GetLikesResponse; 100 + impl jacquard_common::xrpc::XrpcResp for GetLikesResponse { 101 + const NSID: &'static str = "app.bsky.feed.getLikes"; 102 const ENCODING: &'static str = "application/json"; 103 + type Output<'de> = GetLikesOutput<'de>; 104 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 105 } 106 107 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetLikes<'de> { 108 const NSID: &'static str = "app.bsky.feed.getLikes"; 109 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 110 + type Response = GetLikesResponse; 111 + }
+21 -11
crates/jacquard-api/src/app_bsky/feed/get_list_feed.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetListFeed<'a> { ··· 62 PartialEq, 63 Eq, 64 thiserror::Error, 65 - miette::Diagnostic, 66 )] 67 #[serde(tag = "error", content = "message")] 68 #[serde(bound(deserialize = "'de: 'a"))] ··· 90 type Output = GetListFeedError<'static>; 91 fn into_static(self) -> Self::Output { 92 match self { 93 - GetListFeedError::UnknownList(v) => GetListFeedError::UnknownList(v.into_static()), 94 GetListFeedError::Unknown(v) => GetListFeedError::Unknown(v.into_static()), 95 } 96 } ··· 99 ///Response type for 100 ///app.bsky.feed.getListFeed 101 pub struct GetListFeedResponse; 102 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetListFeedResponse { 103 const ENCODING: &'static str = "application/json"; 104 - type Output = GetListFeedOutput<'de>; 105 - type Err = GetListFeedError<'de>; 106 } 107 108 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetListFeed<'de> { 109 const NSID: &'static str = "app.bsky.feed.getListFeed"; 110 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 111 - jacquard_common::types::xrpc::XrpcMethod::Query; 112 - type Response<'de1> = GetListFeedResponse; 113 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetListFeed<'a> { ··· 70 PartialEq, 71 Eq, 72 thiserror::Error, 73 + miette::Diagnostic 74 )] 75 #[serde(tag = "error", content = "message")] 76 #[serde(bound(deserialize = "'de: 'a"))] ··· 98 type Output = GetListFeedError<'static>; 99 fn into_static(self) -> Self::Output { 100 match self { 101 + GetListFeedError::UnknownList(v) => { 102 + GetListFeedError::UnknownList(v.into_static()) 103 + } 104 GetListFeedError::Unknown(v) => GetListFeedError::Unknown(v.into_static()), 105 } 106 } ··· 109 ///Response type for 110 ///app.bsky.feed.getListFeed 111 pub struct GetListFeedResponse; 112 + impl jacquard_common::xrpc::XrpcResp for GetListFeedResponse { 113 + const NSID: &'static str = "app.bsky.feed.getListFeed"; 114 const ENCODING: &'static str = "application/json"; 115 + type Output<'de> = GetListFeedOutput<'de>; 116 + type Err<'de> = GetListFeedError<'de>; 117 } 118 119 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetListFeed<'de> { 120 const NSID: &'static str = "app.bsky.feed.getListFeed"; 121 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 122 + type Response = GetListFeedResponse; 123 + }
+24 -12
crates/jacquard-api/src/app_bsky/feed/get_post_thread.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetPostThread<'a> { ··· 94 PartialEq, 95 Eq, 96 thiserror::Error, 97 - miette::Diagnostic, 98 )] 99 #[serde(tag = "error", content = "message")] 100 #[serde(bound(deserialize = "'de: 'a"))] ··· 122 type Output = GetPostThreadError<'static>; 123 fn into_static(self) -> Self::Output { 124 match self { 125 - GetPostThreadError::NotFound(v) => GetPostThreadError::NotFound(v.into_static()), 126 - GetPostThreadError::Unknown(v) => GetPostThreadError::Unknown(v.into_static()), 127 } 128 } 129 } ··· 131 ///Response type for 132 ///app.bsky.feed.getPostThread 133 pub struct GetPostThreadResponse; 134 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetPostThreadResponse { 135 const ENCODING: &'static str = "application/json"; 136 - type Output = GetPostThreadOutput<'de>; 137 - type Err = GetPostThreadError<'de>; 138 } 139 140 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetPostThread<'de> { 141 const NSID: &'static str = "app.bsky.feed.getPostThread"; 142 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 143 - jacquard_common::types::xrpc::XrpcMethod::Query; 144 - type Response<'de1> = GetPostThreadResponse; 145 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetPostThread<'a> { ··· 102 PartialEq, 103 Eq, 104 thiserror::Error, 105 + miette::Diagnostic 106 )] 107 #[serde(tag = "error", content = "message")] 108 #[serde(bound(deserialize = "'de: 'a"))] ··· 130 type Output = GetPostThreadError<'static>; 131 fn into_static(self) -> Self::Output { 132 match self { 133 + GetPostThreadError::NotFound(v) => { 134 + GetPostThreadError::NotFound(v.into_static()) 135 + } 136 + GetPostThreadError::Unknown(v) => { 137 + GetPostThreadError::Unknown(v.into_static()) 138 + } 139 } 140 } 141 } ··· 143 ///Response type for 144 ///app.bsky.feed.getPostThread 145 pub struct GetPostThreadResponse; 146 + impl jacquard_common::xrpc::XrpcResp for GetPostThreadResponse { 147 + const NSID: &'static str = "app.bsky.feed.getPostThread"; 148 const ENCODING: &'static str = "application/json"; 149 + type Output<'de> = GetPostThreadOutput<'de>; 150 + type Err<'de> = GetPostThreadError<'de>; 151 } 152 153 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetPostThread<'de> { 154 const NSID: &'static str = "app.bsky.feed.getPostThread"; 155 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 156 + type Response = GetPostThreadResponse; 157 + }
+17 -9
crates/jacquard-api/src/app_bsky/feed/get_posts.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetPosts<'a> { ··· 43 ///Response type for 44 ///app.bsky.feed.getPosts 45 pub struct GetPostsResponse; 46 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetPostsResponse { 47 const ENCODING: &'static str = "application/json"; 48 - type Output = GetPostsOutput<'de>; 49 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 50 } 51 52 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetPosts<'de> { 53 const NSID: &'static str = "app.bsky.feed.getPosts"; 54 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 55 - jacquard_common::types::xrpc::XrpcMethod::Query; 56 - type Response<'de1> = GetPostsResponse; 57 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetPosts<'a> { ··· 51 ///Response type for 52 ///app.bsky.feed.getPosts 53 pub struct GetPostsResponse; 54 + impl jacquard_common::xrpc::XrpcResp for GetPostsResponse { 55 + const NSID: &'static str = "app.bsky.feed.getPosts"; 56 const ENCODING: &'static str = "application/json"; 57 + type Output<'de> = GetPostsOutput<'de>; 58 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 59 } 60 61 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetPosts<'de> { 62 const NSID: &'static str = "app.bsky.feed.getPosts"; 63 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 64 + type Response = GetPostsResponse; 65 + }
+17 -9
crates/jacquard-api/src/app_bsky/feed/get_quotes.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetQuotes<'a> { ··· 67 ///Response type for 68 ///app.bsky.feed.getQuotes 69 pub struct GetQuotesResponse; 70 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetQuotesResponse { 71 const ENCODING: &'static str = "application/json"; 72 - type Output = GetQuotesOutput<'de>; 73 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 74 } 75 76 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetQuotes<'de> { 77 const NSID: &'static str = "app.bsky.feed.getQuotes"; 78 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 79 - jacquard_common::types::xrpc::XrpcMethod::Query; 80 - type Response<'de1> = GetQuotesResponse; 81 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetQuotes<'a> { ··· 75 ///Response type for 76 ///app.bsky.feed.getQuotes 77 pub struct GetQuotesResponse; 78 + impl jacquard_common::xrpc::XrpcResp for GetQuotesResponse { 79 + const NSID: &'static str = "app.bsky.feed.getQuotes"; 80 const ENCODING: &'static str = "application/json"; 81 + type Output<'de> = GetQuotesOutput<'de>; 82 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 83 } 84 85 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetQuotes<'de> { 86 const NSID: &'static str = "app.bsky.feed.getQuotes"; 87 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 88 + type Response = GetQuotesResponse; 89 + }
+17 -9
crates/jacquard-api/src/app_bsky/feed/get_reposted_by.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetRepostedBy<'a> { ··· 67 ///Response type for 68 ///app.bsky.feed.getRepostedBy 69 pub struct GetRepostedByResponse; 70 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetRepostedByResponse { 71 const ENCODING: &'static str = "application/json"; 72 - type Output = GetRepostedByOutput<'de>; 73 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 74 } 75 76 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRepostedBy<'de> { 77 const NSID: &'static str = "app.bsky.feed.getRepostedBy"; 78 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 79 - jacquard_common::types::xrpc::XrpcMethod::Query; 80 - type Response<'de1> = GetRepostedByResponse; 81 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetRepostedBy<'a> { ··· 75 ///Response type for 76 ///app.bsky.feed.getRepostedBy 77 pub struct GetRepostedByResponse; 78 + impl jacquard_common::xrpc::XrpcResp for GetRepostedByResponse { 79 + const NSID: &'static str = "app.bsky.feed.getRepostedBy"; 80 const ENCODING: &'static str = "application/json"; 81 + type Output<'de> = GetRepostedByOutput<'de>; 82 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 83 } 84 85 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetRepostedBy<'de> { 86 const NSID: &'static str = "app.bsky.feed.getRepostedBy"; 87 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 88 + type Response = GetRepostedByResponse; 89 + }
+17 -9
crates/jacquard-api/src/app_bsky/feed/get_suggested_feeds.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetSuggestedFeeds<'a> { ··· 53 ///Response type for 54 ///app.bsky.feed.getSuggestedFeeds 55 pub struct GetSuggestedFeedsResponse; 56 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetSuggestedFeedsResponse { 57 const ENCODING: &'static str = "application/json"; 58 - type Output = GetSuggestedFeedsOutput<'de>; 59 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 60 } 61 62 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSuggestedFeeds<'de> { 63 const NSID: &'static str = "app.bsky.feed.getSuggestedFeeds"; 64 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 65 - jacquard_common::types::xrpc::XrpcMethod::Query; 66 - type Response<'de1> = GetSuggestedFeedsResponse; 67 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetSuggestedFeeds<'a> { ··· 61 ///Response type for 62 ///app.bsky.feed.getSuggestedFeeds 63 pub struct GetSuggestedFeedsResponse; 64 + impl jacquard_common::xrpc::XrpcResp for GetSuggestedFeedsResponse { 65 + const NSID: &'static str = "app.bsky.feed.getSuggestedFeeds"; 66 const ENCODING: &'static str = "application/json"; 67 + type Output<'de> = GetSuggestedFeedsOutput<'de>; 68 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 69 } 70 71 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetSuggestedFeeds<'de> { 72 const NSID: &'static str = "app.bsky.feed.getSuggestedFeeds"; 73 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 74 + type Response = GetSuggestedFeedsResponse; 75 + }
+17 -9
crates/jacquard-api/src/app_bsky/feed/get_timeline.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetTimeline<'a> { ··· 58 ///Response type for 59 ///app.bsky.feed.getTimeline 60 pub struct GetTimelineResponse; 61 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetTimelineResponse { 62 const ENCODING: &'static str = "application/json"; 63 - type Output = GetTimelineOutput<'de>; 64 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 65 } 66 67 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetTimeline<'de> { 68 const NSID: &'static str = "app.bsky.feed.getTimeline"; 69 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 70 - jacquard_common::types::xrpc::XrpcMethod::Query; 71 - type Response<'de1> = GetTimelineResponse; 72 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetTimeline<'a> { ··· 66 ///Response type for 67 ///app.bsky.feed.getTimeline 68 pub struct GetTimelineResponse; 69 + impl jacquard_common::xrpc::XrpcResp for GetTimelineResponse { 70 + const NSID: &'static str = "app.bsky.feed.getTimeline"; 71 const ENCODING: &'static str = "application/json"; 72 + type Output<'de> = GetTimelineOutput<'de>; 73 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 74 } 75 76 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetTimeline<'de> { 77 const NSID: &'static str = "app.bsky.feed.getTimeline"; 78 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 79 + type Response = GetTimelineResponse; 80 + }
+18 -10
crates/jacquard-api/src/app_bsky/feed/search_posts.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct SearchPosts<'a> { ··· 107 PartialEq, 108 Eq, 109 thiserror::Error, 110 - miette::Diagnostic, 111 )] 112 #[serde(tag = "error", content = "message")] 113 #[serde(bound(deserialize = "'de: 'a"))] ··· 146 ///Response type for 147 ///app.bsky.feed.searchPosts 148 pub struct SearchPostsResponse; 149 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for SearchPostsResponse { 150 const ENCODING: &'static str = "application/json"; 151 - type Output = SearchPostsOutput<'de>; 152 - type Err = SearchPostsError<'de>; 153 } 154 155 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchPosts<'de> { 156 const NSID: &'static str = "app.bsky.feed.searchPosts"; 157 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 158 - jacquard_common::types::xrpc::XrpcMethod::Query; 159 - type Response<'de1> = SearchPostsResponse; 160 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct SearchPosts<'a> { ··· 115 PartialEq, 116 Eq, 117 thiserror::Error, 118 + miette::Diagnostic 119 )] 120 #[serde(tag = "error", content = "message")] 121 #[serde(bound(deserialize = "'de: 'a"))] ··· 154 ///Response type for 155 ///app.bsky.feed.searchPosts 156 pub struct SearchPostsResponse; 157 + impl jacquard_common::xrpc::XrpcResp for SearchPostsResponse { 158 + const NSID: &'static str = "app.bsky.feed.searchPosts"; 159 const ENCODING: &'static str = "application/json"; 160 + type Output<'de> = SearchPostsOutput<'de>; 161 + type Err<'de> = SearchPostsError<'de>; 162 } 163 164 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for SearchPosts<'de> { 165 const NSID: &'static str = "app.bsky.feed.searchPosts"; 166 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 167 + type Response = SearchPostsResponse; 168 + }
+19 -9
crates/jacquard-api/src/app_bsky/feed/send_interactions.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct SendInteractions<'a> { ··· 47 ///Response type for 48 ///app.bsky.feed.sendInteractions 49 pub struct SendInteractionsResponse; 50 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for SendInteractionsResponse { 51 const ENCODING: &'static str = "application/json"; 52 - type Output = SendInteractionsOutput<'de>; 53 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 54 } 55 56 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SendInteractions<'de> { 57 const NSID: &'static str = "app.bsky.feed.sendInteractions"; 58 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 59 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 60 - type Response<'de1> = SendInteractionsResponse; 61 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct SendInteractions<'a> { ··· 55 ///Response type for 56 ///app.bsky.feed.sendInteractions 57 pub struct SendInteractionsResponse; 58 + impl jacquard_common::xrpc::XrpcResp for SendInteractionsResponse { 59 + const NSID: &'static str = "app.bsky.feed.sendInteractions"; 60 const ENCODING: &'static str = "application/json"; 61 + type Output<'de> = SendInteractionsOutput<'de>; 62 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 63 } 64 65 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for SendInteractions<'de> { 66 const NSID: &'static str = "app.bsky.feed.sendInteractions"; 67 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 68 + "application/json", 69 + ); 70 + type Response = SendInteractionsResponse; 71 + }
+17 -9
crates/jacquard-api/src/app_bsky/graph/get_actor_starter_packs.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetActorStarterPacks<'a> { ··· 56 ///Response type for 57 ///app.bsky.graph.getActorStarterPacks 58 pub struct GetActorStarterPacksResponse; 59 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetActorStarterPacksResponse { 60 const ENCODING: &'static str = "application/json"; 61 - type Output = GetActorStarterPacksOutput<'de>; 62 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 63 } 64 65 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetActorStarterPacks<'de> { 66 const NSID: &'static str = "app.bsky.graph.getActorStarterPacks"; 67 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 68 - jacquard_common::types::xrpc::XrpcMethod::Query; 69 - type Response<'de1> = GetActorStarterPacksResponse; 70 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetActorStarterPacks<'a> { ··· 64 ///Response type for 65 ///app.bsky.graph.getActorStarterPacks 66 pub struct GetActorStarterPacksResponse; 67 + impl jacquard_common::xrpc::XrpcResp for GetActorStarterPacksResponse { 68 + const NSID: &'static str = "app.bsky.graph.getActorStarterPacks"; 69 const ENCODING: &'static str = "application/json"; 70 + type Output<'de> = GetActorStarterPacksOutput<'de>; 71 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 72 } 73 74 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetActorStarterPacks<'de> { 75 const NSID: &'static str = "app.bsky.graph.getActorStarterPacks"; 76 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 77 + type Response = GetActorStarterPacksResponse; 78 + }
+17 -9
crates/jacquard-api/src/app_bsky/graph/get_blocks.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetBlocks<'a> { ··· 53 ///Response type for 54 ///app.bsky.graph.getBlocks 55 pub struct GetBlocksResponse; 56 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetBlocksResponse { 57 const ENCODING: &'static str = "application/json"; 58 - type Output = GetBlocksOutput<'de>; 59 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 60 } 61 62 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetBlocks<'de> { 63 const NSID: &'static str = "app.bsky.graph.getBlocks"; 64 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 65 - jacquard_common::types::xrpc::XrpcMethod::Query; 66 - type Response<'de1> = GetBlocksResponse; 67 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetBlocks<'a> { ··· 61 ///Response type for 62 ///app.bsky.graph.getBlocks 63 pub struct GetBlocksResponse; 64 + impl jacquard_common::xrpc::XrpcResp for GetBlocksResponse { 65 + const NSID: &'static str = "app.bsky.graph.getBlocks"; 66 const ENCODING: &'static str = "application/json"; 67 + type Output<'de> = GetBlocksOutput<'de>; 68 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 69 } 70 71 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetBlocks<'de> { 72 const NSID: &'static str = "app.bsky.graph.getBlocks"; 73 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 74 + type Response = GetBlocksResponse; 75 + }
+17 -9
crates/jacquard-api/src/app_bsky/graph/get_followers.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetFollowers<'a> { ··· 59 ///Response type for 60 ///app.bsky.graph.getFollowers 61 pub struct GetFollowersResponse; 62 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetFollowersResponse { 63 const ENCODING: &'static str = "application/json"; 64 - type Output = GetFollowersOutput<'de>; 65 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 66 } 67 68 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetFollowers<'de> { 69 const NSID: &'static str = "app.bsky.graph.getFollowers"; 70 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 71 - jacquard_common::types::xrpc::XrpcMethod::Query; 72 - type Response<'de1> = GetFollowersResponse; 73 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetFollowers<'a> { ··· 67 ///Response type for 68 ///app.bsky.graph.getFollowers 69 pub struct GetFollowersResponse; 70 + impl jacquard_common::xrpc::XrpcResp for GetFollowersResponse { 71 + const NSID: &'static str = "app.bsky.graph.getFollowers"; 72 const ENCODING: &'static str = "application/json"; 73 + type Output<'de> = GetFollowersOutput<'de>; 74 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 75 } 76 77 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetFollowers<'de> { 78 const NSID: &'static str = "app.bsky.graph.getFollowers"; 79 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 80 + type Response = GetFollowersResponse; 81 + }
+17 -9
crates/jacquard-api/src/app_bsky/graph/get_follows.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetFollows<'a> { ··· 59 ///Response type for 60 ///app.bsky.graph.getFollows 61 pub struct GetFollowsResponse; 62 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetFollowsResponse { 63 const ENCODING: &'static str = "application/json"; 64 - type Output = GetFollowsOutput<'de>; 65 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 66 } 67 68 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetFollows<'de> { 69 const NSID: &'static str = "app.bsky.graph.getFollows"; 70 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 71 - jacquard_common::types::xrpc::XrpcMethod::Query; 72 - type Response<'de1> = GetFollowsResponse; 73 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetFollows<'a> { ··· 67 ///Response type for 68 ///app.bsky.graph.getFollows 69 pub struct GetFollowsResponse; 70 + impl jacquard_common::xrpc::XrpcResp for GetFollowsResponse { 71 + const NSID: &'static str = "app.bsky.graph.getFollows"; 72 const ENCODING: &'static str = "application/json"; 73 + type Output<'de> = GetFollowsOutput<'de>; 74 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 75 } 76 77 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetFollows<'de> { 78 const NSID: &'static str = "app.bsky.graph.getFollows"; 79 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 80 + type Response = GetFollowsResponse; 81 + }
+17 -9
crates/jacquard-api/src/app_bsky/graph/get_known_followers.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetKnownFollowers<'a> { ··· 59 ///Response type for 60 ///app.bsky.graph.getKnownFollowers 61 pub struct GetKnownFollowersResponse; 62 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetKnownFollowersResponse { 63 const ENCODING: &'static str = "application/json"; 64 - type Output = GetKnownFollowersOutput<'de>; 65 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 66 } 67 68 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetKnownFollowers<'de> { 69 const NSID: &'static str = "app.bsky.graph.getKnownFollowers"; 70 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 71 - jacquard_common::types::xrpc::XrpcMethod::Query; 72 - type Response<'de1> = GetKnownFollowersResponse; 73 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetKnownFollowers<'a> { ··· 67 ///Response type for 68 ///app.bsky.graph.getKnownFollowers 69 pub struct GetKnownFollowersResponse; 70 + impl jacquard_common::xrpc::XrpcResp for GetKnownFollowersResponse { 71 + const NSID: &'static str = "app.bsky.graph.getKnownFollowers"; 72 const ENCODING: &'static str = "application/json"; 73 + type Output<'de> = GetKnownFollowersOutput<'de>; 74 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 75 } 76 77 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetKnownFollowers<'de> { 78 const NSID: &'static str = "app.bsky.graph.getKnownFollowers"; 79 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 80 + type Response = GetKnownFollowersResponse; 81 + }
+17 -9
crates/jacquard-api/src/app_bsky/graph/get_list.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetList<'a> { ··· 59 ///Response type for 60 ///app.bsky.graph.getList 61 pub struct GetListResponse; 62 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetListResponse { 63 const ENCODING: &'static str = "application/json"; 64 - type Output = GetListOutput<'de>; 65 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 66 } 67 68 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetList<'de> { 69 const NSID: &'static str = "app.bsky.graph.getList"; 70 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 71 - jacquard_common::types::xrpc::XrpcMethod::Query; 72 - type Response<'de1> = GetListResponse; 73 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetList<'a> { ··· 67 ///Response type for 68 ///app.bsky.graph.getList 69 pub struct GetListResponse; 70 + impl jacquard_common::xrpc::XrpcResp for GetListResponse { 71 + const NSID: &'static str = "app.bsky.graph.getList"; 72 const ENCODING: &'static str = "application/json"; 73 + type Output<'de> = GetListOutput<'de>; 74 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 75 } 76 77 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetList<'de> { 78 const NSID: &'static str = "app.bsky.graph.getList"; 79 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 80 + type Response = GetListResponse; 81 + }
+17 -9
crates/jacquard-api/src/app_bsky/graph/get_list_blocks.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetListBlocks<'a> { ··· 53 ///Response type for 54 ///app.bsky.graph.getListBlocks 55 pub struct GetListBlocksResponse; 56 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetListBlocksResponse { 57 const ENCODING: &'static str = "application/json"; 58 - type Output = GetListBlocksOutput<'de>; 59 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 60 } 61 62 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetListBlocks<'de> { 63 const NSID: &'static str = "app.bsky.graph.getListBlocks"; 64 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 65 - jacquard_common::types::xrpc::XrpcMethod::Query; 66 - type Response<'de1> = GetListBlocksResponse; 67 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetListBlocks<'a> { ··· 61 ///Response type for 62 ///app.bsky.graph.getListBlocks 63 pub struct GetListBlocksResponse; 64 + impl jacquard_common::xrpc::XrpcResp for GetListBlocksResponse { 65 + const NSID: &'static str = "app.bsky.graph.getListBlocks"; 66 const ENCODING: &'static str = "application/json"; 67 + type Output<'de> = GetListBlocksOutput<'de>; 68 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 69 } 70 71 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetListBlocks<'de> { 72 const NSID: &'static str = "app.bsky.graph.getListBlocks"; 73 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 74 + type Response = GetListBlocksResponse; 75 + }
+17 -9
crates/jacquard-api/src/app_bsky/graph/get_list_mutes.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetListMutes<'a> { ··· 53 ///Response type for 54 ///app.bsky.graph.getListMutes 55 pub struct GetListMutesResponse; 56 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetListMutesResponse { 57 const ENCODING: &'static str = "application/json"; 58 - type Output = GetListMutesOutput<'de>; 59 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 60 } 61 62 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetListMutes<'de> { 63 const NSID: &'static str = "app.bsky.graph.getListMutes"; 64 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 65 - jacquard_common::types::xrpc::XrpcMethod::Query; 66 - type Response<'de1> = GetListMutesResponse; 67 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetListMutes<'a> { ··· 61 ///Response type for 62 ///app.bsky.graph.getListMutes 63 pub struct GetListMutesResponse; 64 + impl jacquard_common::xrpc::XrpcResp for GetListMutesResponse { 65 + const NSID: &'static str = "app.bsky.graph.getListMutes"; 66 const ENCODING: &'static str = "application/json"; 67 + type Output<'de> = GetListMutesOutput<'de>; 68 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 69 } 70 71 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetListMutes<'de> { 72 const NSID: &'static str = "app.bsky.graph.getListMutes"; 73 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 74 + type Response = GetListMutesResponse; 75 + }
+17 -9
crates/jacquard-api/src/app_bsky/graph/get_lists.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetLists<'a> { ··· 60 ///Response type for 61 ///app.bsky.graph.getLists 62 pub struct GetListsResponse; 63 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetListsResponse { 64 const ENCODING: &'static str = "application/json"; 65 - type Output = GetListsOutput<'de>; 66 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 67 } 68 69 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetLists<'de> { 70 const NSID: &'static str = "app.bsky.graph.getLists"; 71 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 72 - jacquard_common::types::xrpc::XrpcMethod::Query; 73 - type Response<'de1> = GetListsResponse; 74 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetLists<'a> { ··· 68 ///Response type for 69 ///app.bsky.graph.getLists 70 pub struct GetListsResponse; 71 + impl jacquard_common::xrpc::XrpcResp for GetListsResponse { 72 + const NSID: &'static str = "app.bsky.graph.getLists"; 73 const ENCODING: &'static str = "application/json"; 74 + type Output<'de> = GetListsOutput<'de>; 75 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 76 } 77 78 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetLists<'de> { 79 const NSID: &'static str = "app.bsky.graph.getLists"; 80 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 81 + type Response = GetListsResponse; 82 + }
+17 -9
crates/jacquard-api/src/app_bsky/graph/get_lists_with_membership.rs
··· 28 } 29 } 30 31 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 32 #[builder(start_fn = new)] 33 #[serde(rename_all = "camelCase")] 34 pub struct GetListsWithMembership<'a> { ··· 83 ///Response type for 84 ///app.bsky.graph.getListsWithMembership 85 pub struct GetListsWithMembershipResponse; 86 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetListsWithMembershipResponse { 87 const ENCODING: &'static str = "application/json"; 88 - type Output = GetListsWithMembershipOutput<'de>; 89 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 90 } 91 92 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetListsWithMembership<'de> { 93 const NSID: &'static str = "app.bsky.graph.getListsWithMembership"; 94 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 95 - jacquard_common::types::xrpc::XrpcMethod::Query; 96 - type Response<'de1> = GetListsWithMembershipResponse; 97 - }
··· 28 } 29 } 30 31 + #[derive( 32 + serde::Serialize, 33 + serde::Deserialize, 34 + Debug, 35 + Clone, 36 + PartialEq, 37 + Eq, 38 + bon::Builder 39 + )] 40 #[builder(start_fn = new)] 41 #[serde(rename_all = "camelCase")] 42 pub struct GetListsWithMembership<'a> { ··· 91 ///Response type for 92 ///app.bsky.graph.getListsWithMembership 93 pub struct GetListsWithMembershipResponse; 94 + impl jacquard_common::xrpc::XrpcResp for GetListsWithMembershipResponse { 95 + const NSID: &'static str = "app.bsky.graph.getListsWithMembership"; 96 const ENCODING: &'static str = "application/json"; 97 + type Output<'de> = GetListsWithMembershipOutput<'de>; 98 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 99 } 100 101 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetListsWithMembership<'de> { 102 const NSID: &'static str = "app.bsky.graph.getListsWithMembership"; 103 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 104 + type Response = GetListsWithMembershipResponse; 105 + }
+17 -9
crates/jacquard-api/src/app_bsky/graph/get_mutes.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetMutes<'a> { ··· 53 ///Response type for 54 ///app.bsky.graph.getMutes 55 pub struct GetMutesResponse; 56 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetMutesResponse { 57 const ENCODING: &'static str = "application/json"; 58 - type Output = GetMutesOutput<'de>; 59 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 60 } 61 62 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetMutes<'de> { 63 const NSID: &'static str = "app.bsky.graph.getMutes"; 64 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 65 - jacquard_common::types::xrpc::XrpcMethod::Query; 66 - type Response<'de1> = GetMutesResponse; 67 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetMutes<'a> { ··· 61 ///Response type for 62 ///app.bsky.graph.getMutes 63 pub struct GetMutesResponse; 64 + impl jacquard_common::xrpc::XrpcResp for GetMutesResponse { 65 + const NSID: &'static str = "app.bsky.graph.getMutes"; 66 const ENCODING: &'static str = "application/json"; 67 + type Output<'de> = GetMutesOutput<'de>; 68 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 69 } 70 71 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetMutes<'de> { 72 const NSID: &'static str = "app.bsky.graph.getMutes"; 73 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 74 + type Response = GetMutesResponse; 75 + }
+24 -12
crates/jacquard-api/src/app_bsky/graph/get_relationships.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetRelationships<'a> { ··· 13 pub actor: jacquard_common::types::ident::AtIdentifier<'a>, 14 #[serde(skip_serializing_if = "std::option::Option::is_none")] 15 #[serde(borrow)] 16 - pub others: std::option::Option<Vec<jacquard_common::types::ident::AtIdentifier<'a>>>, 17 } 18 19 impl jacquard_common::IntoStatic for GetRelationships<'_> { ··· 57 PartialEq, 58 Eq, 59 thiserror::Error, 60 - miette::Diagnostic, 61 )] 62 #[serde(tag = "error", content = "message")] 63 #[serde(bound(deserialize = "'de: 'a"))] ··· 89 GetRelationshipsError::ActorNotFound(v) => { 90 GetRelationshipsError::ActorNotFound(v.into_static()) 91 } 92 - GetRelationshipsError::Unknown(v) => GetRelationshipsError::Unknown(v.into_static()), 93 } 94 } 95 } ··· 97 ///Response type for 98 ///app.bsky.graph.getRelationships 99 pub struct GetRelationshipsResponse; 100 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetRelationshipsResponse { 101 const ENCODING: &'static str = "application/json"; 102 - type Output = GetRelationshipsOutput<'de>; 103 - type Err = GetRelationshipsError<'de>; 104 } 105 106 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRelationships<'de> { 107 const NSID: &'static str = "app.bsky.graph.getRelationships"; 108 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 109 - jacquard_common::types::xrpc::XrpcMethod::Query; 110 - type Response<'de1> = GetRelationshipsResponse; 111 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetRelationships<'a> { ··· 21 pub actor: jacquard_common::types::ident::AtIdentifier<'a>, 22 #[serde(skip_serializing_if = "std::option::Option::is_none")] 23 #[serde(borrow)] 24 + pub others: std::option::Option< 25 + Vec<jacquard_common::types::ident::AtIdentifier<'a>>, 26 + >, 27 } 28 29 impl jacquard_common::IntoStatic for GetRelationships<'_> { ··· 67 PartialEq, 68 Eq, 69 thiserror::Error, 70 + miette::Diagnostic 71 )] 72 #[serde(tag = "error", content = "message")] 73 #[serde(bound(deserialize = "'de: 'a"))] ··· 99 GetRelationshipsError::ActorNotFound(v) => { 100 GetRelationshipsError::ActorNotFound(v.into_static()) 101 } 102 + GetRelationshipsError::Unknown(v) => { 103 + GetRelationshipsError::Unknown(v.into_static()) 104 + } 105 } 106 } 107 } ··· 109 ///Response type for 110 ///app.bsky.graph.getRelationships 111 pub struct GetRelationshipsResponse; 112 + impl jacquard_common::xrpc::XrpcResp for GetRelationshipsResponse { 113 + const NSID: &'static str = "app.bsky.graph.getRelationships"; 114 const ENCODING: &'static str = "application/json"; 115 + type Output<'de> = GetRelationshipsOutput<'de>; 116 + type Err<'de> = GetRelationshipsError<'de>; 117 } 118 119 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetRelationships<'de> { 120 const NSID: &'static str = "app.bsky.graph.getRelationships"; 121 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 122 + type Response = GetRelationshipsResponse; 123 + }
+17 -9
crates/jacquard-api/src/app_bsky/graph/get_starter_pack.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetStarterPack<'a> { ··· 43 ///Response type for 44 ///app.bsky.graph.getStarterPack 45 pub struct GetStarterPackResponse; 46 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetStarterPackResponse { 47 const ENCODING: &'static str = "application/json"; 48 - type Output = GetStarterPackOutput<'de>; 49 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 50 } 51 52 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetStarterPack<'de> { 53 const NSID: &'static str = "app.bsky.graph.getStarterPack"; 54 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 55 - jacquard_common::types::xrpc::XrpcMethod::Query; 56 - type Response<'de1> = GetStarterPackResponse; 57 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetStarterPack<'a> { ··· 51 ///Response type for 52 ///app.bsky.graph.getStarterPack 53 pub struct GetStarterPackResponse; 54 + impl jacquard_common::xrpc::XrpcResp for GetStarterPackResponse { 55 + const NSID: &'static str = "app.bsky.graph.getStarterPack"; 56 const ENCODING: &'static str = "application/json"; 57 + type Output<'de> = GetStarterPackOutput<'de>; 58 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 59 } 60 61 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetStarterPack<'de> { 62 const NSID: &'static str = "app.bsky.graph.getStarterPack"; 63 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 64 + type Response = GetStarterPackResponse; 65 + }
+17 -9
crates/jacquard-api/src/app_bsky/graph/get_starter_packs.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetStarterPacks<'a> { ··· 43 ///Response type for 44 ///app.bsky.graph.getStarterPacks 45 pub struct GetStarterPacksResponse; 46 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetStarterPacksResponse { 47 const ENCODING: &'static str = "application/json"; 48 - type Output = GetStarterPacksOutput<'de>; 49 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 50 } 51 52 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetStarterPacks<'de> { 53 const NSID: &'static str = "app.bsky.graph.getStarterPacks"; 54 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 55 - jacquard_common::types::xrpc::XrpcMethod::Query; 56 - type Response<'de1> = GetStarterPacksResponse; 57 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetStarterPacks<'a> { ··· 51 ///Response type for 52 ///app.bsky.graph.getStarterPacks 53 pub struct GetStarterPacksResponse; 54 + impl jacquard_common::xrpc::XrpcResp for GetStarterPacksResponse { 55 + const NSID: &'static str = "app.bsky.graph.getStarterPacks"; 56 const ENCODING: &'static str = "application/json"; 57 + type Output<'de> = GetStarterPacksOutput<'de>; 58 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 59 } 60 61 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetStarterPacks<'de> { 62 const NSID: &'static str = "app.bsky.graph.getStarterPacks"; 63 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 64 + type Response = GetStarterPacksResponse; 65 + }
+21 -10
crates/jacquard-api/src/app_bsky/graph/get_starter_packs_with_membership.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetStarterPacksWithMembership<'a> { ··· 47 fn into_static(self) -> Self::Output { 48 GetStarterPacksWithMembershipOutput { 49 cursor: self.cursor.into_static(), 50 - starter_packs_with_membership: self.starter_packs_with_membership.into_static(), 51 extra_data: self.extra_data.into_static(), 52 } 53 } ··· 56 ///Response type for 57 ///app.bsky.graph.getStarterPacksWithMembership 58 pub struct GetStarterPacksWithMembershipResponse; 59 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetStarterPacksWithMembershipResponse { 60 const ENCODING: &'static str = "application/json"; 61 - type Output = GetStarterPacksWithMembershipOutput<'de>; 62 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 63 } 64 65 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetStarterPacksWithMembership<'de> { 66 const NSID: &'static str = "app.bsky.graph.getStarterPacksWithMembership"; 67 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 68 - jacquard_common::types::xrpc::XrpcMethod::Query; 69 - type Response<'de1> = GetStarterPacksWithMembershipResponse; 70 } 71 72 ///A starter pack and an optional list item indicating membership of a target user to that starter pack. ··· 90 extra_data: self.extra_data.into_static(), 91 } 92 } 93 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetStarterPacksWithMembership<'a> { ··· 55 fn into_static(self) -> Self::Output { 56 GetStarterPacksWithMembershipOutput { 57 cursor: self.cursor.into_static(), 58 + starter_packs_with_membership: self 59 + .starter_packs_with_membership 60 + .into_static(), 61 extra_data: self.extra_data.into_static(), 62 } 63 } ··· 66 ///Response type for 67 ///app.bsky.graph.getStarterPacksWithMembership 68 pub struct GetStarterPacksWithMembershipResponse; 69 + impl jacquard_common::xrpc::XrpcResp for GetStarterPacksWithMembershipResponse { 70 + const NSID: &'static str = "app.bsky.graph.getStarterPacksWithMembership"; 71 const ENCODING: &'static str = "application/json"; 72 + type Output<'de> = GetStarterPacksWithMembershipOutput<'de>; 73 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 74 } 75 76 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> 77 + for GetStarterPacksWithMembership<'de> { 78 const NSID: &'static str = "app.bsky.graph.getStarterPacksWithMembership"; 79 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 80 + type Response = GetStarterPacksWithMembershipResponse; 81 } 82 83 ///A starter pack and an optional list item indicating membership of a target user to that starter pack. ··· 101 extra_data: self.extra_data.into_static(), 102 } 103 } 104 + }
+17 -9
crates/jacquard-api/src/app_bsky/graph/get_suggested_follows_by_actor.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetSuggestedFollowsByActor<'a> { ··· 51 ///Response type for 52 ///app.bsky.graph.getSuggestedFollowsByActor 53 pub struct GetSuggestedFollowsByActorResponse; 54 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetSuggestedFollowsByActorResponse { 55 const ENCODING: &'static str = "application/json"; 56 - type Output = GetSuggestedFollowsByActorOutput<'de>; 57 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 58 } 59 60 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSuggestedFollowsByActor<'de> { 61 const NSID: &'static str = "app.bsky.graph.getSuggestedFollowsByActor"; 62 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 63 - jacquard_common::types::xrpc::XrpcMethod::Query; 64 - type Response<'de1> = GetSuggestedFollowsByActorResponse; 65 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetSuggestedFollowsByActor<'a> { ··· 59 ///Response type for 60 ///app.bsky.graph.getSuggestedFollowsByActor 61 pub struct GetSuggestedFollowsByActorResponse; 62 + impl jacquard_common::xrpc::XrpcResp for GetSuggestedFollowsByActorResponse { 63 + const NSID: &'static str = "app.bsky.graph.getSuggestedFollowsByActor"; 64 const ENCODING: &'static str = "application/json"; 65 + type Output<'de> = GetSuggestedFollowsByActorOutput<'de>; 66 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 67 } 68 69 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetSuggestedFollowsByActor<'de> { 70 const NSID: &'static str = "app.bsky.graph.getSuggestedFollowsByActor"; 71 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 72 + type Response = GetSuggestedFollowsByActorResponse; 73 + }
+19 -9
crates/jacquard-api/src/app_bsky/graph/mute_actor.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct MuteActor<'a> { ··· 34 ///Response type for 35 ///app.bsky.graph.muteActor 36 pub struct MuteActorResponse; 37 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for MuteActorResponse { 38 const ENCODING: &'static str = "application/json"; 39 - type Output = (); 40 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 41 } 42 43 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for MuteActor<'de> { 44 const NSID: &'static str = "app.bsky.graph.muteActor"; 45 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 46 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 47 - type Response<'de1> = MuteActorResponse; 48 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct MuteActor<'a> { ··· 42 ///Response type for 43 ///app.bsky.graph.muteActor 44 pub struct MuteActorResponse; 45 + impl jacquard_common::xrpc::XrpcResp for MuteActorResponse { 46 + const NSID: &'static str = "app.bsky.graph.muteActor"; 47 const ENCODING: &'static str = "application/json"; 48 + type Output<'de> = (); 49 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 50 } 51 52 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for MuteActor<'de> { 53 const NSID: &'static str = "app.bsky.graph.muteActor"; 54 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 55 + "application/json", 56 + ); 57 + type Response = MuteActorResponse; 58 + }
+19 -9
crates/jacquard-api/src/app_bsky/graph/mute_actor_list.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct MuteActorList<'a> { ··· 34 ///Response type for 35 ///app.bsky.graph.muteActorList 36 pub struct MuteActorListResponse; 37 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for MuteActorListResponse { 38 const ENCODING: &'static str = "application/json"; 39 - type Output = (); 40 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 41 } 42 43 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for MuteActorList<'de> { 44 const NSID: &'static str = "app.bsky.graph.muteActorList"; 45 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 46 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 47 - type Response<'de1> = MuteActorListResponse; 48 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct MuteActorList<'a> { ··· 42 ///Response type for 43 ///app.bsky.graph.muteActorList 44 pub struct MuteActorListResponse; 45 + impl jacquard_common::xrpc::XrpcResp for MuteActorListResponse { 46 + const NSID: &'static str = "app.bsky.graph.muteActorList"; 47 const ENCODING: &'static str = "application/json"; 48 + type Output<'de> = (); 49 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 50 } 51 52 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for MuteActorList<'de> { 53 const NSID: &'static str = "app.bsky.graph.muteActorList"; 54 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 55 + "application/json", 56 + ); 57 + type Response = MuteActorListResponse; 58 + }
+19 -9
crates/jacquard-api/src/app_bsky/graph/mute_thread.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct MuteThread<'a> { ··· 34 ///Response type for 35 ///app.bsky.graph.muteThread 36 pub struct MuteThreadResponse; 37 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for MuteThreadResponse { 38 const ENCODING: &'static str = "application/json"; 39 - type Output = (); 40 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 41 } 42 43 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for MuteThread<'de> { 44 const NSID: &'static str = "app.bsky.graph.muteThread"; 45 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 46 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 47 - type Response<'de1> = MuteThreadResponse; 48 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct MuteThread<'a> { ··· 42 ///Response type for 43 ///app.bsky.graph.muteThread 44 pub struct MuteThreadResponse; 45 + impl jacquard_common::xrpc::XrpcResp for MuteThreadResponse { 46 + const NSID: &'static str = "app.bsky.graph.muteThread"; 47 const ENCODING: &'static str = "application/json"; 48 + type Output<'de> = (); 49 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 50 } 51 52 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for MuteThread<'de> { 53 const NSID: &'static str = "app.bsky.graph.muteThread"; 54 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 55 + "application/json", 56 + ); 57 + type Response = MuteThreadResponse; 58 + }
+17 -9
crates/jacquard-api/src/app_bsky/graph/search_starter_packs.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct SearchStarterPacks<'a> { ··· 57 ///Response type for 58 ///app.bsky.graph.searchStarterPacks 59 pub struct SearchStarterPacksResponse; 60 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for SearchStarterPacksResponse { 61 const ENCODING: &'static str = "application/json"; 62 - type Output = SearchStarterPacksOutput<'de>; 63 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 64 } 65 66 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchStarterPacks<'de> { 67 const NSID: &'static str = "app.bsky.graph.searchStarterPacks"; 68 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 69 - jacquard_common::types::xrpc::XrpcMethod::Query; 70 - type Response<'de1> = SearchStarterPacksResponse; 71 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct SearchStarterPacks<'a> { ··· 65 ///Response type for 66 ///app.bsky.graph.searchStarterPacks 67 pub struct SearchStarterPacksResponse; 68 + impl jacquard_common::xrpc::XrpcResp for SearchStarterPacksResponse { 69 + const NSID: &'static str = "app.bsky.graph.searchStarterPacks"; 70 const ENCODING: &'static str = "application/json"; 71 + type Output<'de> = SearchStarterPacksOutput<'de>; 72 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 73 } 74 75 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for SearchStarterPacks<'de> { 76 const NSID: &'static str = "app.bsky.graph.searchStarterPacks"; 77 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 78 + type Response = SearchStarterPacksResponse; 79 + }
+19 -9
crates/jacquard-api/src/app_bsky/graph/unmute_actor.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UnmuteActor<'a> { ··· 34 ///Response type for 35 ///app.bsky.graph.unmuteActor 36 pub struct UnmuteActorResponse; 37 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UnmuteActorResponse { 38 const ENCODING: &'static str = "application/json"; 39 - type Output = (); 40 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 41 } 42 43 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UnmuteActor<'de> { 44 const NSID: &'static str = "app.bsky.graph.unmuteActor"; 45 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 46 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 47 - type Response<'de1> = UnmuteActorResponse; 48 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UnmuteActor<'a> { ··· 42 ///Response type for 43 ///app.bsky.graph.unmuteActor 44 pub struct UnmuteActorResponse; 45 + impl jacquard_common::xrpc::XrpcResp for UnmuteActorResponse { 46 + const NSID: &'static str = "app.bsky.graph.unmuteActor"; 47 const ENCODING: &'static str = "application/json"; 48 + type Output<'de> = (); 49 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 50 } 51 52 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UnmuteActor<'de> { 53 const NSID: &'static str = "app.bsky.graph.unmuteActor"; 54 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 55 + "application/json", 56 + ); 57 + type Response = UnmuteActorResponse; 58 + }
+19 -9
crates/jacquard-api/src/app_bsky/graph/unmute_actor_list.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UnmuteActorList<'a> { ··· 34 ///Response type for 35 ///app.bsky.graph.unmuteActorList 36 pub struct UnmuteActorListResponse; 37 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UnmuteActorListResponse { 38 const ENCODING: &'static str = "application/json"; 39 - type Output = (); 40 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 41 } 42 43 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UnmuteActorList<'de> { 44 const NSID: &'static str = "app.bsky.graph.unmuteActorList"; 45 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 46 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 47 - type Response<'de1> = UnmuteActorListResponse; 48 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UnmuteActorList<'a> { ··· 42 ///Response type for 43 ///app.bsky.graph.unmuteActorList 44 pub struct UnmuteActorListResponse; 45 + impl jacquard_common::xrpc::XrpcResp for UnmuteActorListResponse { 46 + const NSID: &'static str = "app.bsky.graph.unmuteActorList"; 47 const ENCODING: &'static str = "application/json"; 48 + type Output<'de> = (); 49 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 50 } 51 52 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UnmuteActorList<'de> { 53 const NSID: &'static str = "app.bsky.graph.unmuteActorList"; 54 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 55 + "application/json", 56 + ); 57 + type Response = UnmuteActorListResponse; 58 + }
+19 -9
crates/jacquard-api/src/app_bsky/graph/unmute_thread.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UnmuteThread<'a> { ··· 34 ///Response type for 35 ///app.bsky.graph.unmuteThread 36 pub struct UnmuteThreadResponse; 37 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UnmuteThreadResponse { 38 const ENCODING: &'static str = "application/json"; 39 - type Output = (); 40 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 41 } 42 43 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UnmuteThread<'de> { 44 const NSID: &'static str = "app.bsky.graph.unmuteThread"; 45 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 46 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 47 - type Response<'de1> = UnmuteThreadResponse; 48 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UnmuteThread<'a> { ··· 42 ///Response type for 43 ///app.bsky.graph.unmuteThread 44 pub struct UnmuteThreadResponse; 45 + impl jacquard_common::xrpc::XrpcResp for UnmuteThreadResponse { 46 + const NSID: &'static str = "app.bsky.graph.unmuteThread"; 47 const ENCODING: &'static str = "application/json"; 48 + type Output<'de> = (); 49 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 50 } 51 52 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UnmuteThread<'de> { 53 const NSID: &'static str = "app.bsky.graph.unmuteThread"; 54 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 55 + "application/json", 56 + ); 57 + type Response = UnmuteThreadResponse; 58 + }
+17 -9
crates/jacquard-api/src/app_bsky/labeler/get_services.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetServices<'a> { ··· 47 ///Response type for 48 ///app.bsky.labeler.getServices 49 pub struct GetServicesResponse; 50 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetServicesResponse { 51 const ENCODING: &'static str = "application/json"; 52 - type Output = GetServicesOutput<'de>; 53 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 54 } 55 56 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetServices<'de> { 57 const NSID: &'static str = "app.bsky.labeler.getServices"; 58 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 59 - jacquard_common::types::xrpc::XrpcMethod::Query; 60 - type Response<'de1> = GetServicesResponse; 61 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetServices<'a> { ··· 55 ///Response type for 56 ///app.bsky.labeler.getServices 57 pub struct GetServicesResponse; 58 + impl jacquard_common::xrpc::XrpcResp for GetServicesResponse { 59 + const NSID: &'static str = "app.bsky.labeler.getServices"; 60 const ENCODING: &'static str = "application/json"; 61 + type Output<'de> = GetServicesOutput<'de>; 62 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 63 } 64 65 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetServices<'de> { 66 const NSID: &'static str = "app.bsky.labeler.getServices"; 67 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 68 + type Response = GetServicesResponse; 69 + }
+17 -9
crates/jacquard-api/src/app_bsky/notification/get_preferences.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetPreferences {} ··· 37 ///Response type for 38 ///app.bsky.notification.getPreferences 39 pub struct GetPreferencesResponse; 40 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetPreferencesResponse { 41 const ENCODING: &'static str = "application/json"; 42 - type Output = GetPreferencesOutput<'de>; 43 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 44 } 45 46 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetPreferences { 47 const NSID: &'static str = "app.bsky.notification.getPreferences"; 48 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 49 - jacquard_common::types::xrpc::XrpcMethod::Query; 50 - type Response<'de1> = GetPreferencesResponse; 51 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetPreferences {} ··· 45 ///Response type for 46 ///app.bsky.notification.getPreferences 47 pub struct GetPreferencesResponse; 48 + impl jacquard_common::xrpc::XrpcResp for GetPreferencesResponse { 49 + const NSID: &'static str = "app.bsky.notification.getPreferences"; 50 const ENCODING: &'static str = "application/json"; 51 + type Output<'de> = GetPreferencesOutput<'de>; 52 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 53 } 54 55 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetPreferences { 56 const NSID: &'static str = "app.bsky.notification.getPreferences"; 57 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 58 + type Response = GetPreferencesResponse; 59 + }
+17 -9
crates/jacquard-api/src/app_bsky/notification/get_unread_count.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetUnreadCount { ··· 42 ///Response type for 43 ///app.bsky.notification.getUnreadCount 44 pub struct GetUnreadCountResponse; 45 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetUnreadCountResponse { 46 const ENCODING: &'static str = "application/json"; 47 - type Output = GetUnreadCountOutput<'de>; 48 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 49 } 50 51 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetUnreadCount { 52 const NSID: &'static str = "app.bsky.notification.getUnreadCount"; 53 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 54 - jacquard_common::types::xrpc::XrpcMethod::Query; 55 - type Response<'de1> = GetUnreadCountResponse; 56 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetUnreadCount { ··· 50 ///Response type for 51 ///app.bsky.notification.getUnreadCount 52 pub struct GetUnreadCountResponse; 53 + impl jacquard_common::xrpc::XrpcResp for GetUnreadCountResponse { 54 + const NSID: &'static str = "app.bsky.notification.getUnreadCount"; 55 const ENCODING: &'static str = "application/json"; 56 + type Output<'de> = GetUnreadCountOutput<'de>; 57 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 58 } 59 60 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetUnreadCount { 61 const NSID: &'static str = "app.bsky.notification.getUnreadCount"; 62 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 63 + type Response = GetUnreadCountResponse; 64 + }
+17 -9
crates/jacquard-api/src/app_bsky/notification/list_activity_subscriptions.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct ListActivitySubscriptions<'a> { ··· 53 ///Response type for 54 ///app.bsky.notification.listActivitySubscriptions 55 pub struct ListActivitySubscriptionsResponse; 56 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ListActivitySubscriptionsResponse { 57 const ENCODING: &'static str = "application/json"; 58 - type Output = ListActivitySubscriptionsOutput<'de>; 59 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 60 } 61 62 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListActivitySubscriptions<'de> { 63 const NSID: &'static str = "app.bsky.notification.listActivitySubscriptions"; 64 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 65 - jacquard_common::types::xrpc::XrpcMethod::Query; 66 - type Response<'de1> = ListActivitySubscriptionsResponse; 67 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct ListActivitySubscriptions<'a> { ··· 61 ///Response type for 62 ///app.bsky.notification.listActivitySubscriptions 63 pub struct ListActivitySubscriptionsResponse; 64 + impl jacquard_common::xrpc::XrpcResp for ListActivitySubscriptionsResponse { 65 + const NSID: &'static str = "app.bsky.notification.listActivitySubscriptions"; 66 const ENCODING: &'static str = "application/json"; 67 + type Output<'de> = ListActivitySubscriptionsOutput<'de>; 68 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 69 } 70 71 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ListActivitySubscriptions<'de> { 72 const NSID: &'static str = "app.bsky.notification.listActivitySubscriptions"; 73 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 74 + type Response = ListActivitySubscriptionsResponse; 75 + }
+17 -9
crates/jacquard-api/src/app_bsky/notification/list_notifications.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct ListNotifications<'a> { ··· 69 ///Response type for 70 ///app.bsky.notification.listNotifications 71 pub struct ListNotificationsResponse; 72 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ListNotificationsResponse { 73 const ENCODING: &'static str = "application/json"; 74 - type Output = ListNotificationsOutput<'de>; 75 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 76 } 77 78 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListNotifications<'de> { 79 const NSID: &'static str = "app.bsky.notification.listNotifications"; 80 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 81 - jacquard_common::types::xrpc::XrpcMethod::Query; 82 - type Response<'de1> = ListNotificationsResponse; 83 } 84 85 #[jacquard_derive::lexicon] ··· 123 extra_data: self.extra_data.into_static(), 124 } 125 } 126 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct ListNotifications<'a> { ··· 77 ///Response type for 78 ///app.bsky.notification.listNotifications 79 pub struct ListNotificationsResponse; 80 + impl jacquard_common::xrpc::XrpcResp for ListNotificationsResponse { 81 + const NSID: &'static str = "app.bsky.notification.listNotifications"; 82 const ENCODING: &'static str = "application/json"; 83 + type Output<'de> = ListNotificationsOutput<'de>; 84 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 85 } 86 87 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ListNotifications<'de> { 88 const NSID: &'static str = "app.bsky.notification.listNotifications"; 89 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 90 + type Response = ListNotificationsResponse; 91 } 92 93 #[jacquard_derive::lexicon] ··· 131 extra_data: self.extra_data.into_static(), 132 } 133 } 134 + }
+22 -11
crates/jacquard-api/src/app_bsky/notification/put_activity_subscription.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct PutActivitySubscription<'a> { ··· 40 pub struct PutActivitySubscriptionOutput<'a> { 41 #[serde(skip_serializing_if = "std::option::Option::is_none")] 42 #[serde(borrow)] 43 - pub activity_subscription: 44 - std::option::Option<crate::app_bsky::notification::ActivitySubscription<'a>>, 45 #[serde(borrow)] 46 pub subject: jacquard_common::types::string::Did<'a>, 47 } ··· 60 ///Response type for 61 ///app.bsky.notification.putActivitySubscription 62 pub struct PutActivitySubscriptionResponse; 63 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for PutActivitySubscriptionResponse { 64 const ENCODING: &'static str = "application/json"; 65 - type Output = PutActivitySubscriptionOutput<'de>; 66 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 67 } 68 69 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for PutActivitySubscription<'de> { 70 const NSID: &'static str = "app.bsky.notification.putActivitySubscription"; 71 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 72 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 73 - type Response<'de1> = PutActivitySubscriptionResponse; 74 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct PutActivitySubscription<'a> { ··· 48 pub struct PutActivitySubscriptionOutput<'a> { 49 #[serde(skip_serializing_if = "std::option::Option::is_none")] 50 #[serde(borrow)] 51 + pub activity_subscription: std::option::Option< 52 + crate::app_bsky::notification::ActivitySubscription<'a>, 53 + >, 54 #[serde(borrow)] 55 pub subject: jacquard_common::types::string::Did<'a>, 56 } ··· 69 ///Response type for 70 ///app.bsky.notification.putActivitySubscription 71 pub struct PutActivitySubscriptionResponse; 72 + impl jacquard_common::xrpc::XrpcResp for PutActivitySubscriptionResponse { 73 + const NSID: &'static str = "app.bsky.notification.putActivitySubscription"; 74 const ENCODING: &'static str = "application/json"; 75 + type Output<'de> = PutActivitySubscriptionOutput<'de>; 76 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 77 } 78 79 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for PutActivitySubscription<'de> { 80 const NSID: &'static str = "app.bsky.notification.putActivitySubscription"; 81 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 82 + "application/json", 83 + ); 84 + type Response = PutActivitySubscriptionResponse; 85 + }
+19 -9
crates/jacquard-api/src/app_bsky/notification/put_preferences.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct PutPreferences<'a> { ··· 33 ///Response type for 34 ///app.bsky.notification.putPreferences 35 pub struct PutPreferencesResponse; 36 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for PutPreferencesResponse { 37 const ENCODING: &'static str = "application/json"; 38 - type Output = (); 39 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 40 } 41 42 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for PutPreferences<'de> { 43 const NSID: &'static str = "app.bsky.notification.putPreferences"; 44 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 45 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 46 - type Response<'de1> = PutPreferencesResponse; 47 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct PutPreferences<'a> { ··· 41 ///Response type for 42 ///app.bsky.notification.putPreferences 43 pub struct PutPreferencesResponse; 44 + impl jacquard_common::xrpc::XrpcResp for PutPreferencesResponse { 45 + const NSID: &'static str = "app.bsky.notification.putPreferences"; 46 const ENCODING: &'static str = "application/json"; 47 + type Output<'de> = (); 48 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 49 } 50 51 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for PutPreferences<'de> { 52 const NSID: &'static str = "app.bsky.notification.putPreferences"; 53 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 54 + "application/json", 55 + ); 56 + type Response = PutPreferencesResponse; 57 + }
+49 -21
crates/jacquard-api/src/app_bsky/notification/put_preferences_v2.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct PutPreferencesV2<'a> { ··· 15 pub chat: std::option::Option<crate::app_bsky::notification::ChatPreference<'a>>, 16 #[serde(skip_serializing_if = "std::option::Option::is_none")] 17 #[serde(borrow)] 18 - pub follow: std::option::Option<crate::app_bsky::notification::FilterablePreference<'a>>, 19 #[serde(skip_serializing_if = "std::option::Option::is_none")] 20 #[serde(borrow)] 21 - pub like: std::option::Option<crate::app_bsky::notification::FilterablePreference<'a>>, 22 #[serde(skip_serializing_if = "std::option::Option::is_none")] 23 #[serde(borrow)] 24 - pub like_via_repost: 25 - std::option::Option<crate::app_bsky::notification::FilterablePreference<'a>>, 26 #[serde(skip_serializing_if = "std::option::Option::is_none")] 27 #[serde(borrow)] 28 - pub mention: std::option::Option<crate::app_bsky::notification::FilterablePreference<'a>>, 29 #[serde(skip_serializing_if = "std::option::Option::is_none")] 30 #[serde(borrow)] 31 - pub quote: std::option::Option<crate::app_bsky::notification::FilterablePreference<'a>>, 32 #[serde(skip_serializing_if = "std::option::Option::is_none")] 33 #[serde(borrow)] 34 - pub reply: std::option::Option<crate::app_bsky::notification::FilterablePreference<'a>>, 35 #[serde(skip_serializing_if = "std::option::Option::is_none")] 36 #[serde(borrow)] 37 - pub repost: std::option::Option<crate::app_bsky::notification::FilterablePreference<'a>>, 38 #[serde(skip_serializing_if = "std::option::Option::is_none")] 39 #[serde(borrow)] 40 - pub repost_via_repost: 41 - std::option::Option<crate::app_bsky::notification::FilterablePreference<'a>>, 42 #[serde(skip_serializing_if = "std::option::Option::is_none")] 43 #[serde(borrow)] 44 - pub starterpack_joined: std::option::Option<crate::app_bsky::notification::Preference<'a>>, 45 #[serde(skip_serializing_if = "std::option::Option::is_none")] 46 #[serde(borrow)] 47 - pub subscribed_post: std::option::Option<crate::app_bsky::notification::Preference<'a>>, 48 #[serde(skip_serializing_if = "std::option::Option::is_none")] 49 #[serde(borrow)] 50 pub unverified: std::option::Option<crate::app_bsky::notification::Preference<'a>>, ··· 103 ///Response type for 104 ///app.bsky.notification.putPreferencesV2 105 pub struct PutPreferencesV2Response; 106 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for PutPreferencesV2Response { 107 const ENCODING: &'static str = "application/json"; 108 - type Output = PutPreferencesV2Output<'de>; 109 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 110 } 111 112 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for PutPreferencesV2<'de> { 113 const NSID: &'static str = "app.bsky.notification.putPreferencesV2"; 114 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 115 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 116 - type Response<'de1> = PutPreferencesV2Response; 117 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct PutPreferencesV2<'a> { ··· 23 pub chat: std::option::Option<crate::app_bsky::notification::ChatPreference<'a>>, 24 #[serde(skip_serializing_if = "std::option::Option::is_none")] 25 #[serde(borrow)] 26 + pub follow: std::option::Option< 27 + crate::app_bsky::notification::FilterablePreference<'a>, 28 + >, 29 #[serde(skip_serializing_if = "std::option::Option::is_none")] 30 #[serde(borrow)] 31 + pub like: std::option::Option< 32 + crate::app_bsky::notification::FilterablePreference<'a>, 33 + >, 34 #[serde(skip_serializing_if = "std::option::Option::is_none")] 35 #[serde(borrow)] 36 + pub like_via_repost: std::option::Option< 37 + crate::app_bsky::notification::FilterablePreference<'a>, 38 + >, 39 #[serde(skip_serializing_if = "std::option::Option::is_none")] 40 #[serde(borrow)] 41 + pub mention: std::option::Option< 42 + crate::app_bsky::notification::FilterablePreference<'a>, 43 + >, 44 #[serde(skip_serializing_if = "std::option::Option::is_none")] 45 #[serde(borrow)] 46 + pub quote: std::option::Option< 47 + crate::app_bsky::notification::FilterablePreference<'a>, 48 + >, 49 #[serde(skip_serializing_if = "std::option::Option::is_none")] 50 #[serde(borrow)] 51 + pub reply: std::option::Option< 52 + crate::app_bsky::notification::FilterablePreference<'a>, 53 + >, 54 #[serde(skip_serializing_if = "std::option::Option::is_none")] 55 #[serde(borrow)] 56 + pub repost: std::option::Option< 57 + crate::app_bsky::notification::FilterablePreference<'a>, 58 + >, 59 #[serde(skip_serializing_if = "std::option::Option::is_none")] 60 #[serde(borrow)] 61 + pub repost_via_repost: std::option::Option< 62 + crate::app_bsky::notification::FilterablePreference<'a>, 63 + >, 64 #[serde(skip_serializing_if = "std::option::Option::is_none")] 65 #[serde(borrow)] 66 + pub starterpack_joined: std::option::Option< 67 + crate::app_bsky::notification::Preference<'a>, 68 + >, 69 #[serde(skip_serializing_if = "std::option::Option::is_none")] 70 #[serde(borrow)] 71 + pub subscribed_post: std::option::Option< 72 + crate::app_bsky::notification::Preference<'a>, 73 + >, 74 #[serde(skip_serializing_if = "std::option::Option::is_none")] 75 #[serde(borrow)] 76 pub unverified: std::option::Option<crate::app_bsky::notification::Preference<'a>>, ··· 129 ///Response type for 130 ///app.bsky.notification.putPreferencesV2 131 pub struct PutPreferencesV2Response; 132 + impl jacquard_common::xrpc::XrpcResp for PutPreferencesV2Response { 133 + const NSID: &'static str = "app.bsky.notification.putPreferencesV2"; 134 const ENCODING: &'static str = "application/json"; 135 + type Output<'de> = PutPreferencesV2Output<'de>; 136 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 137 } 138 139 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for PutPreferencesV2<'de> { 140 const NSID: &'static str = "app.bsky.notification.putPreferencesV2"; 141 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 142 + "application/json", 143 + ); 144 + type Response = PutPreferencesV2Response; 145 + }
+19 -9
crates/jacquard-api/src/app_bsky/notification/register_push.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct RegisterPush<'a> { ··· 50 ///Response type for 51 ///app.bsky.notification.registerPush 52 pub struct RegisterPushResponse; 53 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for RegisterPushResponse { 54 const ENCODING: &'static str = "application/json"; 55 - type Output = (); 56 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 57 } 58 59 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RegisterPush<'de> { 60 const NSID: &'static str = "app.bsky.notification.registerPush"; 61 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 62 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 63 - type Response<'de1> = RegisterPushResponse; 64 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct RegisterPush<'a> { ··· 58 ///Response type for 59 ///app.bsky.notification.registerPush 60 pub struct RegisterPushResponse; 61 + impl jacquard_common::xrpc::XrpcResp for RegisterPushResponse { 62 + const NSID: &'static str = "app.bsky.notification.registerPush"; 63 const ENCODING: &'static str = "application/json"; 64 + type Output<'de> = (); 65 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 66 } 67 68 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for RegisterPush<'de> { 69 const NSID: &'static str = "app.bsky.notification.registerPush"; 70 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 71 + "application/json", 72 + ); 73 + type Response = RegisterPushResponse; 74 + }
+19 -9
crates/jacquard-api/src/app_bsky/notification/unregister_push.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UnregisterPush<'a> { ··· 46 ///Response type for 47 ///app.bsky.notification.unregisterPush 48 pub struct UnregisterPushResponse; 49 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UnregisterPushResponse { 50 const ENCODING: &'static str = "application/json"; 51 - type Output = (); 52 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 53 } 54 55 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UnregisterPush<'de> { 56 const NSID: &'static str = "app.bsky.notification.unregisterPush"; 57 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 58 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 59 - type Response<'de1> = UnregisterPushResponse; 60 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UnregisterPush<'a> { ··· 54 ///Response type for 55 ///app.bsky.notification.unregisterPush 56 pub struct UnregisterPushResponse; 57 + impl jacquard_common::xrpc::XrpcResp for UnregisterPushResponse { 58 + const NSID: &'static str = "app.bsky.notification.unregisterPush"; 59 const ENCODING: &'static str = "application/json"; 60 + type Output<'de> = (); 61 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 62 } 63 64 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UnregisterPush<'de> { 65 const NSID: &'static str = "app.bsky.notification.unregisterPush"; 66 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 67 + "application/json", 68 + ); 69 + type Response = UnregisterPushResponse; 70 + }
+19 -9
crates/jacquard-api/src/app_bsky/notification/update_seen.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UpdateSeen<'a> { ··· 33 ///Response type for 34 ///app.bsky.notification.updateSeen 35 pub struct UpdateSeenResponse; 36 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UpdateSeenResponse { 37 const ENCODING: &'static str = "application/json"; 38 - type Output = (); 39 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 40 } 41 42 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateSeen<'de> { 43 const NSID: &'static str = "app.bsky.notification.updateSeen"; 44 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 45 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 46 - type Response<'de1> = UpdateSeenResponse; 47 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UpdateSeen<'a> { ··· 41 ///Response type for 42 ///app.bsky.notification.updateSeen 43 pub struct UpdateSeenResponse; 44 + impl jacquard_common::xrpc::XrpcResp for UpdateSeenResponse { 45 + const NSID: &'static str = "app.bsky.notification.updateSeen"; 46 const ENCODING: &'static str = "application/json"; 47 + type Output<'de> = (); 48 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 49 } 50 51 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UpdateSeen<'de> { 52 const NSID: &'static str = "app.bsky.notification.updateSeen"; 53 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 54 + "application/json", 55 + ); 56 + type Response = UpdateSeenResponse; 57 + }
+8 -8
crates/jacquard-api/src/app_bsky/unspecced/get_age_assurance_state.rs
··· 30 ///Response type for 31 ///app.bsky.unspecced.getAgeAssuranceState 32 pub struct GetAgeAssuranceStateResponse; 33 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetAgeAssuranceStateResponse { 34 const ENCODING: &'static str = "application/json"; 35 - type Output = GetAgeAssuranceStateOutput<'de>; 36 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 37 } 38 39 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetAgeAssuranceState { 40 const NSID: &'static str = "app.bsky.unspecced.getAgeAssuranceState"; 41 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 42 - jacquard_common::types::xrpc::XrpcMethod::Query; 43 - type Response<'de1> = GetAgeAssuranceStateResponse; 44 - }
··· 30 ///Response type for 31 ///app.bsky.unspecced.getAgeAssuranceState 32 pub struct GetAgeAssuranceStateResponse; 33 + impl jacquard_common::xrpc::XrpcResp for GetAgeAssuranceStateResponse { 34 + const NSID: &'static str = "app.bsky.unspecced.getAgeAssuranceState"; 35 const ENCODING: &'static str = "application/json"; 36 + type Output<'de> = GetAgeAssuranceStateOutput<'de>; 37 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 38 } 39 40 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetAgeAssuranceState { 41 const NSID: &'static str = "app.bsky.unspecced.getAgeAssuranceState"; 42 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 43 + type Response = GetAgeAssuranceStateResponse; 44 + }
+8 -8
crates/jacquard-api/src/app_bsky/unspecced/get_config.rs
··· 54 ///Response type for 55 ///app.bsky.unspecced.getConfig 56 pub struct GetConfigResponse; 57 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetConfigResponse { 58 const ENCODING: &'static str = "application/json"; 59 - type Output = GetConfigOutput<'de>; 60 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 61 } 62 63 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetConfig { 64 const NSID: &'static str = "app.bsky.unspecced.getConfig"; 65 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 66 - jacquard_common::types::xrpc::XrpcMethod::Query; 67 - type Response<'de1> = GetConfigResponse; 68 - }
··· 54 ///Response type for 55 ///app.bsky.unspecced.getConfig 56 pub struct GetConfigResponse; 57 + impl jacquard_common::xrpc::XrpcResp for GetConfigResponse { 58 + const NSID: &'static str = "app.bsky.unspecced.getConfig"; 59 const ENCODING: &'static str = "application/json"; 60 + type Output<'de> = GetConfigOutput<'de>; 61 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 62 } 63 64 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetConfig { 65 const NSID: &'static str = "app.bsky.unspecced.getConfig"; 66 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 67 + type Response = GetConfigResponse; 68 + }
+18 -11
crates/jacquard-api/src/app_bsky/unspecced/get_onboarding_suggested_starter_packs.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetOnboardingSuggestedStarterPacks { ··· 42 ///Response type for 43 ///app.bsky.unspecced.getOnboardingSuggestedStarterPacks 44 pub struct GetOnboardingSuggestedStarterPacksResponse; 45 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> 46 - for GetOnboardingSuggestedStarterPacksResponse 47 - { 48 const ENCODING: &'static str = "application/json"; 49 - type Output = GetOnboardingSuggestedStarterPacksOutput<'de>; 50 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 51 } 52 53 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetOnboardingSuggestedStarterPacks { 54 const NSID: &'static str = "app.bsky.unspecced.getOnboardingSuggestedStarterPacks"; 55 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 56 - jacquard_common::types::xrpc::XrpcMethod::Query; 57 - type Response<'de1> = GetOnboardingSuggestedStarterPacksResponse; 58 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetOnboardingSuggestedStarterPacks { ··· 50 ///Response type for 51 ///app.bsky.unspecced.getOnboardingSuggestedStarterPacks 52 pub struct GetOnboardingSuggestedStarterPacksResponse; 53 + impl jacquard_common::xrpc::XrpcResp for GetOnboardingSuggestedStarterPacksResponse { 54 + const NSID: &'static str = "app.bsky.unspecced.getOnboardingSuggestedStarterPacks"; 55 const ENCODING: &'static str = "application/json"; 56 + type Output<'de> = GetOnboardingSuggestedStarterPacksOutput<'de>; 57 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 58 } 59 60 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> 61 + for GetOnboardingSuggestedStarterPacks { 62 const NSID: &'static str = "app.bsky.unspecced.getOnboardingSuggestedStarterPacks"; 63 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 64 + type Response = GetOnboardingSuggestedStarterPacksResponse; 65 + }
+21 -14
crates/jacquard-api/src/app_bsky/unspecced/get_onboarding_suggested_starter_packs_skeleton.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetOnboardingSuggestedStarterPacksSkeleton<'a> { ··· 35 pub starter_packs: Vec<jacquard_common::types::string::AtUri<'a>>, 36 } 37 38 - impl jacquard_common::IntoStatic for GetOnboardingSuggestedStarterPacksSkeletonOutput<'_> { 39 type Output = GetOnboardingSuggestedStarterPacksSkeletonOutput<'static>; 40 fn into_static(self) -> Self::Output { 41 GetOnboardingSuggestedStarterPacksSkeletonOutput { ··· 48 ///Response type for 49 ///app.bsky.unspecced.getOnboardingSuggestedStarterPacksSkeleton 50 pub struct GetOnboardingSuggestedStarterPacksSkeletonResponse; 51 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> 52 - for GetOnboardingSuggestedStarterPacksSkeletonResponse 53 - { 54 const ENCODING: &'static str = "application/json"; 55 - type Output = GetOnboardingSuggestedStarterPacksSkeletonOutput<'de>; 56 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 57 } 58 59 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> 60 - for GetOnboardingSuggestedStarterPacksSkeleton<'de> 61 - { 62 const NSID: &'static str = "app.bsky.unspecced.getOnboardingSuggestedStarterPacksSkeleton"; 63 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 64 - jacquard_common::types::xrpc::XrpcMethod::Query; 65 - type Response<'de1> = GetOnboardingSuggestedStarterPacksSkeletonResponse; 66 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetOnboardingSuggestedStarterPacksSkeleton<'a> { ··· 43 pub starter_packs: Vec<jacquard_common::types::string::AtUri<'a>>, 44 } 45 46 + impl jacquard_common::IntoStatic 47 + for GetOnboardingSuggestedStarterPacksSkeletonOutput<'_> { 48 type Output = GetOnboardingSuggestedStarterPacksSkeletonOutput<'static>; 49 fn into_static(self) -> Self::Output { 50 GetOnboardingSuggestedStarterPacksSkeletonOutput { ··· 57 ///Response type for 58 ///app.bsky.unspecced.getOnboardingSuggestedStarterPacksSkeleton 59 pub struct GetOnboardingSuggestedStarterPacksSkeletonResponse; 60 + impl jacquard_common::xrpc::XrpcResp 61 + for GetOnboardingSuggestedStarterPacksSkeletonResponse { 62 + const NSID: &'static str = "app.bsky.unspecced.getOnboardingSuggestedStarterPacksSkeleton"; 63 const ENCODING: &'static str = "application/json"; 64 + type Output<'de> = GetOnboardingSuggestedStarterPacksSkeletonOutput<'de>; 65 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 66 } 67 68 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> 69 + for GetOnboardingSuggestedStarterPacksSkeleton<'de> { 70 const NSID: &'static str = "app.bsky.unspecced.getOnboardingSuggestedStarterPacksSkeleton"; 71 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 72 + type Response = GetOnboardingSuggestedStarterPacksSkeletonResponse; 73 + }
+20 -10
crates/jacquard-api/src/app_bsky/unspecced/get_post_thread_other_v2.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetPostThreadOtherV2<'a> { ··· 48 ///Response type for 49 ///app.bsky.unspecced.getPostThreadOtherV2 50 pub struct GetPostThreadOtherV2Response; 51 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetPostThreadOtherV2Response { 52 const ENCODING: &'static str = "application/json"; 53 - type Output = GetPostThreadOtherV2Output<'de>; 54 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 55 } 56 57 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetPostThreadOtherV2<'de> { 58 const NSID: &'static str = "app.bsky.unspecced.getPostThreadOtherV2"; 59 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 60 - jacquard_common::types::xrpc::XrpcMethod::Query; 61 - type Response<'de1> = GetPostThreadOtherV2Response; 62 } 63 64 #[jacquard_derive::lexicon] ··· 89 ThreadItemRecordValue::DefsThreadItemPost(v) => { 90 ThreadItemRecordValue::DefsThreadItemPost(v.into_static()) 91 } 92 - ThreadItemRecordValue::Unknown(v) => ThreadItemRecordValue::Unknown(v.into_static()), 93 } 94 } 95 } ··· 104 extra_data: self.extra_data.into_static(), 105 } 106 } 107 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetPostThreadOtherV2<'a> { ··· 56 ///Response type for 57 ///app.bsky.unspecced.getPostThreadOtherV2 58 pub struct GetPostThreadOtherV2Response; 59 + impl jacquard_common::xrpc::XrpcResp for GetPostThreadOtherV2Response { 60 + const NSID: &'static str = "app.bsky.unspecced.getPostThreadOtherV2"; 61 const ENCODING: &'static str = "application/json"; 62 + type Output<'de> = GetPostThreadOtherV2Output<'de>; 63 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 64 } 65 66 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetPostThreadOtherV2<'de> { 67 const NSID: &'static str = "app.bsky.unspecced.getPostThreadOtherV2"; 68 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 69 + type Response = GetPostThreadOtherV2Response; 70 } 71 72 #[jacquard_derive::lexicon] ··· 97 ThreadItemRecordValue::DefsThreadItemPost(v) => { 98 ThreadItemRecordValue::DefsThreadItemPost(v.into_static()) 99 } 100 + ThreadItemRecordValue::Unknown(v) => { 101 + ThreadItemRecordValue::Unknown(v.into_static()) 102 + } 103 } 104 } 105 } ··· 114 extra_data: self.extra_data.into_static(), 115 } 116 } 117 + }
+20 -10
crates/jacquard-api/src/app_bsky/unspecced/get_post_thread_v2.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetPostThreadV2<'a> { ··· 73 ///Response type for 74 ///app.bsky.unspecced.getPostThreadV2 75 pub struct GetPostThreadV2Response; 76 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetPostThreadV2Response { 77 const ENCODING: &'static str = "application/json"; 78 - type Output = GetPostThreadV2Output<'de>; 79 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 80 } 81 82 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetPostThreadV2<'de> { 83 const NSID: &'static str = "app.bsky.unspecced.getPostThreadV2"; 84 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 85 - jacquard_common::types::xrpc::XrpcMethod::Query; 86 - type Response<'de1> = GetPostThreadV2Response; 87 } 88 89 #[jacquard_derive::lexicon] ··· 131 ThreadItemRecordValue::DefsThreadItemBlocked(v) => { 132 ThreadItemRecordValue::DefsThreadItemBlocked(v.into_static()) 133 } 134 - ThreadItemRecordValue::Unknown(v) => ThreadItemRecordValue::Unknown(v.into_static()), 135 } 136 } 137 } ··· 146 extra_data: self.extra_data.into_static(), 147 } 148 } 149 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetPostThreadV2<'a> { ··· 81 ///Response type for 82 ///app.bsky.unspecced.getPostThreadV2 83 pub struct GetPostThreadV2Response; 84 + impl jacquard_common::xrpc::XrpcResp for GetPostThreadV2Response { 85 + const NSID: &'static str = "app.bsky.unspecced.getPostThreadV2"; 86 const ENCODING: &'static str = "application/json"; 87 + type Output<'de> = GetPostThreadV2Output<'de>; 88 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 89 } 90 91 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetPostThreadV2<'de> { 92 const NSID: &'static str = "app.bsky.unspecced.getPostThreadV2"; 93 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 94 + type Response = GetPostThreadV2Response; 95 } 96 97 #[jacquard_derive::lexicon] ··· 139 ThreadItemRecordValue::DefsThreadItemBlocked(v) => { 140 ThreadItemRecordValue::DefsThreadItemBlocked(v.into_static()) 141 } 142 + ThreadItemRecordValue::Unknown(v) => { 143 + ThreadItemRecordValue::Unknown(v.into_static()) 144 + } 145 } 146 } 147 } ··· 156 extra_data: self.extra_data.into_static(), 157 } 158 } 159 + }
+17 -9
crates/jacquard-api/src/app_bsky/unspecced/get_suggested_feeds.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetSuggestedFeeds { ··· 42 ///Response type for 43 ///app.bsky.unspecced.getSuggestedFeeds 44 pub struct GetSuggestedFeedsResponse; 45 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetSuggestedFeedsResponse { 46 const ENCODING: &'static str = "application/json"; 47 - type Output = GetSuggestedFeedsOutput<'de>; 48 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 49 } 50 51 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSuggestedFeeds { 52 const NSID: &'static str = "app.bsky.unspecced.getSuggestedFeeds"; 53 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 54 - jacquard_common::types::xrpc::XrpcMethod::Query; 55 - type Response<'de1> = GetSuggestedFeedsResponse; 56 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetSuggestedFeeds { ··· 50 ///Response type for 51 ///app.bsky.unspecced.getSuggestedFeeds 52 pub struct GetSuggestedFeedsResponse; 53 + impl jacquard_common::xrpc::XrpcResp for GetSuggestedFeedsResponse { 54 + const NSID: &'static str = "app.bsky.unspecced.getSuggestedFeeds"; 55 const ENCODING: &'static str = "application/json"; 56 + type Output<'de> = GetSuggestedFeedsOutput<'de>; 57 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 58 } 59 60 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetSuggestedFeeds { 61 const NSID: &'static str = "app.bsky.unspecced.getSuggestedFeeds"; 62 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 63 + type Response = GetSuggestedFeedsResponse; 64 + }
+17 -9
crates/jacquard-api/src/app_bsky/unspecced/get_suggested_feeds_skeleton.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetSuggestedFeedsSkeleton<'a> { ··· 48 ///Response type for 49 ///app.bsky.unspecced.getSuggestedFeedsSkeleton 50 pub struct GetSuggestedFeedsSkeletonResponse; 51 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetSuggestedFeedsSkeletonResponse { 52 const ENCODING: &'static str = "application/json"; 53 - type Output = GetSuggestedFeedsSkeletonOutput<'de>; 54 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 55 } 56 57 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSuggestedFeedsSkeleton<'de> { 58 const NSID: &'static str = "app.bsky.unspecced.getSuggestedFeedsSkeleton"; 59 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 60 - jacquard_common::types::xrpc::XrpcMethod::Query; 61 - type Response<'de1> = GetSuggestedFeedsSkeletonResponse; 62 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetSuggestedFeedsSkeleton<'a> { ··· 56 ///Response type for 57 ///app.bsky.unspecced.getSuggestedFeedsSkeleton 58 pub struct GetSuggestedFeedsSkeletonResponse; 59 + impl jacquard_common::xrpc::XrpcResp for GetSuggestedFeedsSkeletonResponse { 60 + const NSID: &'static str = "app.bsky.unspecced.getSuggestedFeedsSkeleton"; 61 const ENCODING: &'static str = "application/json"; 62 + type Output<'de> = GetSuggestedFeedsSkeletonOutput<'de>; 63 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 64 } 65 66 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetSuggestedFeedsSkeleton<'de> { 67 const NSID: &'static str = "app.bsky.unspecced.getSuggestedFeedsSkeleton"; 68 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 69 + type Response = GetSuggestedFeedsSkeletonResponse; 70 + }
+17 -9
crates/jacquard-api/src/app_bsky/unspecced/get_suggested_starter_packs.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetSuggestedStarterPacks { ··· 42 ///Response type for 43 ///app.bsky.unspecced.getSuggestedStarterPacks 44 pub struct GetSuggestedStarterPacksResponse; 45 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetSuggestedStarterPacksResponse { 46 const ENCODING: &'static str = "application/json"; 47 - type Output = GetSuggestedStarterPacksOutput<'de>; 48 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 49 } 50 51 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSuggestedStarterPacks { 52 const NSID: &'static str = "app.bsky.unspecced.getSuggestedStarterPacks"; 53 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 54 - jacquard_common::types::xrpc::XrpcMethod::Query; 55 - type Response<'de1> = GetSuggestedStarterPacksResponse; 56 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetSuggestedStarterPacks { ··· 50 ///Response type for 51 ///app.bsky.unspecced.getSuggestedStarterPacks 52 pub struct GetSuggestedStarterPacksResponse; 53 + impl jacquard_common::xrpc::XrpcResp for GetSuggestedStarterPacksResponse { 54 + const NSID: &'static str = "app.bsky.unspecced.getSuggestedStarterPacks"; 55 const ENCODING: &'static str = "application/json"; 56 + type Output<'de> = GetSuggestedStarterPacksOutput<'de>; 57 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 58 } 59 60 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetSuggestedStarterPacks { 61 const NSID: &'static str = "app.bsky.unspecced.getSuggestedStarterPacks"; 62 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 63 + type Response = GetSuggestedStarterPacksResponse; 64 + }
+18 -9
crates/jacquard-api/src/app_bsky/unspecced/get_suggested_starter_packs_skeleton.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetSuggestedStarterPacksSkeleton<'a> { ··· 48 ///Response type for 49 ///app.bsky.unspecced.getSuggestedStarterPacksSkeleton 50 pub struct GetSuggestedStarterPacksSkeletonResponse; 51 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetSuggestedStarterPacksSkeletonResponse { 52 const ENCODING: &'static str = "application/json"; 53 - type Output = GetSuggestedStarterPacksSkeletonOutput<'de>; 54 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 55 } 56 57 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSuggestedStarterPacksSkeleton<'de> { 58 const NSID: &'static str = "app.bsky.unspecced.getSuggestedStarterPacksSkeleton"; 59 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 60 - jacquard_common::types::xrpc::XrpcMethod::Query; 61 - type Response<'de1> = GetSuggestedStarterPacksSkeletonResponse; 62 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetSuggestedStarterPacksSkeleton<'a> { ··· 56 ///Response type for 57 ///app.bsky.unspecced.getSuggestedStarterPacksSkeleton 58 pub struct GetSuggestedStarterPacksSkeletonResponse; 59 + impl jacquard_common::xrpc::XrpcResp for GetSuggestedStarterPacksSkeletonResponse { 60 + const NSID: &'static str = "app.bsky.unspecced.getSuggestedStarterPacksSkeleton"; 61 const ENCODING: &'static str = "application/json"; 62 + type Output<'de> = GetSuggestedStarterPacksSkeletonOutput<'de>; 63 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 64 } 65 66 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> 67 + for GetSuggestedStarterPacksSkeleton<'de> { 68 const NSID: &'static str = "app.bsky.unspecced.getSuggestedStarterPacksSkeleton"; 69 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 70 + type Response = GetSuggestedStarterPacksSkeletonResponse; 71 + }
+17 -9
crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetSuggestedUsers<'a> { ··· 49 ///Response type for 50 ///app.bsky.unspecced.getSuggestedUsers 51 pub struct GetSuggestedUsersResponse; 52 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetSuggestedUsersResponse { 53 const ENCODING: &'static str = "application/json"; 54 - type Output = GetSuggestedUsersOutput<'de>; 55 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 56 } 57 58 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSuggestedUsers<'de> { 59 const NSID: &'static str = "app.bsky.unspecced.getSuggestedUsers"; 60 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 61 - jacquard_common::types::xrpc::XrpcMethod::Query; 62 - type Response<'de1> = GetSuggestedUsersResponse; 63 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetSuggestedUsers<'a> { ··· 57 ///Response type for 58 ///app.bsky.unspecced.getSuggestedUsers 59 pub struct GetSuggestedUsersResponse; 60 + impl jacquard_common::xrpc::XrpcResp for GetSuggestedUsersResponse { 61 + const NSID: &'static str = "app.bsky.unspecced.getSuggestedUsers"; 62 const ENCODING: &'static str = "application/json"; 63 + type Output<'de> = GetSuggestedUsersOutput<'de>; 64 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 65 } 66 67 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetSuggestedUsers<'de> { 68 const NSID: &'static str = "app.bsky.unspecced.getSuggestedUsers"; 69 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 70 + type Response = GetSuggestedUsersResponse; 71 + }
+17 -9
crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_skeleton.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetSuggestedUsersSkeleton<'a> { ··· 53 ///Response type for 54 ///app.bsky.unspecced.getSuggestedUsersSkeleton 55 pub struct GetSuggestedUsersSkeletonResponse; 56 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetSuggestedUsersSkeletonResponse { 57 const ENCODING: &'static str = "application/json"; 58 - type Output = GetSuggestedUsersSkeletonOutput<'de>; 59 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 60 } 61 62 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSuggestedUsersSkeleton<'de> { 63 const NSID: &'static str = "app.bsky.unspecced.getSuggestedUsersSkeleton"; 64 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 65 - jacquard_common::types::xrpc::XrpcMethod::Query; 66 - type Response<'de1> = GetSuggestedUsersSkeletonResponse; 67 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetSuggestedUsersSkeleton<'a> { ··· 61 ///Response type for 62 ///app.bsky.unspecced.getSuggestedUsersSkeleton 63 pub struct GetSuggestedUsersSkeletonResponse; 64 + impl jacquard_common::xrpc::XrpcResp for GetSuggestedUsersSkeletonResponse { 65 + const NSID: &'static str = "app.bsky.unspecced.getSuggestedUsersSkeleton"; 66 const ENCODING: &'static str = "application/json"; 67 + type Output<'de> = GetSuggestedUsersSkeletonOutput<'de>; 68 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 69 } 70 71 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetSuggestedUsersSkeleton<'de> { 72 const NSID: &'static str = "app.bsky.unspecced.getSuggestedUsersSkeleton"; 73 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 74 + type Response = GetSuggestedUsersSkeletonResponse; 75 + }
+17 -9
crates/jacquard-api/src/app_bsky/unspecced/get_suggestions_skeleton.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetSuggestionsSkeleton<'a> { ··· 70 ///Response type for 71 ///app.bsky.unspecced.getSuggestionsSkeleton 72 pub struct GetSuggestionsSkeletonResponse; 73 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetSuggestionsSkeletonResponse { 74 const ENCODING: &'static str = "application/json"; 75 - type Output = GetSuggestionsSkeletonOutput<'de>; 76 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 77 } 78 79 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSuggestionsSkeleton<'de> { 80 const NSID: &'static str = "app.bsky.unspecced.getSuggestionsSkeleton"; 81 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 82 - jacquard_common::types::xrpc::XrpcMethod::Query; 83 - type Response<'de1> = GetSuggestionsSkeletonResponse; 84 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetSuggestionsSkeleton<'a> { ··· 78 ///Response type for 79 ///app.bsky.unspecced.getSuggestionsSkeleton 80 pub struct GetSuggestionsSkeletonResponse; 81 + impl jacquard_common::xrpc::XrpcResp for GetSuggestionsSkeletonResponse { 82 + const NSID: &'static str = "app.bsky.unspecced.getSuggestionsSkeleton"; 83 const ENCODING: &'static str = "application/json"; 84 + type Output<'de> = GetSuggestionsSkeletonOutput<'de>; 85 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 86 } 87 88 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetSuggestionsSkeleton<'de> { 89 const NSID: &'static str = "app.bsky.unspecced.getSuggestionsSkeleton"; 90 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 91 + type Response = GetSuggestionsSkeletonResponse; 92 + }
+17 -9
crates/jacquard-api/src/app_bsky/unspecced/get_tagged_suggestions.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetTaggedSuggestions {} ··· 37 ///Response type for 38 ///app.bsky.unspecced.getTaggedSuggestions 39 pub struct GetTaggedSuggestionsResponse; 40 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetTaggedSuggestionsResponse { 41 const ENCODING: &'static str = "application/json"; 42 - type Output = GetTaggedSuggestionsOutput<'de>; 43 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 44 } 45 46 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetTaggedSuggestions { 47 const NSID: &'static str = "app.bsky.unspecced.getTaggedSuggestions"; 48 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 49 - jacquard_common::types::xrpc::XrpcMethod::Query; 50 - type Response<'de1> = GetTaggedSuggestionsResponse; 51 } 52 53 #[jacquard_derive::lexicon] ··· 72 extra_data: self.extra_data.into_static(), 73 } 74 } 75 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetTaggedSuggestions {} ··· 45 ///Response type for 46 ///app.bsky.unspecced.getTaggedSuggestions 47 pub struct GetTaggedSuggestionsResponse; 48 + impl jacquard_common::xrpc::XrpcResp for GetTaggedSuggestionsResponse { 49 + const NSID: &'static str = "app.bsky.unspecced.getTaggedSuggestions"; 50 const ENCODING: &'static str = "application/json"; 51 + type Output<'de> = GetTaggedSuggestionsOutput<'de>; 52 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 53 } 54 55 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetTaggedSuggestions { 56 const NSID: &'static str = "app.bsky.unspecced.getTaggedSuggestions"; 57 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 58 + type Response = GetTaggedSuggestionsResponse; 59 } 60 61 #[jacquard_derive::lexicon] ··· 80 extra_data: self.extra_data.into_static(), 81 } 82 } 83 + }
+17 -9
crates/jacquard-api/src/app_bsky/unspecced/get_trends.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetTrends { ··· 42 ///Response type for 43 ///app.bsky.unspecced.getTrends 44 pub struct GetTrendsResponse; 45 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetTrendsResponse { 46 const ENCODING: &'static str = "application/json"; 47 - type Output = GetTrendsOutput<'de>; 48 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 49 } 50 51 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetTrends { 52 const NSID: &'static str = "app.bsky.unspecced.getTrends"; 53 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 54 - jacquard_common::types::xrpc::XrpcMethod::Query; 55 - type Response<'de1> = GetTrendsResponse; 56 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetTrends { ··· 50 ///Response type for 51 ///app.bsky.unspecced.getTrends 52 pub struct GetTrendsResponse; 53 + impl jacquard_common::xrpc::XrpcResp for GetTrendsResponse { 54 + const NSID: &'static str = "app.bsky.unspecced.getTrends"; 55 const ENCODING: &'static str = "application/json"; 56 + type Output<'de> = GetTrendsOutput<'de>; 57 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 58 } 59 60 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetTrends { 61 const NSID: &'static str = "app.bsky.unspecced.getTrends"; 62 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 63 + type Response = GetTrendsResponse; 64 + }
+23 -11
crates/jacquard-api/src/app_bsky/unspecced/init_age_assurance.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct InitAgeAssurance<'a> { ··· 71 PartialEq, 72 Eq, 73 thiserror::Error, 74 - miette::Diagnostic, 75 )] 76 #[serde(tag = "error", content = "message")] 77 #[serde(bound(deserialize = "'de: 'a"))] ··· 126 InitAgeAssuranceError::InvalidInitiation(v) => { 127 InitAgeAssuranceError::InvalidInitiation(v.into_static()) 128 } 129 - InitAgeAssuranceError::Unknown(v) => InitAgeAssuranceError::Unknown(v.into_static()), 130 } 131 } 132 } ··· 134 ///Response type for 135 ///app.bsky.unspecced.initAgeAssurance 136 pub struct InitAgeAssuranceResponse; 137 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for InitAgeAssuranceResponse { 138 const ENCODING: &'static str = "application/json"; 139 - type Output = InitAgeAssuranceOutput<'de>; 140 - type Err = InitAgeAssuranceError<'de>; 141 } 142 143 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for InitAgeAssurance<'de> { 144 const NSID: &'static str = "app.bsky.unspecced.initAgeAssurance"; 145 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 146 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 147 - type Response<'de1> = InitAgeAssuranceResponse; 148 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct InitAgeAssurance<'a> { ··· 79 PartialEq, 80 Eq, 81 thiserror::Error, 82 + miette::Diagnostic 83 )] 84 #[serde(tag = "error", content = "message")] 85 #[serde(bound(deserialize = "'de: 'a"))] ··· 134 InitAgeAssuranceError::InvalidInitiation(v) => { 135 InitAgeAssuranceError::InvalidInitiation(v.into_static()) 136 } 137 + InitAgeAssuranceError::Unknown(v) => { 138 + InitAgeAssuranceError::Unknown(v.into_static()) 139 + } 140 } 141 } 142 } ··· 144 ///Response type for 145 ///app.bsky.unspecced.initAgeAssurance 146 pub struct InitAgeAssuranceResponse; 147 + impl jacquard_common::xrpc::XrpcResp for InitAgeAssuranceResponse { 148 + const NSID: &'static str = "app.bsky.unspecced.initAgeAssurance"; 149 const ENCODING: &'static str = "application/json"; 150 + type Output<'de> = InitAgeAssuranceOutput<'de>; 151 + type Err<'de> = InitAgeAssuranceError<'de>; 152 } 153 154 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for InitAgeAssurance<'de> { 155 const NSID: &'static str = "app.bsky.unspecced.initAgeAssurance"; 156 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 157 + "application/json", 158 + ); 159 + type Response = InitAgeAssuranceResponse; 160 + }
+18 -10
crates/jacquard-api/src/app_bsky/unspecced/search_actors_skeleton.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct SearchActorsSkeleton<'a> { ··· 74 PartialEq, 75 Eq, 76 thiserror::Error, 77 - miette::Diagnostic, 78 )] 79 #[serde(tag = "error", content = "message")] 80 #[serde(bound(deserialize = "'de: 'a"))] ··· 115 ///Response type for 116 ///app.bsky.unspecced.searchActorsSkeleton 117 pub struct SearchActorsSkeletonResponse; 118 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for SearchActorsSkeletonResponse { 119 const ENCODING: &'static str = "application/json"; 120 - type Output = SearchActorsSkeletonOutput<'de>; 121 - type Err = SearchActorsSkeletonError<'de>; 122 } 123 124 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchActorsSkeleton<'de> { 125 const NSID: &'static str = "app.bsky.unspecced.searchActorsSkeleton"; 126 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 127 - jacquard_common::types::xrpc::XrpcMethod::Query; 128 - type Response<'de1> = SearchActorsSkeletonResponse; 129 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct SearchActorsSkeleton<'a> { ··· 82 PartialEq, 83 Eq, 84 thiserror::Error, 85 + miette::Diagnostic 86 )] 87 #[serde(tag = "error", content = "message")] 88 #[serde(bound(deserialize = "'de: 'a"))] ··· 123 ///Response type for 124 ///app.bsky.unspecced.searchActorsSkeleton 125 pub struct SearchActorsSkeletonResponse; 126 + impl jacquard_common::xrpc::XrpcResp for SearchActorsSkeletonResponse { 127 + const NSID: &'static str = "app.bsky.unspecced.searchActorsSkeleton"; 128 const ENCODING: &'static str = "application/json"; 129 + type Output<'de> = SearchActorsSkeletonOutput<'de>; 130 + type Err<'de> = SearchActorsSkeletonError<'de>; 131 } 132 133 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for SearchActorsSkeleton<'de> { 134 const NSID: &'static str = "app.bsky.unspecced.searchActorsSkeleton"; 135 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 136 + type Response = SearchActorsSkeletonResponse; 137 + }
+18 -10
crates/jacquard-api/src/app_bsky/unspecced/search_posts_skeleton.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct SearchPostsSkeleton<'a> { ··· 111 PartialEq, 112 Eq, 113 thiserror::Error, 114 - miette::Diagnostic, 115 )] 116 #[serde(tag = "error", content = "message")] 117 #[serde(bound(deserialize = "'de: 'a"))] ··· 152 ///Response type for 153 ///app.bsky.unspecced.searchPostsSkeleton 154 pub struct SearchPostsSkeletonResponse; 155 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for SearchPostsSkeletonResponse { 156 const ENCODING: &'static str = "application/json"; 157 - type Output = SearchPostsSkeletonOutput<'de>; 158 - type Err = SearchPostsSkeletonError<'de>; 159 } 160 161 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchPostsSkeleton<'de> { 162 const NSID: &'static str = "app.bsky.unspecced.searchPostsSkeleton"; 163 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 164 - jacquard_common::types::xrpc::XrpcMethod::Query; 165 - type Response<'de1> = SearchPostsSkeletonResponse; 166 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct SearchPostsSkeleton<'a> { ··· 119 PartialEq, 120 Eq, 121 thiserror::Error, 122 + miette::Diagnostic 123 )] 124 #[serde(tag = "error", content = "message")] 125 #[serde(bound(deserialize = "'de: 'a"))] ··· 160 ///Response type for 161 ///app.bsky.unspecced.searchPostsSkeleton 162 pub struct SearchPostsSkeletonResponse; 163 + impl jacquard_common::xrpc::XrpcResp for SearchPostsSkeletonResponse { 164 + const NSID: &'static str = "app.bsky.unspecced.searchPostsSkeleton"; 165 const ENCODING: &'static str = "application/json"; 166 + type Output<'de> = SearchPostsSkeletonOutput<'de>; 167 + type Err<'de> = SearchPostsSkeletonError<'de>; 168 } 169 170 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for SearchPostsSkeleton<'de> { 171 const NSID: &'static str = "app.bsky.unspecced.searchPostsSkeleton"; 172 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 173 + type Response = SearchPostsSkeletonResponse; 174 + }
+18 -10
crates/jacquard-api/src/app_bsky/unspecced/search_starter_packs_skeleton.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct SearchStarterPacksSkeleton<'a> { ··· 71 PartialEq, 72 Eq, 73 thiserror::Error, 74 - miette::Diagnostic, 75 )] 76 #[serde(tag = "error", content = "message")] 77 #[serde(bound(deserialize = "'de: 'a"))] ··· 112 ///Response type for 113 ///app.bsky.unspecced.searchStarterPacksSkeleton 114 pub struct SearchStarterPacksSkeletonResponse; 115 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for SearchStarterPacksSkeletonResponse { 116 const ENCODING: &'static str = "application/json"; 117 - type Output = SearchStarterPacksSkeletonOutput<'de>; 118 - type Err = SearchStarterPacksSkeletonError<'de>; 119 } 120 121 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchStarterPacksSkeleton<'de> { 122 const NSID: &'static str = "app.bsky.unspecced.searchStarterPacksSkeleton"; 123 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 124 - jacquard_common::types::xrpc::XrpcMethod::Query; 125 - type Response<'de1> = SearchStarterPacksSkeletonResponse; 126 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct SearchStarterPacksSkeleton<'a> { ··· 79 PartialEq, 80 Eq, 81 thiserror::Error, 82 + miette::Diagnostic 83 )] 84 #[serde(tag = "error", content = "message")] 85 #[serde(bound(deserialize = "'de: 'a"))] ··· 120 ///Response type for 121 ///app.bsky.unspecced.searchStarterPacksSkeleton 122 pub struct SearchStarterPacksSkeletonResponse; 123 + impl jacquard_common::xrpc::XrpcResp for SearchStarterPacksSkeletonResponse { 124 + const NSID: &'static str = "app.bsky.unspecced.searchStarterPacksSkeleton"; 125 const ENCODING: &'static str = "application/json"; 126 + type Output<'de> = SearchStarterPacksSkeletonOutput<'de>; 127 + type Err<'de> = SearchStarterPacksSkeletonError<'de>; 128 } 129 130 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for SearchStarterPacksSkeleton<'de> { 131 const NSID: &'static str = "app.bsky.unspecced.searchStarterPacksSkeleton"; 132 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 133 + type Response = SearchStarterPacksSkeletonResponse; 134 + }
+17 -9
crates/jacquard-api/src/app_bsky/video/get_job_status.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetJobStatus<'a> { ··· 44 ///Response type for 45 ///app.bsky.video.getJobStatus 46 pub struct GetJobStatusResponse; 47 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetJobStatusResponse { 48 const ENCODING: &'static str = "application/json"; 49 - type Output = GetJobStatusOutput<'de>; 50 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 51 } 52 53 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetJobStatus<'de> { 54 const NSID: &'static str = "app.bsky.video.getJobStatus"; 55 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 56 - jacquard_common::types::xrpc::XrpcMethod::Query; 57 - type Response<'de1> = GetJobStatusResponse; 58 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetJobStatus<'a> { ··· 52 ///Response type for 53 ///app.bsky.video.getJobStatus 54 pub struct GetJobStatusResponse; 55 + impl jacquard_common::xrpc::XrpcResp for GetJobStatusResponse { 56 + const NSID: &'static str = "app.bsky.video.getJobStatus"; 57 const ENCODING: &'static str = "application/json"; 58 + type Output<'de> = GetJobStatusOutput<'de>; 59 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 60 } 61 62 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetJobStatus<'de> { 63 const NSID: &'static str = "app.bsky.video.getJobStatus"; 64 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 65 + type Response = GetJobStatusResponse; 66 + }
+8 -8
crates/jacquard-api/src/app_bsky/video/get_upload_limits.rs
··· 42 ///Response type for 43 ///app.bsky.video.getUploadLimits 44 pub struct GetUploadLimitsResponse; 45 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetUploadLimitsResponse { 46 const ENCODING: &'static str = "application/json"; 47 - type Output = GetUploadLimitsOutput<'de>; 48 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 49 } 50 51 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetUploadLimits { 52 const NSID: &'static str = "app.bsky.video.getUploadLimits"; 53 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 54 - jacquard_common::types::xrpc::XrpcMethod::Query; 55 - type Response<'de1> = GetUploadLimitsResponse; 56 - }
··· 42 ///Response type for 43 ///app.bsky.video.getUploadLimits 44 pub struct GetUploadLimitsResponse; 45 + impl jacquard_common::xrpc::XrpcResp for GetUploadLimitsResponse { 46 + const NSID: &'static str = "app.bsky.video.getUploadLimits"; 47 const ENCODING: &'static str = "application/json"; 48 + type Output<'de> = GetUploadLimitsOutput<'de>; 49 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 50 } 51 52 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetUploadLimits { 53 const NSID: &'static str = "app.bsky.video.getUploadLimits"; 54 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 55 + type Response = GetUploadLimitsResponse; 56 + }
+28 -14
crates/jacquard-api/src/app_bsky/video/upload_video.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct UploadVideo { ··· 40 ///Response type for 41 ///app.bsky.video.uploadVideo 42 pub struct UploadVideoResponse; 43 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UploadVideoResponse { 44 const ENCODING: &'static str = "application/json"; 45 - type Output = UploadVideoOutput<'de>; 46 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 47 } 48 49 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UploadVideo { 50 const NSID: &'static str = "app.bsky.video.uploadVideo"; 51 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 52 - jacquard_common::types::xrpc::XrpcMethod::Procedure("video/mp4"); 53 - type Response<'de1> = UploadVideoResponse; 54 - fn encode_body(&self) -> Result<Vec<u8>, jacquard_common::types::xrpc::EncodeError> { 55 Ok(self.body.to_vec()) 56 } 57 - fn decode_body(body: &'de [u8]) -> Result<Box<Self>, jacquard_common::error::DecodeError> { 58 - Ok(Box::new(Self { 59 - body: bytes::Bytes::copy_from_slice(body), 60 - })) 61 } 62 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct UploadVideo { ··· 48 ///Response type for 49 ///app.bsky.video.uploadVideo 50 pub struct UploadVideoResponse; 51 + impl jacquard_common::xrpc::XrpcResp for UploadVideoResponse { 52 + const NSID: &'static str = "app.bsky.video.uploadVideo"; 53 const ENCODING: &'static str = "application/json"; 54 + type Output<'de> = UploadVideoOutput<'de>; 55 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 56 } 57 58 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UploadVideo { 59 const NSID: &'static str = "app.bsky.video.uploadVideo"; 60 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 61 + "video/mp4", 62 + ); 63 + type Response = UploadVideoResponse; 64 + fn encode_body(&self) -> Result<Vec<u8>, jacquard_common::xrpc::EncodeError> { 65 Ok(self.body.to_vec()) 66 } 67 + fn decode_body( 68 + body: &'de [u8], 69 + ) -> Result<Box<Self>, jacquard_common::error::DecodeError> { 70 + Ok( 71 + Box::new(Self { 72 + body: bytes::Bytes::copy_from_slice(body), 73 + }), 74 + ) 75 } 76 + }
+10 -8
crates/jacquard-api/src/chat_bsky/actor/delete_account.rs
··· 24 ///Response type for 25 ///chat.bsky.actor.deleteAccount 26 pub struct DeleteAccountResponse; 27 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for DeleteAccountResponse { 28 const ENCODING: &'static str = "application/json"; 29 - type Output = DeleteAccountOutput<'de>; 30 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 31 } 32 33 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteAccount { 34 const NSID: &'static str = "chat.bsky.actor.deleteAccount"; 35 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 36 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 37 - type Response<'de1> = DeleteAccountResponse; 38 - }
··· 24 ///Response type for 25 ///chat.bsky.actor.deleteAccount 26 pub struct DeleteAccountResponse; 27 + impl jacquard_common::xrpc::XrpcResp for DeleteAccountResponse { 28 + const NSID: &'static str = "chat.bsky.actor.deleteAccount"; 29 const ENCODING: &'static str = "application/json"; 30 + type Output<'de> = DeleteAccountOutput<'de>; 31 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 32 } 33 34 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for DeleteAccount { 35 const NSID: &'static str = "chat.bsky.actor.deleteAccount"; 36 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 37 + "application/json", 38 + ); 39 + type Response = DeleteAccountResponse; 40 + }
+8 -8
crates/jacquard-api/src/chat_bsky/actor/export_account_data.rs
··· 24 ///Response type for 25 ///chat.bsky.actor.exportAccountData 26 pub struct ExportAccountDataResponse; 27 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ExportAccountDataResponse { 28 const ENCODING: &'static str = "application/jsonl"; 29 - type Output = ExportAccountDataOutput<'de>; 30 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 31 } 32 33 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ExportAccountData { 34 const NSID: &'static str = "chat.bsky.actor.exportAccountData"; 35 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 36 - jacquard_common::types::xrpc::XrpcMethod::Query; 37 - type Response<'de1> = ExportAccountDataResponse; 38 - }
··· 24 ///Response type for 25 ///chat.bsky.actor.exportAccountData 26 pub struct ExportAccountDataResponse; 27 + impl jacquard_common::xrpc::XrpcResp for ExportAccountDataResponse { 28 + const NSID: &'static str = "chat.bsky.actor.exportAccountData"; 29 const ENCODING: &'static str = "application/jsonl"; 30 + type Output<'de> = ExportAccountDataOutput<'de>; 31 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 32 } 33 34 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ExportAccountData { 35 const NSID: &'static str = "chat.bsky.actor.exportAccountData"; 36 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 37 + type Response = ExportAccountDataResponse; 38 + }
+19 -9
crates/jacquard-api/src/chat_bsky/convo/accept_convo.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct AcceptConvo<'a> { ··· 55 ///Response type for 56 ///chat.bsky.convo.acceptConvo 57 pub struct AcceptConvoResponse; 58 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for AcceptConvoResponse { 59 const ENCODING: &'static str = "application/json"; 60 - type Output = AcceptConvoOutput<'de>; 61 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 62 } 63 64 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for AcceptConvo<'de> { 65 const NSID: &'static str = "chat.bsky.convo.acceptConvo"; 66 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 67 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 68 - type Response<'de1> = AcceptConvoResponse; 69 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct AcceptConvo<'a> { ··· 63 ///Response type for 64 ///chat.bsky.convo.acceptConvo 65 pub struct AcceptConvoResponse; 66 + impl jacquard_common::xrpc::XrpcResp for AcceptConvoResponse { 67 + const NSID: &'static str = "chat.bsky.convo.acceptConvo"; 68 const ENCODING: &'static str = "application/json"; 69 + type Output<'de> = AcceptConvoOutput<'de>; 70 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 71 } 72 73 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for AcceptConvo<'de> { 74 const NSID: &'static str = "chat.bsky.convo.acceptConvo"; 75 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 76 + "application/json", 77 + ); 78 + type Response = AcceptConvoResponse; 79 + }
+20 -10
crates/jacquard-api/src/chat_bsky/convo/add_reaction.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct AddReaction<'a> { ··· 67 PartialEq, 68 Eq, 69 thiserror::Error, 70 - miette::Diagnostic, 71 )] 72 #[serde(tag = "error", content = "message")] 73 #[serde(bound(deserialize = "'de: 'a"))] ··· 133 ///Response type for 134 ///chat.bsky.convo.addReaction 135 pub struct AddReactionResponse; 136 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for AddReactionResponse { 137 const ENCODING: &'static str = "application/json"; 138 - type Output = AddReactionOutput<'de>; 139 - type Err = AddReactionError<'de>; 140 } 141 142 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for AddReaction<'de> { 143 const NSID: &'static str = "chat.bsky.convo.addReaction"; 144 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 145 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 146 - type Response<'de1> = AddReactionResponse; 147 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct AddReaction<'a> { ··· 75 PartialEq, 76 Eq, 77 thiserror::Error, 78 + miette::Diagnostic 79 )] 80 #[serde(tag = "error", content = "message")] 81 #[serde(bound(deserialize = "'de: 'a"))] ··· 141 ///Response type for 142 ///chat.bsky.convo.addReaction 143 pub struct AddReactionResponse; 144 + impl jacquard_common::xrpc::XrpcResp for AddReactionResponse { 145 + const NSID: &'static str = "chat.bsky.convo.addReaction"; 146 const ENCODING: &'static str = "application/json"; 147 + type Output<'de> = AddReactionOutput<'de>; 148 + type Err<'de> = AddReactionError<'de>; 149 } 150 151 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for AddReaction<'de> { 152 const NSID: &'static str = "chat.bsky.convo.addReaction"; 153 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 154 + "application/json", 155 + ); 156 + type Response = AddReactionResponse; 157 + }
+19 -9
crates/jacquard-api/src/chat_bsky/convo/delete_message_for_self.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct DeleteMessageForSelf<'a> { ··· 58 ///Response type for 59 ///chat.bsky.convo.deleteMessageForSelf 60 pub struct DeleteMessageForSelfResponse; 61 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for DeleteMessageForSelfResponse { 62 const ENCODING: &'static str = "application/json"; 63 - type Output = DeleteMessageForSelfOutput<'de>; 64 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 65 } 66 67 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteMessageForSelf<'de> { 68 const NSID: &'static str = "chat.bsky.convo.deleteMessageForSelf"; 69 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 70 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 71 - type Response<'de1> = DeleteMessageForSelfResponse; 72 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct DeleteMessageForSelf<'a> { ··· 66 ///Response type for 67 ///chat.bsky.convo.deleteMessageForSelf 68 pub struct DeleteMessageForSelfResponse; 69 + impl jacquard_common::xrpc::XrpcResp for DeleteMessageForSelfResponse { 70 + const NSID: &'static str = "chat.bsky.convo.deleteMessageForSelf"; 71 const ENCODING: &'static str = "application/json"; 72 + type Output<'de> = DeleteMessageForSelfOutput<'de>; 73 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 74 } 75 76 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for DeleteMessageForSelf<'de> { 77 const NSID: &'static str = "chat.bsky.convo.deleteMessageForSelf"; 78 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 79 + "application/json", 80 + ); 81 + type Response = DeleteMessageForSelfResponse; 82 + }
+17 -9
crates/jacquard-api/src/chat_bsky/convo/get_convo.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetConvo<'a> { ··· 44 ///Response type for 45 ///chat.bsky.convo.getConvo 46 pub struct GetConvoResponse; 47 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetConvoResponse { 48 const ENCODING: &'static str = "application/json"; 49 - type Output = GetConvoOutput<'de>; 50 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 51 } 52 53 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetConvo<'de> { 54 const NSID: &'static str = "chat.bsky.convo.getConvo"; 55 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 56 - jacquard_common::types::xrpc::XrpcMethod::Query; 57 - type Response<'de1> = GetConvoResponse; 58 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetConvo<'a> { ··· 52 ///Response type for 53 ///chat.bsky.convo.getConvo 54 pub struct GetConvoResponse; 55 + impl jacquard_common::xrpc::XrpcResp for GetConvoResponse { 56 + const NSID: &'static str = "chat.bsky.convo.getConvo"; 57 const ENCODING: &'static str = "application/json"; 58 + type Output<'de> = GetConvoOutput<'de>; 59 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 60 } 61 62 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetConvo<'de> { 63 const NSID: &'static str = "chat.bsky.convo.getConvo"; 64 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 65 + type Response = GetConvoResponse; 66 + }
+17 -9
crates/jacquard-api/src/chat_bsky/convo/get_convo_availability.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetConvoAvailability<'a> { ··· 46 ///Response type for 47 ///chat.bsky.convo.getConvoAvailability 48 pub struct GetConvoAvailabilityResponse; 49 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetConvoAvailabilityResponse { 50 const ENCODING: &'static str = "application/json"; 51 - type Output = GetConvoAvailabilityOutput<'de>; 52 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 53 } 54 55 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetConvoAvailability<'de> { 56 const NSID: &'static str = "chat.bsky.convo.getConvoAvailability"; 57 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 58 - jacquard_common::types::xrpc::XrpcMethod::Query; 59 - type Response<'de1> = GetConvoAvailabilityResponse; 60 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetConvoAvailability<'a> { ··· 54 ///Response type for 55 ///chat.bsky.convo.getConvoAvailability 56 pub struct GetConvoAvailabilityResponse; 57 + impl jacquard_common::xrpc::XrpcResp for GetConvoAvailabilityResponse { 58 + const NSID: &'static str = "chat.bsky.convo.getConvoAvailability"; 59 const ENCODING: &'static str = "application/json"; 60 + type Output<'de> = GetConvoAvailabilityOutput<'de>; 61 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 62 } 63 64 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetConvoAvailability<'de> { 65 const NSID: &'static str = "chat.bsky.convo.getConvoAvailability"; 66 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 67 + type Response = GetConvoAvailabilityResponse; 68 + }
+17 -9
crates/jacquard-api/src/chat_bsky/convo/get_convo_for_members.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetConvoForMembers<'a> { ··· 43 ///Response type for 44 ///chat.bsky.convo.getConvoForMembers 45 pub struct GetConvoForMembersResponse; 46 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetConvoForMembersResponse { 47 const ENCODING: &'static str = "application/json"; 48 - type Output = GetConvoForMembersOutput<'de>; 49 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 50 } 51 52 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetConvoForMembers<'de> { 53 const NSID: &'static str = "chat.bsky.convo.getConvoForMembers"; 54 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 55 - jacquard_common::types::xrpc::XrpcMethod::Query; 56 - type Response<'de1> = GetConvoForMembersResponse; 57 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetConvoForMembers<'a> { ··· 51 ///Response type for 52 ///chat.bsky.convo.getConvoForMembers 53 pub struct GetConvoForMembersResponse; 54 + impl jacquard_common::xrpc::XrpcResp for GetConvoForMembersResponse { 55 + const NSID: &'static str = "chat.bsky.convo.getConvoForMembers"; 56 const ENCODING: &'static str = "application/json"; 57 + type Output<'de> = GetConvoForMembersOutput<'de>; 58 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 59 } 60 61 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetConvoForMembers<'de> { 62 const NSID: &'static str = "chat.bsky.convo.getConvoForMembers"; 63 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 64 + type Response = GetConvoForMembersResponse; 65 + }
+17 -9
crates/jacquard-api/src/chat_bsky/convo/get_log.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetLog<'a> { ··· 49 ///Response type for 50 ///chat.bsky.convo.getLog 51 pub struct GetLogResponse; 52 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetLogResponse { 53 const ENCODING: &'static str = "application/json"; 54 - type Output = GetLogOutput<'de>; 55 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 56 } 57 58 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetLog<'de> { 59 const NSID: &'static str = "chat.bsky.convo.getLog"; 60 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 61 - jacquard_common::types::xrpc::XrpcMethod::Query; 62 - type Response<'de1> = GetLogResponse; 63 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetLog<'a> { ··· 57 ///Response type for 58 ///chat.bsky.convo.getLog 59 pub struct GetLogResponse; 60 + impl jacquard_common::xrpc::XrpcResp for GetLogResponse { 61 + const NSID: &'static str = "chat.bsky.convo.getLog"; 62 const ENCODING: &'static str = "application/json"; 63 + type Output<'de> = GetLogOutput<'de>; 64 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 65 } 66 67 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetLog<'de> { 68 const NSID: &'static str = "chat.bsky.convo.getLog"; 69 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 70 + type Response = GetLogResponse; 71 + }
+17 -9
crates/jacquard-api/src/chat_bsky/convo/get_messages.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetMessages<'a> { ··· 57 ///Response type for 58 ///chat.bsky.convo.getMessages 59 pub struct GetMessagesResponse; 60 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetMessagesResponse { 61 const ENCODING: &'static str = "application/json"; 62 - type Output = GetMessagesOutput<'de>; 63 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 64 } 65 66 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetMessages<'de> { 67 const NSID: &'static str = "chat.bsky.convo.getMessages"; 68 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 69 - jacquard_common::types::xrpc::XrpcMethod::Query; 70 - type Response<'de1> = GetMessagesResponse; 71 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetMessages<'a> { ··· 65 ///Response type for 66 ///chat.bsky.convo.getMessages 67 pub struct GetMessagesResponse; 68 + impl jacquard_common::xrpc::XrpcResp for GetMessagesResponse { 69 + const NSID: &'static str = "chat.bsky.convo.getMessages"; 70 const ENCODING: &'static str = "application/json"; 71 + type Output<'de> = GetMessagesOutput<'de>; 72 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 73 } 74 75 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetMessages<'de> { 76 const NSID: &'static str = "chat.bsky.convo.getMessages"; 77 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 78 + type Response = GetMessagesResponse; 79 + }
+19 -9
crates/jacquard-api/src/chat_bsky/convo/leave_convo.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct LeaveConvo<'a> { ··· 56 ///Response type for 57 ///chat.bsky.convo.leaveConvo 58 pub struct LeaveConvoResponse; 59 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for LeaveConvoResponse { 60 const ENCODING: &'static str = "application/json"; 61 - type Output = LeaveConvoOutput<'de>; 62 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 63 } 64 65 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for LeaveConvo<'de> { 66 const NSID: &'static str = "chat.bsky.convo.leaveConvo"; 67 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 68 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 69 - type Response<'de1> = LeaveConvoResponse; 70 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct LeaveConvo<'a> { ··· 64 ///Response type for 65 ///chat.bsky.convo.leaveConvo 66 pub struct LeaveConvoResponse; 67 + impl jacquard_common::xrpc::XrpcResp for LeaveConvoResponse { 68 + const NSID: &'static str = "chat.bsky.convo.leaveConvo"; 69 const ENCODING: &'static str = "application/json"; 70 + type Output<'de> = LeaveConvoOutput<'de>; 71 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 72 } 73 74 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for LeaveConvo<'de> { 75 const NSID: &'static str = "chat.bsky.convo.leaveConvo"; 76 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 77 + "application/json", 78 + ); 79 + type Response = LeaveConvoResponse; 80 + }
+17 -9
crates/jacquard-api/src/chat_bsky/convo/list_convos.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct ListConvos<'a> { ··· 63 ///Response type for 64 ///chat.bsky.convo.listConvos 65 pub struct ListConvosResponse; 66 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ListConvosResponse { 67 const ENCODING: &'static str = "application/json"; 68 - type Output = ListConvosOutput<'de>; 69 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 70 } 71 72 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListConvos<'de> { 73 const NSID: &'static str = "chat.bsky.convo.listConvos"; 74 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 75 - jacquard_common::types::xrpc::XrpcMethod::Query; 76 - type Response<'de1> = ListConvosResponse; 77 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct ListConvos<'a> { ··· 71 ///Response type for 72 ///chat.bsky.convo.listConvos 73 pub struct ListConvosResponse; 74 + impl jacquard_common::xrpc::XrpcResp for ListConvosResponse { 75 + const NSID: &'static str = "chat.bsky.convo.listConvos"; 76 const ENCODING: &'static str = "application/json"; 77 + type Output<'de> = ListConvosOutput<'de>; 78 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 79 } 80 81 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ListConvos<'de> { 82 const NSID: &'static str = "chat.bsky.convo.listConvos"; 83 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 84 + type Response = ListConvosResponse; 85 + }
+19 -9
crates/jacquard-api/src/chat_bsky/convo/mute_convo.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct MuteConvo<'a> { ··· 53 ///Response type for 54 ///chat.bsky.convo.muteConvo 55 pub struct MuteConvoResponse; 56 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for MuteConvoResponse { 57 const ENCODING: &'static str = "application/json"; 58 - type Output = MuteConvoOutput<'de>; 59 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 60 } 61 62 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for MuteConvo<'de> { 63 const NSID: &'static str = "chat.bsky.convo.muteConvo"; 64 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 65 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 66 - type Response<'de1> = MuteConvoResponse; 67 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct MuteConvo<'a> { ··· 61 ///Response type for 62 ///chat.bsky.convo.muteConvo 63 pub struct MuteConvoResponse; 64 + impl jacquard_common::xrpc::XrpcResp for MuteConvoResponse { 65 + const NSID: &'static str = "chat.bsky.convo.muteConvo"; 66 const ENCODING: &'static str = "application/json"; 67 + type Output<'de> = MuteConvoOutput<'de>; 68 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 69 } 70 71 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for MuteConvo<'de> { 72 const NSID: &'static str = "chat.bsky.convo.muteConvo"; 73 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 74 + "application/json", 75 + ); 76 + type Response = MuteConvoResponse; 77 + }
+23 -11
crates/jacquard-api/src/chat_bsky/convo/remove_reaction.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct RemoveReaction<'a> { ··· 67 PartialEq, 68 Eq, 69 thiserror::Error, 70 - miette::Diagnostic, 71 )] 72 #[serde(tag = "error", content = "message")] 73 #[serde(bound(deserialize = "'de: 'a"))] ··· 112 RemoveReactionError::ReactionInvalidValue(v) => { 113 RemoveReactionError::ReactionInvalidValue(v.into_static()) 114 } 115 - RemoveReactionError::Unknown(v) => RemoveReactionError::Unknown(v.into_static()), 116 } 117 } 118 } ··· 120 ///Response type for 121 ///chat.bsky.convo.removeReaction 122 pub struct RemoveReactionResponse; 123 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for RemoveReactionResponse { 124 const ENCODING: &'static str = "application/json"; 125 - type Output = RemoveReactionOutput<'de>; 126 - type Err = RemoveReactionError<'de>; 127 } 128 129 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RemoveReaction<'de> { 130 const NSID: &'static str = "chat.bsky.convo.removeReaction"; 131 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 132 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 133 - type Response<'de1> = RemoveReactionResponse; 134 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct RemoveReaction<'a> { ··· 75 PartialEq, 76 Eq, 77 thiserror::Error, 78 + miette::Diagnostic 79 )] 80 #[serde(tag = "error", content = "message")] 81 #[serde(bound(deserialize = "'de: 'a"))] ··· 120 RemoveReactionError::ReactionInvalidValue(v) => { 121 RemoveReactionError::ReactionInvalidValue(v.into_static()) 122 } 123 + RemoveReactionError::Unknown(v) => { 124 + RemoveReactionError::Unknown(v.into_static()) 125 + } 126 } 127 } 128 } ··· 130 ///Response type for 131 ///chat.bsky.convo.removeReaction 132 pub struct RemoveReactionResponse; 133 + impl jacquard_common::xrpc::XrpcResp for RemoveReactionResponse { 134 + const NSID: &'static str = "chat.bsky.convo.removeReaction"; 135 const ENCODING: &'static str = "application/json"; 136 + type Output<'de> = RemoveReactionOutput<'de>; 137 + type Err<'de> = RemoveReactionError<'de>; 138 } 139 140 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for RemoveReaction<'de> { 141 const NSID: &'static str = "chat.bsky.convo.removeReaction"; 142 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 143 + "application/json", 144 + ); 145 + type Response = RemoveReactionResponse; 146 + }
+19 -9
crates/jacquard-api/src/chat_bsky/convo/send_message.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct SendMessage<'a> { ··· 57 ///Response type for 58 ///chat.bsky.convo.sendMessage 59 pub struct SendMessageResponse; 60 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for SendMessageResponse { 61 const ENCODING: &'static str = "application/json"; 62 - type Output = SendMessageOutput<'de>; 63 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 64 } 65 66 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SendMessage<'de> { 67 const NSID: &'static str = "chat.bsky.convo.sendMessage"; 68 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 69 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 70 - type Response<'de1> = SendMessageResponse; 71 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct SendMessage<'a> { ··· 65 ///Response type for 66 ///chat.bsky.convo.sendMessage 67 pub struct SendMessageResponse; 68 + impl jacquard_common::xrpc::XrpcResp for SendMessageResponse { 69 + const NSID: &'static str = "chat.bsky.convo.sendMessage"; 70 const ENCODING: &'static str = "application/json"; 71 + type Output<'de> = SendMessageOutput<'de>; 72 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 73 } 74 75 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for SendMessage<'de> { 76 const NSID: &'static str = "chat.bsky.convo.sendMessage"; 77 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 78 + "application/json", 79 + ); 80 + type Response = SendMessageResponse; 81 + }
+19 -9
crates/jacquard-api/src/chat_bsky/convo/send_message_batch.rs
··· 27 } 28 29 #[jacquard_derive::lexicon] 30 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 31 #[serde(rename_all = "camelCase")] 32 #[builder(start_fn = new)] 33 pub struct SendMessageBatch<'a> { ··· 73 ///Response type for 74 ///chat.bsky.convo.sendMessageBatch 75 pub struct SendMessageBatchResponse; 76 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for SendMessageBatchResponse { 77 const ENCODING: &'static str = "application/json"; 78 - type Output = SendMessageBatchOutput<'de>; 79 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 80 } 81 82 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SendMessageBatch<'de> { 83 const NSID: &'static str = "chat.bsky.convo.sendMessageBatch"; 84 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 85 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 86 - type Response<'de1> = SendMessageBatchResponse; 87 - }
··· 27 } 28 29 #[jacquard_derive::lexicon] 30 + #[derive( 31 + serde::Serialize, 32 + serde::Deserialize, 33 + Debug, 34 + Clone, 35 + PartialEq, 36 + Eq, 37 + bon::Builder 38 + )] 39 #[serde(rename_all = "camelCase")] 40 #[builder(start_fn = new)] 41 pub struct SendMessageBatch<'a> { ··· 81 ///Response type for 82 ///chat.bsky.convo.sendMessageBatch 83 pub struct SendMessageBatchResponse; 84 + impl jacquard_common::xrpc::XrpcResp for SendMessageBatchResponse { 85 + const NSID: &'static str = "chat.bsky.convo.sendMessageBatch"; 86 const ENCODING: &'static str = "application/json"; 87 + type Output<'de> = SendMessageBatchOutput<'de>; 88 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 89 } 90 91 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for SendMessageBatch<'de> { 92 const NSID: &'static str = "chat.bsky.convo.sendMessageBatch"; 93 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 94 + "application/json", 95 + ); 96 + type Response = SendMessageBatchResponse; 97 + }
+19 -9
crates/jacquard-api/src/chat_bsky/convo/unmute_convo.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UnmuteConvo<'a> { ··· 53 ///Response type for 54 ///chat.bsky.convo.unmuteConvo 55 pub struct UnmuteConvoResponse; 56 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UnmuteConvoResponse { 57 const ENCODING: &'static str = "application/json"; 58 - type Output = UnmuteConvoOutput<'de>; 59 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 60 } 61 62 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UnmuteConvo<'de> { 63 const NSID: &'static str = "chat.bsky.convo.unmuteConvo"; 64 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 65 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 66 - type Response<'de1> = UnmuteConvoResponse; 67 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UnmuteConvo<'a> { ··· 61 ///Response type for 62 ///chat.bsky.convo.unmuteConvo 63 pub struct UnmuteConvoResponse; 64 + impl jacquard_common::xrpc::XrpcResp for UnmuteConvoResponse { 65 + const NSID: &'static str = "chat.bsky.convo.unmuteConvo"; 66 const ENCODING: &'static str = "application/json"; 67 + type Output<'de> = UnmuteConvoOutput<'de>; 68 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 69 } 70 71 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UnmuteConvo<'de> { 72 const NSID: &'static str = "chat.bsky.convo.unmuteConvo"; 73 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 74 + "application/json", 75 + ); 76 + type Response = UnmuteConvoResponse; 77 + }
+19 -9
crates/jacquard-api/src/chat_bsky/convo/update_all_read.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UpdateAllRead<'a> { ··· 54 ///Response type for 55 ///chat.bsky.convo.updateAllRead 56 pub struct UpdateAllReadResponse; 57 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UpdateAllReadResponse { 58 const ENCODING: &'static str = "application/json"; 59 - type Output = UpdateAllReadOutput<'de>; 60 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 61 } 62 63 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateAllRead<'de> { 64 const NSID: &'static str = "chat.bsky.convo.updateAllRead"; 65 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 66 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 67 - type Response<'de1> = UpdateAllReadResponse; 68 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UpdateAllRead<'a> { ··· 62 ///Response type for 63 ///chat.bsky.convo.updateAllRead 64 pub struct UpdateAllReadResponse; 65 + impl jacquard_common::xrpc::XrpcResp for UpdateAllReadResponse { 66 + const NSID: &'static str = "chat.bsky.convo.updateAllRead"; 67 const ENCODING: &'static str = "application/json"; 68 + type Output<'de> = UpdateAllReadOutput<'de>; 69 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 70 } 71 72 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UpdateAllRead<'de> { 73 const NSID: &'static str = "chat.bsky.convo.updateAllRead"; 74 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 75 + "application/json", 76 + ); 77 + type Response = UpdateAllReadResponse; 78 + }
+19 -9
crates/jacquard-api/src/chat_bsky/convo/update_read.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UpdateRead<'a> { ··· 58 ///Response type for 59 ///chat.bsky.convo.updateRead 60 pub struct UpdateReadResponse; 61 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UpdateReadResponse { 62 const ENCODING: &'static str = "application/json"; 63 - type Output = UpdateReadOutput<'de>; 64 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 65 } 66 67 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateRead<'de> { 68 const NSID: &'static str = "chat.bsky.convo.updateRead"; 69 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 70 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 71 - type Response<'de1> = UpdateReadResponse; 72 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UpdateRead<'a> { ··· 66 ///Response type for 67 ///chat.bsky.convo.updateRead 68 pub struct UpdateReadResponse; 69 + impl jacquard_common::xrpc::XrpcResp for UpdateReadResponse { 70 + const NSID: &'static str = "chat.bsky.convo.updateRead"; 71 const ENCODING: &'static str = "application/json"; 72 + type Output<'de> = UpdateReadOutput<'de>; 73 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 74 } 75 76 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UpdateRead<'de> { 77 const NSID: &'static str = "chat.bsky.convo.updateRead"; 78 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 79 + "application/json", 80 + ); 81 + type Response = UpdateReadResponse; 82 + }
+17 -9
crates/jacquard-api/src/chat_bsky/moderation/get_actor_metadata.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetActorMetadata<'a> { ··· 49 ///Response type for 50 ///chat.bsky.moderation.getActorMetadata 51 pub struct GetActorMetadataResponse; 52 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetActorMetadataResponse { 53 const ENCODING: &'static str = "application/json"; 54 - type Output = GetActorMetadataOutput<'de>; 55 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 56 } 57 58 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetActorMetadata<'de> { 59 const NSID: &'static str = "chat.bsky.moderation.getActorMetadata"; 60 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 61 - jacquard_common::types::xrpc::XrpcMethod::Query; 62 - type Response<'de1> = GetActorMetadataResponse; 63 } 64 65 #[jacquard_derive::lexicon] ··· 83 extra_data: self.extra_data.into_static(), 84 } 85 } 86 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetActorMetadata<'a> { ··· 57 ///Response type for 58 ///chat.bsky.moderation.getActorMetadata 59 pub struct GetActorMetadataResponse; 60 + impl jacquard_common::xrpc::XrpcResp for GetActorMetadataResponse { 61 + const NSID: &'static str = "chat.bsky.moderation.getActorMetadata"; 62 const ENCODING: &'static str = "application/json"; 63 + type Output<'de> = GetActorMetadataOutput<'de>; 64 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 65 } 66 67 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetActorMetadata<'de> { 68 const NSID: &'static str = "chat.bsky.moderation.getActorMetadata"; 69 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 70 + type Response = GetActorMetadataResponse; 71 } 72 73 #[jacquard_derive::lexicon] ··· 91 extra_data: self.extra_data.into_static(), 92 } 93 } 94 + }
+17 -9
crates/jacquard-api/src/chat_bsky/moderation/get_message_context.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetMessageContext<'a> { ··· 57 ///Response type for 58 ///chat.bsky.moderation.getMessageContext 59 pub struct GetMessageContextResponse; 60 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetMessageContextResponse { 61 const ENCODING: &'static str = "application/json"; 62 - type Output = GetMessageContextOutput<'de>; 63 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 64 } 65 66 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetMessageContext<'de> { 67 const NSID: &'static str = "chat.bsky.moderation.getMessageContext"; 68 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 69 - jacquard_common::types::xrpc::XrpcMethod::Query; 70 - type Response<'de1> = GetMessageContextResponse; 71 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetMessageContext<'a> { ··· 65 ///Response type for 66 ///chat.bsky.moderation.getMessageContext 67 pub struct GetMessageContextResponse; 68 + impl jacquard_common::xrpc::XrpcResp for GetMessageContextResponse { 69 + const NSID: &'static str = "chat.bsky.moderation.getMessageContext"; 70 const ENCODING: &'static str = "application/json"; 71 + type Output<'de> = GetMessageContextOutput<'de>; 72 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 73 } 74 75 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetMessageContext<'de> { 76 const NSID: &'static str = "chat.bsky.moderation.getMessageContext"; 77 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 78 + type Response = GetMessageContextResponse; 79 + }
+19 -9
crates/jacquard-api/src/chat_bsky/moderation/update_actor_access.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UpdateActorAccess<'a> { ··· 41 ///Response type for 42 ///chat.bsky.moderation.updateActorAccess 43 pub struct UpdateActorAccessResponse; 44 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UpdateActorAccessResponse { 45 const ENCODING: &'static str = "application/json"; 46 - type Output = (); 47 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 48 } 49 50 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateActorAccess<'de> { 51 const NSID: &'static str = "chat.bsky.moderation.updateActorAccess"; 52 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 53 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 54 - type Response<'de1> = UpdateActorAccessResponse; 55 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UpdateActorAccess<'a> { ··· 49 ///Response type for 50 ///chat.bsky.moderation.updateActorAccess 51 pub struct UpdateActorAccessResponse; 52 + impl jacquard_common::xrpc::XrpcResp for UpdateActorAccessResponse { 53 + const NSID: &'static str = "chat.bsky.moderation.updateActorAccess"; 54 const ENCODING: &'static str = "application/json"; 55 + type Output<'de> = (); 56 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 57 } 58 59 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UpdateActorAccess<'de> { 60 const NSID: &'static str = "chat.bsky.moderation.updateActorAccess"; 61 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 62 + "application/json", 63 + ); 64 + type Response = UpdateActorAccessResponse; 65 + }
+19 -9
crates/jacquard-api/src/com_atproto/admin/delete_account.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct DeleteAccount<'a> { ··· 34 ///Response type for 35 ///com.atproto.admin.deleteAccount 36 pub struct DeleteAccountResponse; 37 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for DeleteAccountResponse { 38 const ENCODING: &'static str = "application/json"; 39 - type Output = (); 40 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 41 } 42 43 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteAccount<'de> { 44 const NSID: &'static str = "com.atproto.admin.deleteAccount"; 45 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 46 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 47 - type Response<'de1> = DeleteAccountResponse; 48 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct DeleteAccount<'a> { ··· 42 ///Response type for 43 ///com.atproto.admin.deleteAccount 44 pub struct DeleteAccountResponse; 45 + impl jacquard_common::xrpc::XrpcResp for DeleteAccountResponse { 46 + const NSID: &'static str = "com.atproto.admin.deleteAccount"; 47 const ENCODING: &'static str = "application/json"; 48 + type Output<'de> = (); 49 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 50 } 51 52 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for DeleteAccount<'de> { 53 const NSID: &'static str = "com.atproto.admin.deleteAccount"; 54 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 55 + "application/json", 56 + ); 57 + type Response = DeleteAccountResponse; 58 + }
+19 -9
crates/jacquard-api/src/com_atproto/admin/disable_account_invites.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct DisableAccountInvites<'a> { ··· 40 ///Response type for 41 ///com.atproto.admin.disableAccountInvites 42 pub struct DisableAccountInvitesResponse; 43 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for DisableAccountInvitesResponse { 44 const ENCODING: &'static str = "application/json"; 45 - type Output = (); 46 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 47 } 48 49 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DisableAccountInvites<'de> { 50 const NSID: &'static str = "com.atproto.admin.disableAccountInvites"; 51 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 52 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 53 - type Response<'de1> = DisableAccountInvitesResponse; 54 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct DisableAccountInvites<'a> { ··· 48 ///Response type for 49 ///com.atproto.admin.disableAccountInvites 50 pub struct DisableAccountInvitesResponse; 51 + impl jacquard_common::xrpc::XrpcResp for DisableAccountInvitesResponse { 52 + const NSID: &'static str = "com.atproto.admin.disableAccountInvites"; 53 const ENCODING: &'static str = "application/json"; 54 + type Output<'de> = (); 55 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 56 } 57 58 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for DisableAccountInvites<'de> { 59 const NSID: &'static str = "com.atproto.admin.disableAccountInvites"; 60 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 61 + "application/json", 62 + ); 63 + type Response = DisableAccountInvitesResponse; 64 + }
+19 -9
crates/jacquard-api/src/com_atproto/admin/disable_invite_codes.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct DisableInviteCodes<'a> { ··· 39 ///Response type for 40 ///com.atproto.admin.disableInviteCodes 41 pub struct DisableInviteCodesResponse; 42 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for DisableInviteCodesResponse { 43 const ENCODING: &'static str = "application/json"; 44 - type Output = (); 45 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 46 } 47 48 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DisableInviteCodes<'de> { 49 const NSID: &'static str = "com.atproto.admin.disableInviteCodes"; 50 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 51 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 52 - type Response<'de1> = DisableInviteCodesResponse; 53 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct DisableInviteCodes<'a> { ··· 47 ///Response type for 48 ///com.atproto.admin.disableInviteCodes 49 pub struct DisableInviteCodesResponse; 50 + impl jacquard_common::xrpc::XrpcResp for DisableInviteCodesResponse { 51 + const NSID: &'static str = "com.atproto.admin.disableInviteCodes"; 52 const ENCODING: &'static str = "application/json"; 53 + type Output<'de> = (); 54 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 55 } 56 57 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for DisableInviteCodes<'de> { 58 const NSID: &'static str = "com.atproto.admin.disableInviteCodes"; 59 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 60 + "application/json", 61 + ); 62 + type Response = DisableInviteCodesResponse; 63 + }
+19 -9
crates/jacquard-api/src/com_atproto/admin/enable_account_invites.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct EnableAccountInvites<'a> { ··· 40 ///Response type for 41 ///com.atproto.admin.enableAccountInvites 42 pub struct EnableAccountInvitesResponse; 43 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for EnableAccountInvitesResponse { 44 const ENCODING: &'static str = "application/json"; 45 - type Output = (); 46 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 47 } 48 49 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for EnableAccountInvites<'de> { 50 const NSID: &'static str = "com.atproto.admin.enableAccountInvites"; 51 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 52 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 53 - type Response<'de1> = EnableAccountInvitesResponse; 54 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct EnableAccountInvites<'a> { ··· 48 ///Response type for 49 ///com.atproto.admin.enableAccountInvites 50 pub struct EnableAccountInvitesResponse; 51 + impl jacquard_common::xrpc::XrpcResp for EnableAccountInvitesResponse { 52 + const NSID: &'static str = "com.atproto.admin.enableAccountInvites"; 53 const ENCODING: &'static str = "application/json"; 54 + type Output<'de> = (); 55 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 56 } 57 58 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for EnableAccountInvites<'de> { 59 const NSID: &'static str = "com.atproto.admin.enableAccountInvites"; 60 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 61 + "application/json", 62 + ); 63 + type Response = EnableAccountInvitesResponse; 64 + }
+17 -9
crates/jacquard-api/src/com_atproto/admin/get_account_info.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetAccountInfo<'a> { ··· 44 ///Response type for 45 ///com.atproto.admin.getAccountInfo 46 pub struct GetAccountInfoResponse; 47 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetAccountInfoResponse { 48 const ENCODING: &'static str = "application/json"; 49 - type Output = GetAccountInfoOutput<'de>; 50 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 51 } 52 53 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetAccountInfo<'de> { 54 const NSID: &'static str = "com.atproto.admin.getAccountInfo"; 55 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 56 - jacquard_common::types::xrpc::XrpcMethod::Query; 57 - type Response<'de1> = GetAccountInfoResponse; 58 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetAccountInfo<'a> { ··· 52 ///Response type for 53 ///com.atproto.admin.getAccountInfo 54 pub struct GetAccountInfoResponse; 55 + impl jacquard_common::xrpc::XrpcResp for GetAccountInfoResponse { 56 + const NSID: &'static str = "com.atproto.admin.getAccountInfo"; 57 const ENCODING: &'static str = "application/json"; 58 + type Output<'de> = GetAccountInfoOutput<'de>; 59 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 60 } 61 62 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetAccountInfo<'de> { 63 const NSID: &'static str = "com.atproto.admin.getAccountInfo"; 64 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 65 + type Response = GetAccountInfoResponse; 66 + }
+17 -9
crates/jacquard-api/src/com_atproto/admin/get_account_infos.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetAccountInfos<'a> { ··· 43 ///Response type for 44 ///com.atproto.admin.getAccountInfos 45 pub struct GetAccountInfosResponse; 46 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetAccountInfosResponse { 47 const ENCODING: &'static str = "application/json"; 48 - type Output = GetAccountInfosOutput<'de>; 49 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 50 } 51 52 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetAccountInfos<'de> { 53 const NSID: &'static str = "com.atproto.admin.getAccountInfos"; 54 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 55 - jacquard_common::types::xrpc::XrpcMethod::Query; 56 - type Response<'de1> = GetAccountInfosResponse; 57 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetAccountInfos<'a> { ··· 51 ///Response type for 52 ///com.atproto.admin.getAccountInfos 53 pub struct GetAccountInfosResponse; 54 + impl jacquard_common::xrpc::XrpcResp for GetAccountInfosResponse { 55 + const NSID: &'static str = "com.atproto.admin.getAccountInfos"; 56 const ENCODING: &'static str = "application/json"; 57 + type Output<'de> = GetAccountInfosOutput<'de>; 58 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 59 } 60 61 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetAccountInfos<'de> { 62 const NSID: &'static str = "com.atproto.admin.getAccountInfos"; 63 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 64 + type Response = GetAccountInfosResponse; 65 + }
+17 -9
crates/jacquard-api/src/com_atproto/admin/get_invite_codes.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetInviteCodes<'a> { ··· 59 ///Response type for 60 ///com.atproto.admin.getInviteCodes 61 pub struct GetInviteCodesResponse; 62 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetInviteCodesResponse { 63 const ENCODING: &'static str = "application/json"; 64 - type Output = GetInviteCodesOutput<'de>; 65 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 66 } 67 68 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetInviteCodes<'de> { 69 const NSID: &'static str = "com.atproto.admin.getInviteCodes"; 70 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 71 - jacquard_common::types::xrpc::XrpcMethod::Query; 72 - type Response<'de1> = GetInviteCodesResponse; 73 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetInviteCodes<'a> { ··· 67 ///Response type for 68 ///com.atproto.admin.getInviteCodes 69 pub struct GetInviteCodesResponse; 70 + impl jacquard_common::xrpc::XrpcResp for GetInviteCodesResponse { 71 + const NSID: &'static str = "com.atproto.admin.getInviteCodes"; 72 const ENCODING: &'static str = "application/json"; 73 + type Output<'de> = GetInviteCodesOutput<'de>; 74 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 75 } 76 77 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetInviteCodes<'de> { 78 const NSID: &'static str = "com.atproto.admin.getInviteCodes"; 79 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 80 + type Response = GetInviteCodesResponse; 81 + }
+17 -9
crates/jacquard-api/src/com_atproto/admin/get_subject_status.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetSubjectStatus<'a> { ··· 93 ///Response type for 94 ///com.atproto.admin.getSubjectStatus 95 pub struct GetSubjectStatusResponse; 96 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetSubjectStatusResponse { 97 const ENCODING: &'static str = "application/json"; 98 - type Output = GetSubjectStatusOutput<'de>; 99 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 100 } 101 102 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSubjectStatus<'de> { 103 const NSID: &'static str = "com.atproto.admin.getSubjectStatus"; 104 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 105 - jacquard_common::types::xrpc::XrpcMethod::Query; 106 - type Response<'de1> = GetSubjectStatusResponse; 107 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetSubjectStatus<'a> { ··· 101 ///Response type for 102 ///com.atproto.admin.getSubjectStatus 103 pub struct GetSubjectStatusResponse; 104 + impl jacquard_common::xrpc::XrpcResp for GetSubjectStatusResponse { 105 + const NSID: &'static str = "com.atproto.admin.getSubjectStatus"; 106 const ENCODING: &'static str = "application/json"; 107 + type Output<'de> = GetSubjectStatusOutput<'de>; 108 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 109 } 110 111 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetSubjectStatus<'de> { 112 const NSID: &'static str = "com.atproto.admin.getSubjectStatus"; 113 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 114 + type Response = GetSubjectStatusResponse; 115 + }
+17 -9
crates/jacquard-api/src/com_atproto/admin/search_accounts.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct SearchAccounts<'a> { ··· 58 ///Response type for 59 ///com.atproto.admin.searchAccounts 60 pub struct SearchAccountsResponse; 61 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for SearchAccountsResponse { 62 const ENCODING: &'static str = "application/json"; 63 - type Output = SearchAccountsOutput<'de>; 64 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 65 } 66 67 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchAccounts<'de> { 68 const NSID: &'static str = "com.atproto.admin.searchAccounts"; 69 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 70 - jacquard_common::types::xrpc::XrpcMethod::Query; 71 - type Response<'de1> = SearchAccountsResponse; 72 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct SearchAccounts<'a> { ··· 66 ///Response type for 67 ///com.atproto.admin.searchAccounts 68 pub struct SearchAccountsResponse; 69 + impl jacquard_common::xrpc::XrpcResp for SearchAccountsResponse { 70 + const NSID: &'static str = "com.atproto.admin.searchAccounts"; 71 const ENCODING: &'static str = "application/json"; 72 + type Output<'de> = SearchAccountsOutput<'de>; 73 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 74 } 75 76 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for SearchAccounts<'de> { 77 const NSID: &'static str = "com.atproto.admin.searchAccounts"; 78 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 79 + type Response = SearchAccountsResponse; 80 + }
+19 -9
crates/jacquard-api/src/com_atproto/admin/send_email.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct SendEmail<'a> { ··· 69 ///Response type for 70 ///com.atproto.admin.sendEmail 71 pub struct SendEmailResponse; 72 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for SendEmailResponse { 73 const ENCODING: &'static str = "application/json"; 74 - type Output = SendEmailOutput<'de>; 75 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 76 } 77 78 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SendEmail<'de> { 79 const NSID: &'static str = "com.atproto.admin.sendEmail"; 80 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 81 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 82 - type Response<'de1> = SendEmailResponse; 83 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct SendEmail<'a> { ··· 77 ///Response type for 78 ///com.atproto.admin.sendEmail 79 pub struct SendEmailResponse; 80 + impl jacquard_common::xrpc::XrpcResp for SendEmailResponse { 81 + const NSID: &'static str = "com.atproto.admin.sendEmail"; 82 const ENCODING: &'static str = "application/json"; 83 + type Output<'de> = SendEmailOutput<'de>; 84 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 85 } 86 87 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for SendEmail<'de> { 88 const NSID: &'static str = "com.atproto.admin.sendEmail"; 89 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 90 + "application/json", 91 + ); 92 + type Response = SendEmailResponse; 93 + }
+19 -9
crates/jacquard-api/src/com_atproto/admin/update_account_email.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UpdateAccountEmail<'a> { ··· 39 ///Response type for 40 ///com.atproto.admin.updateAccountEmail 41 pub struct UpdateAccountEmailResponse; 42 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UpdateAccountEmailResponse { 43 const ENCODING: &'static str = "application/json"; 44 - type Output = (); 45 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 46 } 47 48 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateAccountEmail<'de> { 49 const NSID: &'static str = "com.atproto.admin.updateAccountEmail"; 50 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 51 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 52 - type Response<'de1> = UpdateAccountEmailResponse; 53 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UpdateAccountEmail<'a> { ··· 47 ///Response type for 48 ///com.atproto.admin.updateAccountEmail 49 pub struct UpdateAccountEmailResponse; 50 + impl jacquard_common::xrpc::XrpcResp for UpdateAccountEmailResponse { 51 + const NSID: &'static str = "com.atproto.admin.updateAccountEmail"; 52 const ENCODING: &'static str = "application/json"; 53 + type Output<'de> = (); 54 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 55 } 56 57 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UpdateAccountEmail<'de> { 58 const NSID: &'static str = "com.atproto.admin.updateAccountEmail"; 59 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 60 + "application/json", 61 + ); 62 + type Response = UpdateAccountEmailResponse; 63 + }
+19 -9
crates/jacquard-api/src/com_atproto/admin/update_account_handle.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UpdateAccountHandle<'a> { ··· 37 ///Response type for 38 ///com.atproto.admin.updateAccountHandle 39 pub struct UpdateAccountHandleResponse; 40 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UpdateAccountHandleResponse { 41 const ENCODING: &'static str = "application/json"; 42 - type Output = (); 43 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 44 } 45 46 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateAccountHandle<'de> { 47 const NSID: &'static str = "com.atproto.admin.updateAccountHandle"; 48 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 49 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 50 - type Response<'de1> = UpdateAccountHandleResponse; 51 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UpdateAccountHandle<'a> { ··· 45 ///Response type for 46 ///com.atproto.admin.updateAccountHandle 47 pub struct UpdateAccountHandleResponse; 48 + impl jacquard_common::xrpc::XrpcResp for UpdateAccountHandleResponse { 49 + const NSID: &'static str = "com.atproto.admin.updateAccountHandle"; 50 const ENCODING: &'static str = "application/json"; 51 + type Output<'de> = (); 52 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 53 } 54 55 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UpdateAccountHandle<'de> { 56 const NSID: &'static str = "com.atproto.admin.updateAccountHandle"; 57 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 58 + "application/json", 59 + ); 60 + type Response = UpdateAccountHandleResponse; 61 + }
+19 -9
crates/jacquard-api/src/com_atproto/admin/update_account_password.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UpdateAccountPassword<'a> { ··· 38 ///Response type for 39 ///com.atproto.admin.updateAccountPassword 40 pub struct UpdateAccountPasswordResponse; 41 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UpdateAccountPasswordResponse { 42 const ENCODING: &'static str = "application/json"; 43 - type Output = (); 44 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 45 } 46 47 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateAccountPassword<'de> { 48 const NSID: &'static str = "com.atproto.admin.updateAccountPassword"; 49 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 50 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 51 - type Response<'de1> = UpdateAccountPasswordResponse; 52 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UpdateAccountPassword<'a> { ··· 46 ///Response type for 47 ///com.atproto.admin.updateAccountPassword 48 pub struct UpdateAccountPasswordResponse; 49 + impl jacquard_common::xrpc::XrpcResp for UpdateAccountPasswordResponse { 50 + const NSID: &'static str = "com.atproto.admin.updateAccountPassword"; 51 const ENCODING: &'static str = "application/json"; 52 + type Output<'de> = (); 53 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 54 } 55 56 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UpdateAccountPassword<'de> { 57 const NSID: &'static str = "com.atproto.admin.updateAccountPassword"; 58 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 59 + "application/json", 60 + ); 61 + type Response = UpdateAccountPasswordResponse; 62 + }
+19 -9
crates/jacquard-api/src/com_atproto/admin/update_account_signing_key.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UpdateAccountSigningKey<'a> { ··· 38 ///Response type for 39 ///com.atproto.admin.updateAccountSigningKey 40 pub struct UpdateAccountSigningKeyResponse; 41 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UpdateAccountSigningKeyResponse { 42 const ENCODING: &'static str = "application/json"; 43 - type Output = (); 44 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 45 } 46 47 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateAccountSigningKey<'de> { 48 const NSID: &'static str = "com.atproto.admin.updateAccountSigningKey"; 49 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 50 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 51 - type Response<'de1> = UpdateAccountSigningKeyResponse; 52 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UpdateAccountSigningKey<'a> { ··· 46 ///Response type for 47 ///com.atproto.admin.updateAccountSigningKey 48 pub struct UpdateAccountSigningKeyResponse; 49 + impl jacquard_common::xrpc::XrpcResp for UpdateAccountSigningKeyResponse { 50 + const NSID: &'static str = "com.atproto.admin.updateAccountSigningKey"; 51 const ENCODING: &'static str = "application/json"; 52 + type Output<'de> = (); 53 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 54 } 55 56 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UpdateAccountSigningKey<'de> { 57 const NSID: &'static str = "com.atproto.admin.updateAccountSigningKey"; 58 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 59 + "application/json", 60 + ); 61 + type Response = UpdateAccountSigningKeyResponse; 62 + }
+19 -9
crates/jacquard-api/src/com_atproto/admin/update_subject_status.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UpdateSubjectStatus<'a> { ··· 130 ///Response type for 131 ///com.atproto.admin.updateSubjectStatus 132 pub struct UpdateSubjectStatusResponse; 133 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UpdateSubjectStatusResponse { 134 const ENCODING: &'static str = "application/json"; 135 - type Output = UpdateSubjectStatusOutput<'de>; 136 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 137 } 138 139 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateSubjectStatus<'de> { 140 const NSID: &'static str = "com.atproto.admin.updateSubjectStatus"; 141 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 142 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 143 - type Response<'de1> = UpdateSubjectStatusResponse; 144 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UpdateSubjectStatus<'a> { ··· 138 ///Response type for 139 ///com.atproto.admin.updateSubjectStatus 140 pub struct UpdateSubjectStatusResponse; 141 + impl jacquard_common::xrpc::XrpcResp for UpdateSubjectStatusResponse { 142 + const NSID: &'static str = "com.atproto.admin.updateSubjectStatus"; 143 const ENCODING: &'static str = "application/json"; 144 + type Output<'de> = UpdateSubjectStatusOutput<'de>; 145 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 146 } 147 148 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UpdateSubjectStatus<'de> { 149 const NSID: &'static str = "com.atproto.admin.updateSubjectStatus"; 150 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 151 + "application/json", 152 + ); 153 + type Response = UpdateSubjectStatusResponse; 154 + }
+23 -11
crates/jacquard-api/src/com_atproto/identity/refresh_identity.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct RefreshIdentity<'a> { ··· 59 PartialEq, 60 Eq, 61 thiserror::Error, 62 - miette::Diagnostic, 63 )] 64 #[serde(tag = "error", content = "message")] 65 #[serde(bound(deserialize = "'de: 'a"))] ··· 117 RefreshIdentityError::DidDeactivated(v) => { 118 RefreshIdentityError::DidDeactivated(v.into_static()) 119 } 120 - RefreshIdentityError::Unknown(v) => RefreshIdentityError::Unknown(v.into_static()), 121 } 122 } 123 } ··· 125 ///Response type for 126 ///com.atproto.identity.refreshIdentity 127 pub struct RefreshIdentityResponse; 128 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for RefreshIdentityResponse { 129 const ENCODING: &'static str = "application/json"; 130 - type Output = RefreshIdentityOutput<'de>; 131 - type Err = RefreshIdentityError<'de>; 132 } 133 134 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RefreshIdentity<'de> { 135 const NSID: &'static str = "com.atproto.identity.refreshIdentity"; 136 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 137 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 138 - type Response<'de1> = RefreshIdentityResponse; 139 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct RefreshIdentity<'a> { ··· 67 PartialEq, 68 Eq, 69 thiserror::Error, 70 + miette::Diagnostic 71 )] 72 #[serde(tag = "error", content = "message")] 73 #[serde(bound(deserialize = "'de: 'a"))] ··· 125 RefreshIdentityError::DidDeactivated(v) => { 126 RefreshIdentityError::DidDeactivated(v.into_static()) 127 } 128 + RefreshIdentityError::Unknown(v) => { 129 + RefreshIdentityError::Unknown(v.into_static()) 130 + } 131 } 132 } 133 } ··· 135 ///Response type for 136 ///com.atproto.identity.refreshIdentity 137 pub struct RefreshIdentityResponse; 138 + impl jacquard_common::xrpc::XrpcResp for RefreshIdentityResponse { 139 + const NSID: &'static str = "com.atproto.identity.refreshIdentity"; 140 const ENCODING: &'static str = "application/json"; 141 + type Output<'de> = RefreshIdentityOutput<'de>; 142 + type Err<'de> = RefreshIdentityError<'de>; 143 } 144 145 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for RefreshIdentity<'de> { 146 const NSID: &'static str = "com.atproto.identity.refreshIdentity"; 147 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 148 + "application/json", 149 + ); 150 + type Response = RefreshIdentityResponse; 151 + }
+10 -8
crates/jacquard-api/src/com_atproto/identity/request_plc_operation_signature.rs
··· 11 ///Response type for 12 ///com.atproto.identity.requestPlcOperationSignature 13 pub struct RequestPlcOperationSignatureResponse; 14 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for RequestPlcOperationSignatureResponse { 15 const ENCODING: &'static str = "application/json"; 16 - type Output = (); 17 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 18 } 19 20 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RequestPlcOperationSignature { 21 const NSID: &'static str = "com.atproto.identity.requestPlcOperationSignature"; 22 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 23 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 24 - type Response<'de1> = RequestPlcOperationSignatureResponse; 25 - }
··· 11 ///Response type for 12 ///com.atproto.identity.requestPlcOperationSignature 13 pub struct RequestPlcOperationSignatureResponse; 14 + impl jacquard_common::xrpc::XrpcResp for RequestPlcOperationSignatureResponse { 15 + const NSID: &'static str = "com.atproto.identity.requestPlcOperationSignature"; 16 const ENCODING: &'static str = "application/json"; 17 + type Output<'de> = (); 18 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 19 } 20 21 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for RequestPlcOperationSignature { 22 const NSID: &'static str = "com.atproto.identity.requestPlcOperationSignature"; 23 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 24 + "application/json", 25 + ); 26 + type Response = RequestPlcOperationSignatureResponse; 27 + }
+24 -12
crates/jacquard-api/src/com_atproto/identity/resolve_did.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct ResolveDid<'a> { ··· 50 PartialEq, 51 Eq, 52 thiserror::Error, 53 - miette::Diagnostic, 54 )] 55 #[serde(tag = "error", content = "message")] 56 #[serde(bound(deserialize = "'de: 'a"))] ··· 89 type Output = ResolveDidError<'static>; 90 fn into_static(self) -> Self::Output { 91 match self { 92 - ResolveDidError::DidNotFound(v) => ResolveDidError::DidNotFound(v.into_static()), 93 - ResolveDidError::DidDeactivated(v) => ResolveDidError::DidDeactivated(v.into_static()), 94 ResolveDidError::Unknown(v) => ResolveDidError::Unknown(v.into_static()), 95 } 96 } ··· 99 ///Response type for 100 ///com.atproto.identity.resolveDid 101 pub struct ResolveDidResponse; 102 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ResolveDidResponse { 103 const ENCODING: &'static str = "application/json"; 104 - type Output = ResolveDidOutput<'de>; 105 - type Err = ResolveDidError<'de>; 106 } 107 108 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ResolveDid<'de> { 109 const NSID: &'static str = "com.atproto.identity.resolveDid"; 110 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 111 - jacquard_common::types::xrpc::XrpcMethod::Query; 112 - type Response<'de1> = ResolveDidResponse; 113 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct ResolveDid<'a> { ··· 58 PartialEq, 59 Eq, 60 thiserror::Error, 61 + miette::Diagnostic 62 )] 63 #[serde(tag = "error", content = "message")] 64 #[serde(bound(deserialize = "'de: 'a"))] ··· 97 type Output = ResolveDidError<'static>; 98 fn into_static(self) -> Self::Output { 99 match self { 100 + ResolveDidError::DidNotFound(v) => { 101 + ResolveDidError::DidNotFound(v.into_static()) 102 + } 103 + ResolveDidError::DidDeactivated(v) => { 104 + ResolveDidError::DidDeactivated(v.into_static()) 105 + } 106 ResolveDidError::Unknown(v) => ResolveDidError::Unknown(v.into_static()), 107 } 108 } ··· 111 ///Response type for 112 ///com.atproto.identity.resolveDid 113 pub struct ResolveDidResponse; 114 + impl jacquard_common::xrpc::XrpcResp for ResolveDidResponse { 115 + const NSID: &'static str = "com.atproto.identity.resolveDid"; 116 const ENCODING: &'static str = "application/json"; 117 + type Output<'de> = ResolveDidOutput<'de>; 118 + type Err<'de> = ResolveDidError<'de>; 119 } 120 121 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ResolveDid<'de> { 122 const NSID: &'static str = "com.atproto.identity.resolveDid"; 123 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 124 + type Response = ResolveDidResponse; 125 + }
+21 -11
crates/jacquard-api/src/com_atproto/identity/resolve_handle.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct ResolveHandle<'a> { ··· 49 PartialEq, 50 Eq, 51 thiserror::Error, 52 - miette::Diagnostic, 53 )] 54 #[serde(tag = "error", content = "message")] 55 #[serde(bound(deserialize = "'de: 'a"))] ··· 81 ResolveHandleError::HandleNotFound(v) => { 82 ResolveHandleError::HandleNotFound(v.into_static()) 83 } 84 - ResolveHandleError::Unknown(v) => ResolveHandleError::Unknown(v.into_static()), 85 } 86 } 87 } ··· 89 ///Response type for 90 ///com.atproto.identity.resolveHandle 91 pub struct ResolveHandleResponse; 92 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ResolveHandleResponse { 93 const ENCODING: &'static str = "application/json"; 94 - type Output = ResolveHandleOutput<'de>; 95 - type Err = ResolveHandleError<'de>; 96 } 97 98 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ResolveHandle<'de> { 99 const NSID: &'static str = "com.atproto.identity.resolveHandle"; 100 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 101 - jacquard_common::types::xrpc::XrpcMethod::Query; 102 - type Response<'de1> = ResolveHandleResponse; 103 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct ResolveHandle<'a> { ··· 57 PartialEq, 58 Eq, 59 thiserror::Error, 60 + miette::Diagnostic 61 )] 62 #[serde(tag = "error", content = "message")] 63 #[serde(bound(deserialize = "'de: 'a"))] ··· 89 ResolveHandleError::HandleNotFound(v) => { 90 ResolveHandleError::HandleNotFound(v.into_static()) 91 } 92 + ResolveHandleError::Unknown(v) => { 93 + ResolveHandleError::Unknown(v.into_static()) 94 + } 95 } 96 } 97 } ··· 99 ///Response type for 100 ///com.atproto.identity.resolveHandle 101 pub struct ResolveHandleResponse; 102 + impl jacquard_common::xrpc::XrpcResp for ResolveHandleResponse { 103 + const NSID: &'static str = "com.atproto.identity.resolveHandle"; 104 const ENCODING: &'static str = "application/json"; 105 + type Output<'de> = ResolveHandleOutput<'de>; 106 + type Err<'de> = ResolveHandleError<'de>; 107 } 108 109 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ResolveHandle<'de> { 110 const NSID: &'static str = "com.atproto.identity.resolveHandle"; 111 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 112 + type Response = ResolveHandleResponse; 113 + }
+21 -11
crates/jacquard-api/src/com_atproto/identity/resolve_identity.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct ResolveIdentity<'a> { ··· 50 PartialEq, 51 Eq, 52 thiserror::Error, 53 - miette::Diagnostic, 54 )] 55 #[serde(tag = "error", content = "message")] 56 #[serde(bound(deserialize = "'de: 'a"))] ··· 108 ResolveIdentityError::DidDeactivated(v) => { 109 ResolveIdentityError::DidDeactivated(v.into_static()) 110 } 111 - ResolveIdentityError::Unknown(v) => ResolveIdentityError::Unknown(v.into_static()), 112 } 113 } 114 } ··· 116 ///Response type for 117 ///com.atproto.identity.resolveIdentity 118 pub struct ResolveIdentityResponse; 119 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ResolveIdentityResponse { 120 const ENCODING: &'static str = "application/json"; 121 - type Output = ResolveIdentityOutput<'de>; 122 - type Err = ResolveIdentityError<'de>; 123 } 124 125 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ResolveIdentity<'de> { 126 const NSID: &'static str = "com.atproto.identity.resolveIdentity"; 127 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 128 - jacquard_common::types::xrpc::XrpcMethod::Query; 129 - type Response<'de1> = ResolveIdentityResponse; 130 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct ResolveIdentity<'a> { ··· 58 PartialEq, 59 Eq, 60 thiserror::Error, 61 + miette::Diagnostic 62 )] 63 #[serde(tag = "error", content = "message")] 64 #[serde(bound(deserialize = "'de: 'a"))] ··· 116 ResolveIdentityError::DidDeactivated(v) => { 117 ResolveIdentityError::DidDeactivated(v.into_static()) 118 } 119 + ResolveIdentityError::Unknown(v) => { 120 + ResolveIdentityError::Unknown(v.into_static()) 121 + } 122 } 123 } 124 } ··· 126 ///Response type for 127 ///com.atproto.identity.resolveIdentity 128 pub struct ResolveIdentityResponse; 129 + impl jacquard_common::xrpc::XrpcResp for ResolveIdentityResponse { 130 + const NSID: &'static str = "com.atproto.identity.resolveIdentity"; 131 const ENCODING: &'static str = "application/json"; 132 + type Output<'de> = ResolveIdentityOutput<'de>; 133 + type Err<'de> = ResolveIdentityError<'de>; 134 } 135 136 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ResolveIdentity<'de> { 137 const NSID: &'static str = "com.atproto.identity.resolveIdentity"; 138 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 139 + type Response = ResolveIdentityResponse; 140 + }
+22 -10
crates/jacquard-api/src/com_atproto/identity/sign_plc_operation.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct SignPlcOperation<'a> { ··· 26 pub token: std::option::Option<jacquard_common::CowStr<'a>>, 27 #[serde(skip_serializing_if = "std::option::Option::is_none")] 28 #[serde(borrow)] 29 - pub verification_methods: std::option::Option<jacquard_common::types::value::Data<'a>>, 30 #[serde(flatten)] 31 #[serde(borrow)] 32 #[builder(default)] ··· 72 ///Response type for 73 ///com.atproto.identity.signPlcOperation 74 pub struct SignPlcOperationResponse; 75 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for SignPlcOperationResponse { 76 const ENCODING: &'static str = "application/json"; 77 - type Output = SignPlcOperationOutput<'de>; 78 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 79 } 80 81 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SignPlcOperation<'de> { 82 const NSID: &'static str = "com.atproto.identity.signPlcOperation"; 83 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 84 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 85 - type Response<'de1> = SignPlcOperationResponse; 86 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct SignPlcOperation<'a> { ··· 34 pub token: std::option::Option<jacquard_common::CowStr<'a>>, 35 #[serde(skip_serializing_if = "std::option::Option::is_none")] 36 #[serde(borrow)] 37 + pub verification_methods: std::option::Option< 38 + jacquard_common::types::value::Data<'a>, 39 + >, 40 #[serde(flatten)] 41 #[serde(borrow)] 42 #[builder(default)] ··· 82 ///Response type for 83 ///com.atproto.identity.signPlcOperation 84 pub struct SignPlcOperationResponse; 85 + impl jacquard_common::xrpc::XrpcResp for SignPlcOperationResponse { 86 + const NSID: &'static str = "com.atproto.identity.signPlcOperation"; 87 const ENCODING: &'static str = "application/json"; 88 + type Output<'de> = SignPlcOperationOutput<'de>; 89 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 90 } 91 92 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for SignPlcOperation<'de> { 93 const NSID: &'static str = "com.atproto.identity.signPlcOperation"; 94 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 95 + "application/json", 96 + ); 97 + type Response = SignPlcOperationResponse; 98 + }
+19 -9
crates/jacquard-api/src/com_atproto/identity/submit_plc_operation.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct SubmitPlcOperation<'a> { ··· 34 ///Response type for 35 ///com.atproto.identity.submitPlcOperation 36 pub struct SubmitPlcOperationResponse; 37 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for SubmitPlcOperationResponse { 38 const ENCODING: &'static str = "application/json"; 39 - type Output = (); 40 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 41 } 42 43 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SubmitPlcOperation<'de> { 44 const NSID: &'static str = "com.atproto.identity.submitPlcOperation"; 45 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 46 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 47 - type Response<'de1> = SubmitPlcOperationResponse; 48 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct SubmitPlcOperation<'a> { ··· 42 ///Response type for 43 ///com.atproto.identity.submitPlcOperation 44 pub struct SubmitPlcOperationResponse; 45 + impl jacquard_common::xrpc::XrpcResp for SubmitPlcOperationResponse { 46 + const NSID: &'static str = "com.atproto.identity.submitPlcOperation"; 47 const ENCODING: &'static str = "application/json"; 48 + type Output<'de> = (); 49 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 50 } 51 52 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for SubmitPlcOperation<'de> { 53 const NSID: &'static str = "com.atproto.identity.submitPlcOperation"; 54 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 55 + "application/json", 56 + ); 57 + type Response = SubmitPlcOperationResponse; 58 + }
+19 -9
crates/jacquard-api/src/com_atproto/identity/update_handle.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UpdateHandle<'a> { ··· 35 ///Response type for 36 ///com.atproto.identity.updateHandle 37 pub struct UpdateHandleResponse; 38 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UpdateHandleResponse { 39 const ENCODING: &'static str = "application/json"; 40 - type Output = (); 41 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 42 } 43 44 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateHandle<'de> { 45 const NSID: &'static str = "com.atproto.identity.updateHandle"; 46 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 47 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 48 - type Response<'de1> = UpdateHandleResponse; 49 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UpdateHandle<'a> { ··· 43 ///Response type for 44 ///com.atproto.identity.updateHandle 45 pub struct UpdateHandleResponse; 46 + impl jacquard_common::xrpc::XrpcResp for UpdateHandleResponse { 47 + const NSID: &'static str = "com.atproto.identity.updateHandle"; 48 const ENCODING: &'static str = "application/json"; 49 + type Output<'de> = (); 50 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 51 } 52 53 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UpdateHandle<'de> { 54 const NSID: &'static str = "com.atproto.identity.updateHandle"; 55 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 56 + "application/json", 57 + ); 58 + type Response = UpdateHandleResponse; 59 + }
+17 -9
crates/jacquard-api/src/com_atproto/label/query_labels.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct QueryLabels<'a> { ··· 60 ///Response type for 61 ///com.atproto.label.queryLabels 62 pub struct QueryLabelsResponse; 63 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for QueryLabelsResponse { 64 const ENCODING: &'static str = "application/json"; 65 - type Output = QueryLabelsOutput<'de>; 66 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 67 } 68 69 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for QueryLabels<'de> { 70 const NSID: &'static str = "com.atproto.label.queryLabels"; 71 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 72 - jacquard_common::types::xrpc::XrpcMethod::Query; 73 - type Response<'de1> = QueryLabelsResponse; 74 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct QueryLabels<'a> { ··· 68 ///Response type for 69 ///com.atproto.label.queryLabels 70 pub struct QueryLabelsResponse; 71 + impl jacquard_common::xrpc::XrpcResp for QueryLabelsResponse { 72 + const NSID: &'static str = "com.atproto.label.queryLabels"; 73 const ENCODING: &'static str = "application/json"; 74 + type Output<'de> = QueryLabelsOutput<'de>; 75 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 76 } 77 78 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for QueryLabels<'de> { 79 const NSID: &'static str = "com.atproto.label.queryLabels"; 80 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 81 + type Response = QueryLabelsResponse; 82 + }
+19 -9
crates/jacquard-api/src/com_atproto/moderation/create_report.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct CreateReport<'a> { ··· 136 ///Response type for 137 ///com.atproto.moderation.createReport 138 pub struct CreateReportResponse; 139 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for CreateReportResponse { 140 const ENCODING: &'static str = "application/json"; 141 - type Output = CreateReportOutput<'de>; 142 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 143 } 144 145 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CreateReport<'de> { 146 const NSID: &'static str = "com.atproto.moderation.createReport"; 147 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 148 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 149 - type Response<'de1> = CreateReportResponse; 150 } 151 152 ///Moderation tool information for tracing the source of the action ··· 172 extra_data: self.extra_data.into_static(), 173 } 174 } 175 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct CreateReport<'a> { ··· 144 ///Response type for 145 ///com.atproto.moderation.createReport 146 pub struct CreateReportResponse; 147 + impl jacquard_common::xrpc::XrpcResp for CreateReportResponse { 148 + const NSID: &'static str = "com.atproto.moderation.createReport"; 149 const ENCODING: &'static str = "application/json"; 150 + type Output<'de> = CreateReportOutput<'de>; 151 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 152 } 153 154 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for CreateReport<'de> { 155 const NSID: &'static str = "com.atproto.moderation.createReport"; 156 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 157 + "application/json", 158 + ); 159 + type Response = CreateReportResponse; 160 } 161 162 ///Moderation tool information for tracing the source of the action ··· 182 extra_data: self.extra_data.into_static(), 183 } 184 } 185 + }
+32 -14
crates/jacquard-api/src/com_atproto/repo/apply_writes.rs
··· 16 #[serde(skip_serializing_if = "std::option::Option::is_none")] 17 #[serde(borrow)] 18 pub rkey: std::option::Option< 19 - jacquard_common::types::string::RecordKey<jacquard_common::types::string::Rkey<'a>>, 20 >, 21 #[serde(borrow)] 22 pub value: jacquard_common::types::value::Data<'a>, ··· 67 #[serde(borrow)] 68 pub collection: jacquard_common::types::string::Nsid<'a>, 69 #[serde(borrow)] 70 - pub rkey: jacquard_common::types::string::RecordKey<jacquard_common::types::string::Rkey<'a>>, 71 } 72 73 impl jacquard_common::IntoStatic for Delete<'_> { ··· 95 } 96 97 #[jacquard_derive::lexicon] 98 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 99 #[serde(rename_all = "camelCase")] 100 #[builder(start_fn = new)] 101 pub struct ApplyWrites<'a> { ··· 165 PartialEq, 166 Eq, 167 thiserror::Error, 168 - miette::Diagnostic, 169 )] 170 #[serde(tag = "error", content = "message")] 171 #[serde(bound(deserialize = "'de: 'a"))] ··· 194 type Output = ApplyWritesError<'static>; 195 fn into_static(self) -> Self::Output { 196 match self { 197 - ApplyWritesError::InvalidSwap(v) => ApplyWritesError::InvalidSwap(v.into_static()), 198 ApplyWritesError::Unknown(v) => ApplyWritesError::Unknown(v.into_static()), 199 } 200 } ··· 203 ///Response type for 204 ///com.atproto.repo.applyWrites 205 pub struct ApplyWritesResponse; 206 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ApplyWritesResponse { 207 const ENCODING: &'static str = "application/json"; 208 - type Output = ApplyWritesOutput<'de>; 209 - type Err = ApplyWritesError<'de>; 210 } 211 212 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ApplyWrites<'de> { 213 const NSID: &'static str = "com.atproto.repo.applyWrites"; 214 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 215 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 216 - type Response<'de1> = ApplyWritesResponse; 217 } 218 219 ///Operation which updates an existing record. ··· 224 #[serde(borrow)] 225 pub collection: jacquard_common::types::string::Nsid<'a>, 226 #[serde(borrow)] 227 - pub rkey: jacquard_common::types::string::RecordKey<jacquard_common::types::string::Rkey<'a>>, 228 #[serde(borrow)] 229 pub value: jacquard_common::types::value::Data<'a>, 230 } ··· 264 extra_data: self.extra_data.into_static(), 265 } 266 } 267 - }
··· 16 #[serde(skip_serializing_if = "std::option::Option::is_none")] 17 #[serde(borrow)] 18 pub rkey: std::option::Option< 19 + jacquard_common::types::string::RecordKey< 20 + jacquard_common::types::string::Rkey<'a>, 21 + >, 22 >, 23 #[serde(borrow)] 24 pub value: jacquard_common::types::value::Data<'a>, ··· 69 #[serde(borrow)] 70 pub collection: jacquard_common::types::string::Nsid<'a>, 71 #[serde(borrow)] 72 + pub rkey: jacquard_common::types::string::RecordKey< 73 + jacquard_common::types::string::Rkey<'a>, 74 + >, 75 } 76 77 impl jacquard_common::IntoStatic for Delete<'_> { ··· 99 } 100 101 #[jacquard_derive::lexicon] 102 + #[derive( 103 + serde::Serialize, 104 + serde::Deserialize, 105 + Debug, 106 + Clone, 107 + PartialEq, 108 + Eq, 109 + bon::Builder 110 + )] 111 #[serde(rename_all = "camelCase")] 112 #[builder(start_fn = new)] 113 pub struct ApplyWrites<'a> { ··· 177 PartialEq, 178 Eq, 179 thiserror::Error, 180 + miette::Diagnostic 181 )] 182 #[serde(tag = "error", content = "message")] 183 #[serde(bound(deserialize = "'de: 'a"))] ··· 206 type Output = ApplyWritesError<'static>; 207 fn into_static(self) -> Self::Output { 208 match self { 209 + ApplyWritesError::InvalidSwap(v) => { 210 + ApplyWritesError::InvalidSwap(v.into_static()) 211 + } 212 ApplyWritesError::Unknown(v) => ApplyWritesError::Unknown(v.into_static()), 213 } 214 } ··· 217 ///Response type for 218 ///com.atproto.repo.applyWrites 219 pub struct ApplyWritesResponse; 220 + impl jacquard_common::xrpc::XrpcResp for ApplyWritesResponse { 221 + const NSID: &'static str = "com.atproto.repo.applyWrites"; 222 const ENCODING: &'static str = "application/json"; 223 + type Output<'de> = ApplyWritesOutput<'de>; 224 + type Err<'de> = ApplyWritesError<'de>; 225 } 226 227 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ApplyWrites<'de> { 228 const NSID: &'static str = "com.atproto.repo.applyWrites"; 229 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 230 + "application/json", 231 + ); 232 + type Response = ApplyWritesResponse; 233 } 234 235 ///Operation which updates an existing record. ··· 240 #[serde(borrow)] 241 pub collection: jacquard_common::types::string::Nsid<'a>, 242 #[serde(borrow)] 243 + pub rkey: jacquard_common::types::string::RecordKey< 244 + jacquard_common::types::string::Rkey<'a>, 245 + >, 246 #[serde(borrow)] 247 pub value: jacquard_common::types::value::Data<'a>, 248 } ··· 282 extra_data: self.extra_data.into_static(), 283 } 284 } 285 + }
+26 -12
crates/jacquard-api/src/com_atproto/repo/create_record.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct CreateRecord<'a> { ··· 23 #[serde(skip_serializing_if = "std::option::Option::is_none")] 24 #[serde(borrow)] 25 pub rkey: std::option::Option< 26 - jacquard_common::types::string::RecordKey<jacquard_common::types::string::Rkey<'a>>, 27 >, 28 ///Compare and swap with the previous commit by CID. 29 #[serde(skip_serializing_if = "std::option::Option::is_none")] ··· 94 PartialEq, 95 Eq, 96 thiserror::Error, 97 - miette::Diagnostic, 98 )] 99 #[serde(tag = "error", content = "message")] 100 #[serde(bound(deserialize = "'de: 'a"))] ··· 123 type Output = CreateRecordError<'static>; 124 fn into_static(self) -> Self::Output { 125 match self { 126 - CreateRecordError::InvalidSwap(v) => CreateRecordError::InvalidSwap(v.into_static()), 127 CreateRecordError::Unknown(v) => CreateRecordError::Unknown(v.into_static()), 128 } 129 } ··· 132 ///Response type for 133 ///com.atproto.repo.createRecord 134 pub struct CreateRecordResponse; 135 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for CreateRecordResponse { 136 const ENCODING: &'static str = "application/json"; 137 - type Output = CreateRecordOutput<'de>; 138 - type Err = CreateRecordError<'de>; 139 } 140 141 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CreateRecord<'de> { 142 const NSID: &'static str = "com.atproto.repo.createRecord"; 143 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 144 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 145 - type Response<'de1> = CreateRecordResponse; 146 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct CreateRecord<'a> { ··· 31 #[serde(skip_serializing_if = "std::option::Option::is_none")] 32 #[serde(borrow)] 33 pub rkey: std::option::Option< 34 + jacquard_common::types::string::RecordKey< 35 + jacquard_common::types::string::Rkey<'a>, 36 + >, 37 >, 38 ///Compare and swap with the previous commit by CID. 39 #[serde(skip_serializing_if = "std::option::Option::is_none")] ··· 104 PartialEq, 105 Eq, 106 thiserror::Error, 107 + miette::Diagnostic 108 )] 109 #[serde(tag = "error", content = "message")] 110 #[serde(bound(deserialize = "'de: 'a"))] ··· 133 type Output = CreateRecordError<'static>; 134 fn into_static(self) -> Self::Output { 135 match self { 136 + CreateRecordError::InvalidSwap(v) => { 137 + CreateRecordError::InvalidSwap(v.into_static()) 138 + } 139 CreateRecordError::Unknown(v) => CreateRecordError::Unknown(v.into_static()), 140 } 141 } ··· 144 ///Response type for 145 ///com.atproto.repo.createRecord 146 pub struct CreateRecordResponse; 147 + impl jacquard_common::xrpc::XrpcResp for CreateRecordResponse { 148 + const NSID: &'static str = "com.atproto.repo.createRecord"; 149 const ENCODING: &'static str = "application/json"; 150 + type Output<'de> = CreateRecordOutput<'de>; 151 + type Err<'de> = CreateRecordError<'de>; 152 } 153 154 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for CreateRecord<'de> { 155 const NSID: &'static str = "com.atproto.repo.createRecord"; 156 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 157 + "application/json", 158 + ); 159 + type Response = CreateRecordResponse; 160 + }
+26 -12
crates/jacquard-api/src/com_atproto/repo/delete_record.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct DeleteRecord<'a> { ··· 18 pub repo: jacquard_common::types::ident::AtIdentifier<'a>, 19 ///The Record Key. 20 #[serde(borrow)] 21 - pub rkey: jacquard_common::types::string::RecordKey<jacquard_common::types::string::Rkey<'a>>, 22 ///Compare and swap with the previous commit by CID. 23 #[serde(skip_serializing_if = "std::option::Option::is_none")] 24 #[serde(borrow)] ··· 78 PartialEq, 79 Eq, 80 thiserror::Error, 81 - miette::Diagnostic, 82 )] 83 #[serde(tag = "error", content = "message")] 84 #[serde(bound(deserialize = "'de: 'a"))] ··· 106 type Output = DeleteRecordError<'static>; 107 fn into_static(self) -> Self::Output { 108 match self { 109 - DeleteRecordError::InvalidSwap(v) => DeleteRecordError::InvalidSwap(v.into_static()), 110 DeleteRecordError::Unknown(v) => DeleteRecordError::Unknown(v.into_static()), 111 } 112 } ··· 115 ///Response type for 116 ///com.atproto.repo.deleteRecord 117 pub struct DeleteRecordResponse; 118 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for DeleteRecordResponse { 119 const ENCODING: &'static str = "application/json"; 120 - type Output = DeleteRecordOutput<'de>; 121 - type Err = DeleteRecordError<'de>; 122 } 123 124 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteRecord<'de> { 125 const NSID: &'static str = "com.atproto.repo.deleteRecord"; 126 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 127 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 128 - type Response<'de1> = DeleteRecordResponse; 129 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct DeleteRecord<'a> { ··· 26 pub repo: jacquard_common::types::ident::AtIdentifier<'a>, 27 ///The Record Key. 28 #[serde(borrow)] 29 + pub rkey: jacquard_common::types::string::RecordKey< 30 + jacquard_common::types::string::Rkey<'a>, 31 + >, 32 ///Compare and swap with the previous commit by CID. 33 #[serde(skip_serializing_if = "std::option::Option::is_none")] 34 #[serde(borrow)] ··· 88 PartialEq, 89 Eq, 90 thiserror::Error, 91 + miette::Diagnostic 92 )] 93 #[serde(tag = "error", content = "message")] 94 #[serde(bound(deserialize = "'de: 'a"))] ··· 116 type Output = DeleteRecordError<'static>; 117 fn into_static(self) -> Self::Output { 118 match self { 119 + DeleteRecordError::InvalidSwap(v) => { 120 + DeleteRecordError::InvalidSwap(v.into_static()) 121 + } 122 DeleteRecordError::Unknown(v) => DeleteRecordError::Unknown(v.into_static()), 123 } 124 } ··· 127 ///Response type for 128 ///com.atproto.repo.deleteRecord 129 pub struct DeleteRecordResponse; 130 + impl jacquard_common::xrpc::XrpcResp for DeleteRecordResponse { 131 + const NSID: &'static str = "com.atproto.repo.deleteRecord"; 132 const ENCODING: &'static str = "application/json"; 133 + type Output<'de> = DeleteRecordOutput<'de>; 134 + type Err<'de> = DeleteRecordError<'de>; 135 } 136 137 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for DeleteRecord<'de> { 138 const NSID: &'static str = "com.atproto.repo.deleteRecord"; 139 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 140 + "application/json", 141 + ); 142 + type Response = DeleteRecordResponse; 143 + }
+17 -9
crates/jacquard-api/src/com_atproto/repo/describe_repo.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct DescribeRepo<'a> { ··· 57 ///Response type for 58 ///com.atproto.repo.describeRepo 59 pub struct DescribeRepoResponse; 60 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for DescribeRepoResponse { 61 const ENCODING: &'static str = "application/json"; 62 - type Output = DescribeRepoOutput<'de>; 63 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 64 } 65 66 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DescribeRepo<'de> { 67 const NSID: &'static str = "com.atproto.repo.describeRepo"; 68 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 69 - jacquard_common::types::xrpc::XrpcMethod::Query; 70 - type Response<'de1> = DescribeRepoResponse; 71 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct DescribeRepo<'a> { ··· 65 ///Response type for 66 ///com.atproto.repo.describeRepo 67 pub struct DescribeRepoResponse; 68 + impl jacquard_common::xrpc::XrpcResp for DescribeRepoResponse { 69 + const NSID: &'static str = "com.atproto.repo.describeRepo"; 70 const ENCODING: &'static str = "application/json"; 71 + type Output<'de> = DescribeRepoOutput<'de>; 72 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 73 } 74 75 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for DescribeRepo<'de> { 76 const NSID: &'static str = "com.atproto.repo.describeRepo"; 77 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 78 + type Response = DescribeRepoResponse; 79 + }
+24 -12
crates/jacquard-api/src/com_atproto/repo/get_record.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetRecord<'a> { ··· 17 #[serde(borrow)] 18 pub repo: jacquard_common::types::ident::AtIdentifier<'a>, 19 #[serde(borrow)] 20 - pub rkey: jacquard_common::types::string::RecordKey<jacquard_common::types::string::Rkey<'a>>, 21 } 22 23 impl jacquard_common::IntoStatic for GetRecord<'_> { ··· 66 PartialEq, 67 Eq, 68 thiserror::Error, 69 - miette::Diagnostic, 70 )] 71 #[serde(tag = "error", content = "message")] 72 #[serde(bound(deserialize = "'de: 'a"))] ··· 94 type Output = GetRecordError<'static>; 95 fn into_static(self) -> Self::Output { 96 match self { 97 - GetRecordError::RecordNotFound(v) => GetRecordError::RecordNotFound(v.into_static()), 98 GetRecordError::Unknown(v) => GetRecordError::Unknown(v.into_static()), 99 } 100 } ··· 103 ///Response type for 104 ///com.atproto.repo.getRecord 105 pub struct GetRecordResponse; 106 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetRecordResponse { 107 const ENCODING: &'static str = "application/json"; 108 - type Output = GetRecordOutput<'de>; 109 - type Err = GetRecordError<'de>; 110 } 111 112 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRecord<'de> { 113 const NSID: &'static str = "com.atproto.repo.getRecord"; 114 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 115 - jacquard_common::types::xrpc::XrpcMethod::Query; 116 - type Response<'de1> = GetRecordResponse; 117 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetRecord<'a> { ··· 25 #[serde(borrow)] 26 pub repo: jacquard_common::types::ident::AtIdentifier<'a>, 27 #[serde(borrow)] 28 + pub rkey: jacquard_common::types::string::RecordKey< 29 + jacquard_common::types::string::Rkey<'a>, 30 + >, 31 } 32 33 impl jacquard_common::IntoStatic for GetRecord<'_> { ··· 76 PartialEq, 77 Eq, 78 thiserror::Error, 79 + miette::Diagnostic 80 )] 81 #[serde(tag = "error", content = "message")] 82 #[serde(bound(deserialize = "'de: 'a"))] ··· 104 type Output = GetRecordError<'static>; 105 fn into_static(self) -> Self::Output { 106 match self { 107 + GetRecordError::RecordNotFound(v) => { 108 + GetRecordError::RecordNotFound(v.into_static()) 109 + } 110 GetRecordError::Unknown(v) => GetRecordError::Unknown(v.into_static()), 111 } 112 } ··· 115 ///Response type for 116 ///com.atproto.repo.getRecord 117 pub struct GetRecordResponse; 118 + impl jacquard_common::xrpc::XrpcResp for GetRecordResponse { 119 + const NSID: &'static str = "com.atproto.repo.getRecord"; 120 const ENCODING: &'static str = "application/json"; 121 + type Output<'de> = GetRecordOutput<'de>; 122 + type Err<'de> = GetRecordError<'de>; 123 } 124 125 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetRecord<'de> { 126 const NSID: &'static str = "com.atproto.repo.getRecord"; 127 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 128 + type Response = GetRecordResponse; 129 + }
+28 -14
crates/jacquard-api/src/com_atproto/repo/import_repo.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct ImportRepo { ··· 22 ///Response type for 23 ///com.atproto.repo.importRepo 24 pub struct ImportRepoResponse; 25 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ImportRepoResponse { 26 const ENCODING: &'static str = "application/json"; 27 - type Output = (); 28 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 29 } 30 31 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ImportRepo { 32 const NSID: &'static str = "com.atproto.repo.importRepo"; 33 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 34 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/vnd.ipld.car"); 35 - type Response<'de1> = ImportRepoResponse; 36 - fn encode_body(&self) -> Result<Vec<u8>, jacquard_common::types::xrpc::EncodeError> { 37 Ok(self.body.to_vec()) 38 } 39 - fn decode_body(body: &'de [u8]) -> Result<Box<Self>, jacquard_common::error::DecodeError> { 40 - Ok(Box::new(Self { 41 - body: bytes::Bytes::copy_from_slice(body), 42 - })) 43 } 44 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct ImportRepo { ··· 30 ///Response type for 31 ///com.atproto.repo.importRepo 32 pub struct ImportRepoResponse; 33 + impl jacquard_common::xrpc::XrpcResp for ImportRepoResponse { 34 + const NSID: &'static str = "com.atproto.repo.importRepo"; 35 const ENCODING: &'static str = "application/json"; 36 + type Output<'de> = (); 37 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 38 } 39 40 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ImportRepo { 41 const NSID: &'static str = "com.atproto.repo.importRepo"; 42 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 43 + "application/vnd.ipld.car", 44 + ); 45 + type Response = ImportRepoResponse; 46 + fn encode_body(&self) -> Result<Vec<u8>, jacquard_common::xrpc::EncodeError> { 47 Ok(self.body.to_vec()) 48 } 49 + fn decode_body( 50 + body: &'de [u8], 51 + ) -> Result<Box<Self>, jacquard_common::error::DecodeError> { 52 + Ok( 53 + Box::new(Self { 54 + body: bytes::Bytes::copy_from_slice(body), 55 + }), 56 + ) 57 } 58 + }
+17 -9
crates/jacquard-api/src/com_atproto/repo/list_missing_blobs.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct ListMissingBlobs<'a> { ··· 53 ///Response type for 54 ///com.atproto.repo.listMissingBlobs 55 pub struct ListMissingBlobsResponse; 56 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ListMissingBlobsResponse { 57 const ENCODING: &'static str = "application/json"; 58 - type Output = ListMissingBlobsOutput<'de>; 59 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 60 } 61 62 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListMissingBlobs<'de> { 63 const NSID: &'static str = "com.atproto.repo.listMissingBlobs"; 64 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 65 - jacquard_common::types::xrpc::XrpcMethod::Query; 66 - type Response<'de1> = ListMissingBlobsResponse; 67 } 68 69 #[jacquard_derive::lexicon] ··· 85 extra_data: self.extra_data.into_static(), 86 } 87 } 88 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct ListMissingBlobs<'a> { ··· 61 ///Response type for 62 ///com.atproto.repo.listMissingBlobs 63 pub struct ListMissingBlobsResponse; 64 + impl jacquard_common::xrpc::XrpcResp for ListMissingBlobsResponse { 65 + const NSID: &'static str = "com.atproto.repo.listMissingBlobs"; 66 const ENCODING: &'static str = "application/json"; 67 + type Output<'de> = ListMissingBlobsOutput<'de>; 68 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 69 } 70 71 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ListMissingBlobs<'de> { 72 const NSID: &'static str = "com.atproto.repo.listMissingBlobs"; 73 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 74 + type Response = ListMissingBlobsResponse; 75 } 76 77 #[jacquard_derive::lexicon] ··· 93 extra_data: self.extra_data.into_static(), 94 } 95 } 96 + }
+17 -9
crates/jacquard-api/src/com_atproto/repo/list_records.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct ListRecords<'a> { ··· 62 ///Response type for 63 ///com.atproto.repo.listRecords 64 pub struct ListRecordsResponse; 65 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ListRecordsResponse { 66 const ENCODING: &'static str = "application/json"; 67 - type Output = ListRecordsOutput<'de>; 68 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 69 } 70 71 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListRecords<'de> { 72 const NSID: &'static str = "com.atproto.repo.listRecords"; 73 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 74 - jacquard_common::types::xrpc::XrpcMethod::Query; 75 - type Response<'de1> = ListRecordsResponse; 76 } 77 78 #[jacquard_derive::lexicon] ··· 97 extra_data: self.extra_data.into_static(), 98 } 99 } 100 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct ListRecords<'a> { ··· 70 ///Response type for 71 ///com.atproto.repo.listRecords 72 pub struct ListRecordsResponse; 73 + impl jacquard_common::xrpc::XrpcResp for ListRecordsResponse { 74 + const NSID: &'static str = "com.atproto.repo.listRecords"; 75 const ENCODING: &'static str = "application/json"; 76 + type Output<'de> = ListRecordsOutput<'de>; 77 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 78 } 79 80 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ListRecords<'de> { 81 const NSID: &'static str = "com.atproto.repo.listRecords"; 82 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 83 + type Response = ListRecordsResponse; 84 } 85 86 #[jacquard_derive::lexicon] ··· 105 extra_data: self.extra_data.into_static(), 106 } 107 } 108 + }
+26 -12
crates/jacquard-api/src/com_atproto/repo/put_record.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct PutRecord<'a> { ··· 21 pub repo: jacquard_common::types::ident::AtIdentifier<'a>, 22 ///The Record Key. 23 #[serde(borrow)] 24 - pub rkey: jacquard_common::types::string::RecordKey<jacquard_common::types::string::Rkey<'a>>, 25 ///Compare and swap with the previous commit by CID. 26 #[serde(skip_serializing_if = "std::option::Option::is_none")] 27 #[serde(borrow)] ··· 96 PartialEq, 97 Eq, 98 thiserror::Error, 99 - miette::Diagnostic, 100 )] 101 #[serde(tag = "error", content = "message")] 102 #[serde(bound(deserialize = "'de: 'a"))] ··· 124 type Output = PutRecordError<'static>; 125 fn into_static(self) -> Self::Output { 126 match self { 127 - PutRecordError::InvalidSwap(v) => PutRecordError::InvalidSwap(v.into_static()), 128 PutRecordError::Unknown(v) => PutRecordError::Unknown(v.into_static()), 129 } 130 } ··· 133 ///Response type for 134 ///com.atproto.repo.putRecord 135 pub struct PutRecordResponse; 136 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for PutRecordResponse { 137 const ENCODING: &'static str = "application/json"; 138 - type Output = PutRecordOutput<'de>; 139 - type Err = PutRecordError<'de>; 140 } 141 142 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for PutRecord<'de> { 143 const NSID: &'static str = "com.atproto.repo.putRecord"; 144 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 145 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 146 - type Response<'de1> = PutRecordResponse; 147 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct PutRecord<'a> { ··· 29 pub repo: jacquard_common::types::ident::AtIdentifier<'a>, 30 ///The Record Key. 31 #[serde(borrow)] 32 + pub rkey: jacquard_common::types::string::RecordKey< 33 + jacquard_common::types::string::Rkey<'a>, 34 + >, 35 ///Compare and swap with the previous commit by CID. 36 #[serde(skip_serializing_if = "std::option::Option::is_none")] 37 #[serde(borrow)] ··· 106 PartialEq, 107 Eq, 108 thiserror::Error, 109 + miette::Diagnostic 110 )] 111 #[serde(tag = "error", content = "message")] 112 #[serde(bound(deserialize = "'de: 'a"))] ··· 134 type Output = PutRecordError<'static>; 135 fn into_static(self) -> Self::Output { 136 match self { 137 + PutRecordError::InvalidSwap(v) => { 138 + PutRecordError::InvalidSwap(v.into_static()) 139 + } 140 PutRecordError::Unknown(v) => PutRecordError::Unknown(v.into_static()), 141 } 142 } ··· 145 ///Response type for 146 ///com.atproto.repo.putRecord 147 pub struct PutRecordResponse; 148 + impl jacquard_common::xrpc::XrpcResp for PutRecordResponse { 149 + const NSID: &'static str = "com.atproto.repo.putRecord"; 150 const ENCODING: &'static str = "application/json"; 151 + type Output<'de> = PutRecordOutput<'de>; 152 + type Err<'de> = PutRecordError<'de>; 153 } 154 155 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for PutRecord<'de> { 156 const NSID: &'static str = "com.atproto.repo.putRecord"; 157 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 158 + "application/json", 159 + ); 160 + type Response = PutRecordResponse; 161 + }
+28 -14
crates/jacquard-api/src/com_atproto/repo/upload_blob.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct UploadBlob { ··· 40 ///Response type for 41 ///com.atproto.repo.uploadBlob 42 pub struct UploadBlobResponse; 43 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UploadBlobResponse { 44 const ENCODING: &'static str = "application/json"; 45 - type Output = UploadBlobOutput<'de>; 46 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 47 } 48 49 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UploadBlob { 50 const NSID: &'static str = "com.atproto.repo.uploadBlob"; 51 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 52 - jacquard_common::types::xrpc::XrpcMethod::Procedure("*/*"); 53 - type Response<'de1> = UploadBlobResponse; 54 - fn encode_body(&self) -> Result<Vec<u8>, jacquard_common::types::xrpc::EncodeError> { 55 Ok(self.body.to_vec()) 56 } 57 - fn decode_body(body: &'de [u8]) -> Result<Box<Self>, jacquard_common::error::DecodeError> { 58 - Ok(Box::new(Self { 59 - body: bytes::Bytes::copy_from_slice(body), 60 - })) 61 } 62 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct UploadBlob { ··· 48 ///Response type for 49 ///com.atproto.repo.uploadBlob 50 pub struct UploadBlobResponse; 51 + impl jacquard_common::xrpc::XrpcResp for UploadBlobResponse { 52 + const NSID: &'static str = "com.atproto.repo.uploadBlob"; 53 const ENCODING: &'static str = "application/json"; 54 + type Output<'de> = UploadBlobOutput<'de>; 55 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 56 } 57 58 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UploadBlob { 59 const NSID: &'static str = "com.atproto.repo.uploadBlob"; 60 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 61 + "*/*", 62 + ); 63 + type Response = UploadBlobResponse; 64 + fn encode_body(&self) -> Result<Vec<u8>, jacquard_common::xrpc::EncodeError> { 65 Ok(self.body.to_vec()) 66 } 67 + fn decode_body( 68 + body: &'de [u8], 69 + ) -> Result<Box<Self>, jacquard_common::error::DecodeError> { 70 + Ok( 71 + Box::new(Self { 72 + body: bytes::Bytes::copy_from_slice(body), 73 + }), 74 + ) 75 } 76 + }
+10 -8
crates/jacquard-api/src/com_atproto/server/activate_account.rs
··· 11 ///Response type for 12 ///com.atproto.server.activateAccount 13 pub struct ActivateAccountResponse; 14 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ActivateAccountResponse { 15 const ENCODING: &'static str = "application/json"; 16 - type Output = (); 17 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 18 } 19 20 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ActivateAccount { 21 const NSID: &'static str = "com.atproto.server.activateAccount"; 22 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 23 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 24 - type Response<'de1> = ActivateAccountResponse; 25 - }
··· 11 ///Response type for 12 ///com.atproto.server.activateAccount 13 pub struct ActivateAccountResponse; 14 + impl jacquard_common::xrpc::XrpcResp for ActivateAccountResponse { 15 + const NSID: &'static str = "com.atproto.server.activateAccount"; 16 const ENCODING: &'static str = "application/json"; 17 + type Output<'de> = (); 18 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 19 } 20 21 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ActivateAccount { 22 const NSID: &'static str = "com.atproto.server.activateAccount"; 23 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 24 + "application/json", 25 + ); 26 + type Response = ActivateAccountResponse; 27 + }
+8 -8
crates/jacquard-api/src/com_atproto/server/check_account_status.rs
··· 46 ///Response type for 47 ///com.atproto.server.checkAccountStatus 48 pub struct CheckAccountStatusResponse; 49 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for CheckAccountStatusResponse { 50 const ENCODING: &'static str = "application/json"; 51 - type Output = CheckAccountStatusOutput<'de>; 52 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 53 } 54 55 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CheckAccountStatus { 56 const NSID: &'static str = "com.atproto.server.checkAccountStatus"; 57 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 58 - jacquard_common::types::xrpc::XrpcMethod::Query; 59 - type Response<'de1> = CheckAccountStatusResponse; 60 - }
··· 46 ///Response type for 47 ///com.atproto.server.checkAccountStatus 48 pub struct CheckAccountStatusResponse; 49 + impl jacquard_common::xrpc::XrpcResp for CheckAccountStatusResponse { 50 + const NSID: &'static str = "com.atproto.server.checkAccountStatus"; 51 const ENCODING: &'static str = "application/json"; 52 + type Output<'de> = CheckAccountStatusOutput<'de>; 53 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 54 } 55 56 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for CheckAccountStatus { 57 const NSID: &'static str = "com.atproto.server.checkAccountStatus"; 58 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 59 + type Response = CheckAccountStatusResponse; 60 + }
+29 -13
crates/jacquard-api/src/com_atproto/server/confirm_email.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct ConfirmEmail<'a> { ··· 45 PartialEq, 46 Eq, 47 thiserror::Error, 48 - miette::Diagnostic, 49 )] 50 #[serde(tag = "error", content = "message")] 51 #[serde(bound(deserialize = "'de: 'a"))] ··· 103 ConfirmEmailError::AccountNotFound(v) => { 104 ConfirmEmailError::AccountNotFound(v.into_static()) 105 } 106 - ConfirmEmailError::ExpiredToken(v) => ConfirmEmailError::ExpiredToken(v.into_static()), 107 - ConfirmEmailError::InvalidToken(v) => ConfirmEmailError::InvalidToken(v.into_static()), 108 - ConfirmEmailError::InvalidEmail(v) => ConfirmEmailError::InvalidEmail(v.into_static()), 109 ConfirmEmailError::Unknown(v) => ConfirmEmailError::Unknown(v.into_static()), 110 } 111 } ··· 114 ///Response type for 115 ///com.atproto.server.confirmEmail 116 pub struct ConfirmEmailResponse; 117 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ConfirmEmailResponse { 118 const ENCODING: &'static str = "application/json"; 119 - type Output = (); 120 - type Err = ConfirmEmailError<'de>; 121 } 122 123 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ConfirmEmail<'de> { 124 const NSID: &'static str = "com.atproto.server.confirmEmail"; 125 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 126 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 127 - type Response<'de1> = ConfirmEmailResponse; 128 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct ConfirmEmail<'a> { ··· 53 PartialEq, 54 Eq, 55 thiserror::Error, 56 + miette::Diagnostic 57 )] 58 #[serde(tag = "error", content = "message")] 59 #[serde(bound(deserialize = "'de: 'a"))] ··· 111 ConfirmEmailError::AccountNotFound(v) => { 112 ConfirmEmailError::AccountNotFound(v.into_static()) 113 } 114 + ConfirmEmailError::ExpiredToken(v) => { 115 + ConfirmEmailError::ExpiredToken(v.into_static()) 116 + } 117 + ConfirmEmailError::InvalidToken(v) => { 118 + ConfirmEmailError::InvalidToken(v.into_static()) 119 + } 120 + ConfirmEmailError::InvalidEmail(v) => { 121 + ConfirmEmailError::InvalidEmail(v.into_static()) 122 + } 123 ConfirmEmailError::Unknown(v) => ConfirmEmailError::Unknown(v.into_static()), 124 } 125 } ··· 128 ///Response type for 129 ///com.atproto.server.confirmEmail 130 pub struct ConfirmEmailResponse; 131 + impl jacquard_common::xrpc::XrpcResp for ConfirmEmailResponse { 132 + const NSID: &'static str = "com.atproto.server.confirmEmail"; 133 const ENCODING: &'static str = "application/json"; 134 + type Output<'de> = (); 135 + type Err<'de> = ConfirmEmailError<'de>; 136 } 137 138 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ConfirmEmail<'de> { 139 const NSID: &'static str = "com.atproto.server.confirmEmail"; 140 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 141 + "application/json", 142 + ); 143 + type Response = ConfirmEmailResponse; 144 + }
+23 -11
crates/jacquard-api/src/com_atproto/server/create_account.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct CreateAccount<'a> { ··· 116 PartialEq, 117 Eq, 118 thiserror::Error, 119 - miette::Diagnostic, 120 )] 121 #[serde(tag = "error", content = "message")] 122 #[serde(bound(deserialize = "'de: 'a"))] ··· 219 CreateAccountError::IncompatibleDidDoc(v) => { 220 CreateAccountError::IncompatibleDidDoc(v.into_static()) 221 } 222 - CreateAccountError::Unknown(v) => CreateAccountError::Unknown(v.into_static()), 223 } 224 } 225 } ··· 227 ///Response type for 228 ///com.atproto.server.createAccount 229 pub struct CreateAccountResponse; 230 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for CreateAccountResponse { 231 const ENCODING: &'static str = "application/json"; 232 - type Output = CreateAccountOutput<'de>; 233 - type Err = CreateAccountError<'de>; 234 } 235 236 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CreateAccount<'de> { 237 const NSID: &'static str = "com.atproto.server.createAccount"; 238 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 239 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 240 - type Response<'de1> = CreateAccountResponse; 241 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct CreateAccount<'a> { ··· 124 PartialEq, 125 Eq, 126 thiserror::Error, 127 + miette::Diagnostic 128 )] 129 #[serde(tag = "error", content = "message")] 130 #[serde(bound(deserialize = "'de: 'a"))] ··· 227 CreateAccountError::IncompatibleDidDoc(v) => { 228 CreateAccountError::IncompatibleDidDoc(v.into_static()) 229 } 230 + CreateAccountError::Unknown(v) => { 231 + CreateAccountError::Unknown(v.into_static()) 232 + } 233 } 234 } 235 } ··· 237 ///Response type for 238 ///com.atproto.server.createAccount 239 pub struct CreateAccountResponse; 240 + impl jacquard_common::xrpc::XrpcResp for CreateAccountResponse { 241 + const NSID: &'static str = "com.atproto.server.createAccount"; 242 const ENCODING: &'static str = "application/json"; 243 + type Output<'de> = CreateAccountOutput<'de>; 244 + type Err<'de> = CreateAccountError<'de>; 245 } 246 247 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for CreateAccount<'de> { 248 const NSID: &'static str = "com.atproto.server.createAccount"; 249 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 250 + "application/json", 251 + ); 252 + type Response = CreateAccountResponse; 253 + }
+23 -11
crates/jacquard-api/src/com_atproto/server/create_app_password.rs
··· 32 } 33 34 #[jacquard_derive::lexicon] 35 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 36 #[serde(rename_all = "camelCase")] 37 #[builder(start_fn = new)] 38 pub struct CreateAppPassword<'a> { ··· 91 PartialEq, 92 Eq, 93 thiserror::Error, 94 - miette::Diagnostic, 95 )] 96 #[serde(tag = "error", content = "message")] 97 #[serde(bound(deserialize = "'de: 'a"))] ··· 122 CreateAppPasswordError::AccountTakedown(v) => { 123 CreateAppPasswordError::AccountTakedown(v.into_static()) 124 } 125 - CreateAppPasswordError::Unknown(v) => CreateAppPasswordError::Unknown(v.into_static()), 126 } 127 } 128 } ··· 130 ///Response type for 131 ///com.atproto.server.createAppPassword 132 pub struct CreateAppPasswordResponse; 133 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for CreateAppPasswordResponse { 134 const ENCODING: &'static str = "application/json"; 135 - type Output = CreateAppPasswordOutput<'de>; 136 - type Err = CreateAppPasswordError<'de>; 137 } 138 139 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CreateAppPassword<'de> { 140 const NSID: &'static str = "com.atproto.server.createAppPassword"; 141 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 142 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 143 - type Response<'de1> = CreateAppPasswordResponse; 144 - }
··· 32 } 33 34 #[jacquard_derive::lexicon] 35 + #[derive( 36 + serde::Serialize, 37 + serde::Deserialize, 38 + Debug, 39 + Clone, 40 + PartialEq, 41 + Eq, 42 + bon::Builder 43 + )] 44 #[serde(rename_all = "camelCase")] 45 #[builder(start_fn = new)] 46 pub struct CreateAppPassword<'a> { ··· 99 PartialEq, 100 Eq, 101 thiserror::Error, 102 + miette::Diagnostic 103 )] 104 #[serde(tag = "error", content = "message")] 105 #[serde(bound(deserialize = "'de: 'a"))] ··· 130 CreateAppPasswordError::AccountTakedown(v) => { 131 CreateAppPasswordError::AccountTakedown(v.into_static()) 132 } 133 + CreateAppPasswordError::Unknown(v) => { 134 + CreateAppPasswordError::Unknown(v.into_static()) 135 + } 136 } 137 } 138 } ··· 140 ///Response type for 141 ///com.atproto.server.createAppPassword 142 pub struct CreateAppPasswordResponse; 143 + impl jacquard_common::xrpc::XrpcResp for CreateAppPasswordResponse { 144 + const NSID: &'static str = "com.atproto.server.createAppPassword"; 145 const ENCODING: &'static str = "application/json"; 146 + type Output<'de> = CreateAppPasswordOutput<'de>; 147 + type Err<'de> = CreateAppPasswordError<'de>; 148 } 149 150 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for CreateAppPassword<'de> { 151 const NSID: &'static str = "com.atproto.server.createAppPassword"; 152 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 153 + "application/json", 154 + ); 155 + type Response = CreateAppPasswordResponse; 156 + }
+19 -9
crates/jacquard-api/src/com_atproto/server/create_invite_code.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct CreateInviteCode<'a> { ··· 55 ///Response type for 56 ///com.atproto.server.createInviteCode 57 pub struct CreateInviteCodeResponse; 58 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for CreateInviteCodeResponse { 59 const ENCODING: &'static str = "application/json"; 60 - type Output = CreateInviteCodeOutput<'de>; 61 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 62 } 63 64 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CreateInviteCode<'de> { 65 const NSID: &'static str = "com.atproto.server.createInviteCode"; 66 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 67 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 68 - type Response<'de1> = CreateInviteCodeResponse; 69 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct CreateInviteCode<'a> { ··· 63 ///Response type for 64 ///com.atproto.server.createInviteCode 65 pub struct CreateInviteCodeResponse; 66 + impl jacquard_common::xrpc::XrpcResp for CreateInviteCodeResponse { 67 + const NSID: &'static str = "com.atproto.server.createInviteCode"; 68 const ENCODING: &'static str = "application/json"; 69 + type Output<'de> = CreateInviteCodeOutput<'de>; 70 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 71 } 72 73 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for CreateInviteCode<'de> { 74 const NSID: &'static str = "com.atproto.server.createInviteCode"; 75 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 76 + "application/json", 77 + ); 78 + type Response = CreateInviteCodeResponse; 79 + }
+19 -9
crates/jacquard-api/src/com_atproto/server/create_invite_codes.rs
··· 27 } 28 29 #[jacquard_derive::lexicon] 30 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 31 #[serde(rename_all = "camelCase")] 32 #[builder(start_fn = new)] 33 pub struct CreateInviteCodes<'a> { ··· 78 ///Response type for 79 ///com.atproto.server.createInviteCodes 80 pub struct CreateInviteCodesResponse; 81 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for CreateInviteCodesResponse { 82 const ENCODING: &'static str = "application/json"; 83 - type Output = CreateInviteCodesOutput<'de>; 84 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 85 } 86 87 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CreateInviteCodes<'de> { 88 const NSID: &'static str = "com.atproto.server.createInviteCodes"; 89 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 90 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 91 - type Response<'de1> = CreateInviteCodesResponse; 92 - }
··· 27 } 28 29 #[jacquard_derive::lexicon] 30 + #[derive( 31 + serde::Serialize, 32 + serde::Deserialize, 33 + Debug, 34 + Clone, 35 + PartialEq, 36 + Eq, 37 + bon::Builder 38 + )] 39 #[serde(rename_all = "camelCase")] 40 #[builder(start_fn = new)] 41 pub struct CreateInviteCodes<'a> { ··· 86 ///Response type for 87 ///com.atproto.server.createInviteCodes 88 pub struct CreateInviteCodesResponse; 89 + impl jacquard_common::xrpc::XrpcResp for CreateInviteCodesResponse { 90 + const NSID: &'static str = "com.atproto.server.createInviteCodes"; 91 const ENCODING: &'static str = "application/json"; 92 + type Output<'de> = CreateInviteCodesOutput<'de>; 93 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 94 } 95 96 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for CreateInviteCodes<'de> { 97 const NSID: &'static str = "com.atproto.server.createInviteCodes"; 98 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 99 + "application/json", 100 + ); 101 + type Response = CreateInviteCodesResponse; 102 + }
+23 -11
crates/jacquard-api/src/com_atproto/server/create_session.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct CreateSession<'a> { ··· 104 PartialEq, 105 Eq, 106 thiserror::Error, 107 - miette::Diagnostic, 108 )] 109 #[serde(tag = "error", content = "message")] 110 #[serde(bound(deserialize = "'de: 'a"))] ··· 147 CreateSessionError::AuthFactorTokenRequired(v) => { 148 CreateSessionError::AuthFactorTokenRequired(v.into_static()) 149 } 150 - CreateSessionError::Unknown(v) => CreateSessionError::Unknown(v.into_static()), 151 } 152 } 153 } ··· 155 ///Response type for 156 ///com.atproto.server.createSession 157 pub struct CreateSessionResponse; 158 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for CreateSessionResponse { 159 const ENCODING: &'static str = "application/json"; 160 - type Output = CreateSessionOutput<'de>; 161 - type Err = CreateSessionError<'de>; 162 } 163 164 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CreateSession<'de> { 165 const NSID: &'static str = "com.atproto.server.createSession"; 166 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 167 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 168 - type Response<'de1> = CreateSessionResponse; 169 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct CreateSession<'a> { ··· 112 PartialEq, 113 Eq, 114 thiserror::Error, 115 + miette::Diagnostic 116 )] 117 #[serde(tag = "error", content = "message")] 118 #[serde(bound(deserialize = "'de: 'a"))] ··· 155 CreateSessionError::AuthFactorTokenRequired(v) => { 156 CreateSessionError::AuthFactorTokenRequired(v.into_static()) 157 } 158 + CreateSessionError::Unknown(v) => { 159 + CreateSessionError::Unknown(v.into_static()) 160 + } 161 } 162 } 163 } ··· 165 ///Response type for 166 ///com.atproto.server.createSession 167 pub struct CreateSessionResponse; 168 + impl jacquard_common::xrpc::XrpcResp for CreateSessionResponse { 169 + const NSID: &'static str = "com.atproto.server.createSession"; 170 const ENCODING: &'static str = "application/json"; 171 + type Output<'de> = CreateSessionOutput<'de>; 172 + type Err<'de> = CreateSessionError<'de>; 173 } 174 175 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for CreateSession<'de> { 176 const NSID: &'static str = "com.atproto.server.createSession"; 177 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 178 + "application/json", 179 + ); 180 + type Response = CreateSessionResponse; 181 + }
+19 -9
crates/jacquard-api/src/com_atproto/server/deactivate_account.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct DeactivateAccount<'a> { ··· 35 ///Response type for 36 ///com.atproto.server.deactivateAccount 37 pub struct DeactivateAccountResponse; 38 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for DeactivateAccountResponse { 39 const ENCODING: &'static str = "application/json"; 40 - type Output = (); 41 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 42 } 43 44 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeactivateAccount<'de> { 45 const NSID: &'static str = "com.atproto.server.deactivateAccount"; 46 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 47 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 48 - type Response<'de1> = DeactivateAccountResponse; 49 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct DeactivateAccount<'a> { ··· 43 ///Response type for 44 ///com.atproto.server.deactivateAccount 45 pub struct DeactivateAccountResponse; 46 + impl jacquard_common::xrpc::XrpcResp for DeactivateAccountResponse { 47 + const NSID: &'static str = "com.atproto.server.deactivateAccount"; 48 const ENCODING: &'static str = "application/json"; 49 + type Output<'de> = (); 50 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 51 } 52 53 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for DeactivateAccount<'de> { 54 const NSID: &'static str = "com.atproto.server.deactivateAccount"; 55 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 56 + "application/json", 57 + ); 58 + type Response = DeactivateAccountResponse; 59 + }
+23 -11
crates/jacquard-api/src/com_atproto/server/delete_account.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct DeleteAccount<'a> { ··· 48 PartialEq, 49 Eq, 50 thiserror::Error, 51 - miette::Diagnostic, 52 )] 53 #[serde(tag = "error", content = "message")] 54 #[serde(bound(deserialize = "'de: 'a"))] ··· 91 DeleteAccountError::InvalidToken(v) => { 92 DeleteAccountError::InvalidToken(v.into_static()) 93 } 94 - DeleteAccountError::Unknown(v) => DeleteAccountError::Unknown(v.into_static()), 95 } 96 } 97 } ··· 99 ///Response type for 100 ///com.atproto.server.deleteAccount 101 pub struct DeleteAccountResponse; 102 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for DeleteAccountResponse { 103 const ENCODING: &'static str = "application/json"; 104 - type Output = (); 105 - type Err = DeleteAccountError<'de>; 106 } 107 108 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteAccount<'de> { 109 const NSID: &'static str = "com.atproto.server.deleteAccount"; 110 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 111 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 112 - type Response<'de1> = DeleteAccountResponse; 113 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct DeleteAccount<'a> { ··· 56 PartialEq, 57 Eq, 58 thiserror::Error, 59 + miette::Diagnostic 60 )] 61 #[serde(tag = "error", content = "message")] 62 #[serde(bound(deserialize = "'de: 'a"))] ··· 99 DeleteAccountError::InvalidToken(v) => { 100 DeleteAccountError::InvalidToken(v.into_static()) 101 } 102 + DeleteAccountError::Unknown(v) => { 103 + DeleteAccountError::Unknown(v.into_static()) 104 + } 105 } 106 } 107 } ··· 109 ///Response type for 110 ///com.atproto.server.deleteAccount 111 pub struct DeleteAccountResponse; 112 + impl jacquard_common::xrpc::XrpcResp for DeleteAccountResponse { 113 + const NSID: &'static str = "com.atproto.server.deleteAccount"; 114 const ENCODING: &'static str = "application/json"; 115 + type Output<'de> = (); 116 + type Err<'de> = DeleteAccountError<'de>; 117 } 118 119 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for DeleteAccount<'de> { 120 const NSID: &'static str = "com.atproto.server.deleteAccount"; 121 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 122 + "application/json", 123 + ); 124 + type Response = DeleteAccountResponse; 125 + }
+10 -8
crates/jacquard-api/src/com_atproto/server/delete_session.rs
··· 11 ///Response type for 12 ///com.atproto.server.deleteSession 13 pub struct DeleteSessionResponse; 14 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for DeleteSessionResponse { 15 const ENCODING: &'static str = "application/json"; 16 - type Output = (); 17 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 18 } 19 20 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteSession { 21 const NSID: &'static str = "com.atproto.server.deleteSession"; 22 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 23 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 24 - type Response<'de1> = DeleteSessionResponse; 25 - }
··· 11 ///Response type for 12 ///com.atproto.server.deleteSession 13 pub struct DeleteSessionResponse; 14 + impl jacquard_common::xrpc::XrpcResp for DeleteSessionResponse { 15 + const NSID: &'static str = "com.atproto.server.deleteSession"; 16 const ENCODING: &'static str = "application/json"; 17 + type Output<'de> = (); 18 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 19 } 20 21 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for DeleteSession { 22 const NSID: &'static str = "com.atproto.server.deleteSession"; 23 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 24 + "application/json", 25 + ); 26 + type Response = DeleteSessionResponse; 27 + }
+8 -8
crates/jacquard-api/src/com_atproto/server/describe_server.rs
··· 93 ///Response type for 94 ///com.atproto.server.describeServer 95 pub struct DescribeServerResponse; 96 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for DescribeServerResponse { 97 const ENCODING: &'static str = "application/json"; 98 - type Output = DescribeServerOutput<'de>; 99 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 100 } 101 102 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DescribeServer { 103 const NSID: &'static str = "com.atproto.server.describeServer"; 104 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 105 - jacquard_common::types::xrpc::XrpcMethod::Query; 106 - type Response<'de1> = DescribeServerResponse; 107 - }
··· 93 ///Response type for 94 ///com.atproto.server.describeServer 95 pub struct DescribeServerResponse; 96 + impl jacquard_common::xrpc::XrpcResp for DescribeServerResponse { 97 + const NSID: &'static str = "com.atproto.server.describeServer"; 98 const ENCODING: &'static str = "application/json"; 99 + type Output<'de> = DescribeServerOutput<'de>; 100 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 101 } 102 103 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for DescribeServer { 104 const NSID: &'static str = "com.atproto.server.describeServer"; 105 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 106 + type Response = DescribeServerResponse; 107 + }
+18 -10
crates/jacquard-api/src/com_atproto/server/get_account_invite_codes.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetAccountInviteCodes { ··· 51 PartialEq, 52 Eq, 53 thiserror::Error, 54 - miette::Diagnostic, 55 )] 56 #[serde(tag = "error", content = "message")] 57 #[serde(bound(deserialize = "'de: 'a"))] ··· 92 ///Response type for 93 ///com.atproto.server.getAccountInviteCodes 94 pub struct GetAccountInviteCodesResponse; 95 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetAccountInviteCodesResponse { 96 const ENCODING: &'static str = "application/json"; 97 - type Output = GetAccountInviteCodesOutput<'de>; 98 - type Err = GetAccountInviteCodesError<'de>; 99 } 100 101 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetAccountInviteCodes { 102 const NSID: &'static str = "com.atproto.server.getAccountInviteCodes"; 103 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 104 - jacquard_common::types::xrpc::XrpcMethod::Query; 105 - type Response<'de1> = GetAccountInviteCodesResponse; 106 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetAccountInviteCodes { ··· 59 PartialEq, 60 Eq, 61 thiserror::Error, 62 + miette::Diagnostic 63 )] 64 #[serde(tag = "error", content = "message")] 65 #[serde(bound(deserialize = "'de: 'a"))] ··· 100 ///Response type for 101 ///com.atproto.server.getAccountInviteCodes 102 pub struct GetAccountInviteCodesResponse; 103 + impl jacquard_common::xrpc::XrpcResp for GetAccountInviteCodesResponse { 104 + const NSID: &'static str = "com.atproto.server.getAccountInviteCodes"; 105 const ENCODING: &'static str = "application/json"; 106 + type Output<'de> = GetAccountInviteCodesOutput<'de>; 107 + type Err<'de> = GetAccountInviteCodesError<'de>; 108 } 109 110 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetAccountInviteCodes { 111 const NSID: &'static str = "com.atproto.server.getAccountInviteCodes"; 112 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 113 + type Response = GetAccountInviteCodesResponse; 114 + }
+21 -11
crates/jacquard-api/src/com_atproto/server/get_service_auth.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetServiceAuth<'a> { ··· 56 PartialEq, 57 Eq, 58 thiserror::Error, 59 - miette::Diagnostic, 60 )] 61 #[serde(tag = "error", content = "message")] 62 #[serde(bound(deserialize = "'de: 'a"))] ··· 88 GetServiceAuthError::BadExpiration(v) => { 89 GetServiceAuthError::BadExpiration(v.into_static()) 90 } 91 - GetServiceAuthError::Unknown(v) => GetServiceAuthError::Unknown(v.into_static()), 92 } 93 } 94 } ··· 96 ///Response type for 97 ///com.atproto.server.getServiceAuth 98 pub struct GetServiceAuthResponse; 99 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetServiceAuthResponse { 100 const ENCODING: &'static str = "application/json"; 101 - type Output = GetServiceAuthOutput<'de>; 102 - type Err = GetServiceAuthError<'de>; 103 } 104 105 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetServiceAuth<'de> { 106 const NSID: &'static str = "com.atproto.server.getServiceAuth"; 107 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 108 - jacquard_common::types::xrpc::XrpcMethod::Query; 109 - type Response<'de1> = GetServiceAuthResponse; 110 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetServiceAuth<'a> { ··· 64 PartialEq, 65 Eq, 66 thiserror::Error, 67 + miette::Diagnostic 68 )] 69 #[serde(tag = "error", content = "message")] 70 #[serde(bound(deserialize = "'de: 'a"))] ··· 96 GetServiceAuthError::BadExpiration(v) => { 97 GetServiceAuthError::BadExpiration(v.into_static()) 98 } 99 + GetServiceAuthError::Unknown(v) => { 100 + GetServiceAuthError::Unknown(v.into_static()) 101 + } 102 } 103 } 104 } ··· 106 ///Response type for 107 ///com.atproto.server.getServiceAuth 108 pub struct GetServiceAuthResponse; 109 + impl jacquard_common::xrpc::XrpcResp for GetServiceAuthResponse { 110 + const NSID: &'static str = "com.atproto.server.getServiceAuth"; 111 const ENCODING: &'static str = "application/json"; 112 + type Output<'de> = GetServiceAuthOutput<'de>; 113 + type Err<'de> = GetServiceAuthError<'de>; 114 } 115 116 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetServiceAuth<'de> { 117 const NSID: &'static str = "com.atproto.server.getServiceAuth"; 118 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 119 + type Response = GetServiceAuthResponse; 120 + }
+8 -8
crates/jacquard-api/src/com_atproto/server/get_session.rs
··· 54 ///Response type for 55 ///com.atproto.server.getSession 56 pub struct GetSessionResponse; 57 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetSessionResponse { 58 const ENCODING: &'static str = "application/json"; 59 - type Output = GetSessionOutput<'de>; 60 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 61 } 62 63 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSession { 64 const NSID: &'static str = "com.atproto.server.getSession"; 65 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 66 - jacquard_common::types::xrpc::XrpcMethod::Query; 67 - type Response<'de1> = GetSessionResponse; 68 - }
··· 54 ///Response type for 55 ///com.atproto.server.getSession 56 pub struct GetSessionResponse; 57 + impl jacquard_common::xrpc::XrpcResp for GetSessionResponse { 58 + const NSID: &'static str = "com.atproto.server.getSession"; 59 const ENCODING: &'static str = "application/json"; 60 + type Output<'de> = GetSessionOutput<'de>; 61 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 62 } 63 64 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetSession { 65 const NSID: &'static str = "com.atproto.server.getSession"; 66 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 67 + type Response = GetSessionResponse; 68 + }
+12 -10
crates/jacquard-api/src/com_atproto/server/list_app_passwords.rs
··· 55 PartialEq, 56 Eq, 57 thiserror::Error, 58 - miette::Diagnostic, 59 )] 60 #[serde(tag = "error", content = "message")] 61 #[serde(bound(deserialize = "'de: 'a"))] ··· 86 ListAppPasswordsError::AccountTakedown(v) => { 87 ListAppPasswordsError::AccountTakedown(v.into_static()) 88 } 89 - ListAppPasswordsError::Unknown(v) => ListAppPasswordsError::Unknown(v.into_static()), 90 } 91 } 92 } ··· 97 ///Response type for 98 ///com.atproto.server.listAppPasswords 99 pub struct ListAppPasswordsResponse; 100 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ListAppPasswordsResponse { 101 const ENCODING: &'static str = "application/json"; 102 - type Output = ListAppPasswordsOutput<'de>; 103 - type Err = ListAppPasswordsError<'de>; 104 } 105 106 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListAppPasswords { 107 const NSID: &'static str = "com.atproto.server.listAppPasswords"; 108 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 109 - jacquard_common::types::xrpc::XrpcMethod::Query; 110 - type Response<'de1> = ListAppPasswordsResponse; 111 - }
··· 55 PartialEq, 56 Eq, 57 thiserror::Error, 58 + miette::Diagnostic 59 )] 60 #[serde(tag = "error", content = "message")] 61 #[serde(bound(deserialize = "'de: 'a"))] ··· 86 ListAppPasswordsError::AccountTakedown(v) => { 87 ListAppPasswordsError::AccountTakedown(v.into_static()) 88 } 89 + ListAppPasswordsError::Unknown(v) => { 90 + ListAppPasswordsError::Unknown(v.into_static()) 91 + } 92 } 93 } 94 } ··· 99 ///Response type for 100 ///com.atproto.server.listAppPasswords 101 pub struct ListAppPasswordsResponse; 102 + impl jacquard_common::xrpc::XrpcResp for ListAppPasswordsResponse { 103 + const NSID: &'static str = "com.atproto.server.listAppPasswords"; 104 const ENCODING: &'static str = "application/json"; 105 + type Output<'de> = ListAppPasswordsOutput<'de>; 106 + type Err<'de> = ListAppPasswordsError<'de>; 107 } 108 109 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ListAppPasswords { 110 const NSID: &'static str = "com.atproto.server.listAppPasswords"; 111 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 112 + type Response = ListAppPasswordsResponse; 113 + }
+14 -10
crates/jacquard-api/src/com_atproto/server/refresh_session.rs
··· 53 PartialEq, 54 Eq, 55 thiserror::Error, 56 - miette::Diagnostic, 57 )] 58 #[serde(tag = "error", content = "message")] 59 #[serde(bound(deserialize = "'de: 'a"))] ··· 84 RefreshSessionError::AccountTakedown(v) => { 85 RefreshSessionError::AccountTakedown(v.into_static()) 86 } 87 - RefreshSessionError::Unknown(v) => RefreshSessionError::Unknown(v.into_static()), 88 } 89 } 90 } ··· 95 ///Response type for 96 ///com.atproto.server.refreshSession 97 pub struct RefreshSessionResponse; 98 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for RefreshSessionResponse { 99 const ENCODING: &'static str = "application/json"; 100 - type Output = RefreshSessionOutput<'de>; 101 - type Err = RefreshSessionError<'de>; 102 } 103 104 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RefreshSession { 105 const NSID: &'static str = "com.atproto.server.refreshSession"; 106 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 107 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 108 - type Response<'de1> = RefreshSessionResponse; 109 - }
··· 53 PartialEq, 54 Eq, 55 thiserror::Error, 56 + miette::Diagnostic 57 )] 58 #[serde(tag = "error", content = "message")] 59 #[serde(bound(deserialize = "'de: 'a"))] ··· 84 RefreshSessionError::AccountTakedown(v) => { 85 RefreshSessionError::AccountTakedown(v.into_static()) 86 } 87 + RefreshSessionError::Unknown(v) => { 88 + RefreshSessionError::Unknown(v.into_static()) 89 + } 90 } 91 } 92 } ··· 97 ///Response type for 98 ///com.atproto.server.refreshSession 99 pub struct RefreshSessionResponse; 100 + impl jacquard_common::xrpc::XrpcResp for RefreshSessionResponse { 101 + const NSID: &'static str = "com.atproto.server.refreshSession"; 102 const ENCODING: &'static str = "application/json"; 103 + type Output<'de> = RefreshSessionOutput<'de>; 104 + type Err<'de> = RefreshSessionError<'de>; 105 } 106 107 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for RefreshSession { 108 const NSID: &'static str = "com.atproto.server.refreshSession"; 109 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 110 + "application/json", 111 + ); 112 + type Response = RefreshSessionResponse; 113 + }
+10 -8
crates/jacquard-api/src/com_atproto/server/request_account_delete.rs
··· 11 ///Response type for 12 ///com.atproto.server.requestAccountDelete 13 pub struct RequestAccountDeleteResponse; 14 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for RequestAccountDeleteResponse { 15 const ENCODING: &'static str = "application/json"; 16 - type Output = (); 17 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 18 } 19 20 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RequestAccountDelete { 21 const NSID: &'static str = "com.atproto.server.requestAccountDelete"; 22 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 23 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 24 - type Response<'de1> = RequestAccountDeleteResponse; 25 - }
··· 11 ///Response type for 12 ///com.atproto.server.requestAccountDelete 13 pub struct RequestAccountDeleteResponse; 14 + impl jacquard_common::xrpc::XrpcResp for RequestAccountDeleteResponse { 15 + const NSID: &'static str = "com.atproto.server.requestAccountDelete"; 16 const ENCODING: &'static str = "application/json"; 17 + type Output<'de> = (); 18 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 19 } 20 21 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for RequestAccountDelete { 22 const NSID: &'static str = "com.atproto.server.requestAccountDelete"; 23 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 24 + "application/json", 25 + ); 26 + type Response = RequestAccountDeleteResponse; 27 + }
+10 -8
crates/jacquard-api/src/com_atproto/server/request_email_confirmation.rs
··· 11 ///Response type for 12 ///com.atproto.server.requestEmailConfirmation 13 pub struct RequestEmailConfirmationResponse; 14 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for RequestEmailConfirmationResponse { 15 const ENCODING: &'static str = "application/json"; 16 - type Output = (); 17 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 18 } 19 20 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RequestEmailConfirmation { 21 const NSID: &'static str = "com.atproto.server.requestEmailConfirmation"; 22 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 23 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 24 - type Response<'de1> = RequestEmailConfirmationResponse; 25 - }
··· 11 ///Response type for 12 ///com.atproto.server.requestEmailConfirmation 13 pub struct RequestEmailConfirmationResponse; 14 + impl jacquard_common::xrpc::XrpcResp for RequestEmailConfirmationResponse { 15 + const NSID: &'static str = "com.atproto.server.requestEmailConfirmation"; 16 const ENCODING: &'static str = "application/json"; 17 + type Output<'de> = (); 18 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 19 } 20 21 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for RequestEmailConfirmation { 22 const NSID: &'static str = "com.atproto.server.requestEmailConfirmation"; 23 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 24 + "application/json", 25 + ); 26 + type Response = RequestEmailConfirmationResponse; 27 + }
+10 -8
crates/jacquard-api/src/com_atproto/server/request_email_update.rs
··· 28 ///Response type for 29 ///com.atproto.server.requestEmailUpdate 30 pub struct RequestEmailUpdateResponse; 31 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for RequestEmailUpdateResponse { 32 const ENCODING: &'static str = "application/json"; 33 - type Output = RequestEmailUpdateOutput<'de>; 34 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 35 } 36 37 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RequestEmailUpdate { 38 const NSID: &'static str = "com.atproto.server.requestEmailUpdate"; 39 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 40 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 41 - type Response<'de1> = RequestEmailUpdateResponse; 42 - }
··· 28 ///Response type for 29 ///com.atproto.server.requestEmailUpdate 30 pub struct RequestEmailUpdateResponse; 31 + impl jacquard_common::xrpc::XrpcResp for RequestEmailUpdateResponse { 32 + const NSID: &'static str = "com.atproto.server.requestEmailUpdate"; 33 const ENCODING: &'static str = "application/json"; 34 + type Output<'de> = RequestEmailUpdateOutput<'de>; 35 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 36 } 37 38 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for RequestEmailUpdate { 39 const NSID: &'static str = "com.atproto.server.requestEmailUpdate"; 40 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 41 + "application/json", 42 + ); 43 + type Response = RequestEmailUpdateResponse; 44 + }
+19 -9
crates/jacquard-api/src/com_atproto/server/request_password_reset.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct RequestPasswordReset<'a> { ··· 35 ///Response type for 36 ///com.atproto.server.requestPasswordReset 37 pub struct RequestPasswordResetResponse; 38 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for RequestPasswordResetResponse { 39 const ENCODING: &'static str = "application/json"; 40 - type Output = (); 41 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 42 } 43 44 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RequestPasswordReset<'de> { 45 const NSID: &'static str = "com.atproto.server.requestPasswordReset"; 46 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 47 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 48 - type Response<'de1> = RequestPasswordResetResponse; 49 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct RequestPasswordReset<'a> { ··· 43 ///Response type for 44 ///com.atproto.server.requestPasswordReset 45 pub struct RequestPasswordResetResponse; 46 + impl jacquard_common::xrpc::XrpcResp for RequestPasswordResetResponse { 47 + const NSID: &'static str = "com.atproto.server.requestPasswordReset"; 48 const ENCODING: &'static str = "application/json"; 49 + type Output<'de> = (); 50 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 51 } 52 53 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for RequestPasswordReset<'de> { 54 const NSID: &'static str = "com.atproto.server.requestPasswordReset"; 55 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 56 + "application/json", 57 + ); 58 + type Response = RequestPasswordResetResponse; 59 + }
+19 -9
crates/jacquard-api/src/com_atproto/server/reserve_signing_key.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct ReserveSigningKey<'a> { ··· 55 ///Response type for 56 ///com.atproto.server.reserveSigningKey 57 pub struct ReserveSigningKeyResponse; 58 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ReserveSigningKeyResponse { 59 const ENCODING: &'static str = "application/json"; 60 - type Output = ReserveSigningKeyOutput<'de>; 61 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 62 } 63 64 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ReserveSigningKey<'de> { 65 const NSID: &'static str = "com.atproto.server.reserveSigningKey"; 66 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 67 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 68 - type Response<'de1> = ReserveSigningKeyResponse; 69 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct ReserveSigningKey<'a> { ··· 63 ///Response type for 64 ///com.atproto.server.reserveSigningKey 65 pub struct ReserveSigningKeyResponse; 66 + impl jacquard_common::xrpc::XrpcResp for ReserveSigningKeyResponse { 67 + const NSID: &'static str = "com.atproto.server.reserveSigningKey"; 68 const ENCODING: &'static str = "application/json"; 69 + type Output<'de> = ReserveSigningKeyOutput<'de>; 70 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 71 } 72 73 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ReserveSigningKey<'de> { 74 const NSID: &'static str = "com.atproto.server.reserveSigningKey"; 75 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 76 + "application/json", 77 + ); 78 + type Response = ReserveSigningKeyResponse; 79 + }
+23 -11
crates/jacquard-api/src/com_atproto/server/reset_password.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct ResetPassword<'a> { ··· 45 PartialEq, 46 Eq, 47 thiserror::Error, 48 - miette::Diagnostic, 49 )] 50 #[serde(tag = "error", content = "message")] 51 #[serde(bound(deserialize = "'de: 'a"))] ··· 88 ResetPasswordError::InvalidToken(v) => { 89 ResetPasswordError::InvalidToken(v.into_static()) 90 } 91 - ResetPasswordError::Unknown(v) => ResetPasswordError::Unknown(v.into_static()), 92 } 93 } 94 } ··· 96 ///Response type for 97 ///com.atproto.server.resetPassword 98 pub struct ResetPasswordResponse; 99 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ResetPasswordResponse { 100 const ENCODING: &'static str = "application/json"; 101 - type Output = (); 102 - type Err = ResetPasswordError<'de>; 103 } 104 105 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ResetPassword<'de> { 106 const NSID: &'static str = "com.atproto.server.resetPassword"; 107 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 108 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 109 - type Response<'de1> = ResetPasswordResponse; 110 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct ResetPassword<'a> { ··· 53 PartialEq, 54 Eq, 55 thiserror::Error, 56 + miette::Diagnostic 57 )] 58 #[serde(tag = "error", content = "message")] 59 #[serde(bound(deserialize = "'de: 'a"))] ··· 96 ResetPasswordError::InvalidToken(v) => { 97 ResetPasswordError::InvalidToken(v.into_static()) 98 } 99 + ResetPasswordError::Unknown(v) => { 100 + ResetPasswordError::Unknown(v.into_static()) 101 + } 102 } 103 } 104 } ··· 106 ///Response type for 107 ///com.atproto.server.resetPassword 108 pub struct ResetPasswordResponse; 109 + impl jacquard_common::xrpc::XrpcResp for ResetPasswordResponse { 110 + const NSID: &'static str = "com.atproto.server.resetPassword"; 111 const ENCODING: &'static str = "application/json"; 112 + type Output<'de> = (); 113 + type Err<'de> = ResetPasswordError<'de>; 114 } 115 116 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ResetPassword<'de> { 117 const NSID: &'static str = "com.atproto.server.resetPassword"; 118 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 119 + "application/json", 120 + ); 121 + type Response = ResetPasswordResponse; 122 + }
+19 -9
crates/jacquard-api/src/com_atproto/server/revoke_app_password.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct RevokeAppPassword<'a> { ··· 35 ///Response type for 36 ///com.atproto.server.revokeAppPassword 37 pub struct RevokeAppPasswordResponse; 38 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for RevokeAppPasswordResponse { 39 const ENCODING: &'static str = "application/json"; 40 - type Output = (); 41 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 42 } 43 44 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RevokeAppPassword<'de> { 45 const NSID: &'static str = "com.atproto.server.revokeAppPassword"; 46 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 47 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 48 - type Response<'de1> = RevokeAppPasswordResponse; 49 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct RevokeAppPassword<'a> { ··· 43 ///Response type for 44 ///com.atproto.server.revokeAppPassword 45 pub struct RevokeAppPasswordResponse; 46 + impl jacquard_common::xrpc::XrpcResp for RevokeAppPasswordResponse { 47 + const NSID: &'static str = "com.atproto.server.revokeAppPassword"; 48 const ENCODING: &'static str = "application/json"; 49 + type Output<'de> = (); 50 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 51 } 52 53 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for RevokeAppPassword<'de> { 54 const NSID: &'static str = "com.atproto.server.revokeAppPassword"; 55 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 56 + "application/json", 57 + ); 58 + type Response = RevokeAppPasswordResponse; 59 + }
+29 -13
crates/jacquard-api/src/com_atproto/server/update_email.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UpdateEmail<'a> { ··· 50 PartialEq, 51 Eq, 52 thiserror::Error, 53 - miette::Diagnostic, 54 )] 55 #[serde(tag = "error", content = "message")] 56 #[serde(bound(deserialize = "'de: 'a"))] ··· 96 type Output = UpdateEmailError<'static>; 97 fn into_static(self) -> Self::Output { 98 match self { 99 - UpdateEmailError::ExpiredToken(v) => UpdateEmailError::ExpiredToken(v.into_static()), 100 - UpdateEmailError::InvalidToken(v) => UpdateEmailError::InvalidToken(v.into_static()), 101 - UpdateEmailError::TokenRequired(v) => UpdateEmailError::TokenRequired(v.into_static()), 102 UpdateEmailError::Unknown(v) => UpdateEmailError::Unknown(v.into_static()), 103 } 104 } ··· 107 ///Response type for 108 ///com.atproto.server.updateEmail 109 pub struct UpdateEmailResponse; 110 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UpdateEmailResponse { 111 const ENCODING: &'static str = "application/json"; 112 - type Output = (); 113 - type Err = UpdateEmailError<'de>; 114 } 115 116 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateEmail<'de> { 117 const NSID: &'static str = "com.atproto.server.updateEmail"; 118 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 119 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 120 - type Response<'de1> = UpdateEmailResponse; 121 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UpdateEmail<'a> { ··· 58 PartialEq, 59 Eq, 60 thiserror::Error, 61 + miette::Diagnostic 62 )] 63 #[serde(tag = "error", content = "message")] 64 #[serde(bound(deserialize = "'de: 'a"))] ··· 104 type Output = UpdateEmailError<'static>; 105 fn into_static(self) -> Self::Output { 106 match self { 107 + UpdateEmailError::ExpiredToken(v) => { 108 + UpdateEmailError::ExpiredToken(v.into_static()) 109 + } 110 + UpdateEmailError::InvalidToken(v) => { 111 + UpdateEmailError::InvalidToken(v.into_static()) 112 + } 113 + UpdateEmailError::TokenRequired(v) => { 114 + UpdateEmailError::TokenRequired(v.into_static()) 115 + } 116 UpdateEmailError::Unknown(v) => UpdateEmailError::Unknown(v.into_static()), 117 } 118 } ··· 121 ///Response type for 122 ///com.atproto.server.updateEmail 123 pub struct UpdateEmailResponse; 124 + impl jacquard_common::xrpc::XrpcResp for UpdateEmailResponse { 125 + const NSID: &'static str = "com.atproto.server.updateEmail"; 126 const ENCODING: &'static str = "application/json"; 127 + type Output<'de> = (); 128 + type Err<'de> = UpdateEmailError<'de>; 129 } 130 131 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UpdateEmail<'de> { 132 const NSID: &'static str = "com.atproto.server.updateEmail"; 133 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 134 + "application/json", 135 + ); 136 + type Response = UpdateEmailResponse; 137 + }
+27 -13
crates/jacquard-api/src/com_atproto/sync/get_blob.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetBlob<'a> { ··· 47 PartialEq, 48 Eq, 49 thiserror::Error, 50 - miette::Diagnostic, 51 )] 52 #[serde(tag = "error", content = "message")] 53 #[serde(bound(deserialize = "'de: 'a"))] ··· 113 match self { 114 GetBlobError::BlobNotFound(v) => GetBlobError::BlobNotFound(v.into_static()), 115 GetBlobError::RepoNotFound(v) => GetBlobError::RepoNotFound(v.into_static()), 116 - GetBlobError::RepoTakendown(v) => GetBlobError::RepoTakendown(v.into_static()), 117 - GetBlobError::RepoSuspended(v) => GetBlobError::RepoSuspended(v.into_static()), 118 - GetBlobError::RepoDeactivated(v) => GetBlobError::RepoDeactivated(v.into_static()), 119 GetBlobError::Unknown(v) => GetBlobError::Unknown(v.into_static()), 120 } 121 } ··· 124 ///Response type for 125 ///com.atproto.sync.getBlob 126 pub struct GetBlobResponse; 127 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetBlobResponse { 128 const ENCODING: &'static str = "*/*"; 129 - type Output = GetBlobOutput<'de>; 130 - type Err = GetBlobError<'de>; 131 } 132 133 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetBlob<'de> { 134 const NSID: &'static str = "com.atproto.sync.getBlob"; 135 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 136 - jacquard_common::types::xrpc::XrpcMethod::Query; 137 - type Response<'de1> = GetBlobResponse; 138 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetBlob<'a> { ··· 55 PartialEq, 56 Eq, 57 thiserror::Error, 58 + miette::Diagnostic 59 )] 60 #[serde(tag = "error", content = "message")] 61 #[serde(bound(deserialize = "'de: 'a"))] ··· 121 match self { 122 GetBlobError::BlobNotFound(v) => GetBlobError::BlobNotFound(v.into_static()), 123 GetBlobError::RepoNotFound(v) => GetBlobError::RepoNotFound(v.into_static()), 124 + GetBlobError::RepoTakendown(v) => { 125 + GetBlobError::RepoTakendown(v.into_static()) 126 + } 127 + GetBlobError::RepoSuspended(v) => { 128 + GetBlobError::RepoSuspended(v.into_static()) 129 + } 130 + GetBlobError::RepoDeactivated(v) => { 131 + GetBlobError::RepoDeactivated(v.into_static()) 132 + } 133 GetBlobError::Unknown(v) => GetBlobError::Unknown(v.into_static()), 134 } 135 } ··· 138 ///Response type for 139 ///com.atproto.sync.getBlob 140 pub struct GetBlobResponse; 141 + impl jacquard_common::xrpc::XrpcResp for GetBlobResponse { 142 + const NSID: &'static str = "com.atproto.sync.getBlob"; 143 const ENCODING: &'static str = "*/*"; 144 + type Output<'de> = GetBlobOutput<'de>; 145 + type Err<'de> = GetBlobError<'de>; 146 } 147 148 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetBlob<'de> { 149 const NSID: &'static str = "com.atproto.sync.getBlob"; 150 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 151 + type Response = GetBlobResponse; 152 + }
+33 -15
crates/jacquard-api/src/com_atproto/sync/get_blocks.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetBlocks<'a> { ··· 47 PartialEq, 48 Eq, 49 thiserror::Error, 50 - miette::Diagnostic, 51 )] 52 #[serde(tag = "error", content = "message")] 53 #[serde(bound(deserialize = "'de: 'a"))] ··· 111 type Output = GetBlocksError<'static>; 112 fn into_static(self) -> Self::Output { 113 match self { 114 - GetBlocksError::BlockNotFound(v) => GetBlocksError::BlockNotFound(v.into_static()), 115 - GetBlocksError::RepoNotFound(v) => GetBlocksError::RepoNotFound(v.into_static()), 116 - GetBlocksError::RepoTakendown(v) => GetBlocksError::RepoTakendown(v.into_static()), 117 - GetBlocksError::RepoSuspended(v) => GetBlocksError::RepoSuspended(v.into_static()), 118 - GetBlocksError::RepoDeactivated(v) => GetBlocksError::RepoDeactivated(v.into_static()), 119 GetBlocksError::Unknown(v) => GetBlocksError::Unknown(v.into_static()), 120 } 121 } ··· 124 ///Response type for 125 ///com.atproto.sync.getBlocks 126 pub struct GetBlocksResponse; 127 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetBlocksResponse { 128 const ENCODING: &'static str = "application/vnd.ipld.car"; 129 - type Output = GetBlocksOutput<'de>; 130 - type Err = GetBlocksError<'de>; 131 } 132 133 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetBlocks<'de> { 134 const NSID: &'static str = "com.atproto.sync.getBlocks"; 135 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 136 - jacquard_common::types::xrpc::XrpcMethod::Query; 137 - type Response<'de1> = GetBlocksResponse; 138 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetBlocks<'a> { ··· 55 PartialEq, 56 Eq, 57 thiserror::Error, 58 + miette::Diagnostic 59 )] 60 #[serde(tag = "error", content = "message")] 61 #[serde(bound(deserialize = "'de: 'a"))] ··· 119 type Output = GetBlocksError<'static>; 120 fn into_static(self) -> Self::Output { 121 match self { 122 + GetBlocksError::BlockNotFound(v) => { 123 + GetBlocksError::BlockNotFound(v.into_static()) 124 + } 125 + GetBlocksError::RepoNotFound(v) => { 126 + GetBlocksError::RepoNotFound(v.into_static()) 127 + } 128 + GetBlocksError::RepoTakendown(v) => { 129 + GetBlocksError::RepoTakendown(v.into_static()) 130 + } 131 + GetBlocksError::RepoSuspended(v) => { 132 + GetBlocksError::RepoSuspended(v.into_static()) 133 + } 134 + GetBlocksError::RepoDeactivated(v) => { 135 + GetBlocksError::RepoDeactivated(v.into_static()) 136 + } 137 GetBlocksError::Unknown(v) => GetBlocksError::Unknown(v.into_static()), 138 } 139 } ··· 142 ///Response type for 143 ///com.atproto.sync.getBlocks 144 pub struct GetBlocksResponse; 145 + impl jacquard_common::xrpc::XrpcResp for GetBlocksResponse { 146 + const NSID: &'static str = "com.atproto.sync.getBlocks"; 147 const ENCODING: &'static str = "application/vnd.ipld.car"; 148 + type Output<'de> = GetBlocksOutput<'de>; 149 + type Err<'de> = GetBlocksError<'de>; 150 } 151 152 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetBlocks<'de> { 153 const NSID: &'static str = "com.atproto.sync.getBlocks"; 154 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 155 + type Response = GetBlocksResponse; 156 + }
+17 -9
crates/jacquard-api/src/com_atproto/sync/get_checkout.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetCheckout<'a> { ··· 38 ///Response type for 39 ///com.atproto.sync.getCheckout 40 pub struct GetCheckoutResponse; 41 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetCheckoutResponse { 42 const ENCODING: &'static str = "application/vnd.ipld.car"; 43 - type Output = GetCheckoutOutput<'de>; 44 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 45 } 46 47 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetCheckout<'de> { 48 const NSID: &'static str = "com.atproto.sync.getCheckout"; 49 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 50 - jacquard_common::types::xrpc::XrpcMethod::Query; 51 - type Response<'de1> = GetCheckoutResponse; 52 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetCheckout<'a> { ··· 46 ///Response type for 47 ///com.atproto.sync.getCheckout 48 pub struct GetCheckoutResponse; 49 + impl jacquard_common::xrpc::XrpcResp for GetCheckoutResponse { 50 + const NSID: &'static str = "com.atproto.sync.getCheckout"; 51 const ENCODING: &'static str = "application/vnd.ipld.car"; 52 + type Output<'de> = GetCheckoutOutput<'de>; 53 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 54 } 55 56 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetCheckout<'de> { 57 const NSID: &'static str = "com.atproto.sync.getCheckout"; 58 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 59 + type Response = GetCheckoutResponse; 60 + }
+18 -10
crates/jacquard-api/src/com_atproto/sync/get_head.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetHead<'a> { ··· 49 PartialEq, 50 Eq, 51 thiserror::Error, 52 - miette::Diagnostic, 53 )] 54 #[serde(tag = "error", content = "message")] 55 #[serde(bound(deserialize = "'de: 'a"))] ··· 86 ///Response type for 87 ///com.atproto.sync.getHead 88 pub struct GetHeadResponse; 89 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetHeadResponse { 90 const ENCODING: &'static str = "application/json"; 91 - type Output = GetHeadOutput<'de>; 92 - type Err = GetHeadError<'de>; 93 } 94 95 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetHead<'de> { 96 const NSID: &'static str = "com.atproto.sync.getHead"; 97 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 98 - jacquard_common::types::xrpc::XrpcMethod::Query; 99 - type Response<'de1> = GetHeadResponse; 100 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetHead<'a> { ··· 57 PartialEq, 58 Eq, 59 thiserror::Error, 60 + miette::Diagnostic 61 )] 62 #[serde(tag = "error", content = "message")] 63 #[serde(bound(deserialize = "'de: 'a"))] ··· 94 ///Response type for 95 ///com.atproto.sync.getHead 96 pub struct GetHeadResponse; 97 + impl jacquard_common::xrpc::XrpcResp for GetHeadResponse { 98 + const NSID: &'static str = "com.atproto.sync.getHead"; 99 const ENCODING: &'static str = "application/json"; 100 + type Output<'de> = GetHeadOutput<'de>; 101 + type Err<'de> = GetHeadError<'de>; 102 } 103 104 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetHead<'de> { 105 const NSID: &'static str = "com.atproto.sync.getHead"; 106 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 107 + type Response = GetHeadResponse; 108 + }
+21 -11
crates/jacquard-api/src/com_atproto/sync/get_host_status.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetHostStatus<'a> { ··· 62 PartialEq, 63 Eq, 64 thiserror::Error, 65 - miette::Diagnostic, 66 )] 67 #[serde(tag = "error", content = "message")] 68 #[serde(bound(deserialize = "'de: 'a"))] ··· 93 GetHostStatusError::HostNotFound(v) => { 94 GetHostStatusError::HostNotFound(v.into_static()) 95 } 96 - GetHostStatusError::Unknown(v) => GetHostStatusError::Unknown(v.into_static()), 97 } 98 } 99 } ··· 101 ///Response type for 102 ///com.atproto.sync.getHostStatus 103 pub struct GetHostStatusResponse; 104 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetHostStatusResponse { 105 const ENCODING: &'static str = "application/json"; 106 - type Output = GetHostStatusOutput<'de>; 107 - type Err = GetHostStatusError<'de>; 108 } 109 110 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetHostStatus<'de> { 111 const NSID: &'static str = "com.atproto.sync.getHostStatus"; 112 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 113 - jacquard_common::types::xrpc::XrpcMethod::Query; 114 - type Response<'de1> = GetHostStatusResponse; 115 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetHostStatus<'a> { ··· 70 PartialEq, 71 Eq, 72 thiserror::Error, 73 + miette::Diagnostic 74 )] 75 #[serde(tag = "error", content = "message")] 76 #[serde(bound(deserialize = "'de: 'a"))] ··· 101 GetHostStatusError::HostNotFound(v) => { 102 GetHostStatusError::HostNotFound(v.into_static()) 103 } 104 + GetHostStatusError::Unknown(v) => { 105 + GetHostStatusError::Unknown(v.into_static()) 106 + } 107 } 108 } 109 } ··· 111 ///Response type for 112 ///com.atproto.sync.getHostStatus 113 pub struct GetHostStatusResponse; 114 + impl jacquard_common::xrpc::XrpcResp for GetHostStatusResponse { 115 + const NSID: &'static str = "com.atproto.sync.getHostStatus"; 116 const ENCODING: &'static str = "application/json"; 117 + type Output<'de> = GetHostStatusOutput<'de>; 118 + type Err<'de> = GetHostStatusError<'de>; 119 } 120 121 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetHostStatus<'de> { 122 const NSID: &'static str = "com.atproto.sync.getHostStatus"; 123 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 124 + type Response = GetHostStatusResponse; 125 + }
+21 -11
crates/jacquard-api/src/com_atproto/sync/get_latest_commit.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetLatestCommit<'a> { ··· 51 PartialEq, 52 Eq, 53 thiserror::Error, 54 - miette::Diagnostic, 55 )] 56 #[serde(tag = "error", content = "message")] 57 #[serde(bound(deserialize = "'de: 'a"))] ··· 118 GetLatestCommitError::RepoDeactivated(v) => { 119 GetLatestCommitError::RepoDeactivated(v.into_static()) 120 } 121 - GetLatestCommitError::Unknown(v) => GetLatestCommitError::Unknown(v.into_static()), 122 } 123 } 124 } ··· 126 ///Response type for 127 ///com.atproto.sync.getLatestCommit 128 pub struct GetLatestCommitResponse; 129 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetLatestCommitResponse { 130 const ENCODING: &'static str = "application/json"; 131 - type Output = GetLatestCommitOutput<'de>; 132 - type Err = GetLatestCommitError<'de>; 133 } 134 135 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetLatestCommit<'de> { 136 const NSID: &'static str = "com.atproto.sync.getLatestCommit"; 137 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 138 - jacquard_common::types::xrpc::XrpcMethod::Query; 139 - type Response<'de1> = GetLatestCommitResponse; 140 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetLatestCommit<'a> { ··· 59 PartialEq, 60 Eq, 61 thiserror::Error, 62 + miette::Diagnostic 63 )] 64 #[serde(tag = "error", content = "message")] 65 #[serde(bound(deserialize = "'de: 'a"))] ··· 126 GetLatestCommitError::RepoDeactivated(v) => { 127 GetLatestCommitError::RepoDeactivated(v.into_static()) 128 } 129 + GetLatestCommitError::Unknown(v) => { 130 + GetLatestCommitError::Unknown(v.into_static()) 131 + } 132 } 133 } 134 } ··· 136 ///Response type for 137 ///com.atproto.sync.getLatestCommit 138 pub struct GetLatestCommitResponse; 139 + impl jacquard_common::xrpc::XrpcResp for GetLatestCommitResponse { 140 + const NSID: &'static str = "com.atproto.sync.getLatestCommit"; 141 const ENCODING: &'static str = "application/json"; 142 + type Output<'de> = GetLatestCommitOutput<'de>; 143 + type Err<'de> = GetLatestCommitError<'de>; 144 } 145 146 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetLatestCommit<'de> { 147 const NSID: &'static str = "com.atproto.sync.getLatestCommit"; 148 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 149 + type Response = GetLatestCommitResponse; 150 + }
+36 -16
crates/jacquard-api/src/com_atproto/sync/get_record.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetRecord<'a> { ··· 14 #[serde(borrow)] 15 pub did: jacquard_common::types::string::Did<'a>, 16 #[serde(borrow)] 17 - pub rkey: jacquard_common::types::string::RecordKey<jacquard_common::types::string::Rkey<'a>>, 18 } 19 20 impl jacquard_common::IntoStatic for GetRecord<'_> { ··· 50 PartialEq, 51 Eq, 52 thiserror::Error, 53 - miette::Diagnostic, 54 )] 55 #[serde(tag = "error", content = "message")] 56 #[serde(bound(deserialize = "'de: 'a"))] ··· 114 type Output = GetRecordError<'static>; 115 fn into_static(self) -> Self::Output { 116 match self { 117 - GetRecordError::RecordNotFound(v) => GetRecordError::RecordNotFound(v.into_static()), 118 - GetRecordError::RepoNotFound(v) => GetRecordError::RepoNotFound(v.into_static()), 119 - GetRecordError::RepoTakendown(v) => GetRecordError::RepoTakendown(v.into_static()), 120 - GetRecordError::RepoSuspended(v) => GetRecordError::RepoSuspended(v.into_static()), 121 - GetRecordError::RepoDeactivated(v) => GetRecordError::RepoDeactivated(v.into_static()), 122 GetRecordError::Unknown(v) => GetRecordError::Unknown(v.into_static()), 123 } 124 } ··· 127 ///Response type for 128 ///com.atproto.sync.getRecord 129 pub struct GetRecordResponse; 130 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetRecordResponse { 131 const ENCODING: &'static str = "application/vnd.ipld.car"; 132 - type Output = GetRecordOutput<'de>; 133 - type Err = GetRecordError<'de>; 134 } 135 136 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRecord<'de> { 137 const NSID: &'static str = "com.atproto.sync.getRecord"; 138 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 139 - jacquard_common::types::xrpc::XrpcMethod::Query; 140 - type Response<'de1> = GetRecordResponse; 141 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetRecord<'a> { ··· 22 #[serde(borrow)] 23 pub did: jacquard_common::types::string::Did<'a>, 24 #[serde(borrow)] 25 + pub rkey: jacquard_common::types::string::RecordKey< 26 + jacquard_common::types::string::Rkey<'a>, 27 + >, 28 } 29 30 impl jacquard_common::IntoStatic for GetRecord<'_> { ··· 60 PartialEq, 61 Eq, 62 thiserror::Error, 63 + miette::Diagnostic 64 )] 65 #[serde(tag = "error", content = "message")] 66 #[serde(bound(deserialize = "'de: 'a"))] ··· 124 type Output = GetRecordError<'static>; 125 fn into_static(self) -> Self::Output { 126 match self { 127 + GetRecordError::RecordNotFound(v) => { 128 + GetRecordError::RecordNotFound(v.into_static()) 129 + } 130 + GetRecordError::RepoNotFound(v) => { 131 + GetRecordError::RepoNotFound(v.into_static()) 132 + } 133 + GetRecordError::RepoTakendown(v) => { 134 + GetRecordError::RepoTakendown(v.into_static()) 135 + } 136 + GetRecordError::RepoSuspended(v) => { 137 + GetRecordError::RepoSuspended(v.into_static()) 138 + } 139 + GetRecordError::RepoDeactivated(v) => { 140 + GetRecordError::RepoDeactivated(v.into_static()) 141 + } 142 GetRecordError::Unknown(v) => GetRecordError::Unknown(v.into_static()), 143 } 144 } ··· 147 ///Response type for 148 ///com.atproto.sync.getRecord 149 pub struct GetRecordResponse; 150 + impl jacquard_common::xrpc::XrpcResp for GetRecordResponse { 151 + const NSID: &'static str = "com.atproto.sync.getRecord"; 152 const ENCODING: &'static str = "application/vnd.ipld.car"; 153 + type Output<'de> = GetRecordOutput<'de>; 154 + type Err<'de> = GetRecordError<'de>; 155 } 156 157 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetRecord<'de> { 158 const NSID: &'static str = "com.atproto.sync.getRecord"; 159 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 160 + type Response = GetRecordResponse; 161 + }
+27 -13
crates/jacquard-api/src/com_atproto/sync/get_repo.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetRepo<'a> { ··· 47 PartialEq, 48 Eq, 49 thiserror::Error, 50 - miette::Diagnostic, 51 )] 52 #[serde(tag = "error", content = "message")] 53 #[serde(bound(deserialize = "'de: 'a"))] ··· 103 fn into_static(self) -> Self::Output { 104 match self { 105 GetRepoError::RepoNotFound(v) => GetRepoError::RepoNotFound(v.into_static()), 106 - GetRepoError::RepoTakendown(v) => GetRepoError::RepoTakendown(v.into_static()), 107 - GetRepoError::RepoSuspended(v) => GetRepoError::RepoSuspended(v.into_static()), 108 - GetRepoError::RepoDeactivated(v) => GetRepoError::RepoDeactivated(v.into_static()), 109 GetRepoError::Unknown(v) => GetRepoError::Unknown(v.into_static()), 110 } 111 } ··· 114 ///Response type for 115 ///com.atproto.sync.getRepo 116 pub struct GetRepoResponse; 117 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetRepoResponse { 118 const ENCODING: &'static str = "application/vnd.ipld.car"; 119 - type Output = GetRepoOutput<'de>; 120 - type Err = GetRepoError<'de>; 121 } 122 123 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRepo<'de> { 124 const NSID: &'static str = "com.atproto.sync.getRepo"; 125 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 126 - jacquard_common::types::xrpc::XrpcMethod::Query; 127 - type Response<'de1> = GetRepoResponse; 128 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetRepo<'a> { ··· 55 PartialEq, 56 Eq, 57 thiserror::Error, 58 + miette::Diagnostic 59 )] 60 #[serde(tag = "error", content = "message")] 61 #[serde(bound(deserialize = "'de: 'a"))] ··· 111 fn into_static(self) -> Self::Output { 112 match self { 113 GetRepoError::RepoNotFound(v) => GetRepoError::RepoNotFound(v.into_static()), 114 + GetRepoError::RepoTakendown(v) => { 115 + GetRepoError::RepoTakendown(v.into_static()) 116 + } 117 + GetRepoError::RepoSuspended(v) => { 118 + GetRepoError::RepoSuspended(v.into_static()) 119 + } 120 + GetRepoError::RepoDeactivated(v) => { 121 + GetRepoError::RepoDeactivated(v.into_static()) 122 + } 123 GetRepoError::Unknown(v) => GetRepoError::Unknown(v.into_static()), 124 } 125 } ··· 128 ///Response type for 129 ///com.atproto.sync.getRepo 130 pub struct GetRepoResponse; 131 + impl jacquard_common::xrpc::XrpcResp for GetRepoResponse { 132 + const NSID: &'static str = "com.atproto.sync.getRepo"; 133 const ENCODING: &'static str = "application/vnd.ipld.car"; 134 + type Output<'de> = GetRepoOutput<'de>; 135 + type Err<'de> = GetRepoError<'de>; 136 } 137 138 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetRepo<'de> { 139 const NSID: &'static str = "com.atproto.sync.getRepo"; 140 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 141 + type Response = GetRepoResponse; 142 + }
+21 -11
crates/jacquard-api/src/com_atproto/sync/get_repo_status.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetRepoStatus<'a> { ··· 60 PartialEq, 61 Eq, 62 thiserror::Error, 63 - miette::Diagnostic, 64 )] 65 #[serde(tag = "error", content = "message")] 66 #[serde(bound(deserialize = "'de: 'a"))] ··· 91 GetRepoStatusError::RepoNotFound(v) => { 92 GetRepoStatusError::RepoNotFound(v.into_static()) 93 } 94 - GetRepoStatusError::Unknown(v) => GetRepoStatusError::Unknown(v.into_static()), 95 } 96 } 97 } ··· 99 ///Response type for 100 ///com.atproto.sync.getRepoStatus 101 pub struct GetRepoStatusResponse; 102 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetRepoStatusResponse { 103 const ENCODING: &'static str = "application/json"; 104 - type Output = GetRepoStatusOutput<'de>; 105 - type Err = GetRepoStatusError<'de>; 106 } 107 108 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRepoStatus<'de> { 109 const NSID: &'static str = "com.atproto.sync.getRepoStatus"; 110 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 111 - jacquard_common::types::xrpc::XrpcMethod::Query; 112 - type Response<'de1> = GetRepoStatusResponse; 113 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetRepoStatus<'a> { ··· 68 PartialEq, 69 Eq, 70 thiserror::Error, 71 + miette::Diagnostic 72 )] 73 #[serde(tag = "error", content = "message")] 74 #[serde(bound(deserialize = "'de: 'a"))] ··· 99 GetRepoStatusError::RepoNotFound(v) => { 100 GetRepoStatusError::RepoNotFound(v.into_static()) 101 } 102 + GetRepoStatusError::Unknown(v) => { 103 + GetRepoStatusError::Unknown(v.into_static()) 104 + } 105 } 106 } 107 } ··· 109 ///Response type for 110 ///com.atproto.sync.getRepoStatus 111 pub struct GetRepoStatusResponse; 112 + impl jacquard_common::xrpc::XrpcResp for GetRepoStatusResponse { 113 + const NSID: &'static str = "com.atproto.sync.getRepoStatus"; 114 const ENCODING: &'static str = "application/json"; 115 + type Output<'de> = GetRepoStatusOutput<'de>; 116 + type Err<'de> = GetRepoStatusError<'de>; 117 } 118 119 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetRepoStatus<'de> { 120 const NSID: &'static str = "com.atproto.sync.getRepoStatus"; 121 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 122 + type Response = GetRepoStatusResponse; 123 + }
+30 -14
crates/jacquard-api/src/com_atproto/sync/list_blobs.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct ListBlobs<'a> { ··· 65 PartialEq, 66 Eq, 67 thiserror::Error, 68 - miette::Diagnostic, 69 )] 70 #[serde(tag = "error", content = "message")] 71 #[serde(bound(deserialize = "'de: 'a"))] ··· 120 type Output = ListBlobsError<'static>; 121 fn into_static(self) -> Self::Output { 122 match self { 123 - ListBlobsError::RepoNotFound(v) => ListBlobsError::RepoNotFound(v.into_static()), 124 - ListBlobsError::RepoTakendown(v) => ListBlobsError::RepoTakendown(v.into_static()), 125 - ListBlobsError::RepoSuspended(v) => ListBlobsError::RepoSuspended(v.into_static()), 126 - ListBlobsError::RepoDeactivated(v) => ListBlobsError::RepoDeactivated(v.into_static()), 127 ListBlobsError::Unknown(v) => ListBlobsError::Unknown(v.into_static()), 128 } 129 } ··· 132 ///Response type for 133 ///com.atproto.sync.listBlobs 134 pub struct ListBlobsResponse; 135 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ListBlobsResponse { 136 const ENCODING: &'static str = "application/json"; 137 - type Output = ListBlobsOutput<'de>; 138 - type Err = ListBlobsError<'de>; 139 } 140 141 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListBlobs<'de> { 142 const NSID: &'static str = "com.atproto.sync.listBlobs"; 143 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 144 - jacquard_common::types::xrpc::XrpcMethod::Query; 145 - type Response<'de1> = ListBlobsResponse; 146 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct ListBlobs<'a> { ··· 73 PartialEq, 74 Eq, 75 thiserror::Error, 76 + miette::Diagnostic 77 )] 78 #[serde(tag = "error", content = "message")] 79 #[serde(bound(deserialize = "'de: 'a"))] ··· 128 type Output = ListBlobsError<'static>; 129 fn into_static(self) -> Self::Output { 130 match self { 131 + ListBlobsError::RepoNotFound(v) => { 132 + ListBlobsError::RepoNotFound(v.into_static()) 133 + } 134 + ListBlobsError::RepoTakendown(v) => { 135 + ListBlobsError::RepoTakendown(v.into_static()) 136 + } 137 + ListBlobsError::RepoSuspended(v) => { 138 + ListBlobsError::RepoSuspended(v.into_static()) 139 + } 140 + ListBlobsError::RepoDeactivated(v) => { 141 + ListBlobsError::RepoDeactivated(v.into_static()) 142 + } 143 ListBlobsError::Unknown(v) => ListBlobsError::Unknown(v.into_static()), 144 } 145 } ··· 148 ///Response type for 149 ///com.atproto.sync.listBlobs 150 pub struct ListBlobsResponse; 151 + impl jacquard_common::xrpc::XrpcResp for ListBlobsResponse { 152 + const NSID: &'static str = "com.atproto.sync.listBlobs"; 153 const ENCODING: &'static str = "application/json"; 154 + type Output<'de> = ListBlobsOutput<'de>; 155 + type Err<'de> = ListBlobsError<'de>; 156 } 157 158 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ListBlobs<'de> { 159 const NSID: &'static str = "com.atproto.sync.listBlobs"; 160 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 161 + type Response = ListBlobsResponse; 162 + }
+17 -9
crates/jacquard-api/src/com_atproto/sync/list_hosts.rs
··· 35 } 36 } 37 38 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 39 #[builder(start_fn = new)] 40 #[serde(rename_all = "camelCase")] 41 pub struct ListHosts<'a> { ··· 84 ///Response type for 85 ///com.atproto.sync.listHosts 86 pub struct ListHostsResponse; 87 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ListHostsResponse { 88 const ENCODING: &'static str = "application/json"; 89 - type Output = ListHostsOutput<'de>; 90 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 91 } 92 93 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListHosts<'de> { 94 const NSID: &'static str = "com.atproto.sync.listHosts"; 95 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 96 - jacquard_common::types::xrpc::XrpcMethod::Query; 97 - type Response<'de1> = ListHostsResponse; 98 - }
··· 35 } 36 } 37 38 + #[derive( 39 + serde::Serialize, 40 + serde::Deserialize, 41 + Debug, 42 + Clone, 43 + PartialEq, 44 + Eq, 45 + bon::Builder 46 + )] 47 #[builder(start_fn = new)] 48 #[serde(rename_all = "camelCase")] 49 pub struct ListHosts<'a> { ··· 92 ///Response type for 93 ///com.atproto.sync.listHosts 94 pub struct ListHostsResponse; 95 + impl jacquard_common::xrpc::XrpcResp for ListHostsResponse { 96 + const NSID: &'static str = "com.atproto.sync.listHosts"; 97 const ENCODING: &'static str = "application/json"; 98 + type Output<'de> = ListHostsOutput<'de>; 99 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 100 } 101 102 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ListHosts<'de> { 103 const NSID: &'static str = "com.atproto.sync.listHosts"; 104 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 105 + type Response = ListHostsResponse; 106 + }
+17 -9
crates/jacquard-api/src/com_atproto/sync/list_repos.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct ListRepos<'a> { ··· 53 ///Response type for 54 ///com.atproto.sync.listRepos 55 pub struct ListReposResponse; 56 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ListReposResponse { 57 const ENCODING: &'static str = "application/json"; 58 - type Output = ListReposOutput<'de>; 59 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 60 } 61 62 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListRepos<'de> { 63 const NSID: &'static str = "com.atproto.sync.listRepos"; 64 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 65 - jacquard_common::types::xrpc::XrpcMethod::Query; 66 - type Response<'de1> = ListReposResponse; 67 } 68 69 #[jacquard_derive::lexicon] ··· 96 extra_data: self.extra_data.into_static(), 97 } 98 } 99 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct ListRepos<'a> { ··· 61 ///Response type for 62 ///com.atproto.sync.listRepos 63 pub struct ListReposResponse; 64 + impl jacquard_common::xrpc::XrpcResp for ListReposResponse { 65 + const NSID: &'static str = "com.atproto.sync.listRepos"; 66 const ENCODING: &'static str = "application/json"; 67 + type Output<'de> = ListReposOutput<'de>; 68 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 69 } 70 71 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ListRepos<'de> { 72 const NSID: &'static str = "com.atproto.sync.listRepos"; 73 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 74 + type Response = ListReposResponse; 75 } 76 77 #[jacquard_derive::lexicon] ··· 104 extra_data: self.extra_data.into_static(), 105 } 106 } 107 + }
+17 -9
crates/jacquard-api/src/com_atproto/sync/list_repos_by_collection.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct ListReposByCollection<'a> { ··· 56 ///Response type for 57 ///com.atproto.sync.listReposByCollection 58 pub struct ListReposByCollectionResponse; 59 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ListReposByCollectionResponse { 60 const ENCODING: &'static str = "application/json"; 61 - type Output = ListReposByCollectionOutput<'de>; 62 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 63 } 64 65 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListReposByCollection<'de> { 66 const NSID: &'static str = "com.atproto.sync.listReposByCollection"; 67 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 68 - jacquard_common::types::xrpc::XrpcMethod::Query; 69 - type Response<'de1> = ListReposByCollectionResponse; 70 } 71 72 #[jacquard_derive::lexicon] ··· 85 extra_data: self.extra_data.into_static(), 86 } 87 } 88 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct ListReposByCollection<'a> { ··· 64 ///Response type for 65 ///com.atproto.sync.listReposByCollection 66 pub struct ListReposByCollectionResponse; 67 + impl jacquard_common::xrpc::XrpcResp for ListReposByCollectionResponse { 68 + const NSID: &'static str = "com.atproto.sync.listReposByCollection"; 69 const ENCODING: &'static str = "application/json"; 70 + type Output<'de> = ListReposByCollectionOutput<'de>; 71 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 72 } 73 74 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ListReposByCollection<'de> { 75 const NSID: &'static str = "com.atproto.sync.listReposByCollection"; 76 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 77 + type Response = ListReposByCollectionResponse; 78 } 79 80 #[jacquard_derive::lexicon] ··· 93 extra_data: self.extra_data.into_static(), 94 } 95 } 96 + }
+19 -9
crates/jacquard-api/src/com_atproto/sync/notify_of_update.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct NotifyOfUpdate<'a> { ··· 36 ///Response type for 37 ///com.atproto.sync.notifyOfUpdate 38 pub struct NotifyOfUpdateResponse; 39 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for NotifyOfUpdateResponse { 40 const ENCODING: &'static str = "application/json"; 41 - type Output = (); 42 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 43 } 44 45 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for NotifyOfUpdate<'de> { 46 const NSID: &'static str = "com.atproto.sync.notifyOfUpdate"; 47 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 48 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 49 - type Response<'de1> = NotifyOfUpdateResponse; 50 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct NotifyOfUpdate<'a> { ··· 44 ///Response type for 45 ///com.atproto.sync.notifyOfUpdate 46 pub struct NotifyOfUpdateResponse; 47 + impl jacquard_common::xrpc::XrpcResp for NotifyOfUpdateResponse { 48 + const NSID: &'static str = "com.atproto.sync.notifyOfUpdate"; 49 const ENCODING: &'static str = "application/json"; 50 + type Output<'de> = (); 51 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 52 } 53 54 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for NotifyOfUpdate<'de> { 55 const NSID: &'static str = "com.atproto.sync.notifyOfUpdate"; 56 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 57 + "application/json", 58 + ); 59 + type Response = NotifyOfUpdateResponse; 60 + }
+23 -11
crates/jacquard-api/src/com_atproto/sync/request_crawl.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct RequestCrawl<'a> { ··· 42 PartialEq, 43 Eq, 44 thiserror::Error, 45 - miette::Diagnostic, 46 )] 47 #[serde(tag = "error", content = "message")] 48 #[serde(bound(deserialize = "'de: 'a"))] ··· 70 type Output = RequestCrawlError<'static>; 71 fn into_static(self) -> Self::Output { 72 match self { 73 - RequestCrawlError::HostBanned(v) => RequestCrawlError::HostBanned(v.into_static()), 74 RequestCrawlError::Unknown(v) => RequestCrawlError::Unknown(v.into_static()), 75 } 76 } ··· 79 ///Response type for 80 ///com.atproto.sync.requestCrawl 81 pub struct RequestCrawlResponse; 82 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for RequestCrawlResponse { 83 const ENCODING: &'static str = "application/json"; 84 - type Output = (); 85 - type Err = RequestCrawlError<'de>; 86 } 87 88 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RequestCrawl<'de> { 89 const NSID: &'static str = "com.atproto.sync.requestCrawl"; 90 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 91 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 92 - type Response<'de1> = RequestCrawlResponse; 93 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct RequestCrawl<'a> { ··· 50 PartialEq, 51 Eq, 52 thiserror::Error, 53 + miette::Diagnostic 54 )] 55 #[serde(tag = "error", content = "message")] 56 #[serde(bound(deserialize = "'de: 'a"))] ··· 78 type Output = RequestCrawlError<'static>; 79 fn into_static(self) -> Self::Output { 80 match self { 81 + RequestCrawlError::HostBanned(v) => { 82 + RequestCrawlError::HostBanned(v.into_static()) 83 + } 84 RequestCrawlError::Unknown(v) => RequestCrawlError::Unknown(v.into_static()), 85 } 86 } ··· 89 ///Response type for 90 ///com.atproto.sync.requestCrawl 91 pub struct RequestCrawlResponse; 92 + impl jacquard_common::xrpc::XrpcResp for RequestCrawlResponse { 93 + const NSID: &'static str = "com.atproto.sync.requestCrawl"; 94 const ENCODING: &'static str = "application/json"; 95 + type Output<'de> = (); 96 + type Err<'de> = RequestCrawlError<'de>; 97 } 98 99 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for RequestCrawl<'de> { 100 const NSID: &'static str = "com.atproto.sync.requestCrawl"; 101 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 102 + "application/json", 103 + ); 104 + type Response = RequestCrawlResponse; 105 + }
+19 -9
crates/jacquard-api/src/com_atproto/temp/add_reserved_handle.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct AddReservedHandle<'a> { ··· 48 ///Response type for 49 ///com.atproto.temp.addReservedHandle 50 pub struct AddReservedHandleResponse; 51 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for AddReservedHandleResponse { 52 const ENCODING: &'static str = "application/json"; 53 - type Output = AddReservedHandleOutput<'de>; 54 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 55 } 56 57 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for AddReservedHandle<'de> { 58 const NSID: &'static str = "com.atproto.temp.addReservedHandle"; 59 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 60 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 61 - type Response<'de1> = AddReservedHandleResponse; 62 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct AddReservedHandle<'a> { ··· 56 ///Response type for 57 ///com.atproto.temp.addReservedHandle 58 pub struct AddReservedHandleResponse; 59 + impl jacquard_common::xrpc::XrpcResp for AddReservedHandleResponse { 60 + const NSID: &'static str = "com.atproto.temp.addReservedHandle"; 61 const ENCODING: &'static str = "application/json"; 62 + type Output<'de> = AddReservedHandleOutput<'de>; 63 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 64 } 65 66 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for AddReservedHandle<'de> { 67 const NSID: &'static str = "com.atproto.temp.addReservedHandle"; 68 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 69 + "application/json", 70 + ); 71 + type Response = AddReservedHandleResponse; 72 + }
+21 -11
crates/jacquard-api/src/com_atproto/temp/check_handle_availability.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct CheckHandleAvailability<'a> { ··· 77 PartialEq, 78 Eq, 79 thiserror::Error, 80 - miette::Diagnostic, 81 )] 82 #[serde(tag = "error", content = "message")] 83 #[serde(bound(deserialize = "'de: 'a"))] ··· 119 ///Response type for 120 ///com.atproto.temp.checkHandleAvailability 121 pub struct CheckHandleAvailabilityResponse; 122 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for CheckHandleAvailabilityResponse { 123 const ENCODING: &'static str = "application/json"; 124 - type Output = CheckHandleAvailabilityOutput<'de>; 125 - type Err = CheckHandleAvailabilityError<'de>; 126 } 127 128 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CheckHandleAvailability<'de> { 129 const NSID: &'static str = "com.atproto.temp.checkHandleAvailability"; 130 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 131 - jacquard_common::types::xrpc::XrpcMethod::Query; 132 - type Response<'de1> = CheckHandleAvailabilityResponse; 133 } 134 135 ///Indicates the provided handle is available. ··· 153 pub struct ResultUnavailable<'a> { 154 ///List of suggested handles based on the provided inputs. 155 #[serde(borrow)] 156 - pub suggestions: Vec<crate::com_atproto::temp::check_handle_availability::Suggestion<'a>>, 157 } 158 159 impl jacquard_common::IntoStatic for ResultUnavailable<'_> { ··· 186 extra_data: self.extra_data.into_static(), 187 } 188 } 189 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct CheckHandleAvailability<'a> { ··· 85 PartialEq, 86 Eq, 87 thiserror::Error, 88 + miette::Diagnostic 89 )] 90 #[serde(tag = "error", content = "message")] 91 #[serde(bound(deserialize = "'de: 'a"))] ··· 127 ///Response type for 128 ///com.atproto.temp.checkHandleAvailability 129 pub struct CheckHandleAvailabilityResponse; 130 + impl jacquard_common::xrpc::XrpcResp for CheckHandleAvailabilityResponse { 131 + const NSID: &'static str = "com.atproto.temp.checkHandleAvailability"; 132 const ENCODING: &'static str = "application/json"; 133 + type Output<'de> = CheckHandleAvailabilityOutput<'de>; 134 + type Err<'de> = CheckHandleAvailabilityError<'de>; 135 } 136 137 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for CheckHandleAvailability<'de> { 138 const NSID: &'static str = "com.atproto.temp.checkHandleAvailability"; 139 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 140 + type Response = CheckHandleAvailabilityResponse; 141 } 142 143 ///Indicates the provided handle is available. ··· 161 pub struct ResultUnavailable<'a> { 162 ///List of suggested handles based on the provided inputs. 163 #[serde(borrow)] 164 + pub suggestions: Vec< 165 + crate::com_atproto::temp::check_handle_availability::Suggestion<'a>, 166 + >, 167 } 168 169 impl jacquard_common::IntoStatic for ResultUnavailable<'_> { ··· 196 extra_data: self.extra_data.into_static(), 197 } 198 } 199 + }
+8 -8
crates/jacquard-api/src/com_atproto/temp/check_signup_queue.rs
··· 34 ///Response type for 35 ///com.atproto.temp.checkSignupQueue 36 pub struct CheckSignupQueueResponse; 37 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for CheckSignupQueueResponse { 38 const ENCODING: &'static str = "application/json"; 39 - type Output = CheckSignupQueueOutput<'de>; 40 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 41 } 42 43 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CheckSignupQueue { 44 const NSID: &'static str = "com.atproto.temp.checkSignupQueue"; 45 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 46 - jacquard_common::types::xrpc::XrpcMethod::Query; 47 - type Response<'de1> = CheckSignupQueueResponse; 48 - }
··· 34 ///Response type for 35 ///com.atproto.temp.checkSignupQueue 36 pub struct CheckSignupQueueResponse; 37 + impl jacquard_common::xrpc::XrpcResp for CheckSignupQueueResponse { 38 + const NSID: &'static str = "com.atproto.temp.checkSignupQueue"; 39 const ENCODING: &'static str = "application/json"; 40 + type Output<'de> = CheckSignupQueueOutput<'de>; 41 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 42 } 43 44 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for CheckSignupQueue { 45 const NSID: &'static str = "com.atproto.temp.checkSignupQueue"; 46 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 47 + type Response = CheckSignupQueueResponse; 48 + }
+21 -11
crates/jacquard-api/src/com_atproto/temp/dereference_scope.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct DereferenceScope<'a> { ··· 51 PartialEq, 52 Eq, 53 thiserror::Error, 54 - miette::Diagnostic, 55 )] 56 #[serde(tag = "error", content = "message")] 57 #[serde(bound(deserialize = "'de: 'a"))] ··· 83 DereferenceScopeError::InvalidScopeReference(v) => { 84 DereferenceScopeError::InvalidScopeReference(v.into_static()) 85 } 86 - DereferenceScopeError::Unknown(v) => DereferenceScopeError::Unknown(v.into_static()), 87 } 88 } 89 } ··· 91 ///Response type for 92 ///com.atproto.temp.dereferenceScope 93 pub struct DereferenceScopeResponse; 94 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for DereferenceScopeResponse { 95 const ENCODING: &'static str = "application/json"; 96 - type Output = DereferenceScopeOutput<'de>; 97 - type Err = DereferenceScopeError<'de>; 98 } 99 100 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DereferenceScope<'de> { 101 const NSID: &'static str = "com.atproto.temp.dereferenceScope"; 102 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 103 - jacquard_common::types::xrpc::XrpcMethod::Query; 104 - type Response<'de1> = DereferenceScopeResponse; 105 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct DereferenceScope<'a> { ··· 59 PartialEq, 60 Eq, 61 thiserror::Error, 62 + miette::Diagnostic 63 )] 64 #[serde(tag = "error", content = "message")] 65 #[serde(bound(deserialize = "'de: 'a"))] ··· 91 DereferenceScopeError::InvalidScopeReference(v) => { 92 DereferenceScopeError::InvalidScopeReference(v.into_static()) 93 } 94 + DereferenceScopeError::Unknown(v) => { 95 + DereferenceScopeError::Unknown(v.into_static()) 96 + } 97 } 98 } 99 } ··· 101 ///Response type for 102 ///com.atproto.temp.dereferenceScope 103 pub struct DereferenceScopeResponse; 104 + impl jacquard_common::xrpc::XrpcResp for DereferenceScopeResponse { 105 + const NSID: &'static str = "com.atproto.temp.dereferenceScope"; 106 const ENCODING: &'static str = "application/json"; 107 + type Output<'de> = DereferenceScopeOutput<'de>; 108 + type Err<'de> = DereferenceScopeError<'de>; 109 } 110 111 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for DereferenceScope<'de> { 112 const NSID: &'static str = "com.atproto.temp.dereferenceScope"; 113 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 114 + type Response = DereferenceScopeResponse; 115 + }
+17 -9
crates/jacquard-api/src/com_atproto/temp/fetch_labels.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct FetchLabels { ··· 44 ///Response type for 45 ///com.atproto.temp.fetchLabels 46 pub struct FetchLabelsResponse; 47 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for FetchLabelsResponse { 48 const ENCODING: &'static str = "application/json"; 49 - type Output = FetchLabelsOutput<'de>; 50 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 51 } 52 53 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for FetchLabels { 54 const NSID: &'static str = "com.atproto.temp.fetchLabels"; 55 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 56 - jacquard_common::types::xrpc::XrpcMethod::Query; 57 - type Response<'de1> = FetchLabelsResponse; 58 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct FetchLabels { ··· 52 ///Response type for 53 ///com.atproto.temp.fetchLabels 54 pub struct FetchLabelsResponse; 55 + impl jacquard_common::xrpc::XrpcResp for FetchLabelsResponse { 56 + const NSID: &'static str = "com.atproto.temp.fetchLabels"; 57 const ENCODING: &'static str = "application/json"; 58 + type Output<'de> = FetchLabelsOutput<'de>; 59 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 60 } 61 62 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for FetchLabels { 63 const NSID: &'static str = "com.atproto.temp.fetchLabels"; 64 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 65 + type Response = FetchLabelsResponse; 66 + }
+19 -9
crates/jacquard-api/src/com_atproto/temp/request_phone_verification.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct RequestPhoneVerification<'a> { ··· 35 ///Response type for 36 ///com.atproto.temp.requestPhoneVerification 37 pub struct RequestPhoneVerificationResponse; 38 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for RequestPhoneVerificationResponse { 39 const ENCODING: &'static str = "application/json"; 40 - type Output = (); 41 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 42 } 43 44 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RequestPhoneVerification<'de> { 45 const NSID: &'static str = "com.atproto.temp.requestPhoneVerification"; 46 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 47 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 48 - type Response<'de1> = RequestPhoneVerificationResponse; 49 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct RequestPhoneVerification<'a> { ··· 43 ///Response type for 44 ///com.atproto.temp.requestPhoneVerification 45 pub struct RequestPhoneVerificationResponse; 46 + impl jacquard_common::xrpc::XrpcResp for RequestPhoneVerificationResponse { 47 + const NSID: &'static str = "com.atproto.temp.requestPhoneVerification"; 48 const ENCODING: &'static str = "application/json"; 49 + type Output<'de> = (); 50 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 51 } 52 53 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for RequestPhoneVerification<'de> { 54 const NSID: &'static str = "com.atproto.temp.requestPhoneVerification"; 55 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 56 + "application/json", 57 + ); 58 + type Response = RequestPhoneVerificationResponse; 59 + }
+19 -9
crates/jacquard-api/src/com_atproto/temp/revoke_account_credentials.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct RevokeAccountCredentials<'a> { ··· 34 ///Response type for 35 ///com.atproto.temp.revokeAccountCredentials 36 pub struct RevokeAccountCredentialsResponse; 37 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for RevokeAccountCredentialsResponse { 38 const ENCODING: &'static str = "application/json"; 39 - type Output = (); 40 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 41 } 42 43 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RevokeAccountCredentials<'de> { 44 const NSID: &'static str = "com.atproto.temp.revokeAccountCredentials"; 45 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 46 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 47 - type Response<'de1> = RevokeAccountCredentialsResponse; 48 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct RevokeAccountCredentials<'a> { ··· 42 ///Response type for 43 ///com.atproto.temp.revokeAccountCredentials 44 pub struct RevokeAccountCredentialsResponse; 45 + impl jacquard_common::xrpc::XrpcResp for RevokeAccountCredentialsResponse { 46 + const NSID: &'static str = "com.atproto.temp.revokeAccountCredentials"; 47 const ENCODING: &'static str = "application/json"; 48 + type Output<'de> = (); 49 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 50 } 51 52 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for RevokeAccountCredentials<'de> { 53 const NSID: &'static str = "com.atproto.temp.revokeAccountCredentials"; 54 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 55 + "application/json", 56 + ); 57 + type Response = RevokeAccountCredentialsResponse; 58 + }
+23 -11
crates/jacquard-api/src/tools_ozone/communication/create_template.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct CreateTemplate<'a> { ··· 80 PartialEq, 81 Eq, 82 thiserror::Error, 83 - miette::Diagnostic, 84 )] 85 #[serde(tag = "error", content = "message")] 86 #[serde(bound(deserialize = "'de: 'a"))] ··· 111 CreateTemplateError::DuplicateTemplateName(v) => { 112 CreateTemplateError::DuplicateTemplateName(v.into_static()) 113 } 114 - CreateTemplateError::Unknown(v) => CreateTemplateError::Unknown(v.into_static()), 115 } 116 } 117 } ··· 119 ///Response type for 120 ///tools.ozone.communication.createTemplate 121 pub struct CreateTemplateResponse; 122 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for CreateTemplateResponse { 123 const ENCODING: &'static str = "application/json"; 124 - type Output = CreateTemplateOutput<'de>; 125 - type Err = CreateTemplateError<'de>; 126 } 127 128 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CreateTemplate<'de> { 129 const NSID: &'static str = "tools.ozone.communication.createTemplate"; 130 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 131 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 132 - type Response<'de1> = CreateTemplateResponse; 133 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct CreateTemplate<'a> { ··· 88 PartialEq, 89 Eq, 90 thiserror::Error, 91 + miette::Diagnostic 92 )] 93 #[serde(tag = "error", content = "message")] 94 #[serde(bound(deserialize = "'de: 'a"))] ··· 119 CreateTemplateError::DuplicateTemplateName(v) => { 120 CreateTemplateError::DuplicateTemplateName(v.into_static()) 121 } 122 + CreateTemplateError::Unknown(v) => { 123 + CreateTemplateError::Unknown(v.into_static()) 124 + } 125 } 126 } 127 } ··· 129 ///Response type for 130 ///tools.ozone.communication.createTemplate 131 pub struct CreateTemplateResponse; 132 + impl jacquard_common::xrpc::XrpcResp for CreateTemplateResponse { 133 + const NSID: &'static str = "tools.ozone.communication.createTemplate"; 134 const ENCODING: &'static str = "application/json"; 135 + type Output<'de> = CreateTemplateOutput<'de>; 136 + type Err<'de> = CreateTemplateError<'de>; 137 } 138 139 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for CreateTemplate<'de> { 140 const NSID: &'static str = "tools.ozone.communication.createTemplate"; 141 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 142 + "application/json", 143 + ); 144 + type Response = CreateTemplateResponse; 145 + }
+19 -9
crates/jacquard-api/src/tools_ozone/communication/delete_template.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct DeleteTemplate<'a> { ··· 35 ///Response type for 36 ///tools.ozone.communication.deleteTemplate 37 pub struct DeleteTemplateResponse; 38 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for DeleteTemplateResponse { 39 const ENCODING: &'static str = "application/json"; 40 - type Output = (); 41 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 42 } 43 44 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteTemplate<'de> { 45 const NSID: &'static str = "tools.ozone.communication.deleteTemplate"; 46 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 47 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 48 - type Response<'de1> = DeleteTemplateResponse; 49 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct DeleteTemplate<'a> { ··· 43 ///Response type for 44 ///tools.ozone.communication.deleteTemplate 45 pub struct DeleteTemplateResponse; 46 + impl jacquard_common::xrpc::XrpcResp for DeleteTemplateResponse { 47 + const NSID: &'static str = "tools.ozone.communication.deleteTemplate"; 48 const ENCODING: &'static str = "application/json"; 49 + type Output<'de> = (); 50 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 51 } 52 53 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for DeleteTemplate<'de> { 54 const NSID: &'static str = "tools.ozone.communication.deleteTemplate"; 55 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 56 + "application/json", 57 + ); 58 + type Response = DeleteTemplateResponse; 59 + }
+11 -9
crates/jacquard-api/src/tools_ozone/communication/list_templates.rs
··· 10 #[serde(rename_all = "camelCase")] 11 pub struct ListTemplatesOutput<'a> { 12 #[serde(borrow)] 13 - pub communication_templates: Vec<crate::tools_ozone::communication::TemplateView<'a>>, 14 } 15 16 impl jacquard_common::IntoStatic for ListTemplatesOutput<'_> { ··· 29 ///Response type for 30 ///tools.ozone.communication.listTemplates 31 pub struct ListTemplatesResponse; 32 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ListTemplatesResponse { 33 const ENCODING: &'static str = "application/json"; 34 - type Output = ListTemplatesOutput<'de>; 35 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 36 } 37 38 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListTemplates { 39 const NSID: &'static str = "tools.ozone.communication.listTemplates"; 40 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 41 - jacquard_common::types::xrpc::XrpcMethod::Query; 42 - type Response<'de1> = ListTemplatesResponse; 43 - }
··· 10 #[serde(rename_all = "camelCase")] 11 pub struct ListTemplatesOutput<'a> { 12 #[serde(borrow)] 13 + pub communication_templates: Vec< 14 + crate::tools_ozone::communication::TemplateView<'a>, 15 + >, 16 } 17 18 impl jacquard_common::IntoStatic for ListTemplatesOutput<'_> { ··· 31 ///Response type for 32 ///tools.ozone.communication.listTemplates 33 pub struct ListTemplatesResponse; 34 + impl jacquard_common::xrpc::XrpcResp for ListTemplatesResponse { 35 + const NSID: &'static str = "tools.ozone.communication.listTemplates"; 36 const ENCODING: &'static str = "application/json"; 37 + type Output<'de> = ListTemplatesOutput<'de>; 38 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 39 } 40 41 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ListTemplates { 42 const NSID: &'static str = "tools.ozone.communication.listTemplates"; 43 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 44 + type Response = ListTemplatesResponse; 45 + }
+23 -11
crates/jacquard-api/src/tools_ozone/communication/update_template.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UpdateTemplate<'a> { ··· 91 PartialEq, 92 Eq, 93 thiserror::Error, 94 - miette::Diagnostic, 95 )] 96 #[serde(tag = "error", content = "message")] 97 #[serde(bound(deserialize = "'de: 'a"))] ··· 122 UpdateTemplateError::DuplicateTemplateName(v) => { 123 UpdateTemplateError::DuplicateTemplateName(v.into_static()) 124 } 125 - UpdateTemplateError::Unknown(v) => UpdateTemplateError::Unknown(v.into_static()), 126 } 127 } 128 } ··· 130 ///Response type for 131 ///tools.ozone.communication.updateTemplate 132 pub struct UpdateTemplateResponse; 133 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UpdateTemplateResponse { 134 const ENCODING: &'static str = "application/json"; 135 - type Output = UpdateTemplateOutput<'de>; 136 - type Err = UpdateTemplateError<'de>; 137 } 138 139 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateTemplate<'de> { 140 const NSID: &'static str = "tools.ozone.communication.updateTemplate"; 141 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 142 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 143 - type Response<'de1> = UpdateTemplateResponse; 144 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UpdateTemplate<'a> { ··· 99 PartialEq, 100 Eq, 101 thiserror::Error, 102 + miette::Diagnostic 103 )] 104 #[serde(tag = "error", content = "message")] 105 #[serde(bound(deserialize = "'de: 'a"))] ··· 130 UpdateTemplateError::DuplicateTemplateName(v) => { 131 UpdateTemplateError::DuplicateTemplateName(v.into_static()) 132 } 133 + UpdateTemplateError::Unknown(v) => { 134 + UpdateTemplateError::Unknown(v.into_static()) 135 + } 136 } 137 } 138 } ··· 140 ///Response type for 141 ///tools.ozone.communication.updateTemplate 142 pub struct UpdateTemplateResponse; 143 + impl jacquard_common::xrpc::XrpcResp for UpdateTemplateResponse { 144 + const NSID: &'static str = "tools.ozone.communication.updateTemplate"; 145 const ENCODING: &'static str = "application/json"; 146 + type Output<'de> = UpdateTemplateOutput<'de>; 147 + type Err<'de> = UpdateTemplateError<'de>; 148 } 149 150 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UpdateTemplate<'de> { 151 const NSID: &'static str = "tools.ozone.communication.updateTemplate"; 152 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 153 + "application/json", 154 + ); 155 + type Response = UpdateTemplateResponse; 156 + }
+20 -10
crates/jacquard-api/src/tools_ozone/hosting/get_account_history.rs
··· 84 type Output = EventRecordDetails<'static>; 85 fn into_static(self) -> Self::Output { 86 match self { 87 - EventRecordDetails::Unknown(v) => EventRecordDetails::Unknown(v.into_static()), 88 } 89 } 90 } ··· 119 } 120 } 121 122 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 123 #[builder(start_fn = new)] 124 #[serde(rename_all = "camelCase")] 125 pub struct GetAccountHistory<'a> { ··· 174 ///Response type for 175 ///tools.ozone.hosting.getAccountHistory 176 pub struct GetAccountHistoryResponse; 177 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetAccountHistoryResponse { 178 const ENCODING: &'static str = "application/json"; 179 - type Output = GetAccountHistoryOutput<'de>; 180 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 181 } 182 183 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetAccountHistory<'de> { 184 const NSID: &'static str = "tools.ozone.hosting.getAccountHistory"; 185 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 186 - jacquard_common::types::xrpc::XrpcMethod::Query; 187 - type Response<'de1> = GetAccountHistoryResponse; 188 } 189 190 #[jacquard_derive::lexicon] ··· 198 extra_data: self.extra_data.into_static(), 199 } 200 } 201 - }
··· 84 type Output = EventRecordDetails<'static>; 85 fn into_static(self) -> Self::Output { 86 match self { 87 + EventRecordDetails::Unknown(v) => { 88 + EventRecordDetails::Unknown(v.into_static()) 89 + } 90 } 91 } 92 } ··· 121 } 122 } 123 124 + #[derive( 125 + serde::Serialize, 126 + serde::Deserialize, 127 + Debug, 128 + Clone, 129 + PartialEq, 130 + Eq, 131 + bon::Builder 132 + )] 133 #[builder(start_fn = new)] 134 #[serde(rename_all = "camelCase")] 135 pub struct GetAccountHistory<'a> { ··· 184 ///Response type for 185 ///tools.ozone.hosting.getAccountHistory 186 pub struct GetAccountHistoryResponse; 187 + impl jacquard_common::xrpc::XrpcResp for GetAccountHistoryResponse { 188 + const NSID: &'static str = "tools.ozone.hosting.getAccountHistory"; 189 const ENCODING: &'static str = "application/json"; 190 + type Output<'de> = GetAccountHistoryOutput<'de>; 191 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 192 } 193 194 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetAccountHistory<'de> { 195 const NSID: &'static str = "tools.ozone.hosting.getAccountHistory"; 196 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 197 + type Response = GetAccountHistoryResponse; 198 } 199 200 #[jacquard_derive::lexicon] ··· 208 extra_data: self.extra_data.into_static(), 209 } 210 } 211 + }
+47 -19
crates/jacquard-api/src/tools_ozone/moderation/emit_event.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct EmitEvent<'a> { ··· 26 pub subject: EmitEventRecordSubject<'a>, 27 #[serde(skip_serializing_if = "std::option::Option::is_none")] 28 #[serde(borrow)] 29 - pub subject_blob_cids: std::option::Option<Vec<jacquard_common::types::string::Cid<'a>>>, 30 #[serde(flatten)] 31 #[serde(borrow)] 32 #[builder(default)] ··· 44 #[serde(rename = "tools.ozone.moderation.defs#modEventTakedown")] 45 DefsModEventTakedown(Box<crate::tools_ozone::moderation::ModEventTakedown<'a>>), 46 #[serde(rename = "tools.ozone.moderation.defs#modEventAcknowledge")] 47 - DefsModEventAcknowledge(Box<crate::tools_ozone::moderation::ModEventAcknowledge<'a>>), 48 #[serde(rename = "tools.ozone.moderation.defs#modEventEscalate")] 49 DefsModEventEscalate(Box<crate::tools_ozone::moderation::ModEventEscalate<'a>>), 50 #[serde(rename = "tools.ozone.moderation.defs#modEventComment")] ··· 58 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmute")] 59 DefsModEventUnmute(Box<crate::tools_ozone::moderation::ModEventUnmute<'a>>), 60 #[serde(rename = "tools.ozone.moderation.defs#modEventMuteReporter")] 61 - DefsModEventMuteReporter(Box<crate::tools_ozone::moderation::ModEventMuteReporter<'a>>), 62 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmuteReporter")] 63 - DefsModEventUnmuteReporter(Box<crate::tools_ozone::moderation::ModEventUnmuteReporter<'a>>), 64 #[serde(rename = "tools.ozone.moderation.defs#modEventReverseTakedown")] 65 - DefsModEventReverseTakedown(Box<crate::tools_ozone::moderation::ModEventReverseTakedown<'a>>), 66 #[serde(rename = "tools.ozone.moderation.defs#modEventResolveAppeal")] 67 - DefsModEventResolveAppeal(Box<crate::tools_ozone::moderation::ModEventResolveAppeal<'a>>), 68 #[serde(rename = "tools.ozone.moderation.defs#modEventEmail")] 69 DefsModEventEmail(Box<crate::tools_ozone::moderation::ModEventEmail<'a>>), 70 #[serde(rename = "tools.ozone.moderation.defs#modEventDivert")] ··· 78 #[serde(rename = "tools.ozone.moderation.defs#recordEvent")] 79 DefsRecordEvent(Box<crate::tools_ozone::moderation::RecordEvent<'a>>), 80 #[serde(rename = "tools.ozone.moderation.defs#modEventPriorityScore")] 81 - DefsModEventPriorityScore(Box<crate::tools_ozone::moderation::ModEventPriorityScore<'a>>), 82 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceEvent")] 83 DefsAgeAssuranceEvent(Box<crate::tools_ozone::moderation::AgeAssuranceEvent<'a>>), 84 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceOverrideEvent")] ··· 161 EmitEventRecordEvent::DefsRevokeAccountCredentialsEvent(v) => { 162 EmitEventRecordEvent::DefsRevokeAccountCredentialsEvent(v.into_static()) 163 } 164 - EmitEventRecordEvent::Unknown(v) => EmitEventRecordEvent::Unknown(v.into_static()), 165 } 166 } 167 } ··· 187 EmitEventRecordSubject::StrongRef(v) => { 188 EmitEventRecordSubject::StrongRef(v.into_static()) 189 } 190 - EmitEventRecordSubject::Unknown(v) => EmitEventRecordSubject::Unknown(v.into_static()), 191 } 192 } 193 } ··· 235 PartialEq, 236 Eq, 237 thiserror::Error, 238 - miette::Diagnostic, 239 )] 240 #[serde(tag = "error", content = "message")] 241 #[serde(bound(deserialize = "'de: 'a"))] ··· 287 ///Response type for 288 ///tools.ozone.moderation.emitEvent 289 pub struct EmitEventResponse; 290 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for EmitEventResponse { 291 const ENCODING: &'static str = "application/json"; 292 - type Output = EmitEventOutput<'de>; 293 - type Err = EmitEventError<'de>; 294 } 295 296 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for EmitEvent<'de> { 297 const NSID: &'static str = "tools.ozone.moderation.emitEvent"; 298 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 299 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 300 - type Response<'de1> = EmitEventResponse; 301 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct EmitEvent<'a> { ··· 34 pub subject: EmitEventRecordSubject<'a>, 35 #[serde(skip_serializing_if = "std::option::Option::is_none")] 36 #[serde(borrow)] 37 + pub subject_blob_cids: std::option::Option< 38 + Vec<jacquard_common::types::string::Cid<'a>>, 39 + >, 40 #[serde(flatten)] 41 #[serde(borrow)] 42 #[builder(default)] ··· 54 #[serde(rename = "tools.ozone.moderation.defs#modEventTakedown")] 55 DefsModEventTakedown(Box<crate::tools_ozone::moderation::ModEventTakedown<'a>>), 56 #[serde(rename = "tools.ozone.moderation.defs#modEventAcknowledge")] 57 + DefsModEventAcknowledge( 58 + Box<crate::tools_ozone::moderation::ModEventAcknowledge<'a>>, 59 + ), 60 #[serde(rename = "tools.ozone.moderation.defs#modEventEscalate")] 61 DefsModEventEscalate(Box<crate::tools_ozone::moderation::ModEventEscalate<'a>>), 62 #[serde(rename = "tools.ozone.moderation.defs#modEventComment")] ··· 70 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmute")] 71 DefsModEventUnmute(Box<crate::tools_ozone::moderation::ModEventUnmute<'a>>), 72 #[serde(rename = "tools.ozone.moderation.defs#modEventMuteReporter")] 73 + DefsModEventMuteReporter( 74 + Box<crate::tools_ozone::moderation::ModEventMuteReporter<'a>>, 75 + ), 76 #[serde(rename = "tools.ozone.moderation.defs#modEventUnmuteReporter")] 77 + DefsModEventUnmuteReporter( 78 + Box<crate::tools_ozone::moderation::ModEventUnmuteReporter<'a>>, 79 + ), 80 #[serde(rename = "tools.ozone.moderation.defs#modEventReverseTakedown")] 81 + DefsModEventReverseTakedown( 82 + Box<crate::tools_ozone::moderation::ModEventReverseTakedown<'a>>, 83 + ), 84 #[serde(rename = "tools.ozone.moderation.defs#modEventResolveAppeal")] 85 + DefsModEventResolveAppeal( 86 + Box<crate::tools_ozone::moderation::ModEventResolveAppeal<'a>>, 87 + ), 88 #[serde(rename = "tools.ozone.moderation.defs#modEventEmail")] 89 DefsModEventEmail(Box<crate::tools_ozone::moderation::ModEventEmail<'a>>), 90 #[serde(rename = "tools.ozone.moderation.defs#modEventDivert")] ··· 98 #[serde(rename = "tools.ozone.moderation.defs#recordEvent")] 99 DefsRecordEvent(Box<crate::tools_ozone::moderation::RecordEvent<'a>>), 100 #[serde(rename = "tools.ozone.moderation.defs#modEventPriorityScore")] 101 + DefsModEventPriorityScore( 102 + Box<crate::tools_ozone::moderation::ModEventPriorityScore<'a>>, 103 + ), 104 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceEvent")] 105 DefsAgeAssuranceEvent(Box<crate::tools_ozone::moderation::AgeAssuranceEvent<'a>>), 106 #[serde(rename = "tools.ozone.moderation.defs#ageAssuranceOverrideEvent")] ··· 183 EmitEventRecordEvent::DefsRevokeAccountCredentialsEvent(v) => { 184 EmitEventRecordEvent::DefsRevokeAccountCredentialsEvent(v.into_static()) 185 } 186 + EmitEventRecordEvent::Unknown(v) => { 187 + EmitEventRecordEvent::Unknown(v.into_static()) 188 + } 189 } 190 } 191 } ··· 211 EmitEventRecordSubject::StrongRef(v) => { 212 EmitEventRecordSubject::StrongRef(v.into_static()) 213 } 214 + EmitEventRecordSubject::Unknown(v) => { 215 + EmitEventRecordSubject::Unknown(v.into_static()) 216 + } 217 } 218 } 219 } ··· 261 PartialEq, 262 Eq, 263 thiserror::Error, 264 + miette::Diagnostic 265 )] 266 #[serde(tag = "error", content = "message")] 267 #[serde(bound(deserialize = "'de: 'a"))] ··· 313 ///Response type for 314 ///tools.ozone.moderation.emitEvent 315 pub struct EmitEventResponse; 316 + impl jacquard_common::xrpc::XrpcResp for EmitEventResponse { 317 + const NSID: &'static str = "tools.ozone.moderation.emitEvent"; 318 const ENCODING: &'static str = "application/json"; 319 + type Output<'de> = EmitEventOutput<'de>; 320 + type Err<'de> = EmitEventError<'de>; 321 } 322 323 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for EmitEvent<'de> { 324 const NSID: &'static str = "tools.ozone.moderation.emitEvent"; 325 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 326 + "application/json", 327 + ); 328 + type Response = EmitEventResponse; 329 + }
+21 -11
crates/jacquard-api/src/tools_ozone/moderation/get_account_timeline.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetAccountTimeline<'a> { ··· 49 PartialEq, 50 Eq, 51 thiserror::Error, 52 - miette::Diagnostic, 53 )] 54 #[serde(tag = "error", content = "message")] 55 #[serde(bound(deserialize = "'de: 'a"))] ··· 90 ///Response type for 91 ///tools.ozone.moderation.getAccountTimeline 92 pub struct GetAccountTimelineResponse; 93 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetAccountTimelineResponse { 94 const ENCODING: &'static str = "application/json"; 95 - type Output = GetAccountTimelineOutput<'de>; 96 - type Err = GetAccountTimelineError<'de>; 97 } 98 99 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetAccountTimeline<'de> { 100 const NSID: &'static str = "tools.ozone.moderation.getAccountTimeline"; 101 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 102 - jacquard_common::types::xrpc::XrpcMethod::Query; 103 - type Response<'de1> = GetAccountTimelineResponse; 104 } 105 106 #[jacquard_derive::lexicon] ··· 110 #[serde(borrow)] 111 pub day: jacquard_common::CowStr<'a>, 112 #[serde(borrow)] 113 - pub summary: Vec<crate::tools_ozone::moderation::get_account_timeline::TimelineItemSummary<'a>>, 114 } 115 116 impl jacquard_common::IntoStatic for TimelineItem<'_> { ··· 145 extra_data: self.extra_data.into_static(), 146 } 147 } 148 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetAccountTimeline<'a> { ··· 57 PartialEq, 58 Eq, 59 thiserror::Error, 60 + miette::Diagnostic 61 )] 62 #[serde(tag = "error", content = "message")] 63 #[serde(bound(deserialize = "'de: 'a"))] ··· 98 ///Response type for 99 ///tools.ozone.moderation.getAccountTimeline 100 pub struct GetAccountTimelineResponse; 101 + impl jacquard_common::xrpc::XrpcResp for GetAccountTimelineResponse { 102 + const NSID: &'static str = "tools.ozone.moderation.getAccountTimeline"; 103 const ENCODING: &'static str = "application/json"; 104 + type Output<'de> = GetAccountTimelineOutput<'de>; 105 + type Err<'de> = GetAccountTimelineError<'de>; 106 } 107 108 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetAccountTimeline<'de> { 109 const NSID: &'static str = "tools.ozone.moderation.getAccountTimeline"; 110 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 111 + type Response = GetAccountTimelineResponse; 112 } 113 114 #[jacquard_derive::lexicon] ··· 118 #[serde(borrow)] 119 pub day: jacquard_common::CowStr<'a>, 120 #[serde(borrow)] 121 + pub summary: Vec< 122 + crate::tools_ozone::moderation::get_account_timeline::TimelineItemSummary<'a>, 123 + >, 124 } 125 126 impl jacquard_common::IntoStatic for TimelineItem<'_> { ··· 155 extra_data: self.extra_data.into_static(), 156 } 157 } 158 + }
+17 -9
crates/jacquard-api/src/tools_ozone/moderation/get_event.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetEvent { ··· 41 ///Response type for 42 ///tools.ozone.moderation.getEvent 43 pub struct GetEventResponse; 44 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetEventResponse { 45 const ENCODING: &'static str = "application/json"; 46 - type Output = GetEventOutput<'de>; 47 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 48 } 49 50 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetEvent { 51 const NSID: &'static str = "tools.ozone.moderation.getEvent"; 52 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 53 - jacquard_common::types::xrpc::XrpcMethod::Query; 54 - type Response<'de1> = GetEventResponse; 55 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetEvent { ··· 49 ///Response type for 50 ///tools.ozone.moderation.getEvent 51 pub struct GetEventResponse; 52 + impl jacquard_common::xrpc::XrpcResp for GetEventResponse { 53 + const NSID: &'static str = "tools.ozone.moderation.getEvent"; 54 const ENCODING: &'static str = "application/json"; 55 + type Output<'de> = GetEventOutput<'de>; 56 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 57 } 58 59 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetEvent { 60 const NSID: &'static str = "tools.ozone.moderation.getEvent"; 61 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 62 + type Response = GetEventResponse; 63 + }
+21 -11
crates/jacquard-api/src/tools_ozone/moderation/get_record.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetRecord<'a> { ··· 54 PartialEq, 55 Eq, 56 thiserror::Error, 57 - miette::Diagnostic, 58 )] 59 #[serde(tag = "error", content = "message")] 60 #[serde(bound(deserialize = "'de: 'a"))] ··· 82 type Output = GetRecordError<'static>; 83 fn into_static(self) -> Self::Output { 84 match self { 85 - GetRecordError::RecordNotFound(v) => GetRecordError::RecordNotFound(v.into_static()), 86 GetRecordError::Unknown(v) => GetRecordError::Unknown(v.into_static()), 87 } 88 } ··· 91 ///Response type for 92 ///tools.ozone.moderation.getRecord 93 pub struct GetRecordResponse; 94 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetRecordResponse { 95 const ENCODING: &'static str = "application/json"; 96 - type Output = GetRecordOutput<'de>; 97 - type Err = GetRecordError<'de>; 98 } 99 100 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRecord<'de> { 101 const NSID: &'static str = "tools.ozone.moderation.getRecord"; 102 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 103 - jacquard_common::types::xrpc::XrpcMethod::Query; 104 - type Response<'de1> = GetRecordResponse; 105 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetRecord<'a> { ··· 62 PartialEq, 63 Eq, 64 thiserror::Error, 65 + miette::Diagnostic 66 )] 67 #[serde(tag = "error", content = "message")] 68 #[serde(bound(deserialize = "'de: 'a"))] ··· 90 type Output = GetRecordError<'static>; 91 fn into_static(self) -> Self::Output { 92 match self { 93 + GetRecordError::RecordNotFound(v) => { 94 + GetRecordError::RecordNotFound(v.into_static()) 95 + } 96 GetRecordError::Unknown(v) => GetRecordError::Unknown(v.into_static()), 97 } 98 } ··· 101 ///Response type for 102 ///tools.ozone.moderation.getRecord 103 pub struct GetRecordResponse; 104 + impl jacquard_common::xrpc::XrpcResp for GetRecordResponse { 105 + const NSID: &'static str = "tools.ozone.moderation.getRecord"; 106 const ENCODING: &'static str = "application/json"; 107 + type Output<'de> = GetRecordOutput<'de>; 108 + type Err<'de> = GetRecordError<'de>; 109 } 110 111 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetRecord<'de> { 112 const NSID: &'static str = "tools.ozone.moderation.getRecord"; 113 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 114 + type Response = GetRecordResponse; 115 + }
+17 -9
crates/jacquard-api/src/tools_ozone/moderation/get_records.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetRecords<'a> { ··· 43 ///Response type for 44 ///tools.ozone.moderation.getRecords 45 pub struct GetRecordsResponse; 46 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetRecordsResponse { 47 const ENCODING: &'static str = "application/json"; 48 - type Output = GetRecordsOutput<'de>; 49 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 50 } 51 52 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRecords<'de> { 53 const NSID: &'static str = "tools.ozone.moderation.getRecords"; 54 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 55 - jacquard_common::types::xrpc::XrpcMethod::Query; 56 - type Response<'de1> = GetRecordsResponse; 57 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetRecords<'a> { ··· 51 ///Response type for 52 ///tools.ozone.moderation.getRecords 53 pub struct GetRecordsResponse; 54 + impl jacquard_common::xrpc::XrpcResp for GetRecordsResponse { 55 + const NSID: &'static str = "tools.ozone.moderation.getRecords"; 56 const ENCODING: &'static str = "application/json"; 57 + type Output<'de> = GetRecordsOutput<'de>; 58 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 59 } 60 61 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetRecords<'de> { 62 const NSID: &'static str = "tools.ozone.moderation.getRecords"; 63 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 64 + type Response = GetRecordsResponse; 65 + }
+18 -10
crates/jacquard-api/src/tools_ozone/moderation/get_repo.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetRepo<'a> { ··· 50 PartialEq, 51 Eq, 52 thiserror::Error, 53 - miette::Diagnostic, 54 )] 55 #[serde(tag = "error", content = "message")] 56 #[serde(bound(deserialize = "'de: 'a"))] ··· 87 ///Response type for 88 ///tools.ozone.moderation.getRepo 89 pub struct GetRepoResponse; 90 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetRepoResponse { 91 const ENCODING: &'static str = "application/json"; 92 - type Output = GetRepoOutput<'de>; 93 - type Err = GetRepoError<'de>; 94 } 95 96 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRepo<'de> { 97 const NSID: &'static str = "tools.ozone.moderation.getRepo"; 98 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 99 - jacquard_common::types::xrpc::XrpcMethod::Query; 100 - type Response<'de1> = GetRepoResponse; 101 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetRepo<'a> { ··· 58 PartialEq, 59 Eq, 60 thiserror::Error, 61 + miette::Diagnostic 62 )] 63 #[serde(tag = "error", content = "message")] 64 #[serde(bound(deserialize = "'de: 'a"))] ··· 95 ///Response type for 96 ///tools.ozone.moderation.getRepo 97 pub struct GetRepoResponse; 98 + impl jacquard_common::xrpc::XrpcResp for GetRepoResponse { 99 + const NSID: &'static str = "tools.ozone.moderation.getRepo"; 100 const ENCODING: &'static str = "application/json"; 101 + type Output<'de> = GetRepoOutput<'de>; 102 + type Err<'de> = GetRepoError<'de>; 103 } 104 105 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetRepo<'de> { 106 const NSID: &'static str = "tools.ozone.moderation.getRepo"; 107 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 108 + type Response = GetRepoResponse; 109 + }
+17 -9
crates/jacquard-api/src/tools_ozone/moderation/get_reporter_stats.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetReporterStats<'a> { ··· 43 ///Response type for 44 ///tools.ozone.moderation.getReporterStats 45 pub struct GetReporterStatsResponse; 46 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetReporterStatsResponse { 47 const ENCODING: &'static str = "application/json"; 48 - type Output = GetReporterStatsOutput<'de>; 49 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 50 } 51 52 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetReporterStats<'de> { 53 const NSID: &'static str = "tools.ozone.moderation.getReporterStats"; 54 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 55 - jacquard_common::types::xrpc::XrpcMethod::Query; 56 - type Response<'de1> = GetReporterStatsResponse; 57 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetReporterStats<'a> { ··· 51 ///Response type for 52 ///tools.ozone.moderation.getReporterStats 53 pub struct GetReporterStatsResponse; 54 + impl jacquard_common::xrpc::XrpcResp for GetReporterStatsResponse { 55 + const NSID: &'static str = "tools.ozone.moderation.getReporterStats"; 56 const ENCODING: &'static str = "application/json"; 57 + type Output<'de> = GetReporterStatsOutput<'de>; 58 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 59 } 60 61 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetReporterStats<'de> { 62 const NSID: &'static str = "tools.ozone.moderation.getReporterStats"; 63 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 64 + type Response = GetReporterStatsResponse; 65 + }
+17 -9
crates/jacquard-api/src/tools_ozone/moderation/get_repos.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetRepos<'a> { ··· 43 ///Response type for 44 ///tools.ozone.moderation.getRepos 45 pub struct GetReposResponse; 46 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetReposResponse { 47 const ENCODING: &'static str = "application/json"; 48 - type Output = GetReposOutput<'de>; 49 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 50 } 51 52 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRepos<'de> { 53 const NSID: &'static str = "tools.ozone.moderation.getRepos"; 54 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 55 - jacquard_common::types::xrpc::XrpcMethod::Query; 56 - type Response<'de1> = GetReposResponse; 57 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetRepos<'a> { ··· 51 ///Response type for 52 ///tools.ozone.moderation.getRepos 53 pub struct GetReposResponse; 54 + impl jacquard_common::xrpc::XrpcResp for GetReposResponse { 55 + const NSID: &'static str = "tools.ozone.moderation.getRepos"; 56 const ENCODING: &'static str = "application/json"; 57 + type Output<'de> = GetReposOutput<'de>; 58 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 59 } 60 61 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetRepos<'de> { 62 const NSID: &'static str = "tools.ozone.moderation.getRepos"; 63 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 64 + type Response = GetReposResponse; 65 + }
+17 -9
crates/jacquard-api/src/tools_ozone/moderation/get_subjects.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetSubjects<'a> { ··· 43 ///Response type for 44 ///tools.ozone.moderation.getSubjects 45 pub struct GetSubjectsResponse; 46 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetSubjectsResponse { 47 const ENCODING: &'static str = "application/json"; 48 - type Output = GetSubjectsOutput<'de>; 49 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 50 } 51 52 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSubjects<'de> { 53 const NSID: &'static str = "tools.ozone.moderation.getSubjects"; 54 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 55 - jacquard_common::types::xrpc::XrpcMethod::Query; 56 - type Response<'de1> = GetSubjectsResponse; 57 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetSubjects<'a> { ··· 51 ///Response type for 52 ///tools.ozone.moderation.getSubjects 53 pub struct GetSubjectsResponse; 54 + impl jacquard_common::xrpc::XrpcResp for GetSubjectsResponse { 55 + const NSID: &'static str = "tools.ozone.moderation.getSubjects"; 56 const ENCODING: &'static str = "application/json"; 57 + type Output<'de> = GetSubjectsOutput<'de>; 58 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 59 } 60 61 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetSubjects<'de> { 62 const NSID: &'static str = "tools.ozone.moderation.getSubjects"; 63 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 64 + type Response = GetSubjectsResponse; 65 + }
+17 -9
crates/jacquard-api/src/tools_ozone/moderation/query_events.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct QueryEvents<'a> { ··· 136 ///Response type for 137 ///tools.ozone.moderation.queryEvents 138 pub struct QueryEventsResponse; 139 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for QueryEventsResponse { 140 const ENCODING: &'static str = "application/json"; 141 - type Output = QueryEventsOutput<'de>; 142 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 143 } 144 145 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for QueryEvents<'de> { 146 const NSID: &'static str = "tools.ozone.moderation.queryEvents"; 147 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 148 - jacquard_common::types::xrpc::XrpcMethod::Query; 149 - type Response<'de1> = QueryEventsResponse; 150 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct QueryEvents<'a> { ··· 144 ///Response type for 145 ///tools.ozone.moderation.queryEvents 146 pub struct QueryEventsResponse; 147 + impl jacquard_common::xrpc::XrpcResp for QueryEventsResponse { 148 + const NSID: &'static str = "tools.ozone.moderation.queryEvents"; 149 const ENCODING: &'static str = "application/json"; 150 + type Output<'de> = QueryEventsOutput<'de>; 151 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 152 } 153 154 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for QueryEvents<'de> { 155 const NSID: &'static str = "tools.ozone.moderation.queryEvents"; 156 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 157 + type Response = QueryEventsResponse; 158 + }
+32 -14
crates/jacquard-api/src/tools_ozone/moderation/query_statuses.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct QueryStatuses<'a> { ··· 30 #[serde(borrow)] 31 pub exclude_tags: std::option::Option<Vec<jacquard_common::CowStr<'a>>>, 32 #[serde(skip_serializing_if = "std::option::Option::is_none")] 33 - pub hosting_deleted_after: std::option::Option<jacquard_common::types::string::Datetime>, 34 #[serde(skip_serializing_if = "std::option::Option::is_none")] 35 - pub hosting_deleted_before: std::option::Option<jacquard_common::types::string::Datetime>, 36 #[serde(skip_serializing_if = "std::option::Option::is_none")] 37 #[serde(borrow)] 38 pub hosting_statuses: std::option::Option<Vec<jacquard_common::CowStr<'a>>>, 39 #[serde(skip_serializing_if = "std::option::Option::is_none")] 40 - pub hosting_updated_after: std::option::Option<jacquard_common::types::string::Datetime>, 41 #[serde(skip_serializing_if = "std::option::Option::is_none")] 42 - pub hosting_updated_before: std::option::Option<jacquard_common::types::string::Datetime>, 43 #[serde(skip_serializing_if = "std::option::Option::is_none")] 44 #[serde(borrow)] 45 - pub ignore_subjects: std::option::Option<Vec<jacquard_common::types::string::Uri<'a>>>, 46 #[serde(skip_serializing_if = "std::option::Option::is_none")] 47 pub include_all_user_records: std::option::Option<bool>, 48 #[serde(skip_serializing_if = "std::option::Option::is_none")] ··· 176 ///Response type for 177 ///tools.ozone.moderation.queryStatuses 178 pub struct QueryStatusesResponse; 179 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for QueryStatusesResponse { 180 const ENCODING: &'static str = "application/json"; 181 - type Output = QueryStatusesOutput<'de>; 182 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 183 } 184 185 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for QueryStatuses<'de> { 186 const NSID: &'static str = "tools.ozone.moderation.queryStatuses"; 187 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 188 - jacquard_common::types::xrpc::XrpcMethod::Query; 189 - type Response<'de1> = QueryStatusesResponse; 190 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct QueryStatuses<'a> { ··· 38 #[serde(borrow)] 39 pub exclude_tags: std::option::Option<Vec<jacquard_common::CowStr<'a>>>, 40 #[serde(skip_serializing_if = "std::option::Option::is_none")] 41 + pub hosting_deleted_after: std::option::Option< 42 + jacquard_common::types::string::Datetime, 43 + >, 44 #[serde(skip_serializing_if = "std::option::Option::is_none")] 45 + pub hosting_deleted_before: std::option::Option< 46 + jacquard_common::types::string::Datetime, 47 + >, 48 #[serde(skip_serializing_if = "std::option::Option::is_none")] 49 #[serde(borrow)] 50 pub hosting_statuses: std::option::Option<Vec<jacquard_common::CowStr<'a>>>, 51 #[serde(skip_serializing_if = "std::option::Option::is_none")] 52 + pub hosting_updated_after: std::option::Option< 53 + jacquard_common::types::string::Datetime, 54 + >, 55 #[serde(skip_serializing_if = "std::option::Option::is_none")] 56 + pub hosting_updated_before: std::option::Option< 57 + jacquard_common::types::string::Datetime, 58 + >, 59 #[serde(skip_serializing_if = "std::option::Option::is_none")] 60 #[serde(borrow)] 61 + pub ignore_subjects: std::option::Option< 62 + Vec<jacquard_common::types::string::Uri<'a>>, 63 + >, 64 #[serde(skip_serializing_if = "std::option::Option::is_none")] 65 pub include_all_user_records: std::option::Option<bool>, 66 #[serde(skip_serializing_if = "std::option::Option::is_none")] ··· 194 ///Response type for 195 ///tools.ozone.moderation.queryStatuses 196 pub struct QueryStatusesResponse; 197 + impl jacquard_common::xrpc::XrpcResp for QueryStatusesResponse { 198 + const NSID: &'static str = "tools.ozone.moderation.queryStatuses"; 199 const ENCODING: &'static str = "application/json"; 200 + type Output<'de> = QueryStatusesOutput<'de>; 201 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 202 } 203 204 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for QueryStatuses<'de> { 205 const NSID: &'static str = "tools.ozone.moderation.queryStatuses"; 206 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 207 + type Response = QueryStatusesResponse; 208 + }
+17 -9
crates/jacquard-api/src/tools_ozone/moderation/search_repos.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct SearchRepos<'a> { ··· 63 ///Response type for 64 ///tools.ozone.moderation.searchRepos 65 pub struct SearchReposResponse; 66 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for SearchReposResponse { 67 const ENCODING: &'static str = "application/json"; 68 - type Output = SearchReposOutput<'de>; 69 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 70 } 71 72 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchRepos<'de> { 73 const NSID: &'static str = "tools.ozone.moderation.searchRepos"; 74 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 75 - jacquard_common::types::xrpc::XrpcMethod::Query; 76 - type Response<'de1> = SearchReposResponse; 77 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct SearchRepos<'a> { ··· 71 ///Response type for 72 ///tools.ozone.moderation.searchRepos 73 pub struct SearchReposResponse; 74 + impl jacquard_common::xrpc::XrpcResp for SearchReposResponse { 75 + const NSID: &'static str = "tools.ozone.moderation.searchRepos"; 76 const ENCODING: &'static str = "application/json"; 77 + type Output<'de> = SearchReposOutput<'de>; 78 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 79 } 80 81 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for SearchRepos<'de> { 82 const NSID: &'static str = "tools.ozone.moderation.searchRepos"; 83 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 84 + type Response = SearchReposResponse; 85 + }
+23 -11
crates/jacquard-api/src/tools_ozone/safelink/add_rule.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct AddRule<'a> { ··· 81 PartialEq, 82 Eq, 83 thiserror::Error, 84 - miette::Diagnostic, 85 )] 86 #[serde(tag = "error", content = "message")] 87 #[serde(bound(deserialize = "'de: 'a"))] ··· 121 fn into_static(self) -> Self::Output { 122 match self { 123 AddRuleError::InvalidUrl(v) => AddRuleError::InvalidUrl(v.into_static()), 124 - AddRuleError::RuleAlreadyExists(v) => AddRuleError::RuleAlreadyExists(v.into_static()), 125 AddRuleError::Unknown(v) => AddRuleError::Unknown(v.into_static()), 126 } 127 } ··· 130 ///Response type for 131 ///tools.ozone.safelink.addRule 132 pub struct AddRuleResponse; 133 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for AddRuleResponse { 134 const ENCODING: &'static str = "application/json"; 135 - type Output = AddRuleOutput<'de>; 136 - type Err = AddRuleError<'de>; 137 } 138 139 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for AddRule<'de> { 140 const NSID: &'static str = "tools.ozone.safelink.addRule"; 141 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 142 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 143 - type Response<'de1> = AddRuleResponse; 144 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct AddRule<'a> { ··· 89 PartialEq, 90 Eq, 91 thiserror::Error, 92 + miette::Diagnostic 93 )] 94 #[serde(tag = "error", content = "message")] 95 #[serde(bound(deserialize = "'de: 'a"))] ··· 129 fn into_static(self) -> Self::Output { 130 match self { 131 AddRuleError::InvalidUrl(v) => AddRuleError::InvalidUrl(v.into_static()), 132 + AddRuleError::RuleAlreadyExists(v) => { 133 + AddRuleError::RuleAlreadyExists(v.into_static()) 134 + } 135 AddRuleError::Unknown(v) => AddRuleError::Unknown(v.into_static()), 136 } 137 } ··· 140 ///Response type for 141 ///tools.ozone.safelink.addRule 142 pub struct AddRuleResponse; 143 + impl jacquard_common::xrpc::XrpcResp for AddRuleResponse { 144 + const NSID: &'static str = "tools.ozone.safelink.addRule"; 145 const ENCODING: &'static str = "application/json"; 146 + type Output<'de> = AddRuleOutput<'de>; 147 + type Err<'de> = AddRuleError<'de>; 148 } 149 150 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for AddRule<'de> { 151 const NSID: &'static str = "tools.ozone.safelink.addRule"; 152 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 153 + "application/json", 154 + ); 155 + type Response = AddRuleResponse; 156 + }
+19 -9
crates/jacquard-api/src/tools_ozone/safelink/query_events.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct QueryEvents<'a> { ··· 81 ///Response type for 82 ///tools.ozone.safelink.queryEvents 83 pub struct QueryEventsResponse; 84 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for QueryEventsResponse { 85 const ENCODING: &'static str = "application/json"; 86 - type Output = QueryEventsOutput<'de>; 87 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 88 } 89 90 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for QueryEvents<'de> { 91 const NSID: &'static str = "tools.ozone.safelink.queryEvents"; 92 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 93 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 94 - type Response<'de1> = QueryEventsResponse; 95 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct QueryEvents<'a> { ··· 89 ///Response type for 90 ///tools.ozone.safelink.queryEvents 91 pub struct QueryEventsResponse; 92 + impl jacquard_common::xrpc::XrpcResp for QueryEventsResponse { 93 + const NSID: &'static str = "tools.ozone.safelink.queryEvents"; 94 const ENCODING: &'static str = "application/json"; 95 + type Output<'de> = QueryEventsOutput<'de>; 96 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 97 } 98 99 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for QueryEvents<'de> { 100 const NSID: &'static str = "tools.ozone.safelink.queryEvents"; 101 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 102 + "application/json", 103 + ); 104 + type Response = QueryEventsResponse; 105 + }
+19 -9
crates/jacquard-api/src/tools_ozone/safelink/query_rules.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct QueryRules<'a> { ··· 97 ///Response type for 98 ///tools.ozone.safelink.queryRules 99 pub struct QueryRulesResponse; 100 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for QueryRulesResponse { 101 const ENCODING: &'static str = "application/json"; 102 - type Output = QueryRulesOutput<'de>; 103 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 104 } 105 106 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for QueryRules<'de> { 107 const NSID: &'static str = "tools.ozone.safelink.queryRules"; 108 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 109 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 110 - type Response<'de1> = QueryRulesResponse; 111 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct QueryRules<'a> { ··· 105 ///Response type for 106 ///tools.ozone.safelink.queryRules 107 pub struct QueryRulesResponse; 108 + impl jacquard_common::xrpc::XrpcResp for QueryRulesResponse { 109 + const NSID: &'static str = "tools.ozone.safelink.queryRules"; 110 const ENCODING: &'static str = "application/json"; 111 + type Output<'de> = QueryRulesOutput<'de>; 112 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 113 } 114 115 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for QueryRules<'de> { 116 const NSID: &'static str = "tools.ozone.safelink.queryRules"; 117 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 118 + "application/json", 119 + ); 120 + type Response = QueryRulesResponse; 121 + }
+23 -11
crates/jacquard-api/src/tools_ozone/safelink/remove_rule.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct RemoveRule<'a> { ··· 75 PartialEq, 76 Eq, 77 thiserror::Error, 78 - miette::Diagnostic, 79 )] 80 #[serde(tag = "error", content = "message")] 81 #[serde(bound(deserialize = "'de: 'a"))] ··· 104 type Output = RemoveRuleError<'static>; 105 fn into_static(self) -> Self::Output { 106 match self { 107 - RemoveRuleError::RuleNotFound(v) => RemoveRuleError::RuleNotFound(v.into_static()), 108 RemoveRuleError::Unknown(v) => RemoveRuleError::Unknown(v.into_static()), 109 } 110 } ··· 113 ///Response type for 114 ///tools.ozone.safelink.removeRule 115 pub struct RemoveRuleResponse; 116 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for RemoveRuleResponse { 117 const ENCODING: &'static str = "application/json"; 118 - type Output = RemoveRuleOutput<'de>; 119 - type Err = RemoveRuleError<'de>; 120 } 121 122 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RemoveRule<'de> { 123 const NSID: &'static str = "tools.ozone.safelink.removeRule"; 124 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 125 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 126 - type Response<'de1> = RemoveRuleResponse; 127 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct RemoveRule<'a> { ··· 83 PartialEq, 84 Eq, 85 thiserror::Error, 86 + miette::Diagnostic 87 )] 88 #[serde(tag = "error", content = "message")] 89 #[serde(bound(deserialize = "'de: 'a"))] ··· 112 type Output = RemoveRuleError<'static>; 113 fn into_static(self) -> Self::Output { 114 match self { 115 + RemoveRuleError::RuleNotFound(v) => { 116 + RemoveRuleError::RuleNotFound(v.into_static()) 117 + } 118 RemoveRuleError::Unknown(v) => RemoveRuleError::Unknown(v.into_static()), 119 } 120 } ··· 123 ///Response type for 124 ///tools.ozone.safelink.removeRule 125 pub struct RemoveRuleResponse; 126 + impl jacquard_common::xrpc::XrpcResp for RemoveRuleResponse { 127 + const NSID: &'static str = "tools.ozone.safelink.removeRule"; 128 const ENCODING: &'static str = "application/json"; 129 + type Output<'de> = RemoveRuleOutput<'de>; 130 + type Err<'de> = RemoveRuleError<'de>; 131 } 132 133 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for RemoveRule<'de> { 134 const NSID: &'static str = "tools.ozone.safelink.removeRule"; 135 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 136 + "application/json", 137 + ); 138 + type Response = RemoveRuleResponse; 139 + }
+23 -11
crates/jacquard-api/src/tools_ozone/safelink/update_rule.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UpdateRule<'a> { ··· 81 PartialEq, 82 Eq, 83 thiserror::Error, 84 - miette::Diagnostic, 85 )] 86 #[serde(tag = "error", content = "message")] 87 #[serde(bound(deserialize = "'de: 'a"))] ··· 110 type Output = UpdateRuleError<'static>; 111 fn into_static(self) -> Self::Output { 112 match self { 113 - UpdateRuleError::RuleNotFound(v) => UpdateRuleError::RuleNotFound(v.into_static()), 114 UpdateRuleError::Unknown(v) => UpdateRuleError::Unknown(v.into_static()), 115 } 116 } ··· 119 ///Response type for 120 ///tools.ozone.safelink.updateRule 121 pub struct UpdateRuleResponse; 122 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UpdateRuleResponse { 123 const ENCODING: &'static str = "application/json"; 124 - type Output = UpdateRuleOutput<'de>; 125 - type Err = UpdateRuleError<'de>; 126 } 127 128 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateRule<'de> { 129 const NSID: &'static str = "tools.ozone.safelink.updateRule"; 130 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 131 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 132 - type Response<'de1> = UpdateRuleResponse; 133 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UpdateRule<'a> { ··· 89 PartialEq, 90 Eq, 91 thiserror::Error, 92 + miette::Diagnostic 93 )] 94 #[serde(tag = "error", content = "message")] 95 #[serde(bound(deserialize = "'de: 'a"))] ··· 118 type Output = UpdateRuleError<'static>; 119 fn into_static(self) -> Self::Output { 120 match self { 121 + UpdateRuleError::RuleNotFound(v) => { 122 + UpdateRuleError::RuleNotFound(v.into_static()) 123 + } 124 UpdateRuleError::Unknown(v) => UpdateRuleError::Unknown(v.into_static()), 125 } 126 } ··· 129 ///Response type for 130 ///tools.ozone.safelink.updateRule 131 pub struct UpdateRuleResponse; 132 + impl jacquard_common::xrpc::XrpcResp for UpdateRuleResponse { 133 + const NSID: &'static str = "tools.ozone.safelink.updateRule"; 134 const ENCODING: &'static str = "application/json"; 135 + type Output<'de> = UpdateRuleOutput<'de>; 136 + type Err<'de> = UpdateRuleError<'de>; 137 } 138 139 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UpdateRule<'de> { 140 const NSID: &'static str = "tools.ozone.safelink.updateRule"; 141 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 142 + "application/json", 143 + ); 144 + type Response = UpdateRuleResponse; 145 + }
+8 -8
crates/jacquard-api/src/tools_ozone/server/get_config.rs
··· 51 ///Response type for 52 ///tools.ozone.server.getConfig 53 pub struct GetConfigResponse; 54 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetConfigResponse { 55 const ENCODING: &'static str = "application/json"; 56 - type Output = GetConfigOutput<'de>; 57 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 58 } 59 60 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetConfig { 61 const NSID: &'static str = "tools.ozone.server.getConfig"; 62 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 63 - jacquard_common::types::xrpc::XrpcMethod::Query; 64 - type Response<'de1> = GetConfigResponse; 65 } 66 67 #[jacquard_derive::lexicon] ··· 100 extra_data: self.extra_data.into_static(), 101 } 102 } 103 - }
··· 51 ///Response type for 52 ///tools.ozone.server.getConfig 53 pub struct GetConfigResponse; 54 + impl jacquard_common::xrpc::XrpcResp for GetConfigResponse { 55 + const NSID: &'static str = "tools.ozone.server.getConfig"; 56 const ENCODING: &'static str = "application/json"; 57 + type Output<'de> = GetConfigOutput<'de>; 58 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 59 } 60 61 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetConfig { 62 const NSID: &'static str = "tools.ozone.server.getConfig"; 63 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 64 + type Response = GetConfigResponse; 65 } 66 67 #[jacquard_derive::lexicon] ··· 100 extra_data: self.extra_data.into_static(), 101 } 102 } 103 + }
+19 -9
crates/jacquard-api/src/tools_ozone/set/add_values.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct AddValues<'a> { ··· 40 ///Response type for 41 ///tools.ozone.set.addValues 42 pub struct AddValuesResponse; 43 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for AddValuesResponse { 44 const ENCODING: &'static str = "application/json"; 45 - type Output = (); 46 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 47 } 48 49 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for AddValues<'de> { 50 const NSID: &'static str = "tools.ozone.set.addValues"; 51 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 52 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 53 - type Response<'de1> = AddValuesResponse; 54 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct AddValues<'a> { ··· 48 ///Response type for 49 ///tools.ozone.set.addValues 50 pub struct AddValuesResponse; 51 + impl jacquard_common::xrpc::XrpcResp for AddValuesResponse { 52 + const NSID: &'static str = "tools.ozone.set.addValues"; 53 const ENCODING: &'static str = "application/json"; 54 + type Output<'de> = (); 55 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 56 } 57 58 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for AddValues<'de> { 59 const NSID: &'static str = "tools.ozone.set.addValues"; 60 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 61 + "application/json", 62 + ); 63 + type Response = AddValuesResponse; 64 + }
+23 -11
crates/jacquard-api/src/tools_ozone/set/delete_set.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct DeleteSet<'a> { ··· 55 PartialEq, 56 Eq, 57 thiserror::Error, 58 - miette::Diagnostic, 59 )] 60 #[serde(tag = "error", content = "message")] 61 #[serde(bound(deserialize = "'de: 'a"))] ··· 84 type Output = DeleteSetError<'static>; 85 fn into_static(self) -> Self::Output { 86 match self { 87 - DeleteSetError::SetNotFound(v) => DeleteSetError::SetNotFound(v.into_static()), 88 DeleteSetError::Unknown(v) => DeleteSetError::Unknown(v.into_static()), 89 } 90 } ··· 93 ///Response type for 94 ///tools.ozone.set.deleteSet 95 pub struct DeleteSetResponse; 96 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for DeleteSetResponse { 97 const ENCODING: &'static str = "application/json"; 98 - type Output = DeleteSetOutput<'de>; 99 - type Err = DeleteSetError<'de>; 100 } 101 102 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteSet<'de> { 103 const NSID: &'static str = "tools.ozone.set.deleteSet"; 104 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 105 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 106 - type Response<'de1> = DeleteSetResponse; 107 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct DeleteSet<'a> { ··· 63 PartialEq, 64 Eq, 65 thiserror::Error, 66 + miette::Diagnostic 67 )] 68 #[serde(tag = "error", content = "message")] 69 #[serde(bound(deserialize = "'de: 'a"))] ··· 92 type Output = DeleteSetError<'static>; 93 fn into_static(self) -> Self::Output { 94 match self { 95 + DeleteSetError::SetNotFound(v) => { 96 + DeleteSetError::SetNotFound(v.into_static()) 97 + } 98 DeleteSetError::Unknown(v) => DeleteSetError::Unknown(v.into_static()), 99 } 100 } ··· 103 ///Response type for 104 ///tools.ozone.set.deleteSet 105 pub struct DeleteSetResponse; 106 + impl jacquard_common::xrpc::XrpcResp for DeleteSetResponse { 107 + const NSID: &'static str = "tools.ozone.set.deleteSet"; 108 const ENCODING: &'static str = "application/json"; 109 + type Output<'de> = DeleteSetOutput<'de>; 110 + type Err<'de> = DeleteSetError<'de>; 111 } 112 113 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for DeleteSet<'de> { 114 const NSID: &'static str = "tools.ozone.set.deleteSet"; 115 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 116 + "application/json", 117 + ); 118 + type Response = DeleteSetResponse; 119 + }
+23 -11
crates/jacquard-api/src/tools_ozone/set/delete_values.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct DeleteValues<'a> { ··· 46 PartialEq, 47 Eq, 48 thiserror::Error, 49 - miette::Diagnostic, 50 )] 51 #[serde(tag = "error", content = "message")] 52 #[serde(bound(deserialize = "'de: 'a"))] ··· 75 type Output = DeleteValuesError<'static>; 76 fn into_static(self) -> Self::Output { 77 match self { 78 - DeleteValuesError::SetNotFound(v) => DeleteValuesError::SetNotFound(v.into_static()), 79 DeleteValuesError::Unknown(v) => DeleteValuesError::Unknown(v.into_static()), 80 } 81 } ··· 84 ///Response type for 85 ///tools.ozone.set.deleteValues 86 pub struct DeleteValuesResponse; 87 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for DeleteValuesResponse { 88 const ENCODING: &'static str = "application/json"; 89 - type Output = (); 90 - type Err = DeleteValuesError<'de>; 91 } 92 93 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteValues<'de> { 94 const NSID: &'static str = "tools.ozone.set.deleteValues"; 95 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 96 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 97 - type Response<'de1> = DeleteValuesResponse; 98 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct DeleteValues<'a> { ··· 54 PartialEq, 55 Eq, 56 thiserror::Error, 57 + miette::Diagnostic 58 )] 59 #[serde(tag = "error", content = "message")] 60 #[serde(bound(deserialize = "'de: 'a"))] ··· 83 type Output = DeleteValuesError<'static>; 84 fn into_static(self) -> Self::Output { 85 match self { 86 + DeleteValuesError::SetNotFound(v) => { 87 + DeleteValuesError::SetNotFound(v.into_static()) 88 + } 89 DeleteValuesError::Unknown(v) => DeleteValuesError::Unknown(v.into_static()), 90 } 91 } ··· 94 ///Response type for 95 ///tools.ozone.set.deleteValues 96 pub struct DeleteValuesResponse; 97 + impl jacquard_common::xrpc::XrpcResp for DeleteValuesResponse { 98 + const NSID: &'static str = "tools.ozone.set.deleteValues"; 99 const ENCODING: &'static str = "application/json"; 100 + type Output<'de> = (); 101 + type Err<'de> = DeleteValuesError<'de>; 102 } 103 104 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for DeleteValues<'de> { 105 const NSID: &'static str = "tools.ozone.set.deleteValues"; 106 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 107 + "application/json", 108 + ); 109 + type Response = DeleteValuesResponse; 110 + }
+21 -11
crates/jacquard-api/src/tools_ozone/set/get_values.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct GetValues<'a> { ··· 66 PartialEq, 67 Eq, 68 thiserror::Error, 69 - miette::Diagnostic, 70 )] 71 #[serde(tag = "error", content = "message")] 72 #[serde(bound(deserialize = "'de: 'a"))] ··· 95 type Output = GetValuesError<'static>; 96 fn into_static(self) -> Self::Output { 97 match self { 98 - GetValuesError::SetNotFound(v) => GetValuesError::SetNotFound(v.into_static()), 99 GetValuesError::Unknown(v) => GetValuesError::Unknown(v.into_static()), 100 } 101 } ··· 104 ///Response type for 105 ///tools.ozone.set.getValues 106 pub struct GetValuesResponse; 107 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GetValuesResponse { 108 const ENCODING: &'static str = "application/json"; 109 - type Output = GetValuesOutput<'de>; 110 - type Err = GetValuesError<'de>; 111 } 112 113 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetValues<'de> { 114 const NSID: &'static str = "tools.ozone.set.getValues"; 115 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 116 - jacquard_common::types::xrpc::XrpcMethod::Query; 117 - type Response<'de1> = GetValuesResponse; 118 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct GetValues<'a> { ··· 74 PartialEq, 75 Eq, 76 thiserror::Error, 77 + miette::Diagnostic 78 )] 79 #[serde(tag = "error", content = "message")] 80 #[serde(bound(deserialize = "'de: 'a"))] ··· 103 type Output = GetValuesError<'static>; 104 fn into_static(self) -> Self::Output { 105 match self { 106 + GetValuesError::SetNotFound(v) => { 107 + GetValuesError::SetNotFound(v.into_static()) 108 + } 109 GetValuesError::Unknown(v) => GetValuesError::Unknown(v.into_static()), 110 } 111 } ··· 114 ///Response type for 115 ///tools.ozone.set.getValues 116 pub struct GetValuesResponse; 117 + impl jacquard_common::xrpc::XrpcResp for GetValuesResponse { 118 + const NSID: &'static str = "tools.ozone.set.getValues"; 119 const ENCODING: &'static str = "application/json"; 120 + type Output<'de> = GetValuesOutput<'de>; 121 + type Err<'de> = GetValuesError<'de>; 122 } 123 124 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GetValues<'de> { 125 const NSID: &'static str = "tools.ozone.set.getValues"; 126 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 127 + type Response = GetValuesResponse; 128 + }
+17 -9
crates/jacquard-api/src/tools_ozone/set/query_sets.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct QuerySets<'a> { ··· 70 ///Response type for 71 ///tools.ozone.set.querySets 72 pub struct QuerySetsResponse; 73 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for QuerySetsResponse { 74 const ENCODING: &'static str = "application/json"; 75 - type Output = QuerySetsOutput<'de>; 76 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 77 } 78 79 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for QuerySets<'de> { 80 const NSID: &'static str = "tools.ozone.set.querySets"; 81 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 82 - jacquard_common::types::xrpc::XrpcMethod::Query; 83 - type Response<'de1> = QuerySetsResponse; 84 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct QuerySets<'a> { ··· 78 ///Response type for 79 ///tools.ozone.set.querySets 80 pub struct QuerySetsResponse; 81 + impl jacquard_common::xrpc::XrpcResp for QuerySetsResponse { 82 + const NSID: &'static str = "tools.ozone.set.querySets"; 83 const ENCODING: &'static str = "application/json"; 84 + type Output<'de> = QuerySetsOutput<'de>; 85 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 86 } 87 88 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for QuerySets<'de> { 89 const NSID: &'static str = "tools.ozone.set.querySets"; 90 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 91 + type Response = QuerySetsResponse; 92 + }
+19 -9
crates/jacquard-api/src/tools_ozone/set/upsert_set.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UpsertSet<'a> { ··· 54 ///Response type for 55 ///tools.ozone.set.upsertSet 56 pub struct UpsertSetResponse; 57 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UpsertSetResponse { 58 const ENCODING: &'static str = "application/json"; 59 - type Output = UpsertSetOutput<'de>; 60 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 61 } 62 63 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpsertSet<'de> { 64 const NSID: &'static str = "tools.ozone.set.upsertSet"; 65 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 66 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 67 - type Response<'de1> = UpsertSetResponse; 68 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UpsertSet<'a> { ··· 62 ///Response type for 63 ///tools.ozone.set.upsertSet 64 pub struct UpsertSetResponse; 65 + impl jacquard_common::xrpc::XrpcResp for UpsertSetResponse { 66 + const NSID: &'static str = "tools.ozone.set.upsertSet"; 67 const ENCODING: &'static str = "application/json"; 68 + type Output<'de> = UpsertSetOutput<'de>; 69 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 70 } 71 72 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UpsertSet<'de> { 73 const NSID: &'static str = "tools.ozone.set.upsertSet"; 74 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 75 + "application/json", 76 + ); 77 + type Response = UpsertSetResponse; 78 + }
+17 -9
crates/jacquard-api/src/tools_ozone/setting/list_options.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct ListOptions<'a> { ··· 68 ///Response type for 69 ///tools.ozone.setting.listOptions 70 pub struct ListOptionsResponse; 71 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ListOptionsResponse { 72 const ENCODING: &'static str = "application/json"; 73 - type Output = ListOptionsOutput<'de>; 74 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 75 } 76 77 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListOptions<'de> { 78 const NSID: &'static str = "tools.ozone.setting.listOptions"; 79 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 80 - jacquard_common::types::xrpc::XrpcMethod::Query; 81 - type Response<'de1> = ListOptionsResponse; 82 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct ListOptions<'a> { ··· 76 ///Response type for 77 ///tools.ozone.setting.listOptions 78 pub struct ListOptionsResponse; 79 + impl jacquard_common::xrpc::XrpcResp for ListOptionsResponse { 80 + const NSID: &'static str = "tools.ozone.setting.listOptions"; 81 const ENCODING: &'static str = "application/json"; 82 + type Output<'de> = ListOptionsOutput<'de>; 83 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 84 } 85 86 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ListOptions<'de> { 87 const NSID: &'static str = "tools.ozone.setting.listOptions"; 88 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 89 + type Response = ListOptionsResponse; 90 + }
+19 -9
crates/jacquard-api/src/tools_ozone/setting/remove_options.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct RemoveOptions<'a> { ··· 51 ///Response type for 52 ///tools.ozone.setting.removeOptions 53 pub struct RemoveOptionsResponse; 54 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for RemoveOptionsResponse { 55 const ENCODING: &'static str = "application/json"; 56 - type Output = RemoveOptionsOutput<'de>; 57 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 58 } 59 60 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RemoveOptions<'de> { 61 const NSID: &'static str = "tools.ozone.setting.removeOptions"; 62 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 63 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 64 - type Response<'de1> = RemoveOptionsResponse; 65 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct RemoveOptions<'a> { ··· 59 ///Response type for 60 ///tools.ozone.setting.removeOptions 61 pub struct RemoveOptionsResponse; 62 + impl jacquard_common::xrpc::XrpcResp for RemoveOptionsResponse { 63 + const NSID: &'static str = "tools.ozone.setting.removeOptions"; 64 const ENCODING: &'static str = "application/json"; 65 + type Output<'de> = RemoveOptionsOutput<'de>; 66 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 67 } 68 69 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for RemoveOptions<'de> { 70 const NSID: &'static str = "tools.ozone.setting.removeOptions"; 71 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 72 + "application/json", 73 + ); 74 + type Response = RemoveOptionsResponse; 75 + }
+8 -7
crates/jacquard-api/src/tools_ozone/setting/upsert_option.rs
··· 69 ///Response type for 70 ///tools.ozone.setting.upsertOption 71 pub struct UpsertOptionResponse; 72 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UpsertOptionResponse { 73 const ENCODING: &'static str = "application/json"; 74 - type Output = UpsertOptionOutput<'de>; 75 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 76 } 77 78 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpsertOption<'de> { 79 const NSID: &'static str = "tools.ozone.setting.upsertOption"; 80 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 81 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 82 - type Response<'de1> = UpsertOptionResponse; 83 }
··· 69 ///Response type for 70 ///tools.ozone.setting.upsertOption 71 pub struct UpsertOptionResponse; 72 + impl jacquard_common::xrpc::XrpcResp for UpsertOptionResponse { 73 + const NSID: &'static str = "tools.ozone.setting.upsertOption"; 74 const ENCODING: &'static str = "application/json"; 75 + type Output<'de> = UpsertOptionOutput<'de>; 76 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 77 } 78 79 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UpsertOption<'de> { 80 const NSID: &'static str = "tools.ozone.setting.upsertOption"; 81 + const METHOD: jacquard_common::xrpc::XrpcMethod = 82 + jacquard_common::xrpc::XrpcMethod::Procedure("application/json"); 83 + type Response = UpsertOptionResponse; 84 }
+17 -9
crates/jacquard-api/src/tools_ozone/signature/find_correlation.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct FindCorrelation<'a> { ··· 43 ///Response type for 44 ///tools.ozone.signature.findCorrelation 45 pub struct FindCorrelationResponse; 46 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for FindCorrelationResponse { 47 const ENCODING: &'static str = "application/json"; 48 - type Output = FindCorrelationOutput<'de>; 49 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 50 } 51 52 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for FindCorrelation<'de> { 53 const NSID: &'static str = "tools.ozone.signature.findCorrelation"; 54 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 55 - jacquard_common::types::xrpc::XrpcMethod::Query; 56 - type Response<'de1> = FindCorrelationResponse; 57 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct FindCorrelation<'a> { ··· 51 ///Response type for 52 ///tools.ozone.signature.findCorrelation 53 pub struct FindCorrelationResponse; 54 + impl jacquard_common::xrpc::XrpcResp for FindCorrelationResponse { 55 + const NSID: &'static str = "tools.ozone.signature.findCorrelation"; 56 const ENCODING: &'static str = "application/json"; 57 + type Output<'de> = FindCorrelationOutput<'de>; 58 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 59 } 60 61 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for FindCorrelation<'de> { 62 const NSID: &'static str = "tools.ozone.signature.findCorrelation"; 63 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 64 + type Response = FindCorrelationResponse; 65 + }
+17 -9
crates/jacquard-api/src/tools_ozone/signature/search_accounts.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct SearchAccounts<'a> { ··· 56 ///Response type for 57 ///tools.ozone.signature.searchAccounts 58 pub struct SearchAccountsResponse; 59 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for SearchAccountsResponse { 60 const ENCODING: &'static str = "application/json"; 61 - type Output = SearchAccountsOutput<'de>; 62 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 63 } 64 65 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchAccounts<'de> { 66 const NSID: &'static str = "tools.ozone.signature.searchAccounts"; 67 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 68 - jacquard_common::types::xrpc::XrpcMethod::Query; 69 - type Response<'de1> = SearchAccountsResponse; 70 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct SearchAccounts<'a> { ··· 64 ///Response type for 65 ///tools.ozone.signature.searchAccounts 66 pub struct SearchAccountsResponse; 67 + impl jacquard_common::xrpc::XrpcResp for SearchAccountsResponse { 68 + const NSID: &'static str = "tools.ozone.signature.searchAccounts"; 69 const ENCODING: &'static str = "application/json"; 70 + type Output<'de> = SearchAccountsOutput<'de>; 71 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 72 } 73 74 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for SearchAccounts<'de> { 75 const NSID: &'static str = "tools.ozone.signature.searchAccounts"; 76 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 77 + type Response = SearchAccountsResponse; 78 + }
+20 -10
crates/jacquard-api/src/tools_ozone/team/add_member.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct AddMember<'a> { ··· 63 PartialEq, 64 Eq, 65 thiserror::Error, 66 - miette::Diagnostic, 67 )] 68 #[serde(tag = "error", content = "message")] 69 #[serde(bound(deserialize = "'de: 'a"))] ··· 103 ///Response type for 104 ///tools.ozone.team.addMember 105 pub struct AddMemberResponse; 106 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for AddMemberResponse { 107 const ENCODING: &'static str = "application/json"; 108 - type Output = AddMemberOutput<'de>; 109 - type Err = AddMemberError<'de>; 110 } 111 112 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for AddMember<'de> { 113 const NSID: &'static str = "tools.ozone.team.addMember"; 114 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 115 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 116 - type Response<'de1> = AddMemberResponse; 117 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct AddMember<'a> { ··· 71 PartialEq, 72 Eq, 73 thiserror::Error, 74 + miette::Diagnostic 75 )] 76 #[serde(tag = "error", content = "message")] 77 #[serde(bound(deserialize = "'de: 'a"))] ··· 111 ///Response type for 112 ///tools.ozone.team.addMember 113 pub struct AddMemberResponse; 114 + impl jacquard_common::xrpc::XrpcResp for AddMemberResponse { 115 + const NSID: &'static str = "tools.ozone.team.addMember"; 116 const ENCODING: &'static str = "application/json"; 117 + type Output<'de> = AddMemberOutput<'de>; 118 + type Err<'de> = AddMemberError<'de>; 119 } 120 121 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for AddMember<'de> { 122 const NSID: &'static str = "tools.ozone.team.addMember"; 123 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 124 + "application/json", 125 + ); 126 + type Response = AddMemberResponse; 127 + }
+20 -10
crates/jacquard-api/src/tools_ozone/team/delete_member.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct DeleteMember<'a> { ··· 40 PartialEq, 41 Eq, 42 thiserror::Error, 43 - miette::Diagnostic, 44 )] 45 #[serde(tag = "error", content = "message")] 46 #[serde(bound(deserialize = "'de: 'a"))] ··· 93 ///Response type for 94 ///tools.ozone.team.deleteMember 95 pub struct DeleteMemberResponse; 96 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for DeleteMemberResponse { 97 const ENCODING: &'static str = "application/json"; 98 - type Output = (); 99 - type Err = DeleteMemberError<'de>; 100 } 101 102 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteMember<'de> { 103 const NSID: &'static str = "tools.ozone.team.deleteMember"; 104 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 105 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 106 - type Response<'de1> = DeleteMemberResponse; 107 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct DeleteMember<'a> { ··· 48 PartialEq, 49 Eq, 50 thiserror::Error, 51 + miette::Diagnostic 52 )] 53 #[serde(tag = "error", content = "message")] 54 #[serde(bound(deserialize = "'de: 'a"))] ··· 101 ///Response type for 102 ///tools.ozone.team.deleteMember 103 pub struct DeleteMemberResponse; 104 + impl jacquard_common::xrpc::XrpcResp for DeleteMemberResponse { 105 + const NSID: &'static str = "tools.ozone.team.deleteMember"; 106 const ENCODING: &'static str = "application/json"; 107 + type Output<'de> = (); 108 + type Err<'de> = DeleteMemberError<'de>; 109 } 110 111 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for DeleteMember<'de> { 112 const NSID: &'static str = "tools.ozone.team.deleteMember"; 113 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 114 + "application/json", 115 + ); 116 + type Response = DeleteMemberResponse; 117 + }
+17 -9
crates/jacquard-api/src/tools_ozone/team/list_members.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct ListMembers<'a> { ··· 65 ///Response type for 66 ///tools.ozone.team.listMembers 67 pub struct ListMembersResponse; 68 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ListMembersResponse { 69 const ENCODING: &'static str = "application/json"; 70 - type Output = ListMembersOutput<'de>; 71 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 72 } 73 74 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListMembers<'de> { 75 const NSID: &'static str = "tools.ozone.team.listMembers"; 76 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 77 - jacquard_common::types::xrpc::XrpcMethod::Query; 78 - type Response<'de1> = ListMembersResponse; 79 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct ListMembers<'a> { ··· 73 ///Response type for 74 ///tools.ozone.team.listMembers 75 pub struct ListMembersResponse; 76 + impl jacquard_common::xrpc::XrpcResp for ListMembersResponse { 77 + const NSID: &'static str = "tools.ozone.team.listMembers"; 78 const ENCODING: &'static str = "application/json"; 79 + type Output<'de> = ListMembersOutput<'de>; 80 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 81 } 82 83 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ListMembers<'de> { 84 const NSID: &'static str = "tools.ozone.team.listMembers"; 85 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 86 + type Response = ListMembersResponse; 87 + }
+20 -10
crates/jacquard-api/src/tools_ozone/team/update_member.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct UpdateMember<'a> { ··· 67 PartialEq, 68 Eq, 69 thiserror::Error, 70 - miette::Diagnostic, 71 )] 72 #[serde(tag = "error", content = "message")] 73 #[serde(bound(deserialize = "'de: 'a"))] ··· 107 ///Response type for 108 ///tools.ozone.team.updateMember 109 pub struct UpdateMemberResponse; 110 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for UpdateMemberResponse { 111 const ENCODING: &'static str = "application/json"; 112 - type Output = UpdateMemberOutput<'de>; 113 - type Err = UpdateMemberError<'de>; 114 } 115 116 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateMember<'de> { 117 const NSID: &'static str = "tools.ozone.team.updateMember"; 118 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 119 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 120 - type Response<'de1> = UpdateMemberResponse; 121 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct UpdateMember<'a> { ··· 75 PartialEq, 76 Eq, 77 thiserror::Error, 78 + miette::Diagnostic 79 )] 80 #[serde(tag = "error", content = "message")] 81 #[serde(bound(deserialize = "'de: 'a"))] ··· 115 ///Response type for 116 ///tools.ozone.team.updateMember 117 pub struct UpdateMemberResponse; 118 + impl jacquard_common::xrpc::XrpcResp for UpdateMemberResponse { 119 + const NSID: &'static str = "tools.ozone.team.updateMember"; 120 const ENCODING: &'static str = "application/json"; 121 + type Output<'de> = UpdateMemberOutput<'de>; 122 + type Err<'de> = UpdateMemberError<'de>; 123 } 124 125 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for UpdateMember<'de> { 126 const NSID: &'static str = "tools.ozone.team.updateMember"; 127 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 128 + "application/json", 129 + ); 130 + type Response = UpdateMemberResponse; 131 + }
+19 -9
crates/jacquard-api/src/tools_ozone/verification/grant_verifications.rs
··· 30 } 31 32 #[jacquard_derive::lexicon] 33 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 34 #[serde(rename_all = "camelCase")] 35 #[builder(start_fn = new)] 36 pub struct GrantVerifications<'a> { ··· 80 ///Response type for 81 ///tools.ozone.verification.grantVerifications 82 pub struct GrantVerificationsResponse; 83 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for GrantVerificationsResponse { 84 const ENCODING: &'static str = "application/json"; 85 - type Output = GrantVerificationsOutput<'de>; 86 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 87 } 88 89 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GrantVerifications<'de> { 90 const NSID: &'static str = "tools.ozone.verification.grantVerifications"; 91 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 92 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 93 - type Response<'de1> = GrantVerificationsResponse; 94 } 95 96 #[jacquard_derive::lexicon] ··· 122 extra_data: self.extra_data.into_static(), 123 } 124 } 125 - }
··· 30 } 31 32 #[jacquard_derive::lexicon] 33 + #[derive( 34 + serde::Serialize, 35 + serde::Deserialize, 36 + Debug, 37 + Clone, 38 + PartialEq, 39 + Eq, 40 + bon::Builder 41 + )] 42 #[serde(rename_all = "camelCase")] 43 #[builder(start_fn = new)] 44 pub struct GrantVerifications<'a> { ··· 88 ///Response type for 89 ///tools.ozone.verification.grantVerifications 90 pub struct GrantVerificationsResponse; 91 + impl jacquard_common::xrpc::XrpcResp for GrantVerificationsResponse { 92 + const NSID: &'static str = "tools.ozone.verification.grantVerifications"; 93 const ENCODING: &'static str = "application/json"; 94 + type Output<'de> = GrantVerificationsOutput<'de>; 95 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 96 } 97 98 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for GrantVerifications<'de> { 99 const NSID: &'static str = "tools.ozone.verification.grantVerifications"; 100 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 101 + "application/json", 102 + ); 103 + type Response = GrantVerificationsResponse; 104 } 105 106 #[jacquard_derive::lexicon] ··· 132 extra_data: self.extra_data.into_static(), 133 } 134 } 135 + }
+17 -9
crates/jacquard-api/src/tools_ozone/verification/list_verifications.rs
··· 5 // This file was automatically generated from Lexicon schemas. 6 // Any manual changes will be overwritten on the next regeneration. 7 8 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 9 #[builder(start_fn = new)] 10 #[serde(rename_all = "camelCase")] 11 pub struct ListVerifications<'a> { ··· 76 ///Response type for 77 ///tools.ozone.verification.listVerifications 78 pub struct ListVerificationsResponse; 79 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for ListVerificationsResponse { 80 const ENCODING: &'static str = "application/json"; 81 - type Output = ListVerificationsOutput<'de>; 82 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 83 } 84 85 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListVerifications<'de> { 86 const NSID: &'static str = "tools.ozone.verification.listVerifications"; 87 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 88 - jacquard_common::types::xrpc::XrpcMethod::Query; 89 - type Response<'de1> = ListVerificationsResponse; 90 - }
··· 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 + )] 17 #[builder(start_fn = new)] 18 #[serde(rename_all = "camelCase")] 19 pub struct ListVerifications<'a> { ··· 84 ///Response type for 85 ///tools.ozone.verification.listVerifications 86 pub struct ListVerificationsResponse; 87 + impl jacquard_common::xrpc::XrpcResp for ListVerificationsResponse { 88 + const NSID: &'static str = "tools.ozone.verification.listVerifications"; 89 const ENCODING: &'static str = "application/json"; 90 + type Output<'de> = ListVerificationsOutput<'de>; 91 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 92 } 93 94 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for ListVerifications<'de> { 95 const NSID: &'static str = "tools.ozone.verification.listVerifications"; 96 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query; 97 + type Response = ListVerificationsResponse; 98 + }
+19 -9
crates/jacquard-api/src/tools_ozone/verification/revoke_verifications.rs
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 - #[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)] 10 #[serde(rename_all = "camelCase")] 11 #[builder(start_fn = new)] 12 pub struct RevokeVerifications<'a> { ··· 64 ///Response type for 65 ///tools.ozone.verification.revokeVerifications 66 pub struct RevokeVerificationsResponse; 67 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for RevokeVerificationsResponse { 68 const ENCODING: &'static str = "application/json"; 69 - type Output = RevokeVerificationsOutput<'de>; 70 - type Err = jacquard_common::types::xrpc::GenericError<'de>; 71 } 72 73 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RevokeVerifications<'de> { 74 const NSID: &'static str = "tools.ozone.verification.revokeVerifications"; 75 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = 76 - jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json"); 77 - type Response<'de1> = RevokeVerificationsResponse; 78 } 79 80 ///Error object for failed revocations ··· 99 extra_data: self.extra_data.into_static(), 100 } 101 } 102 - }
··· 6 // Any manual changes will be overwritten on the next regeneration. 7 8 #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + bon::Builder 17 + )] 18 #[serde(rename_all = "camelCase")] 19 #[builder(start_fn = new)] 20 pub struct RevokeVerifications<'a> { ··· 72 ///Response type for 73 ///tools.ozone.verification.revokeVerifications 74 pub struct RevokeVerificationsResponse; 75 + impl jacquard_common::xrpc::XrpcResp for RevokeVerificationsResponse { 76 + const NSID: &'static str = "tools.ozone.verification.revokeVerifications"; 77 const ENCODING: &'static str = "application/json"; 78 + type Output<'de> = RevokeVerificationsOutput<'de>; 79 + type Err<'de> = jacquard_common::xrpc::GenericError<'de>; 80 } 81 82 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for RevokeVerifications<'de> { 83 const NSID: &'static str = "tools.ozone.verification.revokeVerifications"; 84 + const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure( 85 + "application/json", 86 + ); 87 + type Response = RevokeVerificationsResponse; 88 } 89 90 ///Error object for failed revocations ··· 109 extra_data: self.extra_data.into_static(), 110 } 111 } 112 + }
+1 -1
crates/jacquard-axum/src/lib.rs
··· 10 response::{ErrorResponse, IntoResponse, Response}, 11 routing::get, 12 }; 13 - use jacquard::types::xrpc::{XrpcError, XrpcMethod, XrpcRequest}; 14 use serde::Serialize; 15 use serde_json::json; 16
··· 10 response::{ErrorResponse, IntoResponse, Response}, 11 routing::get, 12 }; 13 + use jacquard::xrpc::{XrpcError, XrpcMethod, XrpcRequest}; 14 use serde::Serialize; 15 use serde_json::json; 16
+1 -1
crates/jacquard-common/src/cowstr.rs
··· 1 use serde::{Deserialize, Serialize}; 2 use smol_str::SmolStr; 3 use std::{ 4 - borrow::{Borrow, Cow}, 5 fmt, 6 hash::{Hash, Hasher}, 7 ops::Deref,
··· 1 use serde::{Deserialize, Serialize}; 2 use smol_str::SmolStr; 3 use std::{ 4 + borrow::Cow, 5 fmt, 6 hash::{Hash, Hasher}, 7 ops::Deref,
+1 -1
crates/jacquard-common/src/error.rs
··· 1 //! Error types for XRPC client operations 2 3 - use crate::types::xrpc::EncodeError; 4 use bytes::Bytes; 5 6 /// Client error type wrapping all possible error conditions
··· 1 //! Error types for XRPC client operations 2 3 + use crate::xrpc::EncodeError; 4 use bytes::Bytes; 5 6 /// Client error type wrapping all possible error conditions
+2
crates/jacquard-common/src/lib.rs
··· 21 pub mod session; 22 /// Baseline fundamental AT Protocol data types. 23 pub mod types; 24 25 /// Authorization token types for XRPC requests. 26 #[derive(Debug, Clone)]
··· 21 pub mod session; 22 /// Baseline fundamental AT Protocol data types. 23 pub mod types; 24 + /// XRPC protocol types and traits 25 + pub mod xrpc; 26 27 /// Authorization token types for XRPC requests. 28 #[derive(Debug, Clone)]
+2 -4
crates/jacquard-common/src/types.rs
··· 8 pub mod cid; 9 /// Repository collection trait for records 10 pub mod collection; 11 /// AT Protocol datetime string type 12 pub mod datetime; 13 /// Decentralized Identifier (DID) types and validation 14 pub mod did; 15 /// DID Document types and helpers 16 pub mod did_doc; 17 - /// Crypto helpers for keys (Multikey decoding, conversions) 18 - pub mod crypto; 19 /// AT Protocol handle types and validation 20 pub mod handle; 21 /// AT Protocol identifier types (handle or DID) ··· 38 pub mod uri; 39 /// Generic data value types for lexicon data model 40 pub mod value; 41 - /// XRPC protocol types and traits 42 - pub mod xrpc; 43 44 /// Trait for a constant string literal type 45 pub trait Literal: Clone + Copy + PartialEq + Eq + Send + Sync + 'static {
··· 8 pub mod cid; 9 /// Repository collection trait for records 10 pub mod collection; 11 + /// Crypto helpers for keys (Multikey decoding, conversions) 12 + pub mod crypto; 13 /// AT Protocol datetime string type 14 pub mod datetime; 15 /// Decentralized Identifier (DID) types and validation 16 pub mod did; 17 /// DID Document types and helpers 18 pub mod did_doc; 19 /// AT Protocol handle types and validation 20 pub mod handle; 21 /// AT Protocol identifier types (handle or DID) ··· 38 pub mod uri; 39 /// Generic data value types for lexicon data model 40 pub mod value; 41 42 /// Trait for a constant string literal type 43 pub trait Literal: Clone + Copy + PartialEq + Eq + Send + Sync + 'static {
+100 -80
crates/jacquard-common/src/types/xrpc.rs crates/jacquard-common/src/xrpc.rs
··· 17 }; 18 use serde::{Deserialize, Serialize}; 19 use smol_str::SmolStr; 20 - use std::{ 21 - borrow::Borrow, 22 - fmt::{self, Debug, Display}, 23 - }; 24 use std::{error::Error, marker::PhantomData}; 25 use url::Url; 26 ··· 83 /// Trait for XRPC request types (queries and procedures) 84 /// 85 /// This trait provides metadata about XRPC endpoints including the NSID, 86 - /// HTTP method, encoding types, and associated output types. 87 /// 88 /// The trait is implemented on the request parameters/input type itself. 89 pub trait XrpcRequest<'de>: Serialize + Deserialize<'de> { ··· 93 /// XRPC method (query/GET or procedure/POST) 94 const METHOD: XrpcMethod; 95 96 - type Response<'de1>: XrpcResp<'de1>; 97 98 /// Encode the request body for procedures. 99 /// ··· 112 } 113 } 114 115 - pub trait XrpcResp<'de> { 116 /// Output encoding (MIME type) 117 const ENCODING: &'static str; 118 119 /// Response output type 120 - type Output: Deserialize<'de> + IntoStatic; 121 122 /// Error type for this request 123 - type Err: Error + Deserialize<'de> + IntoStatic; 124 } 125 126 /// Error type for XRPC endpoints that don't define any errors ··· 223 async { CallOptions::default() } 224 } 225 /// Send an XRPC request and parse the response 226 - fn send<R>(&self, request: &R) -> impl Future<Output = XrpcResult<Response<R>>> 227 where 228 - R: for<'any> XrpcRequest<'any> + Serialize + Send + Sync; 229 } 230 231 /// Stateless XRPC call builder. ··· 300 /// inspect the header for `error="invalid_token"` or `error="use_dpop_nonce"` and react 301 /// (refresh/retry). If the header is absent, the 401 body flows through to `Response` and 302 /// can be parsed/mapped to `AuthError` as appropriate. 303 - pub async fn send<R>(self, request: &R) -> XrpcResult<Response<R>> 304 where 305 - R: for<'any> XrpcRequest<'any> + Serialize + Send + Sync, 306 { 307 let http_request = build_http_request(&self.base, request, &self.opts) 308 .map_err(crate::error::TransportError::from)?; ··· 313 .await 314 .map_err(|e| crate::error::TransportError::Other(Box::new(e)))?; 315 316 - process_response(http_response) 317 } 318 } 319 ··· 321 /// 322 /// Exposed to make things more easily pluggable 323 #[inline] 324 - pub fn process_response<R>(http_response: http::Response<Vec<u8>>) -> XrpcResult<Response<R>> 325 where 326 - R: for<'any> XrpcRequest<'any>, 327 { 328 let status = http_response.status(); 329 // If the server returned 401 with a WWW-Authenticate header, expose it so higher layers ··· 374 } 375 376 /// Build an HTTP request for an XRPC call given base URL and options 377 - pub fn build_http_request<R>( 378 base: &Url, 379 req: &R, 380 opts: &CallOptions<'_>, 381 ) -> core::result::Result<Request<Vec<u8>>, crate::error::TransportError> 382 where 383 - R: for<'any> XrpcRequest<'any> + Serialize, 384 { 385 let mut url = base.clone(); 386 let mut path = url.path().trim_end_matches('/').to_owned(); 387 path.push_str("/xrpc/"); 388 - path.push_str(<R as XrpcRequest<'_>>::NSID); 389 url.set_path(&path); 390 391 - if let XrpcMethod::Query = <R as XrpcRequest<'_>>::METHOD { 392 let qs = serde_html_form::to_string(&req) 393 .map_err(|e| crate::error::TransportError::InvalidRequest(e.to_string()))?; 394 if !qs.is_empty() { ··· 408 if let XrpcMethod::Procedure(encoding) = <R as XrpcRequest<'_>>::METHOD { 409 builder = builder.header(Header::ContentType, encoding); 410 } 411 - let output_encoding = <R::Response<'static> as XrpcResp<'static>>::ENCODING; 412 builder = builder.header(http::header::ACCEPT, output_encoding); 413 414 if let Some(token) = &opts.auth { ··· 456 /// XRPC response wrapper that owns the response buffer 457 /// 458 /// Allows borrowing from the buffer when parsing to avoid unnecessary allocations. 459 - pub struct Response<R> 460 where 461 - R: for<'any> XrpcRequest<'any>, // HRTB: R works with any lifetime 462 { 463 - _marker: PhantomData<R>, 464 buffer: Bytes, 465 status: StatusCode, 466 } 467 468 - impl<R> Response<R> 469 where 470 - R: for<'any> XrpcRequest<'any>, 471 { 472 /// Create a new response from a buffer and status code 473 pub fn new(buffer: Bytes, status: StatusCode) -> Self { ··· 491 /// Parse the response, borrowing from the internal buffer 492 pub fn parse<'s>( 493 &'s self, 494 - ) -> Result< 495 - <<R as XrpcRequest<'s>>::Response<'s> as XrpcResp<'s>>::Output, 496 - XrpcError<<<R as XrpcRequest<'s>>::Response<'s> as XrpcResp<'s>>::Err>, 497 - > { 498 - type Output<'a, R> = <<R as XrpcRequest<'a>>::Response<'a> as XrpcResp<'a>>::Output; 499 - type Err<'a, R> = <<R as XrpcRequest<'a>>::Response<'a> as XrpcResp<'a>>::Err; 500 - 501 // 200: parse as output 502 if self.status.is_success() { 503 - match serde_json::from_slice::<Output<'s, R>>(&self.buffer) { 504 Ok(output) => Ok(output), 505 Err(e) => Err(XrpcError::Decode(e)), 506 } 507 // 400: try typed XRPC error, fallback to generic error 508 } else if self.status.as_u16() == 400 { 509 - match serde_json::from_slice::<Err<'s, R>>(&self.buffer) { 510 Ok(error) => Err(XrpcError::Xrpc(error)), 511 Err(_) => { 512 // Fallback to generic error (InvalidRequest, ExpiredToken, etc.) 513 match serde_json::from_slice::<GenericXrpcError>(&self.buffer) { 514 Ok(mut generic) => { 515 - generic.nsid = <R as XrpcRequest<'s>>::NSID; 516 - generic.method = <R as XrpcRequest<'s>>::METHOD.as_str(); 517 generic.http_status = self.status; 518 // Map auth-related errors to AuthError 519 match generic.error.as_str() { ··· 530 } else { 531 match serde_json::from_slice::<GenericXrpcError>(&self.buffer) { 532 Ok(mut generic) => { 533 - generic.nsid = <R as XrpcRequest<'s>>::NSID; 534 - generic.method = <R as XrpcRequest<'s>>::METHOD.as_str(); 535 generic.http_status = self.status; 536 match generic.error.as_str() { 537 "ExpiredToken" => Err(XrpcError::Auth(AuthError::TokenExpired)), ··· 545 } 546 } 547 548 - impl<R> Response<R> 549 where 550 - for<'any> R: XrpcRequest<'any>, 551 { 552 /// Parse the response into an owned output 553 pub fn into_output( 554 self, 555 - ) -> Result< 556 - <<R as XrpcRequest<'static>>::Response<'static> as XrpcResp<'static>>::Output, 557 - XrpcError<<<R as XrpcRequest<'static>>::Response<'static> as XrpcResp<'static>>::Err>, 558 - // <<R as XrpcRequest<'c>>::Response<'static>>::Output, 559 - // XrpcError<<<R as XrpcRequest<'c>>::Response<'static>>::Err>, 560 - > 561 where 562 - for<'a> <<R as XrpcRequest<'a>>::Response<'a> as XrpcResp<'a>>::Output: IntoStatic< 563 - Output = <<R as XrpcRequest<'static>>::Response<'static> as XrpcResp<'static>>::Output, 564 - >, 565 - for<'a> <<R as XrpcRequest<'a>>::Response<'a> as XrpcResp<'a>>::Err: IntoStatic< 566 - Output = <<R as XrpcRequest<'static>>::Response<'static> as XrpcResp<'static>>::Err, 567 - > + 'static, 568 { 569 - type Output<'d, R> = <<R as XrpcRequest<'d>>::Response<'d> as XrpcResp<'d>>::Output; 570 - type Errr<'d, R> = <<R as XrpcRequest<'d>>::Response<'d> as XrpcResp<'d>>::Err; 571 // Use a helper to make lifetime inference work 572 - fn parse_output<'b, R: XrpcRequest<'b>>( 573 buffer: &'b [u8], 574 - ) -> Result<Output<'b, R>, serde_json::Error> { 575 serde_json::from_slice(buffer) 576 } 577 578 - fn parse_error<'b, R: XrpcRequest<'b>>( 579 - buffer: &'b [u8], 580 - ) -> Result<Errr<'b, R>, serde_json::Error> { 581 serde_json::from_slice(buffer) 582 } 583 584 // 200: parse as output 585 if self.status.is_success() { 586 - match parse_output::<R>(&self.buffer) { 587 Ok(output) => { 588 return Ok(output.into_static()); 589 } ··· 591 } 592 // 400: try typed XRPC error, fallback to generic error 593 } else if self.status.as_u16() == 400 { 594 - let error = match parse_error::<R>(&self.buffer) { 595 Ok(error) => XrpcError::Xrpc(error), 596 Err(_) => { 597 // Fallback to generic error (InvalidRequest, ExpiredToken, etc.) 598 match serde_json::from_slice::<GenericXrpcError>(&self.buffer) { 599 Ok(mut generic) => { 600 - generic.nsid = R::NSID; 601 - generic.method = R::METHOD.as_str(); 602 generic.http_status = self.status; 603 // Map auth-related errors to AuthError 604 match generic.error.as_ref() { ··· 614 Err(error.into_static()) 615 // 401: always auth error 616 } else { 617 - let error: XrpcError<<<R as XrpcRequest<'_>>::Response<'_> as XrpcResp<'_>>::Err> = 618 match serde_json::from_slice::<GenericXrpcError>(&self.buffer) { 619 Ok(mut generic) => { 620 let status = self.status; 621 - generic.nsid = R::NSID; 622 - generic.method = R::METHOD.as_str(); 623 generic.http_status = status; 624 match generic.error.as_ref() { 625 "ExpiredToken" => XrpcError::Auth(AuthError::TokenExpired), ··· 713 impl<E> IntoStatic for XrpcError<E> 714 where 715 E: std::error::Error + IntoStatic, 716 - E::Output: std::error::Error + IntoStatic + 'static, 717 - <E as IntoStatic>::Output: std::error::Error + IntoStatic + 'static, 718 { 719 type Output = XrpcError<E::Output>; 720 fn into_static(self) -> Self::Output { ··· 733 use serde::{Deserialize, Serialize}; 734 735 #[derive(Serialize, Deserialize)] 736 struct DummyReq; 737 738 #[derive(Deserialize, Debug, thiserror::Error)] ··· 748 749 struct DummyResp; 750 751 - impl<'de> XrpcResp<'de> for DummyResp { 752 const ENCODING: &'static str = "application/json"; 753 - type Output = (); 754 - type Err = DummyErr<'de>; 755 } 756 757 impl<'de> XrpcRequest<'de> for DummyReq { 758 const NSID: &'static str = "test.dummy"; 759 const METHOD: XrpcMethod = XrpcMethod::Procedure("application/json"); 760 - type Response<'de1> = DummyResp; 761 } 762 763 #[test] 764 fn generic_error_carries_context() { 765 let body = serde_json::json!({"error":"InvalidRequest","message":"missing"}); 766 let buf = Bytes::from(serde_json::to_vec(&body).unwrap()); 767 - let resp: Response<DummyReq> = Response::new(buf, StatusCode::BAD_REQUEST); 768 match resp.parse().unwrap_err() { 769 XrpcError::Generic(g) => { 770 assert_eq!(g.error.as_str(), "InvalidRequest"); 771 assert_eq!(g.message.as_deref(), Some("missing")); 772 - assert_eq!(g.nsid, DummyReq::NSID); 773 - assert_eq!(g.method, DummyReq::METHOD.as_str()); 774 assert_eq!(g.http_status, StatusCode::BAD_REQUEST); 775 } 776 other => panic!("unexpected: {other:?}"), ··· 785 ] { 786 let body = serde_json::json!({"error": code}); 787 let buf = Bytes::from(serde_json::to_vec(&body).unwrap()); 788 - let resp: Response<DummyReq> = Response::new(buf, StatusCode::UNAUTHORIZED); 789 match resp.parse().unwrap_err() { 790 XrpcError::Auth(e) => match (e, expect) { 791 (AuthError::TokenExpired, AuthError::TokenExpired) => {} ··· 810 Err(self.0.into_static()) 811 } 812 } 813 impl<'de> XrpcRequest<'de> for Req { 814 const NSID: &'static str = "com.example.test"; 815 const METHOD: XrpcMethod = XrpcMethod::Query; 816 - const OUTPUT_ENCODING: &'static str = "application/json"; 817 - type Output = (); 818 - type Err = Err<'de>; 819 } 820 821 let opts = CallOptions::default();
··· 17 }; 18 use serde::{Deserialize, Serialize}; 19 use smol_str::SmolStr; 20 + use std::fmt::{self, Debug}; 21 use std::{error::Error, marker::PhantomData}; 22 use url::Url; 23 ··· 80 /// Trait for XRPC request types (queries and procedures) 81 /// 82 /// This trait provides metadata about XRPC endpoints including the NSID, 83 + /// HTTP method, encoding, and associated output type. 84 /// 85 /// The trait is implemented on the request parameters/input type itself. 86 pub trait XrpcRequest<'de>: Serialize + Deserialize<'de> { ··· 90 /// XRPC method (query/GET or procedure/POST) 91 const METHOD: XrpcMethod; 92 93 + /// Response type returned from the XRPC call (marker struct) 94 + type Response: XrpcResp; 95 96 /// Encode the request body for procedures. 97 /// ··· 110 } 111 } 112 113 + /// Trait for XRPC Response types 114 + /// 115 + /// It mirrors the NSID and carries the encoding types as well as Output (success) and Err types 116 + pub trait XrpcResp { 117 + /// The NSID for this XRPC method 118 + const NSID: &'static str; 119 + 120 /// Output encoding (MIME type) 121 const ENCODING: &'static str; 122 123 /// Response output type 124 + type Output<'de>: Deserialize<'de> + IntoStatic; 125 126 /// Error type for this request 127 + type Err<'de>: Error + Deserialize<'de> + IntoStatic; 128 } 129 130 /// Error type for XRPC endpoints that don't define any errors ··· 227 async { CallOptions::default() } 228 } 229 /// Send an XRPC request and parse the response 230 + fn send<'s, R>( 231 + &self, 232 + request: R, 233 + ) -> impl Future<Output = XrpcResult<Response<<R as XrpcRequest<'s>>::Response>>> 234 where 235 + R: XrpcRequest<'s>; 236 } 237 238 /// Stateless XRPC call builder. ··· 307 /// inspect the header for `error="invalid_token"` or `error="use_dpop_nonce"` and react 308 /// (refresh/retry). If the header is absent, the 401 body flows through to `Response` and 309 /// can be parsed/mapped to `AuthError` as appropriate. 310 + pub async fn send<'s, R>( 311 + self, 312 + request: &R, 313 + ) -> XrpcResult<Response<<R as XrpcRequest<'s>>::Response>> 314 where 315 + R: XrpcRequest<'s>, 316 { 317 let http_request = build_http_request(&self.base, request, &self.opts) 318 .map_err(crate::error::TransportError::from)?; ··· 323 .await 324 .map_err(|e| crate::error::TransportError::Other(Box::new(e)))?; 325 326 + let status = http_response.status(); 327 + // If the server returned 401 with a WWW-Authenticate header, expose it so higher layers 328 + // (e.g., DPoP handling) can detect `error="invalid_token"` and trigger refresh. 329 + if status.as_u16() == 401 { 330 + if let Some(hv) = http_response.headers().get(http::header::WWW_AUTHENTICATE) { 331 + return Err(crate::error::ClientError::Auth( 332 + crate::error::AuthError::Other(hv.clone()), 333 + )); 334 + } 335 + } 336 + let buffer = Bytes::from(http_response.into_body()); 337 + 338 + if !status.is_success() && !matches!(status.as_u16(), 400 | 401) { 339 + return Err(crate::error::HttpError { 340 + status, 341 + body: Some(buffer), 342 + } 343 + .into()); 344 + } 345 + 346 + Ok(Response::new(buffer, status)) 347 } 348 } 349 ··· 351 /// 352 /// Exposed to make things more easily pluggable 353 #[inline] 354 + pub fn process_response<Resp>(http_response: http::Response<Vec<u8>>) -> XrpcResult<Response<Resp>> 355 where 356 + Resp: XrpcResp, 357 { 358 let status = http_response.status(); 359 // If the server returned 401 with a WWW-Authenticate header, expose it so higher layers ··· 404 } 405 406 /// Build an HTTP request for an XRPC call given base URL and options 407 + pub fn build_http_request<'s, R>( 408 base: &Url, 409 req: &R, 410 opts: &CallOptions<'_>, 411 ) -> core::result::Result<Request<Vec<u8>>, crate::error::TransportError> 412 where 413 + R: XrpcRequest<'s>, 414 { 415 let mut url = base.clone(); 416 let mut path = url.path().trim_end_matches('/').to_owned(); 417 path.push_str("/xrpc/"); 418 + path.push_str(<R as XrpcRequest<'s>>::NSID); 419 url.set_path(&path); 420 421 + if let XrpcMethod::Query = <R as XrpcRequest<'s>>::METHOD { 422 let qs = serde_html_form::to_string(&req) 423 .map_err(|e| crate::error::TransportError::InvalidRequest(e.to_string()))?; 424 if !qs.is_empty() { ··· 438 if let XrpcMethod::Procedure(encoding) = <R as XrpcRequest<'_>>::METHOD { 439 builder = builder.header(Header::ContentType, encoding); 440 } 441 + let output_encoding = <R::Response as XrpcResp>::ENCODING; 442 builder = builder.header(http::header::ACCEPT, output_encoding); 443 444 if let Some(token) = &opts.auth { ··· 486 /// XRPC response wrapper that owns the response buffer 487 /// 488 /// Allows borrowing from the buffer when parsing to avoid unnecessary allocations. 489 + /// Generic over the response marker type (e.g., `GetAuthorFeedResponse`), not the request. 490 + pub struct Response<Resp> 491 where 492 + Resp: for<'any> XrpcResp, // HRTB: Resp works with any lifetime 493 { 494 + _marker: PhantomData<fn() -> Resp>, 495 buffer: Bytes, 496 status: StatusCode, 497 } 498 499 + impl<Resp> Response<Resp> 500 where 501 + Resp: for<'any> XrpcResp, 502 { 503 /// Create a new response from a buffer and status code 504 pub fn new(buffer: Bytes, status: StatusCode) -> Self { ··· 522 /// Parse the response, borrowing from the internal buffer 523 pub fn parse<'s>( 524 &'s self, 525 + ) -> Result<<Resp as XrpcResp>::Output<'s>, XrpcError<<Resp as XrpcResp>::Err<'s>>> { 526 // 200: parse as output 527 if self.status.is_success() { 528 + match serde_json::from_slice::<_>(&self.buffer) { 529 Ok(output) => Ok(output), 530 Err(e) => Err(XrpcError::Decode(e)), 531 } 532 // 400: try typed XRPC error, fallback to generic error 533 } else if self.status.as_u16() == 400 { 534 + match serde_json::from_slice::<_>(&self.buffer) { 535 Ok(error) => Err(XrpcError::Xrpc(error)), 536 Err(_) => { 537 // Fallback to generic error (InvalidRequest, ExpiredToken, etc.) 538 match serde_json::from_slice::<GenericXrpcError>(&self.buffer) { 539 Ok(mut generic) => { 540 + generic.nsid = Resp::NSID; 541 + generic.method = ""; // method info only available on request 542 generic.http_status = self.status; 543 // Map auth-related errors to AuthError 544 match generic.error.as_str() { ··· 555 } else { 556 match serde_json::from_slice::<GenericXrpcError>(&self.buffer) { 557 Ok(mut generic) => { 558 + generic.nsid = Resp::NSID; 559 + generic.method = ""; // method info only available on request 560 generic.http_status = self.status; 561 match generic.error.as_str() { 562 "ExpiredToken" => Err(XrpcError::Auth(AuthError::TokenExpired)), ··· 570 } 571 } 572 573 + impl<Resp> Response<Resp> 574 where 575 + Resp: XrpcResp, 576 { 577 /// Parse the response into an owned output 578 pub fn into_output( 579 self, 580 + ) -> Result<<Resp as XrpcResp>::Output<'static>, XrpcError<<Resp as XrpcResp>::Err<'static>>> 581 where 582 + for<'a> <Resp as XrpcResp>::Output<'a>: 583 + IntoStatic<Output = <Resp as XrpcResp>::Output<'static>>, 584 + for<'a> <Resp as XrpcResp>::Err<'a>: IntoStatic<Output = <Resp as XrpcResp>::Err<'static>>, 585 { 586 // Use a helper to make lifetime inference work 587 + fn parse_output<'b, R: XrpcResp>( 588 buffer: &'b [u8], 589 + ) -> Result<R::Output<'b>, serde_json::Error> { 590 serde_json::from_slice(buffer) 591 } 592 593 + fn parse_error<'b, R: XrpcResp>(buffer: &'b [u8]) -> Result<R::Err<'b>, serde_json::Error> { 594 serde_json::from_slice(buffer) 595 } 596 597 // 200: parse as output 598 if self.status.is_success() { 599 + match parse_output::<Resp>(&self.buffer) { 600 Ok(output) => { 601 return Ok(output.into_static()); 602 } ··· 604 } 605 // 400: try typed XRPC error, fallback to generic error 606 } else if self.status.as_u16() == 400 { 607 + let error = match parse_error::<Resp>(&self.buffer) { 608 Ok(error) => XrpcError::Xrpc(error), 609 Err(_) => { 610 // Fallback to generic error (InvalidRequest, ExpiredToken, etc.) 611 match serde_json::from_slice::<GenericXrpcError>(&self.buffer) { 612 Ok(mut generic) => { 613 + generic.nsid = Resp::NSID; 614 + generic.method = ""; // method info only available on request 615 generic.http_status = self.status; 616 // Map auth-related errors to AuthError 617 match generic.error.as_ref() { ··· 627 Err(error.into_static()) 628 // 401: always auth error 629 } else { 630 + let error: XrpcError<<Resp as XrpcResp>::Err<'_>> = 631 match serde_json::from_slice::<GenericXrpcError>(&self.buffer) { 632 Ok(mut generic) => { 633 let status = self.status; 634 + generic.nsid = Resp::NSID; 635 + generic.method = ""; // method info only available on request 636 generic.http_status = status; 637 match generic.error.as_ref() { 638 "ExpiredToken" => XrpcError::Auth(AuthError::TokenExpired), ··· 726 impl<E> IntoStatic for XrpcError<E> 727 where 728 E: std::error::Error + IntoStatic, 729 + E::Output: std::error::Error + IntoStatic, 730 + <E as IntoStatic>::Output: std::error::Error + IntoStatic, 731 { 732 type Output = XrpcError<E::Output>; 733 fn into_static(self) -> Self::Output { ··· 746 use serde::{Deserialize, Serialize}; 747 748 #[derive(Serialize, Deserialize)] 749 + #[allow(dead_code)] 750 struct DummyReq; 751 752 #[derive(Deserialize, Debug, thiserror::Error)] ··· 762 763 struct DummyResp; 764 765 + impl XrpcResp for DummyResp { 766 + const NSID: &'static str = "test.dummy"; 767 const ENCODING: &'static str = "application/json"; 768 + type Output<'de> = (); 769 + type Err<'de> = DummyErr<'de>; 770 } 771 772 impl<'de> XrpcRequest<'de> for DummyReq { 773 const NSID: &'static str = "test.dummy"; 774 const METHOD: XrpcMethod = XrpcMethod::Procedure("application/json"); 775 + type Response = DummyResp; 776 } 777 778 #[test] 779 fn generic_error_carries_context() { 780 let body = serde_json::json!({"error":"InvalidRequest","message":"missing"}); 781 let buf = Bytes::from(serde_json::to_vec(&body).unwrap()); 782 + let resp: Response<DummyResp> = Response::new(buf, StatusCode::BAD_REQUEST); 783 match resp.parse().unwrap_err() { 784 XrpcError::Generic(g) => { 785 assert_eq!(g.error.as_str(), "InvalidRequest"); 786 assert_eq!(g.message.as_deref(), Some("missing")); 787 + assert_eq!(g.nsid, DummyResp::NSID); 788 + assert_eq!(g.method, ""); // method info only on request 789 assert_eq!(g.http_status, StatusCode::BAD_REQUEST); 790 } 791 other => panic!("unexpected: {other:?}"), ··· 800 ] { 801 let body = serde_json::json!({"error": code}); 802 let buf = Bytes::from(serde_json::to_vec(&body).unwrap()); 803 + let resp: Response<DummyResp> = Response::new(buf, StatusCode::UNAUTHORIZED); 804 match resp.parse().unwrap_err() { 805 XrpcError::Auth(e) => match (e, expect) { 806 (AuthError::TokenExpired, AuthError::TokenExpired) => {} ··· 825 Err(self.0.into_static()) 826 } 827 } 828 + struct Resp; 829 + impl XrpcResp for Resp { 830 + const NSID: &'static str = "com.example.test"; 831 + const ENCODING: &'static str = "application/json"; 832 + type Output<'de> = (); 833 + type Err<'de> = Err<'de>; 834 + } 835 impl<'de> XrpcRequest<'de> for Req { 836 const NSID: &'static str = "com.example.test"; 837 const METHOD: XrpcMethod = XrpcMethod::Query; 838 + type Response = Resp; 839 } 840 841 let opts = CallOptions::default();
+3 -4
crates/jacquard-identity/src/lib.rs
··· 19 ResolverOptions, 20 }; 21 use bytes::Bytes; 22 - use jacquard_api::com_atproto::identity::resolve_did::{self, ResolveDid, ResolveDidOutput}; 23 use jacquard_api::com_atproto::identity::resolve_handle::ResolveHandle; 24 use jacquard_common::error::TransportError; 25 use jacquard_common::http_client::HttpClient; 26 use jacquard_common::types::did::Did; 27 use jacquard_common::types::did_doc::DidDocument; 28 use jacquard_common::types::ident::AtIdentifier; 29 - use jacquard_common::types::xrpc::{OwnedResponse, XrpcExt}; 30 use jacquard_common::{IntoStatic, types::string::Handle}; 31 use percent_encoding::percent_decode_str; 32 use reqwest::StatusCode; ··· 209 .await 210 .map_err(|e| IdentityError::Xrpc(e.to_string()))?; 211 let out = resp 212 - .into_output() 213 .map_err(|e| IdentityError::Xrpc(e.to_string()))?; 214 Did::new_owned(out.did.as_str()) 215 .map(|d| d.into_static()) ··· 273 } 274 } 275 276 - #[async_trait::async_trait] 277 impl IdentityResolver for JacquardResolver { 278 fn options(&self) -> &ResolverOptions { 279 &self.opts
··· 19 ResolverOptions, 20 }; 21 use bytes::Bytes; 22 + use jacquard_api::com_atproto::identity::resolve_did; 23 use jacquard_api::com_atproto::identity::resolve_handle::ResolveHandle; 24 use jacquard_common::error::TransportError; 25 use jacquard_common::http_client::HttpClient; 26 use jacquard_common::types::did::Did; 27 use jacquard_common::types::did_doc::DidDocument; 28 use jacquard_common::types::ident::AtIdentifier; 29 + use jacquard_common::xrpc::XrpcExt; 30 use jacquard_common::{IntoStatic, types::string::Handle}; 31 use percent_encoding::percent_decode_str; 32 use reqwest::StatusCode; ··· 209 .await 210 .map_err(|e| IdentityError::Xrpc(e.to_string()))?; 211 let out = resp 212 + .parse() 213 .map_err(|e| IdentityError::Xrpc(e.to_string()))?; 214 Did::new_owned(out.did.as_str()) 215 .map(|d| d.into_static()) ··· 273 } 274 } 275 276 impl IdentityResolver for JacquardResolver { 277 fn options(&self) -> &ResolverOptions { 278 &self.opts
+51 -38
crates/jacquard-identity/src/resolver.rs
··· 324 /// - PLC directory or Slingshot for `did:plc` 325 /// - Slingshot `resolveHandle` (unauthenticated) when configured as the PLC source 326 /// - PDS fallbacks via helpers that use stateless XRPC on top of reqwest 327 - #[async_trait::async_trait()] 328 pub trait IdentityResolver { 329 /// Access options for validation decisions in default methods 330 fn options(&self) -> &ResolverOptions; 331 332 /// Resolve handle 333 - async fn resolve_handle(&self, handle: &Handle<'_>) -> Result<Did<'static>, IdentityError>; 334 335 /// Resolve DID document 336 - async fn resolve_did_doc(&self, did: &Did<'_>) -> Result<DidDocResponse, IdentityError>; 337 338 /// Resolve DID doc from an identifier 339 - async fn resolve_ident( 340 &self, 341 actor: &AtIdentifier<'_>, 342 - ) -> Result<DidDocResponse, IdentityError> { 343 - match actor { 344 - AtIdentifier::Did(did) => self.resolve_did_doc(&did).await, 345 - AtIdentifier::Handle(handle) => { 346 - let did = self.resolve_handle(&handle).await?; 347 - self.resolve_did_doc(&did).await 348 } 349 } 350 } 351 352 /// Resolve DID doc from an identifier 353 - async fn resolve_ident_owned( 354 &self, 355 actor: &AtIdentifier<'_>, 356 - ) -> Result<DidDocument<'static>, IdentityError> { 357 - match actor { 358 - AtIdentifier::Did(did) => self.resolve_did_doc_owned(&did).await, 359 - AtIdentifier::Handle(handle) => { 360 - let did = self.resolve_handle(&handle).await?; 361 - self.resolve_did_doc_owned(&did).await 362 } 363 } 364 } 365 366 /// Resolve the DID document and return an owned version 367 - async fn resolve_did_doc_owned( 368 &self, 369 did: &Did<'_>, 370 - ) -> Result<DidDocument<'static>, IdentityError> { 371 - self.resolve_did_doc(did).await?.into_owned() 372 } 373 /// Return the PDS url for a DID 374 - async fn pds_for_did(&self, did: &Did<'_>) -> Result<Url, IdentityError> { 375 - let resp = self.resolve_did_doc(did).await?; 376 - let doc = resp.parse()?; 377 - // Default-on doc id equality check 378 - if self.options().validate_doc_id { 379 - if doc.id.as_str() != did.as_str() { 380 - return Err(IdentityError::DocIdMismatch { 381 - expected: did.clone().into_static(), 382 - doc: doc.clone().into_static(), 383 - }); 384 } 385 } 386 - doc.pds_endpoint().ok_or(IdentityError::MissingPdsEndpoint) 387 } 388 /// Return the DIS and PDS url for a handle 389 - async fn pds_for_handle( 390 &self, 391 handle: &Handle<'_>, 392 - ) -> Result<(Did<'static>, Url), IdentityError> { 393 - let did = self.resolve_handle(handle).await?; 394 - let pds = self.pds_for_did(&did).await?; 395 - Ok((did, pds)) 396 } 397 } 398 399 - #[async_trait::async_trait] 400 - impl<T: IdentityResolver + Sync + Send> IdentityResolver for std::sync::Arc<T> { 401 fn options(&self) -> &ResolverOptions { 402 self.as_ref().options() 403 }
··· 324 /// - PLC directory or Slingshot for `did:plc` 325 /// - Slingshot `resolveHandle` (unauthenticated) when configured as the PLC source 326 /// - PDS fallbacks via helpers that use stateless XRPC on top of reqwest 327 + 328 pub trait IdentityResolver { 329 /// Access options for validation decisions in default methods 330 fn options(&self) -> &ResolverOptions; 331 332 /// Resolve handle 333 + fn resolve_handle( 334 + &self, 335 + handle: &Handle<'_>, 336 + ) -> impl Future<Output = Result<Did<'static>, IdentityError>>; 337 338 /// Resolve DID document 339 + fn resolve_did_doc( 340 + &self, 341 + did: &Did<'_>, 342 + ) -> impl Future<Output = Result<DidDocResponse, IdentityError>>; 343 344 /// Resolve DID doc from an identifier 345 + fn resolve_ident( 346 &self, 347 actor: &AtIdentifier<'_>, 348 + ) -> impl Future<Output = Result<DidDocResponse, IdentityError>> { 349 + async move { 350 + match actor { 351 + AtIdentifier::Did(did) => self.resolve_did_doc(&did).await, 352 + AtIdentifier::Handle(handle) => { 353 + let did = self.resolve_handle(&handle).await?; 354 + self.resolve_did_doc(&did).await 355 + } 356 } 357 } 358 } 359 360 /// Resolve DID doc from an identifier 361 + fn resolve_ident_owned( 362 &self, 363 actor: &AtIdentifier<'_>, 364 + ) -> impl Future<Output = Result<DidDocument<'static>, IdentityError>> { 365 + async move { 366 + match actor { 367 + AtIdentifier::Did(did) => self.resolve_did_doc_owned(&did).await, 368 + AtIdentifier::Handle(handle) => { 369 + let did = self.resolve_handle(&handle).await?; 370 + self.resolve_did_doc_owned(&did).await 371 + } 372 } 373 } 374 } 375 376 /// Resolve the DID document and return an owned version 377 + fn resolve_did_doc_owned( 378 &self, 379 did: &Did<'_>, 380 + ) -> impl Future<Output = Result<DidDocument<'static>, IdentityError>> { 381 + async { self.resolve_did_doc(did).await?.into_owned() } 382 } 383 /// Return the PDS url for a DID 384 + fn pds_for_did(&self, did: &Did<'_>) -> impl Future<Output = Result<Url, IdentityError>> { 385 + async { 386 + let resp = self.resolve_did_doc(did).await?; 387 + let doc = resp.parse()?; 388 + // Default-on doc id equality check 389 + if self.options().validate_doc_id { 390 + if doc.id.as_str() != did.as_str() { 391 + return Err(IdentityError::DocIdMismatch { 392 + expected: did.clone().into_static(), 393 + doc: doc.clone().into_static(), 394 + }); 395 + } 396 } 397 + doc.pds_endpoint().ok_or(IdentityError::MissingPdsEndpoint) 398 } 399 } 400 /// Return the DIS and PDS url for a handle 401 + fn pds_for_handle( 402 &self, 403 handle: &Handle<'_>, 404 + ) -> impl Future<Output = Result<(Did<'static>, Url), IdentityError>> { 405 + async { 406 + let did = self.resolve_handle(handle).await?; 407 + let pds = self.pds_for_did(&did).await?; 408 + Ok((did, pds)) 409 + } 410 } 411 } 412 413 + impl<T: IdentityResolver> IdentityResolver for std::sync::Arc<T> { 414 fn options(&self) -> &ResolverOptions { 415 self.as_ref().options() 416 }
+14 -13
crates/jacquard-lexicon/src/codegen.rs
··· 672 let xrpc_impl = self.generate_xrpc_request_impl( 673 nsid, 674 &type_base, 675 - quote! { jacquard_common::types::xrpc::XrpcMethod::Query }, 676 output_encoding, 677 has_params, 678 params_has_lifetime, ··· 745 let xrpc_impl = self.generate_xrpc_request_impl( 746 nsid, 747 &type_base, 748 - quote! { jacquard_common::types::xrpc::XrpcMethod::Procedure(#input_encoding) }, 749 output_encoding, 750 has_input, 751 params_has_lifetime, ··· 2030 ); 2031 quote! { #error_ident<'de> } 2032 } else { 2033 - quote! { jacquard_common::types::xrpc::GenericError<'de> } 2034 }; 2035 2036 // Generate the response type that implements XrpcResp ··· 2044 #[doc = #nsid] 2045 pub struct #response_ident; 2046 2047 - impl<'de> jacquard_common::types::xrpc::XrpcResp<'de> for #response_ident { 2048 const ENCODING: &'static str = #output_encoding; 2049 - type Output = #output_type; 2050 - type Err = #error_type; 2051 } 2052 }; 2053 2054 // Generate encode_body() method for binary inputs 2055 let encode_body_method = if is_binary_input { 2056 quote! { 2057 - fn encode_body(&self) -> Result<Vec<u8>, jacquard_common::types::xrpc::EncodeError> { 2058 Ok(self.body.to_vec()) 2059 } 2060 } ··· 2089 Ok(quote! { 2090 #response_type 2091 2092 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for #impl_target { 2093 const NSID: &'static str = #nsid; 2094 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = #method; 2095 2096 - type Response<'de1> = #response_ident; 2097 2098 #encode_body_method 2099 #decode_body_method ··· 2110 2111 #response_type 2112 2113 - impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for #request_ident { 2114 const NSID: &'static str = #nsid; 2115 - const METHOD: jacquard_common::types::xrpc::XrpcMethod = #method; 2116 2117 - type Response<'de1> = #response_ident; 2118 } 2119 }) 2120 }
··· 672 let xrpc_impl = self.generate_xrpc_request_impl( 673 nsid, 674 &type_base, 675 + quote! { jacquard_common::xrpc::XrpcMethod::Query }, 676 output_encoding, 677 has_params, 678 params_has_lifetime, ··· 745 let xrpc_impl = self.generate_xrpc_request_impl( 746 nsid, 747 &type_base, 748 + quote! { jacquard_common::xrpc::XrpcMethod::Procedure(#input_encoding) }, 749 output_encoding, 750 has_input, 751 params_has_lifetime, ··· 2030 ); 2031 quote! { #error_ident<'de> } 2032 } else { 2033 + quote! { jacquard_common::xrpc::GenericError<'de> } 2034 }; 2035 2036 // Generate the response type that implements XrpcResp ··· 2044 #[doc = #nsid] 2045 pub struct #response_ident; 2046 2047 + impl jacquard_common::xrpc::XrpcResp for #response_ident { 2048 + const NSID: &'static str = #nsid; 2049 const ENCODING: &'static str = #output_encoding; 2050 + type Output<'de> = #output_type; 2051 + type Err<'de> = #error_type; 2052 } 2053 }; 2054 2055 // Generate encode_body() method for binary inputs 2056 let encode_body_method = if is_binary_input { 2057 quote! { 2058 + fn encode_body(&self) -> Result<Vec<u8>, jacquard_common::xrpc::EncodeError> { 2059 Ok(self.body.to_vec()) 2060 } 2061 } ··· 2090 Ok(quote! { 2091 #response_type 2092 2093 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for #impl_target { 2094 const NSID: &'static str = #nsid; 2095 + const METHOD: jacquard_common::xrpc::XrpcMethod = #method; 2096 2097 + type Response = #response_ident; 2098 2099 #encode_body_method 2100 #decode_body_method ··· 2111 2112 #response_type 2113 2114 + impl<'de> jacquard_common::xrpc::XrpcRequest<'de> for #request_ident { 2115 const NSID: &'static str = #nsid; 2116 + const METHOD: jacquard_common::xrpc::XrpcMethod = #method; 2117 2118 + type Response = #response_ident; 2119 } 2120 }) 2121 }
+12 -11
crates/jacquard-oauth/src/client.rs
··· 13 AuthorizationToken, CowStr, IntoStatic, 14 error::{ClientError, TransportError, XrpcResult}, 15 http_client::HttpClient, 16 - types::{ 17 - did::Did, 18 - xrpc::{CallOptions, Response, XrpcClient, XrpcExt, build_http_request, process_response}, 19 }, 20 }; 21 use jacquard_identity::JacquardResolver; ··· 375 self.options.read().await.clone() 376 } 377 378 - async fn send< 379 - 'de, 380 - R: jacquard_common::types::xrpc::XrpcRequest<'de> + Clone + Send + Sync + 'de, 381 - >( 382 &self, 383 - request: &R, 384 - ) -> XrpcResult<Response<'de, R>> { 385 let base_uri = self.base_uri(); 386 let mut opts = self.options.read().await.clone(); 387 opts.auth = Some(self.access_token().await); ··· 390 let http_response = self 391 .client 392 .dpop_call(&mut dpop) 393 - .send(build_http_request(&base_uri, request, &opts)?) 394 .await 395 .map_err(|e| TransportError::Other(Box::new(e)))?; 396 drop(guard); ··· 405 let http_response = self 406 .client 407 .dpop_call(&mut dpop) 408 - .send(build_http_request(&base_uri, request, &opts)?) 409 .await 410 .map_err(|e| TransportError::Other(Box::new(e)))?; 411 process_response(http_response)
··· 13 AuthorizationToken, CowStr, IntoStatic, 14 error::{ClientError, TransportError, XrpcResult}, 15 http_client::HttpClient, 16 + types::did::Did, 17 + xrpc::{ 18 + CallOptions, Response, XrpcClient, XrpcExt, XrpcRequest, build_http_request, 19 + process_response, 20 }, 21 }; 22 use jacquard_identity::JacquardResolver; ··· 376 self.options.read().await.clone() 377 } 378 379 + async fn send<'s, R>( 380 &self, 381 + request: R, 382 + ) -> XrpcResult<Response<<R as XrpcRequest<'s>>::Response>> 383 + where 384 + R: XrpcRequest<'s>, 385 + { 386 let base_uri = self.base_uri(); 387 let mut opts = self.options.read().await.clone(); 388 opts.auth = Some(self.access_token().await); ··· 391 let http_response = self 392 .client 393 .dpop_call(&mut dpop) 394 + .send(build_http_request(&base_uri, &request, &opts)?) 395 .await 396 .map_err(|e| TransportError::Other(Box::new(e)))?; 397 drop(guard); ··· 406 let http_response = self 407 .client 408 .dpop_call(&mut dpop) 409 + .send(build_http_request(&base_uri, &request, &opts)?) 410 .await 411 .map_err(|e| TransportError::Other(Box::new(e)))?; 412 process_response(http_response)
-1
crates/jacquard-oauth/src/request.rs
··· 590 } 591 592 // IdentityResolver methods won't be called in these tests; provide stubs. 593 - #[async_trait::async_trait] 594 impl IdentityResolver for MockClient { 595 fn options(&self) -> &jacquard_identity::resolver::ResolverOptions { 596 use std::sync::LazyLock;
··· 590 } 591 592 // IdentityResolver methods won't be called in these tests; provide stubs. 593 impl IdentityResolver for MockClient { 594 fn options(&self) -> &jacquard_identity::resolver::ResolverOptions { 595 use std::sync::LazyLock;
+113 -96
crates/jacquard-oauth/src/resolver.rs
··· 115 Uri(#[from] url::ParseError), 116 } 117 118 - #[async_trait::async_trait] 119 pub trait OAuthResolver: IdentityResolver + HttpClient { 120 - async fn verify_issuer( 121 &self, 122 server_metadata: &OAuthAuthorizationServerMetadata<'_>, 123 sub: &Did<'_>, 124 - ) -> Result<Url, ResolverError> { 125 - let (metadata, identity) = self.resolve_from_identity(sub).await?; 126 - if !issuer_equivalent(&metadata.issuer, &server_metadata.issuer) { 127 - return Err(ResolverError::AuthorizationServerMetadata( 128 - "issuer mismatch".to_string(), 129 - )); 130 } 131 - Ok(identity 132 - .pds_endpoint() 133 - .ok_or(ResolverError::DidDocument(format!("{:?}", identity).into()))?) 134 } 135 - async fn resolve_oauth( 136 &self, 137 input: &str, 138 - ) -> Result< 139 - ( 140 - OAuthAuthorizationServerMetadata<'static>, 141 - Option<DidDocument<'static>>, 142 - ), 143 - ResolverError, 144 > { 145 // Allow using an entryway, or PDS url, directly as login input (e.g. 146 // when the user forgot their handle, or when the handle does not 147 // resolve to a DID) 148 - Ok(if input.starts_with("https://") { 149 - let url = Url::parse(input).map_err(|_| ResolverError::NotFound)?; 150 - (self.resolve_from_service(&url).await?, None) 151 - } else { 152 - let (metadata, identity) = self.resolve_from_identity(input).await?; 153 - (metadata, Some(identity)) 154 - }) 155 } 156 - async fn resolve_from_service( 157 &self, 158 input: &Url, 159 - ) -> Result<OAuthAuthorizationServerMetadata<'static>, ResolverError> { 160 - // Assume first that input is a PDS URL (as required by ATPROTO) 161 - if let Ok(metadata) = self.get_resource_server_metadata(input).await { 162 - return Ok(metadata); 163 } 164 - // Fallback to trying to fetch as an issuer (Entryway) 165 - self.get_authorization_server_metadata(input).await 166 } 167 - async fn resolve_from_identity( 168 &self, 169 input: &str, 170 - ) -> Result< 171 - ( 172 - OAuthAuthorizationServerMetadata<'static>, 173 - DidDocument<'static>, 174 - ), 175 - ResolverError, 176 > { 177 - let actor = AtIdentifier::new(input) 178 - .map_err(|e| ResolverError::AtIdentifier(format!("{:?}", e)))?; 179 - let identity = self.resolve_ident_owned(&actor).await?; 180 - if let Some(pds) = &identity.pds_endpoint() { 181 - let metadata = self.get_resource_server_metadata(pds).await?; 182 - Ok((metadata, identity)) 183 - } else { 184 - Err(ResolverError::DidDocument(format!("Did doc lacking pds"))) 185 } 186 } 187 - async fn get_authorization_server_metadata( 188 &self, 189 issuer: &Url, 190 - ) -> Result<OAuthAuthorizationServerMetadata<'static>, ResolverError> { 191 - let mut md = resolve_authorization_server(self, issuer).await?; 192 - // Normalize issuer string to the input URL representation to avoid slash quirks 193 - md.issuer = jacquard_common::CowStr::from(issuer.as_str()).into_static(); 194 - Ok(md) 195 } 196 - async fn get_resource_server_metadata( 197 &self, 198 pds: &Url, 199 - ) -> Result<OAuthAuthorizationServerMetadata<'static>, ResolverError> { 200 - let rs_metadata = resolve_protected_resource_info(self, pds).await?; 201 - // ATPROTO requires one, and only one, authorization server entry 202 - // > That document MUST contain a single item in the authorization_servers array. 203 - // https://github.com/bluesky-social/proposals/tree/main/0004-oauth#server-metadata 204 - let issuer = match &rs_metadata.authorization_servers { 205 - Some(servers) if !servers.is_empty() => { 206 - if servers.len() > 1 { 207 return Err(ResolverError::ProtectedResourceMetadata(format!( 208 - "unable to determine authorization server for PDS: {pds}" 209 ))); 210 } 211 - &servers[0] 212 - } 213 - _ => { 214 - return Err(ResolverError::ProtectedResourceMetadata(format!( 215 - "no authorization server found for PDS: {pds}" 216 - ))); 217 } 218 - }; 219 - let as_metadata = self.get_authorization_server_metadata(issuer).await?; 220 - // https://datatracker.ietf.org/doc/html/draft-ietf-oauth-resource-metadata-08#name-authorization-server-metada 221 - if let Some(protected_resources) = &as_metadata.protected_resources { 222 - let resource_url = rs_metadata 223 - .resource 224 - .strip_suffix('/') 225 - .unwrap_or(rs_metadata.resource.as_str()); 226 - if !protected_resources.contains(&CowStr::Borrowed(resource_url)) { 227 - return Err(ResolverError::AuthorizationServerMetadata(format!( 228 - "pds {pds}, resource {0} not protected by issuer: {issuer}, protected resources: {1:?}", 229 - rs_metadata.resource, protected_resources 230 - ))); 231 - } 232 - } 233 234 - // TODO: atproot specific validation? 235 - // https://github.com/bluesky-social/proposals/tree/main/0004-oauth#server-metadata 236 - // 237 - // eg. 238 - // https://drafts.aaronpk.com/draft-parecki-oauth-client-id-metadata-document/draft-parecki-oauth-client-id-metadata-document.html 239 - // if as_metadata.client_id_metadata_document_supported != Some(true) { 240 - // return Err(Error::AuthorizationServerMetadata(format!( 241 - // "authorization server does not support client_id_metadata_document: {issuer}" 242 - // ))); 243 - // } 244 245 - Ok(as_metadata) 246 } 247 } 248 ··· 316 } 317 } 318 319 - #[async_trait::async_trait] 320 impl OAuthResolver for jacquard_identity::JacquardResolver {} 321 322 #[cfg(test)]
··· 115 Uri(#[from] url::ParseError), 116 } 117 118 pub trait OAuthResolver: IdentityResolver + HttpClient { 119 + fn verify_issuer( 120 &self, 121 server_metadata: &OAuthAuthorizationServerMetadata<'_>, 122 sub: &Did<'_>, 123 + ) -> impl std::future::Future<Output = Result<Url, ResolverError>> { 124 + async { 125 + let (metadata, identity) = self.resolve_from_identity(sub).await?; 126 + if !issuer_equivalent(&metadata.issuer, &server_metadata.issuer) { 127 + return Err(ResolverError::AuthorizationServerMetadata( 128 + "issuer mismatch".to_string(), 129 + )); 130 + } 131 + Ok(identity 132 + .pds_endpoint() 133 + .ok_or(ResolverError::DidDocument(format!("{:?}", identity).into()))?) 134 } 135 } 136 + fn resolve_oauth( 137 &self, 138 input: &str, 139 + ) -> impl Future< 140 + Output = Result< 141 + ( 142 + OAuthAuthorizationServerMetadata<'static>, 143 + Option<DidDocument<'static>>, 144 + ), 145 + ResolverError, 146 + >, 147 > { 148 // Allow using an entryway, or PDS url, directly as login input (e.g. 149 // when the user forgot their handle, or when the handle does not 150 // resolve to a DID) 151 + async { 152 + Ok(if input.starts_with("https://") { 153 + let url = Url::parse(input).map_err(|_| ResolverError::NotFound)?; 154 + (self.resolve_from_service(&url).await?, None) 155 + } else { 156 + let (metadata, identity) = self.resolve_from_identity(input).await?; 157 + (metadata, Some(identity)) 158 + }) 159 + } 160 } 161 + fn resolve_from_service( 162 &self, 163 input: &Url, 164 + ) -> impl Future<Output = Result<OAuthAuthorizationServerMetadata<'static>, ResolverError>> 165 + { 166 + async { 167 + // Assume first that input is a PDS URL (as required by ATPROTO) 168 + if let Ok(metadata) = self.get_resource_server_metadata(input).await { 169 + return Ok(metadata); 170 + } 171 + // Fallback to trying to fetch as an issuer (Entryway) 172 + self.get_authorization_server_metadata(input).await 173 } 174 } 175 + fn resolve_from_identity( 176 &self, 177 input: &str, 178 + ) -> impl Future< 179 + Output = Result< 180 + ( 181 + OAuthAuthorizationServerMetadata<'static>, 182 + DidDocument<'static>, 183 + ), 184 + ResolverError, 185 + >, 186 > { 187 + async { 188 + let actor = AtIdentifier::new(input) 189 + .map_err(|e| ResolverError::AtIdentifier(format!("{:?}", e)))?; 190 + let identity = self.resolve_ident_owned(&actor).await?; 191 + if let Some(pds) = &identity.pds_endpoint() { 192 + let metadata = self.get_resource_server_metadata(pds).await?; 193 + Ok((metadata, identity)) 194 + } else { 195 + Err(ResolverError::DidDocument(format!("Did doc lacking pds"))) 196 + } 197 } 198 } 199 + fn get_authorization_server_metadata( 200 &self, 201 issuer: &Url, 202 + ) -> impl Future<Output = Result<OAuthAuthorizationServerMetadata<'static>, ResolverError>> 203 + { 204 + async { 205 + let mut md = resolve_authorization_server(self, issuer).await?; 206 + // Normalize issuer string to the input URL representation to avoid slash quirks 207 + md.issuer = jacquard_common::CowStr::from(issuer.as_str()).into_static(); 208 + Ok(md) 209 + } 210 } 211 + fn get_resource_server_metadata( 212 &self, 213 pds: &Url, 214 + ) -> impl Future<Output = Result<OAuthAuthorizationServerMetadata<'static>, ResolverError>> 215 + { 216 + async move { 217 + let rs_metadata = resolve_protected_resource_info(self, pds).await?; 218 + // ATPROTO requires one, and only one, authorization server entry 219 + // > That document MUST contain a single item in the authorization_servers array. 220 + // https://github.com/bluesky-social/proposals/tree/main/0004-oauth#server-metadata 221 + let issuer = match &rs_metadata.authorization_servers { 222 + Some(servers) if !servers.is_empty() => { 223 + if servers.len() > 1 { 224 + return Err(ResolverError::ProtectedResourceMetadata(format!( 225 + "unable to determine authorization server for PDS: {pds}" 226 + ))); 227 + } 228 + &servers[0] 229 + } 230 + _ => { 231 return Err(ResolverError::ProtectedResourceMetadata(format!( 232 + "no authorization server found for PDS: {pds}" 233 + ))); 234 + } 235 + }; 236 + let as_metadata = self.get_authorization_server_metadata(issuer).await?; 237 + // https://datatracker.ietf.org/doc/html/draft-ietf-oauth-resource-metadata-08#name-authorization-server-metada 238 + if let Some(protected_resources) = &as_metadata.protected_resources { 239 + let resource_url = rs_metadata 240 + .resource 241 + .strip_suffix('/') 242 + .unwrap_or(rs_metadata.resource.as_str()); 243 + if !protected_resources.contains(&CowStr::Borrowed(resource_url)) { 244 + return Err(ResolverError::AuthorizationServerMetadata(format!( 245 + "pds {pds}, resource {0} not protected by issuer: {issuer}, protected resources: {1:?}", 246 + rs_metadata.resource, protected_resources 247 ))); 248 } 249 } 250 251 + // TODO: atproot specific validation? 252 + // https://github.com/bluesky-social/proposals/tree/main/0004-oauth#server-metadata 253 + // 254 + // eg. 255 + // https://drafts.aaronpk.com/draft-parecki-oauth-client-id-metadata-document/draft-parecki-oauth-client-id-metadata-document.html 256 + // if as_metadata.client_id_metadata_document_supported != Some(true) { 257 + // return Err(Error::AuthorizationServerMetadata(format!( 258 + // "authorization server does not support client_id_metadata_document: {issuer}" 259 + // ))); 260 + // } 261 262 + Ok(as_metadata) 263 + } 264 } 265 } 266 ··· 334 } 335 } 336 337 impl OAuthResolver for jacquard_identity::JacquardResolver {} 338 339 #[cfg(test)]
+42 -56
crates/jacquard/src/client.rs
··· 13 use jacquard_common::AuthorizationToken; 14 use jacquard_common::error::TransportError; 15 pub use jacquard_common::error::{ClientError, XrpcResult}; 16 pub use jacquard_common::session::{MemorySessionStore, SessionStore, SessionStoreError}; 17 - use jacquard_common::types::xrpc::{CallOptions, Response, XrpcClient, XrpcRequest}; 18 use jacquard_common::{ 19 CowStr, IntoStatic, 20 types::string::{Did, Handle}, 21 }; 22 - use jacquard_common::{http_client::HttpClient, types::xrpc::XrpcExt}; 23 use jacquard_identity::resolver::IdentityResolver; 24 use jacquard_oauth::authstore::ClientAuthStore; 25 use jacquard_oauth::client::OAuthSession; 26 use jacquard_oauth::dpop::DpopExt; 27 use jacquard_oauth::resolver::OAuthResolver; 28 pub use token::FileAuthStore; 29 30 use crate::client::credential_session::{CredentialSession, SessionKey}; ··· 90 /// Identify the kind of session. 91 fn session_kind(&self) -> AgentKind; 92 /// Return current DID and an optional session id (always Some for OAuth). 93 - fn session_info( 94 - &self, 95 - ) -> core::pin::Pin< 96 - Box<dyn Future<Output = Option<(Did<'static>, Option<CowStr<'static>>)>> + Send + '_>, 97 - >; 98 /// Current base endpoint. 99 - fn endpoint(&self) -> core::pin::Pin<Box<dyn Future<Output = url::Url> + Send + '_>>; 100 /// Override per-session call options. 101 - fn set_options<'a>( 102 - &'a self, 103 - opts: CallOptions<'a>, 104 - ) -> core::pin::Pin<Box<dyn Future<Output = ()> + Send + 'a>>; 105 /// Refresh the session and return a fresh AuthorizationToken. 106 - fn refresh( 107 - &self, 108 - ) -> core::pin::Pin< 109 - Box<dyn Future<Output = Result<AuthorizationToken<'static>, ClientError>> + Send + '_>, 110 - >; 111 } 112 113 impl<S, T> AgentSession for CredentialSession<S, T> ··· 120 } 121 fn session_info( 122 &self, 123 - ) -> core::pin::Pin< 124 - Box<dyn Future<Output = Option<(Did<'static>, Option<CowStr<'static>>)>> + Send + '_>, 125 > { 126 - Box::pin(async move { 127 CredentialSession::<S, T>::session_info(self) 128 .await 129 .map(|(did, sid)| (did, Some(sid))) 130 - }) 131 } 132 - fn endpoint(&self) -> core::pin::Pin<Box<dyn Future<Output = url::Url> + Send + '_>> { 133 - Box::pin(async move { CredentialSession::<S, T>::endpoint(self).await }) 134 } 135 - fn set_options<'a>( 136 - &'a self, 137 - opts: CallOptions<'a>, 138 - ) -> core::pin::Pin<Box<dyn Future<Output = ()> + Send + 'a>> { 139 - Box::pin(async move { CredentialSession::<S, T>::set_options(self, opts).await }) 140 } 141 - fn refresh( 142 - &self, 143 - ) -> core::pin::Pin< 144 - Box<dyn Future<Output = Result<AuthorizationToken<'static>, ClientError>> + Send + '_>, 145 - > { 146 - Box::pin(async move { 147 Ok(CredentialSession::<S, T>::refresh(self) 148 .await? 149 .into_static()) 150 - }) 151 } 152 } 153 ··· 161 } 162 fn session_info( 163 &self, 164 - ) -> core::pin::Pin< 165 - Box<dyn Future<Output = Option<(Did<'static>, Option<CowStr<'static>>)>> + Send + '_>, 166 > { 167 - Box::pin(async move { 168 let (did, sid) = OAuthSession::<T, S>::session_info(self).await; 169 Some((did.into_static(), Some(sid.into_static()))) 170 - }) 171 } 172 - fn endpoint(&self) -> core::pin::Pin<Box<dyn Future<Output = url::Url> + Send + '_>> { 173 - Box::pin(async move { self.endpoint().await }) 174 } 175 - fn set_options<'a>( 176 - &'a self, 177 - opts: CallOptions<'a>, 178 - ) -> core::pin::Pin<Box<dyn Future<Output = ()> + Send + 'a>> { 179 - Box::pin(async move { self.set_options(opts).await }) 180 } 181 - fn refresh( 182 - &self, 183 - ) -> core::pin::Pin< 184 - Box<dyn Future<Output = Result<AuthorizationToken<'static>, ClientError>> + Send + '_>, 185 - > { 186 - Box::pin(async move { 187 self.refresh() 188 .await 189 .map(|t| t.into_static()) 190 .map_err(|e| ClientError::Transport(TransportError::Other(Box::new(e)))) 191 - }) 192 } 193 } 194 ··· 248 fn opts(&self) -> impl Future<Output = CallOptions<'_>> { 249 self.inner.opts() 250 } 251 - fn send<'de, R: XrpcRequest<'de> + Clone + Send + Sync + 'de>( 252 &self, 253 - request: &R, 254 - ) -> impl Future<Output = XrpcResult<Response<'de, R>>> { 255 async move { self.inner.send(request).await } 256 } 257 }
··· 13 use jacquard_common::AuthorizationToken; 14 use jacquard_common::error::TransportError; 15 pub use jacquard_common::error::{ClientError, XrpcResult}; 16 + use jacquard_common::http_client::HttpClient; 17 pub use jacquard_common::session::{MemorySessionStore, SessionStore, SessionStoreError}; 18 + use jacquard_common::xrpc::{CallOptions, Response, XrpcClient, XrpcExt, XrpcRequest}; 19 use jacquard_common::{ 20 CowStr, IntoStatic, 21 types::string::{Did, Handle}, 22 }; 23 use jacquard_identity::resolver::IdentityResolver; 24 use jacquard_oauth::authstore::ClientAuthStore; 25 use jacquard_oauth::client::OAuthSession; 26 use jacquard_oauth::dpop::DpopExt; 27 use jacquard_oauth::resolver::OAuthResolver; 28 + 29 pub use token::FileAuthStore; 30 31 use crate::client::credential_session::{CredentialSession, SessionKey}; ··· 91 /// Identify the kind of session. 92 fn session_kind(&self) -> AgentKind; 93 /// Return current DID and an optional session id (always Some for OAuth). 94 + fn session_info(&self) 95 + -> impl Future<Output = Option<(Did<'static>, Option<CowStr<'static>>)>>; 96 /// Current base endpoint. 97 + fn endpoint(&self) -> impl Future<Output = url::Url>; 98 /// Override per-session call options. 99 + fn set_options<'a>(&'a self, opts: CallOptions<'a>) -> impl Future<Output = ()>; 100 /// Refresh the session and return a fresh AuthorizationToken. 101 + fn refresh(&self) -> impl Future<Output = Result<AuthorizationToken<'static>, ClientError>>; 102 } 103 104 impl<S, T> AgentSession for CredentialSession<S, T> ··· 111 } 112 fn session_info( 113 &self, 114 + ) -> impl Future< 115 + Output = std::option::Option<( 116 + jacquard_common::types::did::Did<'static>, 117 + std::option::Option<CowStr<'static>>, 118 + )>, 119 > { 120 + async move { 121 CredentialSession::<S, T>::session_info(self) 122 .await 123 .map(|(did, sid)| (did, Some(sid))) 124 + } 125 } 126 + fn endpoint(&self) -> impl Future<Output = url::Url> { 127 + async move { CredentialSession::<S, T>::endpoint(self).await } 128 } 129 + fn set_options<'a>(&'a self, opts: CallOptions<'a>) -> impl Future<Output = ()> { 130 + async move { CredentialSession::<S, T>::set_options(self, opts).await } 131 } 132 + fn refresh(&self) -> impl Future<Output = Result<AuthorizationToken<'static>, ClientError>> { 133 + async move { 134 Ok(CredentialSession::<S, T>::refresh(self) 135 .await? 136 .into_static()) 137 + } 138 } 139 } 140 ··· 148 } 149 fn session_info( 150 &self, 151 + ) -> impl Future< 152 + Output = std::option::Option<( 153 + jacquard_common::types::did::Did<'static>, 154 + std::option::Option<CowStr<'static>>, 155 + )>, 156 > { 157 + async { 158 let (did, sid) = OAuthSession::<T, S>::session_info(self).await; 159 Some((did.into_static(), Some(sid.into_static()))) 160 + } 161 } 162 + fn endpoint(&self) -> impl Future<Output = url::Url> { 163 + async { self.endpoint().await } 164 } 165 + fn set_options<'a>(&'a self, opts: CallOptions<'a>) -> impl Future<Output = ()> { 166 + async { self.set_options(opts).await } 167 } 168 + fn refresh(&self) -> impl Future<Output = Result<AuthorizationToken<'static>, ClientError>> { 169 + async { 170 self.refresh() 171 .await 172 .map(|t| t.into_static()) 173 .map_err(|e| ClientError::Transport(TransportError::Other(Box::new(e)))) 174 + } 175 } 176 } 177 ··· 231 fn opts(&self) -> impl Future<Output = CallOptions<'_>> { 232 self.inner.opts() 233 } 234 + fn send<'s, R>( 235 &self, 236 + request: R, 237 + ) -> impl Future<Output = XrpcResult<Response<<R as XrpcRequest<'s>>::Response>>> 238 + where 239 + R: XrpcRequest<'s>, 240 + { 241 async move { self.inner.send(request).await } 242 } 243 }
+15 -20
crates/jacquard/src/client/credential_session.rs
··· 1 use std::sync::Arc; 2 3 - use jacquard_api::com_atproto::server::{ 4 - create_session::{CreateSession, CreateSessionOutput}, 5 - refresh_session::RefreshSession, 6 - }; 7 use jacquard_common::{ 8 AuthorizationToken, CowStr, IntoStatic, 9 error::{AuthError, ClientError, XrpcResult}, 10 http_client::HttpClient, 11 session::SessionStore, 12 - types::{ 13 - did::Did, 14 - xrpc::{CallOptions, Response, XrpcClient, XrpcExt, XrpcRequest}, 15 - }, 16 }; 17 use tokio::sync::RwLock; 18 use url::Url; ··· 129 .client 130 .xrpc(endpoint) 131 .with_options(opts) 132 - .send(RefreshSession) 133 .await?; 134 let refresh = response 135 - .output::<RefreshSession>() 136 .map_err(|_| ClientError::Auth(jacquard_common::error::AuthError::RefreshFailed))?; 137 138 let new_session: AtpSession = refresh.into(); ··· 239 .client 240 .xrpc(pds.clone()) 241 .with_options(self.options.read().await.clone()) 242 - .send(req) 243 .await?; 244 let out = resp 245 - .output::<CreateSession<'_>>() 246 .map_err(|_| ClientError::Auth(AuthError::NotAuthenticated))?; 247 let session = AtpSession::from(out); 248 ··· 417 ) 418 } 419 } 420 - async fn send< 421 - 'de, 422 - R: jacquard_common::types::xrpc::XrpcRequest<'de> + Clone + Send + Sync + 'de, 423 - >( 424 &self, 425 - request: &R, 426 - ) -> XrpcResult<Response<'de, R>> { 427 let base_uri = self.base_uri(); 428 let auth = self.access_token().await; 429 let mut opts = self.options.read().await.clone(); ··· 432 .client 433 .xrpc(base_uri.clone()) 434 .with_options(opts.clone()) 435 - .send(request.clone()) 436 .await; 437 438 match resp { ··· 442 self.client 443 .xrpc(base_uri) 444 .with_options(opts) 445 - .send(request.clone()) 446 .await 447 } 448 resp => resp,
··· 1 use std::sync::Arc; 2 3 + use jacquard_api::com_atproto::server::refresh_session::RefreshSession; 4 use jacquard_common::{ 5 AuthorizationToken, CowStr, IntoStatic, 6 error::{AuthError, ClientError, XrpcResult}, 7 http_client::HttpClient, 8 session::SessionStore, 9 + types::did::Did, 10 + xrpc::{CallOptions, Response, XrpcClient, XrpcExt, XrpcRequest}, 11 }; 12 use tokio::sync::RwLock; 13 use url::Url; ··· 124 .client 125 .xrpc(endpoint) 126 .with_options(opts) 127 + .send(&RefreshSession) 128 .await?; 129 let refresh = response 130 + .parse() 131 .map_err(|_| ClientError::Auth(jacquard_common::error::AuthError::RefreshFailed))?; 132 133 let new_session: AtpSession = refresh.into(); ··· 234 .client 235 .xrpc(pds.clone()) 236 .with_options(self.options.read().await.clone()) 237 + .send(&req) 238 .await?; 239 let out = resp 240 + .parse() 241 .map_err(|_| ClientError::Auth(AuthError::NotAuthenticated))?; 242 let session = AtpSession::from(out); 243 ··· 412 ) 413 } 414 } 415 + async fn send<'s, R>( 416 &self, 417 + request: R, 418 + ) -> XrpcResult<Response<<R as XrpcRequest<'s>>::Response>> 419 + where 420 + R: XrpcRequest<'s>, 421 + { 422 let base_uri = self.base_uri(); 423 let auth = self.access_token().await; 424 let mut opts = self.options.read().await.clone(); ··· 427 .client 428 .xrpc(base_uri.clone()) 429 .with_options(opts.clone()) 430 + .send(&request) 431 .await; 432 433 match resp { ··· 437 self.client 438 .xrpc(base_uri) 439 .with_options(opts) 440 + .send(&request) 441 .await 442 } 443 resp => resp,
+3 -6
crates/jacquard/src/main.rs
··· 6 use jacquard::oauth::client::OAuthClient; 7 #[cfg(feature = "loopback")] 8 use jacquard::oauth::loopback::LoopbackConfig; 9 - use jacquard::types::xrpc::XrpcClient; 10 - use jacquard_api::app_bsky::feed::get_timeline::GetTimelineOutput; 11 #[cfg(not(feature = "loopback"))] 12 use jacquard_oauth::types::AuthorizeOptions; 13 use miette::IntoDiagnostic; ··· 74 75 // Wrap in Agent and fetch the timeline 76 let agent: Agent<_> = Agent::from(session); 77 - let timeline = agent 78 - .send(&GetTimeline::new().limit(5).build()) 79 - .await? 80 - .output::<GetTimeline>()?; 81 for (i, post) in timeline.feed.iter().enumerate() { 82 println!("\n{}. by {}", i + 1, post.post.author.handle); 83 println!(
··· 6 use jacquard::oauth::client::OAuthClient; 7 #[cfg(feature = "loopback")] 8 use jacquard::oauth::loopback::LoopbackConfig; 9 + use jacquard::xrpc::XrpcClient; 10 #[cfg(not(feature = "loopback"))] 11 use jacquard_oauth::types::AuthorizeOptions; 12 use miette::IntoDiagnostic; ··· 73 74 // Wrap in Agent and fetch the timeline 75 let agent: Agent<_> = Agent::from(session); 76 + let output = agent.send(GetTimeline::new().limit(5).build()).await?; 77 + let timeline = output.into_output()?; 78 for (i, post) in timeline.feed.iter().enumerate() { 79 println!("\n{}. by {}", i + 1, post.post.author.handle); 80 println!(
-1
crates/jacquard/tests/agent.rs
··· 40 } 41 } 42 43 - #[async_trait::async_trait] 44 impl IdentityResolver for MockClient { 45 fn options(&self) -> &ResolverOptions { 46 use std::sync::LazyLock;
··· 40 } 41 } 42 43 impl IdentityResolver for MockClient { 44 fn options(&self) -> &ResolverOptions { 45 use std::sync::LazyLock;
+2 -3
crates/jacquard/tests/credential_session.rs
··· 8 use jacquard::identity::resolver::{DidDocResponse, IdentityResolver, ResolverOptions}; 9 use jacquard::types::did::Did; 10 use jacquard::types::string::Handle; 11 - use jacquard::types::xrpc::XrpcClient; 12 use jacquard_common::http_client::HttpClient; 13 use jacquard_common::session::{MemorySessionStore, SessionStore}; 14 use tokio::sync::{Mutex, RwLock}; ··· 53 } 54 } 55 56 - #[async_trait::async_trait] 57 impl IdentityResolver for MockClient { 58 fn options(&self) -> &ResolverOptions { 59 use std::sync::LazyLock; ··· 192 193 // Send a request that will first 401 (ExpiredToken), then refresh, then succeed 194 let resp = session 195 - .send(&jacquard::api::com_atproto::server::get_session::GetSession) 196 .await 197 .expect("xrpc send ok"); 198 assert_eq!(resp.status(), StatusCode::OK);
··· 8 use jacquard::identity::resolver::{DidDocResponse, IdentityResolver, ResolverOptions}; 9 use jacquard::types::did::Did; 10 use jacquard::types::string::Handle; 11 + use jacquard::xrpc::XrpcClient; 12 use jacquard_common::http_client::HttpClient; 13 use jacquard_common::session::{MemorySessionStore, SessionStore}; 14 use tokio::sync::{Mutex, RwLock}; ··· 53 } 54 } 55 56 impl IdentityResolver for MockClient { 57 fn options(&self) -> &ResolverOptions { 58 use std::sync::LazyLock; ··· 191 192 // Send a request that will first 401 (ExpiredToken), then refresh, then succeed 193 let resp = session 194 + .send(jacquard::api::com_atproto::server::get_session::GetSession) 195 .await 196 .expect("xrpc send ok"); 197 assert_eq!(resp.status(), StatusCode::OK);
+44 -30
crates/jacquard/tests/oauth_auto_refresh.rs
··· 3 4 use bytes::Bytes; 5 use http::{HeaderValue, Method, Response as HttpResponse, StatusCode}; 6 - use jacquard::client::Agent; 7 use jacquard::IntoStatic; 8 use jacquard::types::did::Did; 9 - use jacquard::types::xrpc::XrpcClient; 10 use jacquard_common::http_client::HttpClient; 11 use jacquard_oauth::atproto::AtprotoClientMetadata; 12 use jacquard_oauth::client::OAuthSession; 13 - use jacquard_oauth::session::SessionRegistry; 14 use jacquard_oauth::resolver::OAuthResolver; 15 use jacquard_oauth::scopes::Scope; 16 use jacquard_oauth::session::{ClientData, ClientSessionData, DpopClientData}; 17 use jacquard_oauth::types::{OAuthAuthorizationServerMetadata, OAuthTokenType, TokenSet}; 18 use tokio::sync::Mutex; ··· 41 let queue = self.queue.clone(); 42 async move { 43 log.lock().await.push(request); 44 - Ok(queue 45 - .lock() 46 - .await 47 - .pop_front() 48 - .expect("no queued response")) 49 } 50 } 51 } 52 - 53 - #[async_trait::async_trait] 54 impl jacquard::identity::resolver::IdentityResolver for MockClient { 55 fn options(&self) -> &jacquard::identity::resolver::ResolverOptions { 56 use std::sync::LazyLock; ··· 67 async fn resolve_did_doc( 68 &self, 69 _did: &Did<'_>, 70 - ) -> std::result::Result<jacquard::identity::resolver::DidDocResponse, jacquard::identity::resolver::IdentityError> { 71 let doc = serde_json::json!({ 72 "id": "did:plc:alice", 73 "service": [{ ··· 84 } 85 } 86 87 - #[async_trait::async_trait] 88 impl OAuthResolver for MockClient { 89 async fn get_authorization_server_metadata( 90 &self, 91 issuer: &url::Url, 92 - ) -> Result<OAuthAuthorizationServerMetadata<'static>, jacquard_oauth::resolver::ResolverError> { 93 // Return minimal metadata with supported auth method "none" and DPoP support 94 let mut md = OAuthAuthorizationServerMetadata::default(); 95 md.issuer = jacquard::CowStr::from(issuer.as_str()); ··· 107 async fn get_resource_server_metadata( 108 &self, 109 _pds: &url::Url, 110 - ) -> Result<OAuthAuthorizationServerMetadata<'static>, jacquard_oauth::resolver::ResolverError> { 111 // Return metadata pointing to the same issuer as above 112 let mut md = OAuthAuthorizationServerMetadata::default(); 113 md.issuer = jacquard::CowStr::from("https://issuer"); 114 md.token_endpoint = jacquard::CowStr::from("https://issuer/token"); 115 md.authorization_endpoint = jacquard::CowStr::from("https://issuer/authorize"); 116 md.require_pushed_authorization_requests = Some(true); 117 - md.pushed_authorization_request_endpoint = Some(jacquard::CowStr::from("https://issuer/par")); 118 md.token_endpoint_auth_methods_supported = Some(vec![jacquard::CowStr::from("none")]); 119 md.dpop_signing_alg_values_supported = Some(vec![jacquard::CowStr::from("ES256")]); 120 Ok(md.into_static()) ··· 275 276 let agent: Agent<_> = Agent::from(session); 277 let resp = agent 278 - .send(&jacquard::api::com_atproto::server::get_session::GetSession) 279 .await 280 .expect("xrpc send ok after auto-refresh"); 281 assert_eq!(resp.status(), StatusCode::OK); ··· 285 assert_eq!(log.len(), 4, "expected 4 HTTP calls"); 286 // 0: getSession with old token 287 assert_eq!(log[0].method(), Method::GET); 288 - assert!(log[0].headers().get(http::header::AUTHORIZATION).unwrap().to_str().unwrap().starts_with("DPoP ")); 289 - assert!(log[0] 290 - .uri() 291 - .to_string() 292 - .ends_with("/xrpc/com.atproto.server.getSession")); 293 // 1 and 2: token refresh attempts 294 assert_eq!(log[1].method(), Method::POST); 295 assert!(log[1].uri().to_string().ends_with("/token")); ··· 299 assert!(log[2].headers().contains_key("DPoP")); 300 // 3: retried getSession with new access token 301 assert_eq!(log[3].method(), Method::GET); 302 - assert!(log[3] 303 - .headers() 304 - .get(http::header::AUTHORIZATION) 305 - .unwrap() 306 - .to_str() 307 - .unwrap() 308 - .starts_with("DPoP newacc")); 309 310 // Cleanup temp file 311 let _ = std::fs::remove_file(&path); ··· 322 client.push(get_session_ok()).await; 323 324 let mut path = std::env::temp_dir(); 325 - path.push(format!("jacquard-oauth-test-body-{}.json", std::process::id())); 326 std::fs::write(&path, "{}").unwrap(); 327 let store = jacquard::client::FileAuthStore::new(&path); 328 ··· 364 365 let agent: Agent<_> = Agent::from(session); 366 let resp = agent 367 - .send(&jacquard::api::com_atproto::server::get_session::GetSession) 368 .await 369 .expect("xrpc send ok after auto-refresh"); 370 assert_eq!(resp.status(), StatusCode::OK);
··· 3 4 use bytes::Bytes; 5 use http::{HeaderValue, Method, Response as HttpResponse, StatusCode}; 6 use jacquard::IntoStatic; 7 + use jacquard::client::Agent; 8 use jacquard::types::did::Did; 9 + use jacquard::xrpc::XrpcClient; 10 use jacquard_common::http_client::HttpClient; 11 use jacquard_oauth::atproto::AtprotoClientMetadata; 12 use jacquard_oauth::client::OAuthSession; 13 use jacquard_oauth::resolver::OAuthResolver; 14 use jacquard_oauth::scopes::Scope; 15 + use jacquard_oauth::session::SessionRegistry; 16 use jacquard_oauth::session::{ClientData, ClientSessionData, DpopClientData}; 17 use jacquard_oauth::types::{OAuthAuthorizationServerMetadata, OAuthTokenType, TokenSet}; 18 use tokio::sync::Mutex; ··· 41 let queue = self.queue.clone(); 42 async move { 43 log.lock().await.push(request); 44 + Ok(queue.lock().await.pop_front().expect("no queued response")) 45 } 46 } 47 } 48 impl jacquard::identity::resolver::IdentityResolver for MockClient { 49 fn options(&self) -> &jacquard::identity::resolver::ResolverOptions { 50 use std::sync::LazyLock; ··· 61 async fn resolve_did_doc( 62 &self, 63 _did: &Did<'_>, 64 + ) -> std::result::Result< 65 + jacquard::identity::resolver::DidDocResponse, 66 + jacquard::identity::resolver::IdentityError, 67 + > { 68 let doc = serde_json::json!({ 69 "id": "did:plc:alice", 70 "service": [{ ··· 81 } 82 } 83 84 impl OAuthResolver for MockClient { 85 async fn get_authorization_server_metadata( 86 &self, 87 issuer: &url::Url, 88 + ) -> Result<OAuthAuthorizationServerMetadata<'static>, jacquard_oauth::resolver::ResolverError> 89 + { 90 // Return minimal metadata with supported auth method "none" and DPoP support 91 let mut md = OAuthAuthorizationServerMetadata::default(); 92 md.issuer = jacquard::CowStr::from(issuer.as_str()); ··· 104 async fn get_resource_server_metadata( 105 &self, 106 _pds: &url::Url, 107 + ) -> Result<OAuthAuthorizationServerMetadata<'static>, jacquard_oauth::resolver::ResolverError> 108 + { 109 // Return metadata pointing to the same issuer as above 110 let mut md = OAuthAuthorizationServerMetadata::default(); 111 md.issuer = jacquard::CowStr::from("https://issuer"); 112 md.token_endpoint = jacquard::CowStr::from("https://issuer/token"); 113 md.authorization_endpoint = jacquard::CowStr::from("https://issuer/authorize"); 114 md.require_pushed_authorization_requests = Some(true); 115 + md.pushed_authorization_request_endpoint = 116 + Some(jacquard::CowStr::from("https://issuer/par")); 117 md.token_endpoint_auth_methods_supported = Some(vec![jacquard::CowStr::from("none")]); 118 md.dpop_signing_alg_values_supported = Some(vec![jacquard::CowStr::from("ES256")]); 119 Ok(md.into_static()) ··· 274 275 let agent: Agent<_> = Agent::from(session); 276 let resp = agent 277 + .send(jacquard::api::com_atproto::server::get_session::GetSession) 278 .await 279 .expect("xrpc send ok after auto-refresh"); 280 assert_eq!(resp.status(), StatusCode::OK); ··· 284 assert_eq!(log.len(), 4, "expected 4 HTTP calls"); 285 // 0: getSession with old token 286 assert_eq!(log[0].method(), Method::GET); 287 + assert!( 288 + log[0] 289 + .headers() 290 + .get(http::header::AUTHORIZATION) 291 + .unwrap() 292 + .to_str() 293 + .unwrap() 294 + .starts_with("DPoP ") 295 + ); 296 + assert!( 297 + log[0] 298 + .uri() 299 + .to_string() 300 + .ends_with("/xrpc/com.atproto.server.getSession") 301 + ); 302 // 1 and 2: token refresh attempts 303 assert_eq!(log[1].method(), Method::POST); 304 assert!(log[1].uri().to_string().ends_with("/token")); ··· 308 assert!(log[2].headers().contains_key("DPoP")); 309 // 3: retried getSession with new access token 310 assert_eq!(log[3].method(), Method::GET); 311 + assert!( 312 + log[3] 313 + .headers() 314 + .get(http::header::AUTHORIZATION) 315 + .unwrap() 316 + .to_str() 317 + .unwrap() 318 + .starts_with("DPoP newacc") 319 + ); 320 321 // Cleanup temp file 322 let _ = std::fs::remove_file(&path); ··· 333 client.push(get_session_ok()).await; 334 335 let mut path = std::env::temp_dir(); 336 + path.push(format!( 337 + "jacquard-oauth-test-body-{}.json", 338 + std::process::id() 339 + )); 340 std::fs::write(&path, "{}").unwrap(); 341 let store = jacquard::client::FileAuthStore::new(&path); 342 ··· 378 379 let agent: Agent<_> = Agent::from(session); 380 let resp = agent 381 + .send(jacquard::api::com_atproto::server::get_session::GetSession) 382 .await 383 .expect("xrpc send ok after auto-refresh"); 384 assert_eq!(resp.status(), StatusCode::OK);
+2 -4
crates/jacquard/tests/oauth_flow.rs
··· 5 use http::{Response as HttpResponse, StatusCode}; 6 use jacquard::IntoStatic; 7 use jacquard::client::Agent; 8 - use jacquard::types::xrpc::XrpcClient; 9 use jacquard_common::http_client::HttpClient; 10 use jacquard_oauth::atproto::AtprotoClientMetadata; 11 use jacquard_oauth::authstore::ClientAuthStore; ··· 38 } 39 } 40 41 - #[async_trait::async_trait] 42 impl jacquard::identity::resolver::IdentityResolver for MockClient { 43 fn options(&self) -> &jacquard::identity::resolver::ResolverOptions { 44 use std::sync::LazyLock; ··· 78 } 79 } 80 81 - #[async_trait::async_trait] 82 impl OAuthResolver for MockClient { 83 async fn resolve_oauth( 84 &self, ··· 284 // Wrap in Agent and send a resource XRPC call to verify Authorization works 285 let agent: Agent<_> = Agent::from(session); 286 let resp = agent 287 - .send(&jacquard::api::com_atproto::server::get_session::GetSession) 288 .await 289 .unwrap(); 290 assert_eq!(resp.status(), StatusCode::OK);
··· 5 use http::{Response as HttpResponse, StatusCode}; 6 use jacquard::IntoStatic; 7 use jacquard::client::Agent; 8 + use jacquard::xrpc::XrpcClient; 9 use jacquard_common::http_client::HttpClient; 10 use jacquard_oauth::atproto::AtprotoClientMetadata; 11 use jacquard_oauth::authstore::ClientAuthStore; ··· 38 } 39 } 40 41 impl jacquard::identity::resolver::IdentityResolver for MockClient { 42 fn options(&self) -> &jacquard::identity::resolver::ResolverOptions { 43 use std::sync::LazyLock; ··· 77 } 78 } 79 80 impl OAuthResolver for MockClient { 81 async fn resolve_oauth( 82 &self, ··· 282 // Wrap in Agent and send a resource XRPC call to verify Authorization works 283 let agent: Agent<_> = Agent::from(session); 284 let resp = agent 285 + .send(jacquard::api::com_atproto::server::get_session::GetSession) 286 .await 287 .unwrap(); 288 assert_eq!(resp.status(), StatusCode::OK);
-1
crates/jacquard/tests/restore_pds_cache.rs
··· 38 } 39 } 40 41 - #[async_trait::async_trait] 42 impl IdentityResolver for MockResolver { 43 fn options(&self) -> &ResolverOptions { 44 use std::sync::LazyLock;
··· 38 } 39 } 40 41 impl IdentityResolver for MockResolver { 42 fn options(&self) -> &ResolverOptions { 43 use std::sync::LazyLock;