+360
Cargo.lock
+360
Cargo.lock
···
132
132
]
133
133
134
134
[[package]]
135
+
name = "anyhow"
136
+
version = "1.0.100"
137
+
source = "registry+https://github.com/rust-lang/crates.io-index"
138
+
checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61"
139
+
140
+
[[package]]
135
141
name = "ascii"
136
142
version = "1.1.0"
137
143
source = "registry+https://github.com/rust-lang/crates.io-index"
···
151
157
]
152
158
153
159
[[package]]
160
+
name = "async-stream"
161
+
version = "0.3.6"
162
+
source = "registry+https://github.com/rust-lang/crates.io-index"
163
+
checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476"
164
+
dependencies = [
165
+
"async-stream-impl",
166
+
"futures-core",
167
+
"pin-project-lite",
168
+
]
169
+
170
+
[[package]]
171
+
name = "async-stream-impl"
172
+
version = "0.3.6"
173
+
source = "registry+https://github.com/rust-lang/crates.io-index"
174
+
checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d"
175
+
dependencies = [
176
+
"proc-macro2",
177
+
"quote",
178
+
"syn 2.0.106",
179
+
]
180
+
181
+
[[package]]
154
182
name = "async-trait"
155
183
version = "0.1.89"
156
184
source = "registry+https://github.com/rust-lang/crates.io-index"
···
174
202
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
175
203
176
204
[[package]]
205
+
name = "axum"
206
+
version = "0.8.6"
207
+
source = "registry+https://github.com/rust-lang/crates.io-index"
208
+
checksum = "8a18ed336352031311f4e0b4dd2ff392d4fbb370777c9d18d7fc9d7359f73871"
209
+
dependencies = [
210
+
"axum-core",
211
+
"bytes",
212
+
"form_urlencoded",
213
+
"futures-util",
214
+
"http",
215
+
"http-body",
216
+
"http-body-util",
217
+
"hyper",
218
+
"hyper-util",
219
+
"itoa",
220
+
"matchit",
221
+
"memchr",
222
+
"mime",
223
+
"percent-encoding",
224
+
"pin-project-lite",
225
+
"serde_core",
226
+
"serde_json",
227
+
"serde_path_to_error",
228
+
"serde_urlencoded",
229
+
"sync_wrapper",
230
+
"tokio",
231
+
"tower",
232
+
"tower-layer",
233
+
"tower-service",
234
+
"tracing",
235
+
]
236
+
237
+
[[package]]
238
+
name = "axum-core"
239
+
version = "0.5.5"
240
+
source = "registry+https://github.com/rust-lang/crates.io-index"
241
+
checksum = "59446ce19cd142f8833f856eb31f3eb097812d1479ab224f54d72428ca21ea22"
242
+
dependencies = [
243
+
"bytes",
244
+
"futures-core",
245
+
"http",
246
+
"http-body",
247
+
"http-body-util",
248
+
"mime",
249
+
"pin-project-lite",
250
+
"sync_wrapper",
251
+
"tower-layer",
252
+
"tower-service",
253
+
"tracing",
254
+
]
255
+
256
+
[[package]]
257
+
name = "axum-test"
258
+
version = "18.1.0"
259
+
source = "registry+https://github.com/rust-lang/crates.io-index"
260
+
checksum = "680e88effaafbb28675074f29cda0e984c984bed5eb513085c17caf7de564225"
261
+
dependencies = [
262
+
"anyhow",
263
+
"axum",
264
+
"bytes",
265
+
"bytesize",
266
+
"cookie",
267
+
"expect-json",
268
+
"http",
269
+
"http-body-util",
270
+
"hyper",
271
+
"hyper-util",
272
+
"mime",
273
+
"pretty_assertions",
274
+
"reserve-port",
275
+
"rust-multipart-rfc7578_2",
276
+
"serde",
277
+
"serde_json",
278
+
"serde_urlencoded",
279
+
"smallvec",
280
+
"tokio",
281
+
"tower",
282
+
"url",
283
+
]
284
+
285
+
[[package]]
177
286
name = "backtrace"
178
287
version = "0.3.76"
179
288
source = "registry+https://github.com/rust-lang/crates.io-index"
···
353
462
]
354
463
355
464
[[package]]
465
+
name = "bytesize"
466
+
version = "2.1.0"
467
+
source = "registry+https://github.com/rust-lang/crates.io-index"
468
+
checksum = "f5c434ae3cf0089ca203e9019ebe529c47ff45cefe8af7c85ecb734ef541822f"
469
+
470
+
[[package]]
356
471
name = "cbor4ii"
357
472
version = "0.2.14"
358
473
source = "registry+https://github.com/rust-lang/crates.io-index"
···
539
654
checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
540
655
541
656
[[package]]
657
+
name = "cookie"
658
+
version = "0.18.1"
659
+
source = "registry+https://github.com/rust-lang/crates.io-index"
660
+
checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747"
661
+
dependencies = [
662
+
"time",
663
+
"version_check",
664
+
]
665
+
666
+
[[package]]
542
667
name = "core-foundation"
543
668
version = "0.9.4"
544
669
source = "registry+https://github.com/rust-lang/crates.io-index"
···
748
873
]
749
874
750
875
[[package]]
876
+
name = "diff"
877
+
version = "0.1.13"
878
+
source = "registry+https://github.com/rust-lang/crates.io-index"
879
+
checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
880
+
881
+
[[package]]
751
882
name = "digest"
752
883
version = "0.10.7"
753
884
source = "registry+https://github.com/rust-lang/crates.io-index"
···
839
970
]
840
971
841
972
[[package]]
973
+
name = "email_address"
974
+
version = "0.2.9"
975
+
source = "registry+https://github.com/rust-lang/crates.io-index"
976
+
checksum = "e079f19b08ca6239f47f8ba8509c11cf3ea30095831f7fed61441475edd8c449"
977
+
dependencies = [
978
+
"serde",
979
+
]
980
+
981
+
[[package]]
842
982
name = "encoding_rs"
843
983
version = "0.8.35"
844
984
source = "registry+https://github.com/rust-lang/crates.io-index"
···
866
1006
checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
867
1007
868
1008
[[package]]
1009
+
name = "erased-serde"
1010
+
version = "0.4.8"
1011
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1012
+
checksum = "259d404d09818dec19332e31d94558aeb442fea04c817006456c24b5460bbd4b"
1013
+
dependencies = [
1014
+
"serde",
1015
+
"serde_core",
1016
+
"typeid",
1017
+
]
1018
+
1019
+
[[package]]
869
1020
name = "errno"
870
1021
version = "0.3.14"
871
1022
source = "registry+https://github.com/rust-lang/crates.io-index"
···
873
1024
dependencies = [
874
1025
"libc",
875
1026
"windows-sys 0.60.2",
1027
+
]
1028
+
1029
+
[[package]]
1030
+
name = "expect-json"
1031
+
version = "1.5.0"
1032
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1033
+
checksum = "7519e78573c950576b89eb4f4fe82aedf3a80639245afa07e3ee3d199dcdb29e"
1034
+
dependencies = [
1035
+
"chrono",
1036
+
"email_address",
1037
+
"expect-json-macros",
1038
+
"num",
1039
+
"serde",
1040
+
"serde_json",
1041
+
"thiserror 2.0.17",
1042
+
"typetag",
1043
+
"uuid",
1044
+
]
1045
+
1046
+
[[package]]
1047
+
name = "expect-json-macros"
1048
+
version = "1.5.0"
1049
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1050
+
checksum = "7bf7f5979e98460a0eb412665514594f68f366a32b85fa8d7ffb65bb1edee6a0"
1051
+
dependencies = [
1052
+
"proc-macro2",
1053
+
"quote",
1054
+
"syn 2.0.106",
876
1055
]
877
1056
878
1057
[[package]]
···
980
1159
checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
981
1160
dependencies = [
982
1161
"futures-core",
1162
+
"futures-io",
983
1163
"futures-task",
1164
+
"memchr",
984
1165
"pin-project-lite",
985
1166
"pin-utils",
986
1167
"slab",
···
1250
1431
"http",
1251
1432
"http-body",
1252
1433
"httparse",
1434
+
"httpdate",
1253
1435
"itoa",
1254
1436
"pin-project-lite",
1255
1437
"pin-utils",
···
1468
1650
checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd"
1469
1651
1470
1652
[[package]]
1653
+
name = "inventory"
1654
+
version = "0.3.21"
1655
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1656
+
checksum = "bc61209c082fbeb19919bee74b176221b27223e27b65d781eb91af24eb1fb46e"
1657
+
dependencies = [
1658
+
"rustversion",
1659
+
]
1660
+
1661
+
[[package]]
1471
1662
name = "io-uring"
1472
1663
version = "0.7.10"
1473
1664
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1589
1780
]
1590
1781
1591
1782
[[package]]
1783
+
name = "jacquard-axum"
1784
+
version = "0.3.0"
1785
+
dependencies = [
1786
+
"axum",
1787
+
"axum-test",
1788
+
"bytes",
1789
+
"jacquard",
1790
+
"jacquard-common",
1791
+
"miette",
1792
+
"serde",
1793
+
"serde_ipld_dagcbor",
1794
+
"serde_json",
1795
+
"thiserror 2.0.17",
1796
+
"tokio",
1797
+
"tokio-test",
1798
+
]
1799
+
1800
+
[[package]]
1592
1801
name = "jacquard-common"
1593
1802
version = "0.3.0"
1594
1803
dependencies = [
···
1899
2108
]
1900
2109
1901
2110
[[package]]
2111
+
name = "matchit"
2112
+
version = "0.8.4"
2113
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2114
+
checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3"
2115
+
2116
+
[[package]]
1902
2117
name = "memchr"
1903
2118
version = "2.7.6"
1904
2119
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2033
2248
]
2034
2249
2035
2250
[[package]]
2251
+
name = "num"
2252
+
version = "0.4.3"
2253
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2254
+
checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23"
2255
+
dependencies = [
2256
+
"num-bigint",
2257
+
"num-complex",
2258
+
"num-integer",
2259
+
"num-iter",
2260
+
"num-rational",
2261
+
"num-traits",
2262
+
]
2263
+
2264
+
[[package]]
2265
+
name = "num-bigint"
2266
+
version = "0.4.6"
2267
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2268
+
checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9"
2269
+
dependencies = [
2270
+
"num-integer",
2271
+
"num-traits",
2272
+
]
2273
+
2274
+
[[package]]
2036
2275
name = "num-bigint-dig"
2037
2276
version = "0.8.4"
2038
2277
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2050
2289
]
2051
2290
2052
2291
[[package]]
2292
+
name = "num-complex"
2293
+
version = "0.4.6"
2294
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2295
+
checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"
2296
+
dependencies = [
2297
+
"num-traits",
2298
+
]
2299
+
2300
+
[[package]]
2053
2301
name = "num-conv"
2054
2302
version = "0.1.0"
2055
2303
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2071
2319
checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf"
2072
2320
dependencies = [
2073
2321
"autocfg",
2322
+
"num-integer",
2323
+
"num-traits",
2324
+
]
2325
+
2326
+
[[package]]
2327
+
name = "num-rational"
2328
+
version = "0.4.2"
2329
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2330
+
checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824"
2331
+
dependencies = [
2332
+
"num-bigint",
2074
2333
"num-integer",
2075
2334
"num-traits",
2076
2335
]
···
2279
2538
checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
2280
2539
dependencies = [
2281
2540
"zerocopy",
2541
+
]
2542
+
2543
+
[[package]]
2544
+
name = "pretty_assertions"
2545
+
version = "1.4.1"
2546
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2547
+
checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d"
2548
+
dependencies = [
2549
+
"diff",
2550
+
"yansi",
2282
2551
]
2283
2552
2284
2553
[[package]]
···
2596
2865
]
2597
2866
2598
2867
[[package]]
2868
+
name = "reserve-port"
2869
+
version = "2.3.0"
2870
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2871
+
checksum = "21918d6644020c6f6ef1993242989bf6d4952d2e025617744f184c02df51c356"
2872
+
dependencies = [
2873
+
"thiserror 2.0.17",
2874
+
]
2875
+
2876
+
[[package]]
2599
2877
name = "resolv-conf"
2600
2878
version = "0.7.5"
2601
2879
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2667
2945
"spki",
2668
2946
"subtle",
2669
2947
"zeroize",
2948
+
]
2949
+
2950
+
[[package]]
2951
+
name = "rust-multipart-rfc7578_2"
2952
+
version = "0.8.0"
2953
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2954
+
checksum = "c839d037155ebc06a571e305af66ff9fd9063a6e662447051737e1ac75beea41"
2955
+
dependencies = [
2956
+
"bytes",
2957
+
"futures-core",
2958
+
"futures-util",
2959
+
"http",
2960
+
"mime",
2961
+
"rand 0.9.2",
2962
+
"thiserror 2.0.17",
2670
2963
]
2671
2964
2672
2965
[[package]]
···
2888
3181
"itoa",
2889
3182
"memchr",
2890
3183
"ryu",
3184
+
"serde",
3185
+
"serde_core",
3186
+
]
3187
+
3188
+
[[package]]
3189
+
name = "serde_path_to_error"
3190
+
version = "0.1.20"
3191
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3192
+
checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457"
3193
+
dependencies = [
3194
+
"itoa",
2891
3195
"serde",
2892
3196
"serde_core",
2893
3197
]
···
3357
3661
]
3358
3662
3359
3663
[[package]]
3664
+
name = "tokio-stream"
3665
+
version = "0.1.17"
3666
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3667
+
checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047"
3668
+
dependencies = [
3669
+
"futures-core",
3670
+
"pin-project-lite",
3671
+
"tokio",
3672
+
]
3673
+
3674
+
[[package]]
3675
+
name = "tokio-test"
3676
+
version = "0.4.4"
3677
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3678
+
checksum = "2468baabc3311435b55dd935f702f42cd1b8abb7e754fb7dfb16bd36aa88f9f7"
3679
+
dependencies = [
3680
+
"async-stream",
3681
+
"bytes",
3682
+
"futures-core",
3683
+
"tokio",
3684
+
"tokio-stream",
3685
+
]
3686
+
3687
+
[[package]]
3360
3688
name = "tokio-util"
3361
3689
version = "0.7.16"
3362
3690
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3382
3710
"tokio",
3383
3711
"tower-layer",
3384
3712
"tower-service",
3713
+
"tracing",
3385
3714
]
3386
3715
3387
3716
[[package]]
···
3420
3749
source = "registry+https://github.com/rust-lang/crates.io-index"
3421
3750
checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0"
3422
3751
dependencies = [
3752
+
"log",
3423
3753
"pin-project-lite",
3424
3754
"tracing-attributes",
3425
3755
"tracing-core",
···
3472
3802
]
3473
3803
3474
3804
[[package]]
3805
+
name = "typeid"
3806
+
version = "1.0.3"
3807
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3808
+
checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c"
3809
+
3810
+
[[package]]
3475
3811
name = "typenum"
3476
3812
version = "1.18.0"
3477
3813
source = "registry+https://github.com/rust-lang/crates.io-index"
3478
3814
checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
3815
+
3816
+
[[package]]
3817
+
name = "typetag"
3818
+
version = "0.2.21"
3819
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3820
+
checksum = "be2212c8a9b9bcfca32024de14998494cf9a5dfa59ea1b829de98bac374b86bf"
3821
+
dependencies = [
3822
+
"erased-serde",
3823
+
"inventory",
3824
+
"once_cell",
3825
+
"serde",
3826
+
"typetag-impl",
3827
+
]
3828
+
3829
+
[[package]]
3830
+
name = "typetag-impl"
3831
+
version = "0.2.21"
3832
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3833
+
checksum = "27a7a9b72ba121f6f1f6c3632b85604cac41aedb5ddc70accbebb6cac83de846"
3834
+
dependencies = [
3835
+
"proc-macro2",
3836
+
"quote",
3837
+
"syn 2.0.106",
3838
+
]
3479
3839
3480
3840
[[package]]
3481
3841
name = "unicase"
+3
-3
crates/jacquard-api/src/app_bsky/actor/get_preferences.rs
+3
-3
crates/jacquard-api/src/app_bsky/actor/get_preferences.rs
···
42
42
}
43
43
}
44
44
45
-
impl jacquard_common::types::xrpc::XrpcRequest for GetPreferences {
45
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetPreferences {
46
46
const NSID: &'static str = "app.bsky.actor.getPreferences";
47
47
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
48
48
const OUTPUT_ENCODING: &'static str = "application/json";
49
-
type Output<'de> = GetPreferencesOutput<'de>;
50
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
49
+
type Output = GetPreferencesOutput<'de>;
50
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
51
51
}
+3
-3
crates/jacquard-api/src/app_bsky/actor/get_profile.rs
+3
-3
crates/jacquard-api/src/app_bsky/actor/get_profile.rs
···
49
49
}
50
50
}
51
51
52
-
impl jacquard_common::types::xrpc::XrpcRequest for GetProfile<'_> {
52
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetProfile<'de> {
53
53
const NSID: &'static str = "app.bsky.actor.getProfile";
54
54
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
55
55
const OUTPUT_ENCODING: &'static str = "application/json";
56
-
type Output<'de> = GetProfileOutput<'de>;
57
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
56
+
type Output = GetProfileOutput<'de>;
57
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
58
58
}
+3
-3
crates/jacquard-api/src/app_bsky/actor/get_profiles.rs
+3
-3
crates/jacquard-api/src/app_bsky/actor/get_profiles.rs
···
48
48
}
49
49
}
50
50
51
-
impl jacquard_common::types::xrpc::XrpcRequest for GetProfiles<'_> {
51
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetProfiles<'de> {
52
52
const NSID: &'static str = "app.bsky.actor.getProfiles";
53
53
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
54
54
const OUTPUT_ENCODING: &'static str = "application/json";
55
-
type Output<'de> = GetProfilesOutput<'de>;
56
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
55
+
type Output = GetProfilesOutput<'de>;
56
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
57
57
}
+3
-3
crates/jacquard-api/src/app_bsky/actor/get_suggestions.rs
+3
-3
crates/jacquard-api/src/app_bsky/actor/get_suggestions.rs
···
62
62
}
63
63
}
64
64
65
-
impl jacquard_common::types::xrpc::XrpcRequest for GetSuggestions<'_> {
65
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSuggestions<'de> {
66
66
const NSID: &'static str = "app.bsky.actor.getSuggestions";
67
67
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
68
68
const OUTPUT_ENCODING: &'static str = "application/json";
69
-
type Output<'de> = GetSuggestionsOutput<'de>;
70
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
69
+
type Output = GetSuggestionsOutput<'de>;
70
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
71
71
}
+3
-3
crates/jacquard-api/src/app_bsky/actor/put_preferences.rs
+3
-3
crates/jacquard-api/src/app_bsky/actor/put_preferences.rs
···
39
39
}
40
40
}
41
41
42
-
impl jacquard_common::types::xrpc::XrpcRequest for PutPreferences<'_> {
42
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for PutPreferences<'de> {
43
43
const NSID: &'static str = "app.bsky.actor.putPreferences";
44
44
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
45
45
"application/json",
46
46
);
47
47
const OUTPUT_ENCODING: &'static str = "application/json";
48
-
type Output<'de> = ();
49
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
48
+
type Output = ();
49
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
50
50
}
+3
-3
crates/jacquard-api/src/app_bsky/actor/search_actors.rs
+3
-3
crates/jacquard-api/src/app_bsky/actor/search_actors.rs
···
68
68
}
69
69
}
70
70
71
-
impl jacquard_common::types::xrpc::XrpcRequest for SearchActors<'_> {
71
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchActors<'de> {
72
72
const NSID: &'static str = "app.bsky.actor.searchActors";
73
73
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
74
74
const OUTPUT_ENCODING: &'static str = "application/json";
75
-
type Output<'de> = SearchActorsOutput<'de>;
76
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
75
+
type Output = SearchActorsOutput<'de>;
76
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
77
77
}
+3
-3
crates/jacquard-api/src/app_bsky/actor/search_actors_typeahead.rs
+3
-3
crates/jacquard-api/src/app_bsky/actor/search_actors_typeahead.rs
···
59
59
}
60
60
}
61
61
62
-
impl jacquard_common::types::xrpc::XrpcRequest for SearchActorsTypeahead<'_> {
62
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchActorsTypeahead<'de> {
63
63
const NSID: &'static str = "app.bsky.actor.searchActorsTypeahead";
64
64
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
65
65
const OUTPUT_ENCODING: &'static str = "application/json";
66
-
type Output<'de> = SearchActorsTypeaheadOutput<'de>;
67
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
66
+
type Output = SearchActorsTypeaheadOutput<'de>;
67
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
68
68
}
+3
-3
crates/jacquard-api/src/app_bsky/bookmark/create_bookmark.rs
+3
-3
crates/jacquard-api/src/app_bsky/bookmark/create_bookmark.rs
···
90
90
}
91
91
}
92
92
93
-
impl jacquard_common::types::xrpc::XrpcRequest for CreateBookmark<'_> {
93
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CreateBookmark<'de> {
94
94
const NSID: &'static str = "app.bsky.bookmark.createBookmark";
95
95
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
96
96
"application/json",
97
97
);
98
98
const OUTPUT_ENCODING: &'static str = "application/json";
99
-
type Output<'de> = ();
100
-
type Err<'de> = CreateBookmarkError<'de>;
99
+
type Output = ();
100
+
type Err = CreateBookmarkError<'de>;
101
101
}
+3
-3
crates/jacquard-api/src/app_bsky/bookmark/delete_bookmark.rs
+3
-3
crates/jacquard-api/src/app_bsky/bookmark/delete_bookmark.rs
···
87
87
}
88
88
}
89
89
90
-
impl jacquard_common::types::xrpc::XrpcRequest for DeleteBookmark<'_> {
90
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteBookmark<'de> {
91
91
const NSID: &'static str = "app.bsky.bookmark.deleteBookmark";
92
92
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
93
93
"application/json",
94
94
);
95
95
const OUTPUT_ENCODING: &'static str = "application/json";
96
-
type Output<'de> = ();
97
-
type Err<'de> = DeleteBookmarkError<'de>;
96
+
type Output = ();
97
+
type Err = DeleteBookmarkError<'de>;
98
98
}
+3
-3
crates/jacquard-api/src/app_bsky/bookmark/get_bookmarks.rs
+3
-3
crates/jacquard-api/src/app_bsky/bookmark/get_bookmarks.rs
···
58
58
}
59
59
}
60
60
61
-
impl jacquard_common::types::xrpc::XrpcRequest for GetBookmarks<'_> {
61
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetBookmarks<'de> {
62
62
const NSID: &'static str = "app.bsky.bookmark.getBookmarks";
63
63
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
64
64
const OUTPUT_ENCODING: &'static str = "application/json";
65
-
type Output<'de> = GetBookmarksOutput<'de>;
66
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
65
+
type Output = GetBookmarksOutput<'de>;
66
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
67
67
}
+4
-4
crates/jacquard-api/src/app_bsky/feed/describe_feed_generator.rs
+4
-4
crates/jacquard-api/src/app_bsky/feed/describe_feed_generator.rs
···
72
72
}
73
73
74
74
/// XRPC request marker type
75
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
75
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
76
76
pub struct DescribeFeedGenerator;
77
-
impl jacquard_common::types::xrpc::XrpcRequest for DescribeFeedGenerator {
77
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DescribeFeedGenerator {
78
78
const NSID: &'static str = "app.bsky.feed.describeFeedGenerator";
79
79
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
80
80
const OUTPUT_ENCODING: &'static str = "application/json";
81
-
type Output<'de> = DescribeFeedGeneratorOutput<'de>;
82
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
81
+
type Output = DescribeFeedGeneratorOutput<'de>;
82
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
83
83
}
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_actor_feeds.rs
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_actor_feeds.rs
···
61
61
}
62
62
}
63
63
64
-
impl jacquard_common::types::xrpc::XrpcRequest for GetActorFeeds<'_> {
64
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetActorFeeds<'de> {
65
65
const NSID: &'static str = "app.bsky.feed.getActorFeeds";
66
66
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
67
67
const OUTPUT_ENCODING: &'static str = "application/json";
68
-
type Output<'de> = GetActorFeedsOutput<'de>;
69
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
68
+
type Output = GetActorFeedsOutput<'de>;
69
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
70
70
}
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_actor_likes.rs
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_actor_likes.rs
···
120
120
}
121
121
}
122
122
123
-
impl jacquard_common::types::xrpc::XrpcRequest for GetActorLikes<'_> {
123
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetActorLikes<'de> {
124
124
const NSID: &'static str = "app.bsky.feed.getActorLikes";
125
125
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
126
126
const OUTPUT_ENCODING: &'static str = "application/json";
127
-
type Output<'de> = GetActorLikesOutput<'de>;
128
-
type Err<'de> = GetActorLikesError<'de>;
127
+
type Output = GetActorLikesOutput<'de>;
128
+
type Err = GetActorLikesError<'de>;
129
129
}
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_feed.rs
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_feed.rs
···
104
104
}
105
105
}
106
106
107
-
impl jacquard_common::types::xrpc::XrpcRequest for GetFeed<'_> {
107
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetFeed<'de> {
108
108
const NSID: &'static str = "app.bsky.feed.getFeed";
109
109
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
110
110
const OUTPUT_ENCODING: &'static str = "application/json";
111
-
type Output<'de> = GetFeedOutput<'de>;
112
-
type Err<'de> = GetFeedError<'de>;
111
+
type Output = GetFeedOutput<'de>;
112
+
type Err = GetFeedError<'de>;
113
113
}
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_feed_generator.rs
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_feed_generator.rs
···
54
54
}
55
55
}
56
56
57
-
impl jacquard_common::types::xrpc::XrpcRequest for GetFeedGenerator<'_> {
57
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetFeedGenerator<'de> {
58
58
const NSID: &'static str = "app.bsky.feed.getFeedGenerator";
59
59
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
60
60
const OUTPUT_ENCODING: &'static str = "application/json";
61
-
type Output<'de> = GetFeedGeneratorOutput<'de>;
62
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
61
+
type Output = GetFeedGeneratorOutput<'de>;
62
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
63
63
}
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_feed_generators.rs
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_feed_generators.rs
···
48
48
}
49
49
}
50
50
51
-
impl jacquard_common::types::xrpc::XrpcRequest for GetFeedGenerators<'_> {
51
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetFeedGenerators<'de> {
52
52
const NSID: &'static str = "app.bsky.feed.getFeedGenerators";
53
53
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
54
54
const OUTPUT_ENCODING: &'static str = "application/json";
55
-
type Output<'de> = GetFeedGeneratorsOutput<'de>;
56
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
55
+
type Output = GetFeedGeneratorsOutput<'de>;
56
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
57
57
}
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_feed_skeleton.rs
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_feed_skeleton.rs
···
113
113
}
114
114
}
115
115
116
-
impl jacquard_common::types::xrpc::XrpcRequest for GetFeedSkeleton<'_> {
116
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetFeedSkeleton<'de> {
117
117
const NSID: &'static str = "app.bsky.feed.getFeedSkeleton";
118
118
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
119
119
const OUTPUT_ENCODING: &'static str = "application/json";
120
-
type Output<'de> = GetFeedSkeletonOutput<'de>;
121
-
type Err<'de> = GetFeedSkeletonError<'de>;
120
+
type Output = GetFeedSkeletonOutput<'de>;
121
+
type Err = GetFeedSkeletonError<'de>;
122
122
}
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_likes.rs
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_likes.rs
···
94
94
}
95
95
}
96
96
97
-
impl jacquard_common::types::xrpc::XrpcRequest for GetLikes<'_> {
97
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetLikes<'de> {
98
98
const NSID: &'static str = "app.bsky.feed.getLikes";
99
99
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
100
100
const OUTPUT_ENCODING: &'static str = "application/json";
101
-
type Output<'de> = GetLikesOutput<'de>;
102
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
101
+
type Output = GetLikesOutput<'de>;
102
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
103
103
}
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_list_feed.rs
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_list_feed.rs
···
106
106
}
107
107
}
108
108
109
-
impl jacquard_common::types::xrpc::XrpcRequest for GetListFeed<'_> {
109
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetListFeed<'de> {
110
110
const NSID: &'static str = "app.bsky.feed.getListFeed";
111
111
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
112
112
const OUTPUT_ENCODING: &'static str = "application/json";
113
-
type Output<'de> = GetListFeedOutput<'de>;
114
-
type Err<'de> = GetListFeedError<'de>;
113
+
type Output = GetListFeedOutput<'de>;
114
+
type Err = GetListFeedError<'de>;
115
115
}
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_post_thread.rs
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_post_thread.rs
···
140
140
}
141
141
}
142
142
143
-
impl jacquard_common::types::xrpc::XrpcRequest for GetPostThread<'_> {
143
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetPostThread<'de> {
144
144
const NSID: &'static str = "app.bsky.feed.getPostThread";
145
145
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
146
146
const OUTPUT_ENCODING: &'static str = "application/json";
147
-
type Output<'de> = GetPostThreadOutput<'de>;
148
-
type Err<'de> = GetPostThreadError<'de>;
147
+
type Output = GetPostThreadOutput<'de>;
148
+
type Err = GetPostThreadError<'de>;
149
149
}
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_posts.rs
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_posts.rs
···
48
48
}
49
49
}
50
50
51
-
impl jacquard_common::types::xrpc::XrpcRequest for GetPosts<'_> {
51
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetPosts<'de> {
52
52
const NSID: &'static str = "app.bsky.feed.getPosts";
53
53
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
54
54
const OUTPUT_ENCODING: &'static str = "application/json";
55
-
type Output<'de> = GetPostsOutput<'de>;
56
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
55
+
type Output = GetPostsOutput<'de>;
56
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
57
57
}
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_quotes.rs
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_quotes.rs
···
72
72
}
73
73
}
74
74
75
-
impl jacquard_common::types::xrpc::XrpcRequest for GetQuotes<'_> {
75
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetQuotes<'de> {
76
76
const NSID: &'static str = "app.bsky.feed.getQuotes";
77
77
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
78
78
const OUTPUT_ENCODING: &'static str = "application/json";
79
-
type Output<'de> = GetQuotesOutput<'de>;
80
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
79
+
type Output = GetQuotesOutput<'de>;
80
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
81
81
}
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_reposted_by.rs
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_reposted_by.rs
···
72
72
}
73
73
}
74
74
75
-
impl jacquard_common::types::xrpc::XrpcRequest for GetRepostedBy<'_> {
75
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRepostedBy<'de> {
76
76
const NSID: &'static str = "app.bsky.feed.getRepostedBy";
77
77
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
78
78
const OUTPUT_ENCODING: &'static str = "application/json";
79
-
type Output<'de> = GetRepostedByOutput<'de>;
80
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
79
+
type Output = GetRepostedByOutput<'de>;
80
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
81
81
}
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_suggested_feeds.rs
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_suggested_feeds.rs
···
58
58
}
59
59
}
60
60
61
-
impl jacquard_common::types::xrpc::XrpcRequest for GetSuggestedFeeds<'_> {
61
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSuggestedFeeds<'de> {
62
62
const NSID: &'static str = "app.bsky.feed.getSuggestedFeeds";
63
63
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
64
64
const OUTPUT_ENCODING: &'static str = "application/json";
65
-
type Output<'de> = GetSuggestedFeedsOutput<'de>;
66
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
65
+
type Output = GetSuggestedFeedsOutput<'de>;
66
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
67
67
}
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_timeline.rs
+3
-3
crates/jacquard-api/src/app_bsky/feed/get_timeline.rs
···
63
63
}
64
64
}
65
65
66
-
impl jacquard_common::types::xrpc::XrpcRequest for GetTimeline<'_> {
66
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetTimeline<'de> {
67
67
const NSID: &'static str = "app.bsky.feed.getTimeline";
68
68
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
69
69
const OUTPUT_ENCODING: &'static str = "application/json";
70
-
type Output<'de> = GetTimelineOutput<'de>;
71
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
70
+
type Output = GetTimelineOutput<'de>;
71
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
72
72
}
+3
-3
crates/jacquard-api/src/app_bsky/feed/search_posts.rs
+3
-3
crates/jacquard-api/src/app_bsky/feed/search_posts.rs
···
151
151
}
152
152
}
153
153
154
-
impl jacquard_common::types::xrpc::XrpcRequest for SearchPosts<'_> {
154
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchPosts<'de> {
155
155
const NSID: &'static str = "app.bsky.feed.searchPosts";
156
156
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
157
157
const OUTPUT_ENCODING: &'static str = "application/json";
158
-
type Output<'de> = SearchPostsOutput<'de>;
159
-
type Err<'de> = SearchPostsError<'de>;
158
+
type Output = SearchPostsOutput<'de>;
159
+
type Err = SearchPostsError<'de>;
160
160
}
+3
-3
crates/jacquard-api/src/app_bsky/feed/send_interactions.rs
+3
-3
crates/jacquard-api/src/app_bsky/feed/send_interactions.rs
···
52
52
}
53
53
}
54
54
55
-
impl jacquard_common::types::xrpc::XrpcRequest for SendInteractions<'_> {
55
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SendInteractions<'de> {
56
56
const NSID: &'static str = "app.bsky.feed.sendInteractions";
57
57
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
58
58
"application/json",
59
59
);
60
60
const OUTPUT_ENCODING: &'static str = "application/json";
61
-
type Output<'de> = SendInteractionsOutput<'de>;
62
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
61
+
type Output = SendInteractionsOutput<'de>;
62
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
63
63
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_actor_starter_packs.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_actor_starter_packs.rs
···
61
61
}
62
62
}
63
63
64
-
impl jacquard_common::types::xrpc::XrpcRequest for GetActorStarterPacks<'_> {
64
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetActorStarterPacks<'de> {
65
65
const NSID: &'static str = "app.bsky.graph.getActorStarterPacks";
66
66
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
67
67
const OUTPUT_ENCODING: &'static str = "application/json";
68
-
type Output<'de> = GetActorStarterPacksOutput<'de>;
69
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
68
+
type Output = GetActorStarterPacksOutput<'de>;
69
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
70
70
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_blocks.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_blocks.rs
···
58
58
}
59
59
}
60
60
61
-
impl jacquard_common::types::xrpc::XrpcRequest for GetBlocks<'_> {
61
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetBlocks<'de> {
62
62
const NSID: &'static str = "app.bsky.graph.getBlocks";
63
63
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
64
64
const OUTPUT_ENCODING: &'static str = "application/json";
65
-
type Output<'de> = GetBlocksOutput<'de>;
66
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
65
+
type Output = GetBlocksOutput<'de>;
66
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
67
67
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_followers.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_followers.rs
···
64
64
}
65
65
}
66
66
67
-
impl jacquard_common::types::xrpc::XrpcRequest for GetFollowers<'_> {
67
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetFollowers<'de> {
68
68
const NSID: &'static str = "app.bsky.graph.getFollowers";
69
69
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
70
70
const OUTPUT_ENCODING: &'static str = "application/json";
71
-
type Output<'de> = GetFollowersOutput<'de>;
72
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
71
+
type Output = GetFollowersOutput<'de>;
72
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
73
73
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_follows.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_follows.rs
···
64
64
}
65
65
}
66
66
67
-
impl jacquard_common::types::xrpc::XrpcRequest for GetFollows<'_> {
67
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetFollows<'de> {
68
68
const NSID: &'static str = "app.bsky.graph.getFollows";
69
69
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
70
70
const OUTPUT_ENCODING: &'static str = "application/json";
71
-
type Output<'de> = GetFollowsOutput<'de>;
72
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
71
+
type Output = GetFollowsOutput<'de>;
72
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
73
73
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_known_followers.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_known_followers.rs
···
64
64
}
65
65
}
66
66
67
-
impl jacquard_common::types::xrpc::XrpcRequest for GetKnownFollowers<'_> {
67
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetKnownFollowers<'de> {
68
68
const NSID: &'static str = "app.bsky.graph.getKnownFollowers";
69
69
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
70
70
const OUTPUT_ENCODING: &'static str = "application/json";
71
-
type Output<'de> = GetKnownFollowersOutput<'de>;
72
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
71
+
type Output = GetKnownFollowersOutput<'de>;
72
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
73
73
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_list.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_list.rs
···
64
64
}
65
65
}
66
66
67
-
impl jacquard_common::types::xrpc::XrpcRequest for GetList<'_> {
67
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetList<'de> {
68
68
const NSID: &'static str = "app.bsky.graph.getList";
69
69
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
70
70
const OUTPUT_ENCODING: &'static str = "application/json";
71
-
type Output<'de> = GetListOutput<'de>;
72
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
71
+
type Output = GetListOutput<'de>;
72
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
73
73
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_list_blocks.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_list_blocks.rs
···
58
58
}
59
59
}
60
60
61
-
impl jacquard_common::types::xrpc::XrpcRequest for GetListBlocks<'_> {
61
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetListBlocks<'de> {
62
62
const NSID: &'static str = "app.bsky.graph.getListBlocks";
63
63
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
64
64
const OUTPUT_ENCODING: &'static str = "application/json";
65
-
type Output<'de> = GetListBlocksOutput<'de>;
66
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
65
+
type Output = GetListBlocksOutput<'de>;
66
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
67
67
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_list_mutes.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_list_mutes.rs
···
58
58
}
59
59
}
60
60
61
-
impl jacquard_common::types::xrpc::XrpcRequest for GetListMutes<'_> {
61
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetListMutes<'de> {
62
62
const NSID: &'static str = "app.bsky.graph.getListMutes";
63
63
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
64
64
const OUTPUT_ENCODING: &'static str = "application/json";
65
-
type Output<'de> = GetListMutesOutput<'de>;
66
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
65
+
type Output = GetListMutesOutput<'de>;
66
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
67
67
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_lists.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_lists.rs
···
65
65
}
66
66
}
67
67
68
-
impl jacquard_common::types::xrpc::XrpcRequest for GetLists<'_> {
68
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetLists<'de> {
69
69
const NSID: &'static str = "app.bsky.graph.getLists";
70
70
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
71
71
const OUTPUT_ENCODING: &'static str = "application/json";
72
-
type Output<'de> = GetListsOutput<'de>;
73
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
72
+
type Output = GetListsOutput<'de>;
73
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
74
74
}
+4
-3
crates/jacquard-api/src/app_bsky/graph/get_lists_with_membership.rs
+4
-3
crates/jacquard-api/src/app_bsky/graph/get_lists_with_membership.rs
···
88
88
}
89
89
}
90
90
91
-
impl jacquard_common::types::xrpc::XrpcRequest for GetListsWithMembership<'_> {
91
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
92
+
for GetListsWithMembership<'de> {
92
93
const NSID: &'static str = "app.bsky.graph.getListsWithMembership";
93
94
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
94
95
const OUTPUT_ENCODING: &'static str = "application/json";
95
-
type Output<'de> = GetListsWithMembershipOutput<'de>;
96
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
96
+
type Output = GetListsWithMembershipOutput<'de>;
97
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
97
98
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_mutes.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_mutes.rs
···
58
58
}
59
59
}
60
60
61
-
impl jacquard_common::types::xrpc::XrpcRequest for GetMutes<'_> {
61
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetMutes<'de> {
62
62
const NSID: &'static str = "app.bsky.graph.getMutes";
63
63
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
64
64
const OUTPUT_ENCODING: &'static str = "application/json";
65
-
type Output<'de> = GetMutesOutput<'de>;
66
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
65
+
type Output = GetMutesOutput<'de>;
66
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
67
67
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_relationships.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_relationships.rs
···
106
106
}
107
107
}
108
108
109
-
impl jacquard_common::types::xrpc::XrpcRequest for GetRelationships<'_> {
109
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRelationships<'de> {
110
110
const NSID: &'static str = "app.bsky.graph.getRelationships";
111
111
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
112
112
const OUTPUT_ENCODING: &'static str = "application/json";
113
-
type Output<'de> = GetRelationshipsOutput<'de>;
114
-
type Err<'de> = GetRelationshipsError<'de>;
113
+
type Output = GetRelationshipsOutput<'de>;
114
+
type Err = GetRelationshipsError<'de>;
115
115
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_starter_pack.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_starter_pack.rs
···
48
48
}
49
49
}
50
50
51
-
impl jacquard_common::types::xrpc::XrpcRequest for GetStarterPack<'_> {
51
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetStarterPack<'de> {
52
52
const NSID: &'static str = "app.bsky.graph.getStarterPack";
53
53
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
54
54
const OUTPUT_ENCODING: &'static str = "application/json";
55
-
type Output<'de> = GetStarterPackOutput<'de>;
56
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
55
+
type Output = GetStarterPackOutput<'de>;
56
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
57
57
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_starter_packs.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/get_starter_packs.rs
···
48
48
}
49
49
}
50
50
51
-
impl jacquard_common::types::xrpc::XrpcRequest for GetStarterPacks<'_> {
51
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetStarterPacks<'de> {
52
52
const NSID: &'static str = "app.bsky.graph.getStarterPacks";
53
53
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
54
54
const OUTPUT_ENCODING: &'static str = "application/json";
55
-
type Output<'de> = GetStarterPacksOutput<'de>;
56
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
55
+
type Output = GetStarterPacksOutput<'de>;
56
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
57
57
}
+4
-3
crates/jacquard-api/src/app_bsky/graph/get_starter_packs_with_membership.rs
+4
-3
crates/jacquard-api/src/app_bsky/graph/get_starter_packs_with_membership.rs
···
63
63
}
64
64
}
65
65
66
-
impl jacquard_common::types::xrpc::XrpcRequest for GetStarterPacksWithMembership<'_> {
66
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
67
+
for GetStarterPacksWithMembership<'de> {
67
68
const NSID: &'static str = "app.bsky.graph.getStarterPacksWithMembership";
68
69
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
69
70
const OUTPUT_ENCODING: &'static str = "application/json";
70
-
type Output<'de> = GetStarterPacksWithMembershipOutput<'de>;
71
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
71
+
type Output = GetStarterPacksWithMembershipOutput<'de>;
72
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
72
73
}
73
74
74
75
///A starter pack and an optional list item indicating membership of a target user to that starter pack.
+4
-3
crates/jacquard-api/src/app_bsky/graph/get_suggested_follows_by_actor.rs
+4
-3
crates/jacquard-api/src/app_bsky/graph/get_suggested_follows_by_actor.rs
···
56
56
}
57
57
}
58
58
59
-
impl jacquard_common::types::xrpc::XrpcRequest for GetSuggestedFollowsByActor<'_> {
59
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
60
+
for GetSuggestedFollowsByActor<'de> {
60
61
const NSID: &'static str = "app.bsky.graph.getSuggestedFollowsByActor";
61
62
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
62
63
const OUTPUT_ENCODING: &'static str = "application/json";
63
-
type Output<'de> = GetSuggestedFollowsByActorOutput<'de>;
64
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
64
+
type Output = GetSuggestedFollowsByActorOutput<'de>;
65
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
65
66
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/mute_actor.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/mute_actor.rs
···
39
39
}
40
40
}
41
41
42
-
impl jacquard_common::types::xrpc::XrpcRequest for MuteActor<'_> {
42
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for MuteActor<'de> {
43
43
const NSID: &'static str = "app.bsky.graph.muteActor";
44
44
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
45
45
"application/json",
46
46
);
47
47
const OUTPUT_ENCODING: &'static str = "application/json";
48
-
type Output<'de> = ();
49
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
48
+
type Output = ();
49
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
50
50
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/mute_actor_list.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/mute_actor_list.rs
···
39
39
}
40
40
}
41
41
42
-
impl jacquard_common::types::xrpc::XrpcRequest for MuteActorList<'_> {
42
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for MuteActorList<'de> {
43
43
const NSID: &'static str = "app.bsky.graph.muteActorList";
44
44
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
45
45
"application/json",
46
46
);
47
47
const OUTPUT_ENCODING: &'static str = "application/json";
48
-
type Output<'de> = ();
49
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
48
+
type Output = ();
49
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
50
50
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/mute_thread.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/mute_thread.rs
···
39
39
}
40
40
}
41
41
42
-
impl jacquard_common::types::xrpc::XrpcRequest for MuteThread<'_> {
42
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for MuteThread<'de> {
43
43
const NSID: &'static str = "app.bsky.graph.muteThread";
44
44
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
45
45
"application/json",
46
46
);
47
47
const OUTPUT_ENCODING: &'static str = "application/json";
48
-
type Output<'de> = ();
49
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
48
+
type Output = ();
49
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
50
50
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/search_starter_packs.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/search_starter_packs.rs
···
62
62
}
63
63
}
64
64
65
-
impl jacquard_common::types::xrpc::XrpcRequest for SearchStarterPacks<'_> {
65
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchStarterPacks<'de> {
66
66
const NSID: &'static str = "app.bsky.graph.searchStarterPacks";
67
67
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
68
68
const OUTPUT_ENCODING: &'static str = "application/json";
69
-
type Output<'de> = SearchStarterPacksOutput<'de>;
70
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
69
+
type Output = SearchStarterPacksOutput<'de>;
70
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
71
71
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/unmute_actor.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/unmute_actor.rs
···
39
39
}
40
40
}
41
41
42
-
impl jacquard_common::types::xrpc::XrpcRequest for UnmuteActor<'_> {
42
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UnmuteActor<'de> {
43
43
const NSID: &'static str = "app.bsky.graph.unmuteActor";
44
44
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
45
45
"application/json",
46
46
);
47
47
const OUTPUT_ENCODING: &'static str = "application/json";
48
-
type Output<'de> = ();
49
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
48
+
type Output = ();
49
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
50
50
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/unmute_actor_list.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/unmute_actor_list.rs
···
39
39
}
40
40
}
41
41
42
-
impl jacquard_common::types::xrpc::XrpcRequest for UnmuteActorList<'_> {
42
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UnmuteActorList<'de> {
43
43
const NSID: &'static str = "app.bsky.graph.unmuteActorList";
44
44
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
45
45
"application/json",
46
46
);
47
47
const OUTPUT_ENCODING: &'static str = "application/json";
48
-
type Output<'de> = ();
49
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
48
+
type Output = ();
49
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
50
50
}
+3
-3
crates/jacquard-api/src/app_bsky/graph/unmute_thread.rs
+3
-3
crates/jacquard-api/src/app_bsky/graph/unmute_thread.rs
···
39
39
}
40
40
}
41
41
42
-
impl jacquard_common::types::xrpc::XrpcRequest for UnmuteThread<'_> {
42
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UnmuteThread<'de> {
43
43
const NSID: &'static str = "app.bsky.graph.unmuteThread";
44
44
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
45
45
"application/json",
46
46
);
47
47
const OUTPUT_ENCODING: &'static str = "application/json";
48
-
type Output<'de> = ();
49
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
48
+
type Output = ();
49
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
50
50
}
+3
-3
crates/jacquard-api/src/app_bsky/labeler/get_services.rs
+3
-3
crates/jacquard-api/src/app_bsky/labeler/get_services.rs
···
52
52
}
53
53
}
54
54
55
-
impl jacquard_common::types::xrpc::XrpcRequest for GetServices<'_> {
55
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetServices<'de> {
56
56
const NSID: &'static str = "app.bsky.labeler.getServices";
57
57
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
58
58
const OUTPUT_ENCODING: &'static str = "application/json";
59
-
type Output<'de> = GetServicesOutput<'de>;
60
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
59
+
type Output = GetServicesOutput<'de>;
60
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
61
61
}
+3
-3
crates/jacquard-api/src/app_bsky/notification/get_preferences.rs
+3
-3
crates/jacquard-api/src/app_bsky/notification/get_preferences.rs
···
42
42
}
43
43
}
44
44
45
-
impl jacquard_common::types::xrpc::XrpcRequest for GetPreferences {
45
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetPreferences {
46
46
const NSID: &'static str = "app.bsky.notification.getPreferences";
47
47
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
48
48
const OUTPUT_ENCODING: &'static str = "application/json";
49
-
type Output<'de> = GetPreferencesOutput<'de>;
50
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
49
+
type Output = GetPreferencesOutput<'de>;
50
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
51
51
}
+3
-3
crates/jacquard-api/src/app_bsky/notification/get_unread_count.rs
+3
-3
crates/jacquard-api/src/app_bsky/notification/get_unread_count.rs
···
47
47
}
48
48
}
49
49
50
-
impl jacquard_common::types::xrpc::XrpcRequest for GetUnreadCount {
50
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetUnreadCount {
51
51
const NSID: &'static str = "app.bsky.notification.getUnreadCount";
52
52
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
53
53
const OUTPUT_ENCODING: &'static str = "application/json";
54
-
type Output<'de> = GetUnreadCountOutput<'de>;
55
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
54
+
type Output = GetUnreadCountOutput<'de>;
55
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
56
56
}
+4
-3
crates/jacquard-api/src/app_bsky/notification/list_activity_subscriptions.rs
+4
-3
crates/jacquard-api/src/app_bsky/notification/list_activity_subscriptions.rs
···
58
58
}
59
59
}
60
60
61
-
impl jacquard_common::types::xrpc::XrpcRequest for ListActivitySubscriptions<'_> {
61
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
62
+
for ListActivitySubscriptions<'de> {
62
63
const NSID: &'static str = "app.bsky.notification.listActivitySubscriptions";
63
64
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
64
65
const OUTPUT_ENCODING: &'static str = "application/json";
65
-
type Output<'de> = ListActivitySubscriptionsOutput<'de>;
66
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
66
+
type Output = ListActivitySubscriptionsOutput<'de>;
67
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
67
68
}
+3
-3
crates/jacquard-api/src/app_bsky/notification/list_notifications.rs
+3
-3
crates/jacquard-api/src/app_bsky/notification/list_notifications.rs
···
74
74
}
75
75
}
76
76
77
-
impl jacquard_common::types::xrpc::XrpcRequest for ListNotifications<'_> {
77
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListNotifications<'de> {
78
78
const NSID: &'static str = "app.bsky.notification.listNotifications";
79
79
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
80
80
const OUTPUT_ENCODING: &'static str = "application/json";
81
-
type Output<'de> = ListNotificationsOutput<'de>;
82
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
81
+
type Output = ListNotificationsOutput<'de>;
82
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
83
83
}
84
84
85
85
#[jacquard_derive::lexicon]
+4
-3
crates/jacquard-api/src/app_bsky/notification/put_activity_subscription.rs
+4
-3
crates/jacquard-api/src/app_bsky/notification/put_activity_subscription.rs
···
66
66
}
67
67
}
68
68
69
-
impl jacquard_common::types::xrpc::XrpcRequest for PutActivitySubscription<'_> {
69
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
70
+
for PutActivitySubscription<'de> {
70
71
const NSID: &'static str = "app.bsky.notification.putActivitySubscription";
71
72
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
72
73
"application/json",
73
74
);
74
75
const OUTPUT_ENCODING: &'static str = "application/json";
75
-
type Output<'de> = PutActivitySubscriptionOutput<'de>;
76
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
76
+
type Output = PutActivitySubscriptionOutput<'de>;
77
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
77
78
}
+3
-3
crates/jacquard-api/src/app_bsky/notification/put_preferences.rs
+3
-3
crates/jacquard-api/src/app_bsky/notification/put_preferences.rs
···
38
38
}
39
39
}
40
40
41
-
impl jacquard_common::types::xrpc::XrpcRequest for PutPreferences<'_> {
41
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for PutPreferences<'de> {
42
42
const NSID: &'static str = "app.bsky.notification.putPreferences";
43
43
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
44
44
"application/json",
45
45
);
46
46
const OUTPUT_ENCODING: &'static str = "application/json";
47
-
type Output<'de> = ();
48
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
47
+
type Output = ();
48
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
49
49
}
+3
-3
crates/jacquard-api/src/app_bsky/notification/put_preferences_v2.rs
+3
-3
crates/jacquard-api/src/app_bsky/notification/put_preferences_v2.rs
···
126
126
}
127
127
}
128
128
129
-
impl jacquard_common::types::xrpc::XrpcRequest for PutPreferencesV2<'_> {
129
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for PutPreferencesV2<'de> {
130
130
const NSID: &'static str = "app.bsky.notification.putPreferencesV2";
131
131
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
132
132
"application/json",
133
133
);
134
134
const OUTPUT_ENCODING: &'static str = "application/json";
135
-
type Output<'de> = PutPreferencesV2Output<'de>;
136
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
135
+
type Output = PutPreferencesV2Output<'de>;
136
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
137
137
}
+3
-3
crates/jacquard-api/src/app_bsky/notification/register_push.rs
+3
-3
crates/jacquard-api/src/app_bsky/notification/register_push.rs
···
55
55
}
56
56
}
57
57
58
-
impl jacquard_common::types::xrpc::XrpcRequest for RegisterPush<'_> {
58
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RegisterPush<'de> {
59
59
const NSID: &'static str = "app.bsky.notification.registerPush";
60
60
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
61
61
"application/json",
62
62
);
63
63
const OUTPUT_ENCODING: &'static str = "application/json";
64
-
type Output<'de> = ();
65
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
64
+
type Output = ();
65
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
66
66
}
+3
-3
crates/jacquard-api/src/app_bsky/notification/unregister_push.rs
+3
-3
crates/jacquard-api/src/app_bsky/notification/unregister_push.rs
···
51
51
}
52
52
}
53
53
54
-
impl jacquard_common::types::xrpc::XrpcRequest for UnregisterPush<'_> {
54
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UnregisterPush<'de> {
55
55
const NSID: &'static str = "app.bsky.notification.unregisterPush";
56
56
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
57
57
"application/json",
58
58
);
59
59
const OUTPUT_ENCODING: &'static str = "application/json";
60
-
type Output<'de> = ();
61
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
60
+
type Output = ();
61
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
62
62
}
+3
-3
crates/jacquard-api/src/app_bsky/notification/update_seen.rs
+3
-3
crates/jacquard-api/src/app_bsky/notification/update_seen.rs
···
38
38
}
39
39
}
40
40
41
-
impl jacquard_common::types::xrpc::XrpcRequest for UpdateSeen<'_> {
41
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateSeen<'de> {
42
42
const NSID: &'static str = "app.bsky.notification.updateSeen";
43
43
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
44
44
"application/json",
45
45
);
46
46
const OUTPUT_ENCODING: &'static str = "application/json";
47
-
type Output<'de> = ();
48
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
47
+
type Output = ();
48
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
49
49
}
+4
-4
crates/jacquard-api/src/app_bsky/unspecced/get_age_assurance_state.rs
+4
-4
crates/jacquard-api/src/app_bsky/unspecced/get_age_assurance_state.rs
···
25
25
}
26
26
27
27
/// XRPC request marker type
28
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
28
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
29
29
pub struct GetAgeAssuranceState;
30
-
impl jacquard_common::types::xrpc::XrpcRequest for GetAgeAssuranceState {
30
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetAgeAssuranceState {
31
31
const NSID: &'static str = "app.bsky.unspecced.getAgeAssuranceState";
32
32
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
33
33
const OUTPUT_ENCODING: &'static str = "application/json";
34
-
type Output<'de> = GetAgeAssuranceStateOutput<'de>;
35
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
34
+
type Output = GetAgeAssuranceStateOutput<'de>;
35
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
36
36
}
+4
-4
crates/jacquard-api/src/app_bsky/unspecced/get_config.rs
+4
-4
crates/jacquard-api/src/app_bsky/unspecced/get_config.rs
···
49
49
}
50
50
51
51
/// XRPC request marker type
52
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
52
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
53
53
pub struct GetConfig;
54
-
impl jacquard_common::types::xrpc::XrpcRequest for GetConfig {
54
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetConfig {
55
55
const NSID: &'static str = "app.bsky.unspecced.getConfig";
56
56
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
57
57
const OUTPUT_ENCODING: &'static str = "application/json";
58
-
type Output<'de> = GetConfigOutput<'de>;
59
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
58
+
type Output = GetConfigOutput<'de>;
59
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
60
60
}
+4
-3
crates/jacquard-api/src/app_bsky/unspecced/get_onboarding_suggested_starter_packs.rs
+4
-3
crates/jacquard-api/src/app_bsky/unspecced/get_onboarding_suggested_starter_packs.rs
···
47
47
}
48
48
}
49
49
50
-
impl jacquard_common::types::xrpc::XrpcRequest for GetOnboardingSuggestedStarterPacks {
50
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
51
+
for GetOnboardingSuggestedStarterPacks {
51
52
const NSID: &'static str = "app.bsky.unspecced.getOnboardingSuggestedStarterPacks";
52
53
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
53
54
const OUTPUT_ENCODING: &'static str = "application/json";
54
-
type Output<'de> = GetOnboardingSuggestedStarterPacksOutput<'de>;
55
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
55
+
type Output = GetOnboardingSuggestedStarterPacksOutput<'de>;
56
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
56
57
}
+4
-4
crates/jacquard-api/src/app_bsky/unspecced/get_onboarding_suggested_starter_packs_skeleton.rs
+4
-4
crates/jacquard-api/src/app_bsky/unspecced/get_onboarding_suggested_starter_packs_skeleton.rs
···
54
54
}
55
55
}
56
56
57
-
impl jacquard_common::types::xrpc::XrpcRequest
58
-
for GetOnboardingSuggestedStarterPacksSkeleton<'_> {
57
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
58
+
for GetOnboardingSuggestedStarterPacksSkeleton<'de> {
59
59
const NSID: &'static str = "app.bsky.unspecced.getOnboardingSuggestedStarterPacksSkeleton";
60
60
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
61
61
const OUTPUT_ENCODING: &'static str = "application/json";
62
-
type Output<'de> = GetOnboardingSuggestedStarterPacksSkeletonOutput<'de>;
63
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
62
+
type Output = GetOnboardingSuggestedStarterPacksSkeletonOutput<'de>;
63
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
64
64
}
+4
-3
crates/jacquard-api/src/app_bsky/unspecced/get_popular_feed_generators.rs
+4
-3
crates/jacquard-api/src/app_bsky/unspecced/get_popular_feed_generators.rs
···
63
63
}
64
64
}
65
65
66
-
impl jacquard_common::types::xrpc::XrpcRequest for GetPopularFeedGenerators<'_> {
66
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
67
+
for GetPopularFeedGenerators<'de> {
67
68
const NSID: &'static str = "app.bsky.unspecced.getPopularFeedGenerators";
68
69
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
69
70
const OUTPUT_ENCODING: &'static str = "application/json";
70
-
type Output<'de> = GetPopularFeedGeneratorsOutput<'de>;
71
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
71
+
type Output = GetPopularFeedGeneratorsOutput<'de>;
72
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
72
73
}
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/get_post_thread_other_v2.rs
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/get_post_thread_other_v2.rs
···
53
53
}
54
54
}
55
55
56
-
impl jacquard_common::types::xrpc::XrpcRequest for GetPostThreadOtherV2<'_> {
56
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetPostThreadOtherV2<'de> {
57
57
const NSID: &'static str = "app.bsky.unspecced.getPostThreadOtherV2";
58
58
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
59
59
const OUTPUT_ENCODING: &'static str = "application/json";
60
-
type Output<'de> = GetPostThreadOtherV2Output<'de>;
61
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
60
+
type Output = GetPostThreadOtherV2Output<'de>;
61
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
62
62
}
63
63
64
64
#[jacquard_derive::lexicon]
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/get_post_thread_v2.rs
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/get_post_thread_v2.rs
···
78
78
}
79
79
}
80
80
81
-
impl jacquard_common::types::xrpc::XrpcRequest for GetPostThreadV2<'_> {
81
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetPostThreadV2<'de> {
82
82
const NSID: &'static str = "app.bsky.unspecced.getPostThreadV2";
83
83
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
84
84
const OUTPUT_ENCODING: &'static str = "application/json";
85
-
type Output<'de> = GetPostThreadV2Output<'de>;
86
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
85
+
type Output = GetPostThreadV2Output<'de>;
86
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
87
87
}
88
88
89
89
#[jacquard_derive::lexicon]
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/get_suggested_feeds.rs
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/get_suggested_feeds.rs
···
47
47
}
48
48
}
49
49
50
-
impl jacquard_common::types::xrpc::XrpcRequest for GetSuggestedFeeds {
50
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSuggestedFeeds {
51
51
const NSID: &'static str = "app.bsky.unspecced.getSuggestedFeeds";
52
52
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
53
53
const OUTPUT_ENCODING: &'static str = "application/json";
54
-
type Output<'de> = GetSuggestedFeedsOutput<'de>;
55
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
54
+
type Output = GetSuggestedFeedsOutput<'de>;
55
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
56
56
}
+4
-3
crates/jacquard-api/src/app_bsky/unspecced/get_suggested_feeds_skeleton.rs
+4
-3
crates/jacquard-api/src/app_bsky/unspecced/get_suggested_feeds_skeleton.rs
···
53
53
}
54
54
}
55
55
56
-
impl jacquard_common::types::xrpc::XrpcRequest for GetSuggestedFeedsSkeleton<'_> {
56
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
57
+
for GetSuggestedFeedsSkeleton<'de> {
57
58
const NSID: &'static str = "app.bsky.unspecced.getSuggestedFeedsSkeleton";
58
59
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
59
60
const OUTPUT_ENCODING: &'static str = "application/json";
60
-
type Output<'de> = GetSuggestedFeedsSkeletonOutput<'de>;
61
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
61
+
type Output = GetSuggestedFeedsSkeletonOutput<'de>;
62
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
62
63
}
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/get_suggested_starter_packs.rs
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/get_suggested_starter_packs.rs
···
47
47
}
48
48
}
49
49
50
-
impl jacquard_common::types::xrpc::XrpcRequest for GetSuggestedStarterPacks {
50
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSuggestedStarterPacks {
51
51
const NSID: &'static str = "app.bsky.unspecced.getSuggestedStarterPacks";
52
52
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
53
53
const OUTPUT_ENCODING: &'static str = "application/json";
54
-
type Output<'de> = GetSuggestedStarterPacksOutput<'de>;
55
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
54
+
type Output = GetSuggestedStarterPacksOutput<'de>;
55
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
56
56
}
+4
-3
crates/jacquard-api/src/app_bsky/unspecced/get_suggested_starter_packs_skeleton.rs
+4
-3
crates/jacquard-api/src/app_bsky/unspecced/get_suggested_starter_packs_skeleton.rs
···
53
53
}
54
54
}
55
55
56
-
impl jacquard_common::types::xrpc::XrpcRequest for GetSuggestedStarterPacksSkeleton<'_> {
56
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
57
+
for GetSuggestedStarterPacksSkeleton<'de> {
57
58
const NSID: &'static str = "app.bsky.unspecced.getSuggestedStarterPacksSkeleton";
58
59
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
59
60
const OUTPUT_ENCODING: &'static str = "application/json";
60
-
type Output<'de> = GetSuggestedStarterPacksSkeletonOutput<'de>;
61
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
61
+
type Output = GetSuggestedStarterPacksSkeletonOutput<'de>;
62
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
62
63
}
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users.rs
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users.rs
···
54
54
}
55
55
}
56
56
57
-
impl jacquard_common::types::xrpc::XrpcRequest for GetSuggestedUsers<'_> {
57
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSuggestedUsers<'de> {
58
58
const NSID: &'static str = "app.bsky.unspecced.getSuggestedUsers";
59
59
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
60
60
const OUTPUT_ENCODING: &'static str = "application/json";
61
-
type Output<'de> = GetSuggestedUsersOutput<'de>;
62
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
61
+
type Output = GetSuggestedUsersOutput<'de>;
62
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
63
63
}
+4
-3
crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_skeleton.rs
+4
-3
crates/jacquard-api/src/app_bsky/unspecced/get_suggested_users_skeleton.rs
···
58
58
}
59
59
}
60
60
61
-
impl jacquard_common::types::xrpc::XrpcRequest for GetSuggestedUsersSkeleton<'_> {
61
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
62
+
for GetSuggestedUsersSkeleton<'de> {
62
63
const NSID: &'static str = "app.bsky.unspecced.getSuggestedUsersSkeleton";
63
64
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
64
65
const OUTPUT_ENCODING: &'static str = "application/json";
65
-
type Output<'de> = GetSuggestedUsersSkeletonOutput<'de>;
66
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
66
+
type Output = GetSuggestedUsersSkeletonOutput<'de>;
67
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
67
68
}
+4
-3
crates/jacquard-api/src/app_bsky/unspecced/get_suggestions_skeleton.rs
+4
-3
crates/jacquard-api/src/app_bsky/unspecced/get_suggestions_skeleton.rs
···
75
75
}
76
76
}
77
77
78
-
impl jacquard_common::types::xrpc::XrpcRequest for GetSuggestionsSkeleton<'_> {
78
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
79
+
for GetSuggestionsSkeleton<'de> {
79
80
const NSID: &'static str = "app.bsky.unspecced.getSuggestionsSkeleton";
80
81
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
81
82
const OUTPUT_ENCODING: &'static str = "application/json";
82
-
type Output<'de> = GetSuggestionsSkeletonOutput<'de>;
83
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
83
+
type Output = GetSuggestionsSkeletonOutput<'de>;
84
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
84
85
}
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/get_tagged_suggestions.rs
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/get_tagged_suggestions.rs
···
42
42
}
43
43
}
44
44
45
-
impl jacquard_common::types::xrpc::XrpcRequest for GetTaggedSuggestions {
45
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetTaggedSuggestions {
46
46
const NSID: &'static str = "app.bsky.unspecced.getTaggedSuggestions";
47
47
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
48
48
const OUTPUT_ENCODING: &'static str = "application/json";
49
-
type Output<'de> = GetTaggedSuggestionsOutput<'de>;
50
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
49
+
type Output = GetTaggedSuggestionsOutput<'de>;
50
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
51
51
}
52
52
53
53
#[jacquard_derive::lexicon]
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/get_trending_topics.rs
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/get_trending_topics.rs
···
56
56
}
57
57
}
58
58
59
-
impl jacquard_common::types::xrpc::XrpcRequest for GetTrendingTopics<'_> {
59
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetTrendingTopics<'de> {
60
60
const NSID: &'static str = "app.bsky.unspecced.getTrendingTopics";
61
61
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
62
62
const OUTPUT_ENCODING: &'static str = "application/json";
63
-
type Output<'de> = GetTrendingTopicsOutput<'de>;
64
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
63
+
type Output = GetTrendingTopicsOutput<'de>;
64
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
65
65
}
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/get_trends.rs
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/get_trends.rs
···
47
47
}
48
48
}
49
49
50
-
impl jacquard_common::types::xrpc::XrpcRequest for GetTrends {
50
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetTrends {
51
51
const NSID: &'static str = "app.bsky.unspecced.getTrends";
52
52
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
53
53
const OUTPUT_ENCODING: &'static str = "application/json";
54
-
type Output<'de> = GetTrendsOutput<'de>;
55
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
54
+
type Output = GetTrendsOutput<'de>;
55
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
56
56
}
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/get_trends_skeleton.rs
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/get_trends_skeleton.rs
···
53
53
}
54
54
}
55
55
56
-
impl jacquard_common::types::xrpc::XrpcRequest for GetTrendsSkeleton<'_> {
56
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetTrendsSkeleton<'de> {
57
57
const NSID: &'static str = "app.bsky.unspecced.getTrendsSkeleton";
58
58
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
59
59
const OUTPUT_ENCODING: &'static str = "application/json";
60
-
type Output<'de> = GetTrendsSkeletonOutput<'de>;
61
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
60
+
type Output = GetTrendsSkeletonOutput<'de>;
61
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
62
62
}
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/init_age_assurance.rs
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/init_age_assurance.rs
···
141
141
}
142
142
}
143
143
144
-
impl jacquard_common::types::xrpc::XrpcRequest for InitAgeAssurance<'_> {
144
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for InitAgeAssurance<'de> {
145
145
const NSID: &'static str = "app.bsky.unspecced.initAgeAssurance";
146
146
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
147
147
"application/json",
148
148
);
149
149
const OUTPUT_ENCODING: &'static str = "application/json";
150
-
type Output<'de> = InitAgeAssuranceOutput<'de>;
151
-
type Err<'de> = InitAgeAssuranceError<'de>;
150
+
type Output = InitAgeAssuranceOutput<'de>;
151
+
type Err = InitAgeAssuranceError<'de>;
152
152
}
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/search_actors_skeleton.rs
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/search_actors_skeleton.rs
···
120
120
}
121
121
}
122
122
123
-
impl jacquard_common::types::xrpc::XrpcRequest for SearchActorsSkeleton<'_> {
123
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchActorsSkeleton<'de> {
124
124
const NSID: &'static str = "app.bsky.unspecced.searchActorsSkeleton";
125
125
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
126
126
const OUTPUT_ENCODING: &'static str = "application/json";
127
-
type Output<'de> = SearchActorsSkeletonOutput<'de>;
128
-
type Err<'de> = SearchActorsSkeletonError<'de>;
127
+
type Output = SearchActorsSkeletonOutput<'de>;
128
+
type Err = SearchActorsSkeletonError<'de>;
129
129
}
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/search_posts_skeleton.rs
+3
-3
crates/jacquard-api/src/app_bsky/unspecced/search_posts_skeleton.rs
···
157
157
}
158
158
}
159
159
160
-
impl jacquard_common::types::xrpc::XrpcRequest for SearchPostsSkeleton<'_> {
160
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchPostsSkeleton<'de> {
161
161
const NSID: &'static str = "app.bsky.unspecced.searchPostsSkeleton";
162
162
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
163
163
const OUTPUT_ENCODING: &'static str = "application/json";
164
-
type Output<'de> = SearchPostsSkeletonOutput<'de>;
165
-
type Err<'de> = SearchPostsSkeletonError<'de>;
164
+
type Output = SearchPostsSkeletonOutput<'de>;
165
+
type Err = SearchPostsSkeletonError<'de>;
166
166
}
+4
-3
crates/jacquard-api/src/app_bsky/unspecced/search_starter_packs_skeleton.rs
+4
-3
crates/jacquard-api/src/app_bsky/unspecced/search_starter_packs_skeleton.rs
···
117
117
}
118
118
}
119
119
120
-
impl jacquard_common::types::xrpc::XrpcRequest for SearchStarterPacksSkeleton<'_> {
120
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
121
+
for SearchStarterPacksSkeleton<'de> {
121
122
const NSID: &'static str = "app.bsky.unspecced.searchStarterPacksSkeleton";
122
123
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
123
124
const OUTPUT_ENCODING: &'static str = "application/json";
124
-
type Output<'de> = SearchStarterPacksSkeletonOutput<'de>;
125
-
type Err<'de> = SearchStarterPacksSkeletonError<'de>;
125
+
type Output = SearchStarterPacksSkeletonOutput<'de>;
126
+
type Err = SearchStarterPacksSkeletonError<'de>;
126
127
}
+3
-3
crates/jacquard-api/src/app_bsky/video/get_job_status.rs
+3
-3
crates/jacquard-api/src/app_bsky/video/get_job_status.rs
···
49
49
}
50
50
}
51
51
52
-
impl jacquard_common::types::xrpc::XrpcRequest for GetJobStatus<'_> {
52
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetJobStatus<'de> {
53
53
const NSID: &'static str = "app.bsky.video.getJobStatus";
54
54
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
55
55
const OUTPUT_ENCODING: &'static str = "application/json";
56
-
type Output<'de> = GetJobStatusOutput<'de>;
57
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
56
+
type Output = GetJobStatusOutput<'de>;
57
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
58
58
}
+4
-4
crates/jacquard-api/src/app_bsky/video/get_upload_limits.rs
+4
-4
crates/jacquard-api/src/app_bsky/video/get_upload_limits.rs
···
37
37
}
38
38
39
39
/// XRPC request marker type
40
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
40
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
41
41
pub struct GetUploadLimits;
42
-
impl jacquard_common::types::xrpc::XrpcRequest for GetUploadLimits {
42
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetUploadLimits {
43
43
const NSID: &'static str = "app.bsky.video.getUploadLimits";
44
44
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
45
45
const OUTPUT_ENCODING: &'static str = "application/json";
46
-
type Output<'de> = GetUploadLimitsOutput<'de>;
47
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
46
+
type Output = GetUploadLimitsOutput<'de>;
47
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
48
48
}
+13
-3
crates/jacquard-api/src/app_bsky/video/upload_video.rs
+13
-3
crates/jacquard-api/src/app_bsky/video/upload_video.rs
···
45
45
}
46
46
}
47
47
48
-
impl jacquard_common::types::xrpc::XrpcRequest for UploadVideo {
48
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UploadVideo {
49
49
const NSID: &'static str = "app.bsky.video.uploadVideo";
50
50
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
51
51
"video/mp4",
52
52
);
53
53
const OUTPUT_ENCODING: &'static str = "application/json";
54
-
type Output<'de> = UploadVideoOutput<'de>;
55
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
54
+
type Output = UploadVideoOutput<'de>;
55
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
56
56
fn encode_body(&self) -> Result<Vec<u8>, jacquard_common::types::xrpc::EncodeError> {
57
57
Ok(self.body.to_vec())
58
+
}
59
+
fn decode_body(
60
+
&self,
61
+
body: &'de [u8],
62
+
) -> Result<Box<Self>, jacquard_common::error::DecodeError> {
63
+
Ok(
64
+
Box::new(Self {
65
+
body: bytes::Bytes::copy_from_slice(body),
66
+
}),
67
+
)
58
68
}
59
69
}
+4
-4
crates/jacquard-api/src/chat_bsky/actor/delete_account.rs
+4
-4
crates/jacquard-api/src/chat_bsky/actor/delete_account.rs
···
19
19
}
20
20
21
21
/// XRPC request marker type
22
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
22
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
23
23
pub struct DeleteAccount;
24
-
impl jacquard_common::types::xrpc::XrpcRequest for DeleteAccount {
24
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteAccount {
25
25
const NSID: &'static str = "chat.bsky.actor.deleteAccount";
26
26
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
27
27
"application/json",
28
28
);
29
29
const OUTPUT_ENCODING: &'static str = "application/json";
30
-
type Output<'de> = DeleteAccountOutput<'de>;
31
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
30
+
type Output = DeleteAccountOutput<'de>;
31
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
32
32
}
+4
-4
crates/jacquard-api/src/chat_bsky/actor/export_account_data.rs
+4
-4
crates/jacquard-api/src/chat_bsky/actor/export_account_data.rs
···
19
19
}
20
20
21
21
/// XRPC request marker type
22
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
22
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
23
23
pub struct ExportAccountData;
24
-
impl jacquard_common::types::xrpc::XrpcRequest for ExportAccountData {
24
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ExportAccountData {
25
25
const NSID: &'static str = "chat.bsky.actor.exportAccountData";
26
26
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
27
27
const OUTPUT_ENCODING: &'static str = "application/jsonl";
28
-
type Output<'de> = ExportAccountDataOutput<'de>;
29
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
28
+
type Output = ExportAccountDataOutput<'de>;
29
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
30
30
}
+3
-3
crates/jacquard-api/src/chat_bsky/convo/accept_convo.rs
+3
-3
crates/jacquard-api/src/chat_bsky/convo/accept_convo.rs
···
60
60
}
61
61
}
62
62
63
-
impl jacquard_common::types::xrpc::XrpcRequest for AcceptConvo<'_> {
63
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for AcceptConvo<'de> {
64
64
const NSID: &'static str = "chat.bsky.convo.acceptConvo";
65
65
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
66
66
"application/json",
67
67
);
68
68
const OUTPUT_ENCODING: &'static str = "application/json";
69
-
type Output<'de> = AcceptConvoOutput<'de>;
70
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
69
+
type Output = AcceptConvoOutput<'de>;
70
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
71
71
}
+3
-3
crates/jacquard-api/src/chat_bsky/convo/add_reaction.rs
+3
-3
crates/jacquard-api/src/chat_bsky/convo/add_reaction.rs
···
138
138
}
139
139
}
140
140
141
-
impl jacquard_common::types::xrpc::XrpcRequest for AddReaction<'_> {
141
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for AddReaction<'de> {
142
142
const NSID: &'static str = "chat.bsky.convo.addReaction";
143
143
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
144
144
"application/json",
145
145
);
146
146
const OUTPUT_ENCODING: &'static str = "application/json";
147
-
type Output<'de> = AddReactionOutput<'de>;
148
-
type Err<'de> = AddReactionError<'de>;
147
+
type Output = AddReactionOutput<'de>;
148
+
type Err = AddReactionError<'de>;
149
149
}
+3
-3
crates/jacquard-api/src/chat_bsky/convo/delete_message_for_self.rs
+3
-3
crates/jacquard-api/src/chat_bsky/convo/delete_message_for_self.rs
···
63
63
}
64
64
}
65
65
66
-
impl jacquard_common::types::xrpc::XrpcRequest for DeleteMessageForSelf<'_> {
66
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteMessageForSelf<'de> {
67
67
const NSID: &'static str = "chat.bsky.convo.deleteMessageForSelf";
68
68
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
69
69
"application/json",
70
70
);
71
71
const OUTPUT_ENCODING: &'static str = "application/json";
72
-
type Output<'de> = DeleteMessageForSelfOutput<'de>;
73
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
72
+
type Output = DeleteMessageForSelfOutput<'de>;
73
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
74
74
}
+3
-3
crates/jacquard-api/src/chat_bsky/convo/get_convo.rs
+3
-3
crates/jacquard-api/src/chat_bsky/convo/get_convo.rs
···
49
49
}
50
50
}
51
51
52
-
impl jacquard_common::types::xrpc::XrpcRequest for GetConvo<'_> {
52
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetConvo<'de> {
53
53
const NSID: &'static str = "chat.bsky.convo.getConvo";
54
54
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
55
55
const OUTPUT_ENCODING: &'static str = "application/json";
56
-
type Output<'de> = GetConvoOutput<'de>;
57
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
56
+
type Output = GetConvoOutput<'de>;
57
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
58
58
}
+3
-3
crates/jacquard-api/src/chat_bsky/convo/get_convo_availability.rs
+3
-3
crates/jacquard-api/src/chat_bsky/convo/get_convo_availability.rs
···
51
51
}
52
52
}
53
53
54
-
impl jacquard_common::types::xrpc::XrpcRequest for GetConvoAvailability<'_> {
54
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetConvoAvailability<'de> {
55
55
const NSID: &'static str = "chat.bsky.convo.getConvoAvailability";
56
56
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
57
57
const OUTPUT_ENCODING: &'static str = "application/json";
58
-
type Output<'de> = GetConvoAvailabilityOutput<'de>;
59
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
58
+
type Output = GetConvoAvailabilityOutput<'de>;
59
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
60
60
}
+3
-3
crates/jacquard-api/src/chat_bsky/convo/get_convo_for_members.rs
+3
-3
crates/jacquard-api/src/chat_bsky/convo/get_convo_for_members.rs
···
48
48
}
49
49
}
50
50
51
-
impl jacquard_common::types::xrpc::XrpcRequest for GetConvoForMembers<'_> {
51
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetConvoForMembers<'de> {
52
52
const NSID: &'static str = "chat.bsky.convo.getConvoForMembers";
53
53
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
54
54
const OUTPUT_ENCODING: &'static str = "application/json";
55
-
type Output<'de> = GetConvoForMembersOutput<'de>;
56
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
55
+
type Output = GetConvoForMembersOutput<'de>;
56
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
57
57
}
+3
-3
crates/jacquard-api/src/chat_bsky/convo/get_log.rs
+3
-3
crates/jacquard-api/src/chat_bsky/convo/get_log.rs
···
54
54
}
55
55
}
56
56
57
-
impl jacquard_common::types::xrpc::XrpcRequest for GetLog<'_> {
57
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetLog<'de> {
58
58
const NSID: &'static str = "chat.bsky.convo.getLog";
59
59
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
60
60
const OUTPUT_ENCODING: &'static str = "application/json";
61
-
type Output<'de> = GetLogOutput<'de>;
62
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
61
+
type Output = GetLogOutput<'de>;
62
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
63
63
}
+3
-3
crates/jacquard-api/src/chat_bsky/convo/get_messages.rs
+3
-3
crates/jacquard-api/src/chat_bsky/convo/get_messages.rs
···
62
62
}
63
63
}
64
64
65
-
impl jacquard_common::types::xrpc::XrpcRequest for GetMessages<'_> {
65
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetMessages<'de> {
66
66
const NSID: &'static str = "chat.bsky.convo.getMessages";
67
67
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
68
68
const OUTPUT_ENCODING: &'static str = "application/json";
69
-
type Output<'de> = GetMessagesOutput<'de>;
70
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
69
+
type Output = GetMessagesOutput<'de>;
70
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
71
71
}
+3
-3
crates/jacquard-api/src/chat_bsky/convo/leave_convo.rs
+3
-3
crates/jacquard-api/src/chat_bsky/convo/leave_convo.rs
···
61
61
}
62
62
}
63
63
64
-
impl jacquard_common::types::xrpc::XrpcRequest for LeaveConvo<'_> {
64
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for LeaveConvo<'de> {
65
65
const NSID: &'static str = "chat.bsky.convo.leaveConvo";
66
66
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
67
67
"application/json",
68
68
);
69
69
const OUTPUT_ENCODING: &'static str = "application/json";
70
-
type Output<'de> = LeaveConvoOutput<'de>;
71
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
70
+
type Output = LeaveConvoOutput<'de>;
71
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
72
72
}
+3
-3
crates/jacquard-api/src/chat_bsky/convo/list_convos.rs
+3
-3
crates/jacquard-api/src/chat_bsky/convo/list_convos.rs
···
68
68
}
69
69
}
70
70
71
-
impl jacquard_common::types::xrpc::XrpcRequest for ListConvos<'_> {
71
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListConvos<'de> {
72
72
const NSID: &'static str = "chat.bsky.convo.listConvos";
73
73
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
74
74
const OUTPUT_ENCODING: &'static str = "application/json";
75
-
type Output<'de> = ListConvosOutput<'de>;
76
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
75
+
type Output = ListConvosOutput<'de>;
76
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
77
77
}
+3
-3
crates/jacquard-api/src/chat_bsky/convo/mute_convo.rs
+3
-3
crates/jacquard-api/src/chat_bsky/convo/mute_convo.rs
···
58
58
}
59
59
}
60
60
61
-
impl jacquard_common::types::xrpc::XrpcRequest for MuteConvo<'_> {
61
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for MuteConvo<'de> {
62
62
const NSID: &'static str = "chat.bsky.convo.muteConvo";
63
63
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
64
64
"application/json",
65
65
);
66
66
const OUTPUT_ENCODING: &'static str = "application/json";
67
-
type Output<'de> = MuteConvoOutput<'de>;
68
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
67
+
type Output = MuteConvoOutput<'de>;
68
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
69
69
}
+3
-3
crates/jacquard-api/src/chat_bsky/convo/remove_reaction.rs
+3
-3
crates/jacquard-api/src/chat_bsky/convo/remove_reaction.rs
···
127
127
}
128
128
}
129
129
130
-
impl jacquard_common::types::xrpc::XrpcRequest for RemoveReaction<'_> {
130
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RemoveReaction<'de> {
131
131
const NSID: &'static str = "chat.bsky.convo.removeReaction";
132
132
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
133
133
"application/json",
134
134
);
135
135
const OUTPUT_ENCODING: &'static str = "application/json";
136
-
type Output<'de> = RemoveReactionOutput<'de>;
137
-
type Err<'de> = RemoveReactionError<'de>;
136
+
type Output = RemoveReactionOutput<'de>;
137
+
type Err = RemoveReactionError<'de>;
138
138
}
+3
-3
crates/jacquard-api/src/chat_bsky/convo/send_message.rs
+3
-3
crates/jacquard-api/src/chat_bsky/convo/send_message.rs
···
62
62
}
63
63
}
64
64
65
-
impl jacquard_common::types::xrpc::XrpcRequest for SendMessage<'_> {
65
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SendMessage<'de> {
66
66
const NSID: &'static str = "chat.bsky.convo.sendMessage";
67
67
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
68
68
"application/json",
69
69
);
70
70
const OUTPUT_ENCODING: &'static str = "application/json";
71
-
type Output<'de> = SendMessageOutput<'de>;
72
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
71
+
type Output = SendMessageOutput<'de>;
72
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
73
73
}
+3
-3
crates/jacquard-api/src/chat_bsky/convo/send_message_batch.rs
+3
-3
crates/jacquard-api/src/chat_bsky/convo/send_message_batch.rs
···
78
78
}
79
79
}
80
80
81
-
impl jacquard_common::types::xrpc::XrpcRequest for SendMessageBatch<'_> {
81
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SendMessageBatch<'de> {
82
82
const NSID: &'static str = "chat.bsky.convo.sendMessageBatch";
83
83
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
84
84
"application/json",
85
85
);
86
86
const OUTPUT_ENCODING: &'static str = "application/json";
87
-
type Output<'de> = SendMessageBatchOutput<'de>;
88
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
87
+
type Output = SendMessageBatchOutput<'de>;
88
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
89
89
}
+3
-3
crates/jacquard-api/src/chat_bsky/convo/unmute_convo.rs
+3
-3
crates/jacquard-api/src/chat_bsky/convo/unmute_convo.rs
···
58
58
}
59
59
}
60
60
61
-
impl jacquard_common::types::xrpc::XrpcRequest for UnmuteConvo<'_> {
61
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UnmuteConvo<'de> {
62
62
const NSID: &'static str = "chat.bsky.convo.unmuteConvo";
63
63
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
64
64
"application/json",
65
65
);
66
66
const OUTPUT_ENCODING: &'static str = "application/json";
67
-
type Output<'de> = UnmuteConvoOutput<'de>;
68
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
67
+
type Output = UnmuteConvoOutput<'de>;
68
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
69
69
}
+3
-3
crates/jacquard-api/src/chat_bsky/convo/update_all_read.rs
+3
-3
crates/jacquard-api/src/chat_bsky/convo/update_all_read.rs
···
59
59
}
60
60
}
61
61
62
-
impl jacquard_common::types::xrpc::XrpcRequest for UpdateAllRead<'_> {
62
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateAllRead<'de> {
63
63
const NSID: &'static str = "chat.bsky.convo.updateAllRead";
64
64
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
65
65
"application/json",
66
66
);
67
67
const OUTPUT_ENCODING: &'static str = "application/json";
68
-
type Output<'de> = UpdateAllReadOutput<'de>;
69
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
68
+
type Output = UpdateAllReadOutput<'de>;
69
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
70
70
}
+3
-3
crates/jacquard-api/src/chat_bsky/convo/update_read.rs
+3
-3
crates/jacquard-api/src/chat_bsky/convo/update_read.rs
···
63
63
}
64
64
}
65
65
66
-
impl jacquard_common::types::xrpc::XrpcRequest for UpdateRead<'_> {
66
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateRead<'de> {
67
67
const NSID: &'static str = "chat.bsky.convo.updateRead";
68
68
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
69
69
"application/json",
70
70
);
71
71
const OUTPUT_ENCODING: &'static str = "application/json";
72
-
type Output<'de> = UpdateReadOutput<'de>;
73
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
72
+
type Output = UpdateReadOutput<'de>;
73
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
74
74
}
+3
-3
crates/jacquard-api/src/chat_bsky/moderation/get_actor_metadata.rs
+3
-3
crates/jacquard-api/src/chat_bsky/moderation/get_actor_metadata.rs
···
54
54
}
55
55
}
56
56
57
-
impl jacquard_common::types::xrpc::XrpcRequest for GetActorMetadata<'_> {
57
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetActorMetadata<'de> {
58
58
const NSID: &'static str = "chat.bsky.moderation.getActorMetadata";
59
59
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
60
60
const OUTPUT_ENCODING: &'static str = "application/json";
61
-
type Output<'de> = GetActorMetadataOutput<'de>;
62
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
61
+
type Output = GetActorMetadataOutput<'de>;
62
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
63
63
}
64
64
65
65
#[jacquard_derive::lexicon]
+3
-3
crates/jacquard-api/src/chat_bsky/moderation/get_message_context.rs
+3
-3
crates/jacquard-api/src/chat_bsky/moderation/get_message_context.rs
···
62
62
}
63
63
}
64
64
65
-
impl jacquard_common::types::xrpc::XrpcRequest for GetMessageContext<'_> {
65
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetMessageContext<'de> {
66
66
const NSID: &'static str = "chat.bsky.moderation.getMessageContext";
67
67
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
68
68
const OUTPUT_ENCODING: &'static str = "application/json";
69
-
type Output<'de> = GetMessageContextOutput<'de>;
70
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
69
+
type Output = GetMessageContextOutput<'de>;
70
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
71
71
}
+3
-3
crates/jacquard-api/src/chat_bsky/moderation/update_actor_access.rs
+3
-3
crates/jacquard-api/src/chat_bsky/moderation/update_actor_access.rs
···
46
46
}
47
47
}
48
48
49
-
impl jacquard_common::types::xrpc::XrpcRequest for UpdateActorAccess<'_> {
49
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateActorAccess<'de> {
50
50
const NSID: &'static str = "chat.bsky.moderation.updateActorAccess";
51
51
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
52
52
"application/json",
53
53
);
54
54
const OUTPUT_ENCODING: &'static str = "application/json";
55
-
type Output<'de> = ();
56
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
55
+
type Output = ();
56
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
57
57
}
+3
-3
crates/jacquard-api/src/com_atproto/admin/delete_account.rs
+3
-3
crates/jacquard-api/src/com_atproto/admin/delete_account.rs
···
39
39
}
40
40
}
41
41
42
-
impl jacquard_common::types::xrpc::XrpcRequest for DeleteAccount<'_> {
42
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteAccount<'de> {
43
43
const NSID: &'static str = "com.atproto.admin.deleteAccount";
44
44
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
45
45
"application/json",
46
46
);
47
47
const OUTPUT_ENCODING: &'static str = "application/json";
48
-
type Output<'de> = ();
49
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
48
+
type Output = ();
49
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
50
50
}
+3
-3
crates/jacquard-api/src/com_atproto/admin/disable_account_invites.rs
+3
-3
crates/jacquard-api/src/com_atproto/admin/disable_account_invites.rs
···
45
45
}
46
46
}
47
47
48
-
impl jacquard_common::types::xrpc::XrpcRequest for DisableAccountInvites<'_> {
48
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DisableAccountInvites<'de> {
49
49
const NSID: &'static str = "com.atproto.admin.disableAccountInvites";
50
50
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
51
51
"application/json",
52
52
);
53
53
const OUTPUT_ENCODING: &'static str = "application/json";
54
-
type Output<'de> = ();
55
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
54
+
type Output = ();
55
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
56
56
}
+3
-3
crates/jacquard-api/src/com_atproto/admin/disable_invite_codes.rs
+3
-3
crates/jacquard-api/src/com_atproto/admin/disable_invite_codes.rs
···
44
44
}
45
45
}
46
46
47
-
impl jacquard_common::types::xrpc::XrpcRequest for DisableInviteCodes<'_> {
47
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DisableInviteCodes<'de> {
48
48
const NSID: &'static str = "com.atproto.admin.disableInviteCodes";
49
49
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
50
50
"application/json",
51
51
);
52
52
const OUTPUT_ENCODING: &'static str = "application/json";
53
-
type Output<'de> = ();
54
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
53
+
type Output = ();
54
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
55
55
}
+3
-3
crates/jacquard-api/src/com_atproto/admin/enable_account_invites.rs
+3
-3
crates/jacquard-api/src/com_atproto/admin/enable_account_invites.rs
···
45
45
}
46
46
}
47
47
48
-
impl jacquard_common::types::xrpc::XrpcRequest for EnableAccountInvites<'_> {
48
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for EnableAccountInvites<'de> {
49
49
const NSID: &'static str = "com.atproto.admin.enableAccountInvites";
50
50
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
51
51
"application/json",
52
52
);
53
53
const OUTPUT_ENCODING: &'static str = "application/json";
54
-
type Output<'de> = ();
55
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
54
+
type Output = ();
55
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
56
56
}
+3
-3
crates/jacquard-api/src/com_atproto/admin/get_account_info.rs
+3
-3
crates/jacquard-api/src/com_atproto/admin/get_account_info.rs
···
49
49
}
50
50
}
51
51
52
-
impl jacquard_common::types::xrpc::XrpcRequest for GetAccountInfo<'_> {
52
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetAccountInfo<'de> {
53
53
const NSID: &'static str = "com.atproto.admin.getAccountInfo";
54
54
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
55
55
const OUTPUT_ENCODING: &'static str = "application/json";
56
-
type Output<'de> = GetAccountInfoOutput<'de>;
57
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
56
+
type Output = GetAccountInfoOutput<'de>;
57
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
58
58
}
+3
-3
crates/jacquard-api/src/com_atproto/admin/get_account_infos.rs
+3
-3
crates/jacquard-api/src/com_atproto/admin/get_account_infos.rs
···
48
48
}
49
49
}
50
50
51
-
impl jacquard_common::types::xrpc::XrpcRequest for GetAccountInfos<'_> {
51
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetAccountInfos<'de> {
52
52
const NSID: &'static str = "com.atproto.admin.getAccountInfos";
53
53
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
54
54
const OUTPUT_ENCODING: &'static str = "application/json";
55
-
type Output<'de> = GetAccountInfosOutput<'de>;
56
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
55
+
type Output = GetAccountInfosOutput<'de>;
56
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
57
57
}
+3
-3
crates/jacquard-api/src/com_atproto/admin/get_invite_codes.rs
+3
-3
crates/jacquard-api/src/com_atproto/admin/get_invite_codes.rs
···
64
64
}
65
65
}
66
66
67
-
impl jacquard_common::types::xrpc::XrpcRequest for GetInviteCodes<'_> {
67
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetInviteCodes<'de> {
68
68
const NSID: &'static str = "com.atproto.admin.getInviteCodes";
69
69
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
70
70
const OUTPUT_ENCODING: &'static str = "application/json";
71
-
type Output<'de> = GetInviteCodesOutput<'de>;
72
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
71
+
type Output = GetInviteCodesOutput<'de>;
72
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
73
73
}
+3
-3
crates/jacquard-api/src/com_atproto/admin/get_subject_status.rs
+3
-3
crates/jacquard-api/src/com_atproto/admin/get_subject_status.rs
···
98
98
}
99
99
}
100
100
101
-
impl jacquard_common::types::xrpc::XrpcRequest for GetSubjectStatus<'_> {
101
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSubjectStatus<'de> {
102
102
const NSID: &'static str = "com.atproto.admin.getSubjectStatus";
103
103
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
104
104
const OUTPUT_ENCODING: &'static str = "application/json";
105
-
type Output<'de> = GetSubjectStatusOutput<'de>;
106
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
105
+
type Output = GetSubjectStatusOutput<'de>;
106
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
107
107
}
+3
-3
crates/jacquard-api/src/com_atproto/admin/search_accounts.rs
+3
-3
crates/jacquard-api/src/com_atproto/admin/search_accounts.rs
···
63
63
}
64
64
}
65
65
66
-
impl jacquard_common::types::xrpc::XrpcRequest for SearchAccounts<'_> {
66
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchAccounts<'de> {
67
67
const NSID: &'static str = "com.atproto.admin.searchAccounts";
68
68
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
69
69
const OUTPUT_ENCODING: &'static str = "application/json";
70
-
type Output<'de> = SearchAccountsOutput<'de>;
71
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
70
+
type Output = SearchAccountsOutput<'de>;
71
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
72
72
}
+3
-3
crates/jacquard-api/src/com_atproto/admin/send_email.rs
+3
-3
crates/jacquard-api/src/com_atproto/admin/send_email.rs
···
74
74
}
75
75
}
76
76
77
-
impl jacquard_common::types::xrpc::XrpcRequest for SendEmail<'_> {
77
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SendEmail<'de> {
78
78
const NSID: &'static str = "com.atproto.admin.sendEmail";
79
79
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
80
80
"application/json",
81
81
);
82
82
const OUTPUT_ENCODING: &'static str = "application/json";
83
-
type Output<'de> = SendEmailOutput<'de>;
84
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
83
+
type Output = SendEmailOutput<'de>;
84
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
85
85
}
+3
-3
crates/jacquard-api/src/com_atproto/admin/update_account_email.rs
+3
-3
crates/jacquard-api/src/com_atproto/admin/update_account_email.rs
···
44
44
}
45
45
}
46
46
47
-
impl jacquard_common::types::xrpc::XrpcRequest for UpdateAccountEmail<'_> {
47
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateAccountEmail<'de> {
48
48
const NSID: &'static str = "com.atproto.admin.updateAccountEmail";
49
49
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
50
50
"application/json",
51
51
);
52
52
const OUTPUT_ENCODING: &'static str = "application/json";
53
-
type Output<'de> = ();
54
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
53
+
type Output = ();
54
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
55
55
}
+3
-3
crates/jacquard-api/src/com_atproto/admin/update_account_handle.rs
+3
-3
crates/jacquard-api/src/com_atproto/admin/update_account_handle.rs
···
42
42
}
43
43
}
44
44
45
-
impl jacquard_common::types::xrpc::XrpcRequest for UpdateAccountHandle<'_> {
45
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateAccountHandle<'de> {
46
46
const NSID: &'static str = "com.atproto.admin.updateAccountHandle";
47
47
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
48
48
"application/json",
49
49
);
50
50
const OUTPUT_ENCODING: &'static str = "application/json";
51
-
type Output<'de> = ();
52
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
51
+
type Output = ();
52
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
53
53
}
+3
-3
crates/jacquard-api/src/com_atproto/admin/update_account_password.rs
+3
-3
crates/jacquard-api/src/com_atproto/admin/update_account_password.rs
···
43
43
}
44
44
}
45
45
46
-
impl jacquard_common::types::xrpc::XrpcRequest for UpdateAccountPassword<'_> {
46
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateAccountPassword<'de> {
47
47
const NSID: &'static str = "com.atproto.admin.updateAccountPassword";
48
48
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
49
49
"application/json",
50
50
);
51
51
const OUTPUT_ENCODING: &'static str = "application/json";
52
-
type Output<'de> = ();
53
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
52
+
type Output = ();
53
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
54
54
}
+4
-3
crates/jacquard-api/src/com_atproto/admin/update_account_signing_key.rs
+4
-3
crates/jacquard-api/src/com_atproto/admin/update_account_signing_key.rs
···
43
43
}
44
44
}
45
45
46
-
impl jacquard_common::types::xrpc::XrpcRequest for UpdateAccountSigningKey<'_> {
46
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
47
+
for UpdateAccountSigningKey<'de> {
47
48
const NSID: &'static str = "com.atproto.admin.updateAccountSigningKey";
48
49
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
49
50
"application/json",
50
51
);
51
52
const OUTPUT_ENCODING: &'static str = "application/json";
52
-
type Output<'de> = ();
53
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
53
+
type Output = ();
54
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
54
55
}
+3
-3
crates/jacquard-api/src/com_atproto/admin/update_subject_status.rs
+3
-3
crates/jacquard-api/src/com_atproto/admin/update_subject_status.rs
···
135
135
}
136
136
}
137
137
138
-
impl jacquard_common::types::xrpc::XrpcRequest for UpdateSubjectStatus<'_> {
138
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateSubjectStatus<'de> {
139
139
const NSID: &'static str = "com.atproto.admin.updateSubjectStatus";
140
140
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
141
141
"application/json",
142
142
);
143
143
const OUTPUT_ENCODING: &'static str = "application/json";
144
-
type Output<'de> = UpdateSubjectStatusOutput<'de>;
145
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
144
+
type Output = UpdateSubjectStatusOutput<'de>;
145
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
146
146
}
+5
-4
crates/jacquard-api/src/com_atproto/identity/get_recommended_did_credentials.rs
+5
-4
crates/jacquard-api/src/com_atproto/identity/get_recommended_did_credentials.rs
···
40
40
}
41
41
42
42
/// XRPC request marker type
43
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
43
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
44
44
pub struct GetRecommendedDidCredentials;
45
-
impl jacquard_common::types::xrpc::XrpcRequest for GetRecommendedDidCredentials {
45
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
46
+
for GetRecommendedDidCredentials {
46
47
const NSID: &'static str = "com.atproto.identity.getRecommendedDidCredentials";
47
48
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
48
49
const OUTPUT_ENCODING: &'static str = "application/json";
49
-
type Output<'de> = GetRecommendedDidCredentialsOutput<'de>;
50
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
50
+
type Output = GetRecommendedDidCredentialsOutput<'de>;
51
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
51
52
}
+3
-3
crates/jacquard-api/src/com_atproto/identity/refresh_identity.rs
+3
-3
crates/jacquard-api/src/com_atproto/identity/refresh_identity.rs
···
132
132
}
133
133
}
134
134
135
-
impl jacquard_common::types::xrpc::XrpcRequest for RefreshIdentity<'_> {
135
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RefreshIdentity<'de> {
136
136
const NSID: &'static str = "com.atproto.identity.refreshIdentity";
137
137
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
138
138
"application/json",
139
139
);
140
140
const OUTPUT_ENCODING: &'static str = "application/json";
141
-
type Output<'de> = RefreshIdentityOutput<'de>;
142
-
type Err<'de> = RefreshIdentityError<'de>;
141
+
type Output = RefreshIdentityOutput<'de>;
142
+
type Err = RefreshIdentityError<'de>;
143
143
}
+5
-4
crates/jacquard-api/src/com_atproto/identity/request_plc_operation_signature.rs
+5
-4
crates/jacquard-api/src/com_atproto/identity/request_plc_operation_signature.rs
···
6
6
// Any manual changes will be overwritten on the next regeneration.
7
7
8
8
/// XRPC request marker type
9
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
9
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
10
10
pub struct RequestPlcOperationSignature;
11
-
impl jacquard_common::types::xrpc::XrpcRequest for RequestPlcOperationSignature {
11
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
12
+
for RequestPlcOperationSignature {
12
13
const NSID: &'static str = "com.atproto.identity.requestPlcOperationSignature";
13
14
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
14
15
"application/json",
15
16
);
16
17
const OUTPUT_ENCODING: &'static str = "application/json";
17
-
type Output<'de> = ();
18
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
18
+
type Output = ();
19
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
19
20
}
+3
-3
crates/jacquard-api/src/com_atproto/identity/resolve_did.rs
+3
-3
crates/jacquard-api/src/com_atproto/identity/resolve_did.rs
···
108
108
}
109
109
}
110
110
111
-
impl jacquard_common::types::xrpc::XrpcRequest for ResolveDid<'_> {
111
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ResolveDid<'de> {
112
112
const NSID: &'static str = "com.atproto.identity.resolveDid";
113
113
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
114
114
const OUTPUT_ENCODING: &'static str = "application/json";
115
-
type Output<'de> = ResolveDidOutput<'de>;
116
-
type Err<'de> = ResolveDidError<'de>;
115
+
type Output = ResolveDidOutput<'de>;
116
+
type Err = ResolveDidError<'de>;
117
117
}
+3
-3
crates/jacquard-api/src/com_atproto/identity/resolve_handle.rs
+3
-3
crates/jacquard-api/src/com_atproto/identity/resolve_handle.rs
···
96
96
}
97
97
}
98
98
99
-
impl jacquard_common::types::xrpc::XrpcRequest for ResolveHandle<'_> {
99
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ResolveHandle<'de> {
100
100
const NSID: &'static str = "com.atproto.identity.resolveHandle";
101
101
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
102
102
const OUTPUT_ENCODING: &'static str = "application/json";
103
-
type Output<'de> = ResolveHandleOutput<'de>;
104
-
type Err<'de> = ResolveHandleError<'de>;
103
+
type Output = ResolveHandleOutput<'de>;
104
+
type Err = ResolveHandleError<'de>;
105
105
}
+3
-3
crates/jacquard-api/src/com_atproto/identity/resolve_identity.rs
+3
-3
crates/jacquard-api/src/com_atproto/identity/resolve_identity.rs
···
123
123
}
124
124
}
125
125
126
-
impl jacquard_common::types::xrpc::XrpcRequest for ResolveIdentity<'_> {
126
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ResolveIdentity<'de> {
127
127
const NSID: &'static str = "com.atproto.identity.resolveIdentity";
128
128
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
129
129
const OUTPUT_ENCODING: &'static str = "application/json";
130
-
type Output<'de> = ResolveIdentityOutput<'de>;
131
-
type Err<'de> = ResolveIdentityError<'de>;
130
+
type Output = ResolveIdentityOutput<'de>;
131
+
type Err = ResolveIdentityError<'de>;
132
132
}
+3
-3
crates/jacquard-api/src/com_atproto/identity/sign_plc_operation.rs
+3
-3
crates/jacquard-api/src/com_atproto/identity/sign_plc_operation.rs
···
79
79
}
80
80
}
81
81
82
-
impl jacquard_common::types::xrpc::XrpcRequest for SignPlcOperation<'_> {
82
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SignPlcOperation<'de> {
83
83
const NSID: &'static str = "com.atproto.identity.signPlcOperation";
84
84
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
85
85
"application/json",
86
86
);
87
87
const OUTPUT_ENCODING: &'static str = "application/json";
88
-
type Output<'de> = SignPlcOperationOutput<'de>;
89
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
88
+
type Output = SignPlcOperationOutput<'de>;
89
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
90
90
}
+3
-3
crates/jacquard-api/src/com_atproto/identity/submit_plc_operation.rs
+3
-3
crates/jacquard-api/src/com_atproto/identity/submit_plc_operation.rs
···
39
39
}
40
40
}
41
41
42
-
impl jacquard_common::types::xrpc::XrpcRequest for SubmitPlcOperation<'_> {
42
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SubmitPlcOperation<'de> {
43
43
const NSID: &'static str = "com.atproto.identity.submitPlcOperation";
44
44
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
45
45
"application/json",
46
46
);
47
47
const OUTPUT_ENCODING: &'static str = "application/json";
48
-
type Output<'de> = ();
49
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
48
+
type Output = ();
49
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
50
50
}
+3
-3
crates/jacquard-api/src/com_atproto/identity/update_handle.rs
+3
-3
crates/jacquard-api/src/com_atproto/identity/update_handle.rs
···
40
40
}
41
41
}
42
42
43
-
impl jacquard_common::types::xrpc::XrpcRequest for UpdateHandle<'_> {
43
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateHandle<'de> {
44
44
const NSID: &'static str = "com.atproto.identity.updateHandle";
45
45
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
46
46
"application/json",
47
47
);
48
48
const OUTPUT_ENCODING: &'static str = "application/json";
49
-
type Output<'de> = ();
50
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
49
+
type Output = ();
50
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
51
51
}
+3
-3
crates/jacquard-api/src/com_atproto/label/query_labels.rs
+3
-3
crates/jacquard-api/src/com_atproto/label/query_labels.rs
···
65
65
}
66
66
}
67
67
68
-
impl jacquard_common::types::xrpc::XrpcRequest for QueryLabels<'_> {
68
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for QueryLabels<'de> {
69
69
const NSID: &'static str = "com.atproto.label.queryLabels";
70
70
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
71
71
const OUTPUT_ENCODING: &'static str = "application/json";
72
-
type Output<'de> = QueryLabelsOutput<'de>;
73
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
72
+
type Output = QueryLabelsOutput<'de>;
73
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
74
74
}
+3
-3
crates/jacquard-api/src/com_atproto/moderation/create_report.rs
+3
-3
crates/jacquard-api/src/com_atproto/moderation/create_report.rs
···
141
141
}
142
142
}
143
143
144
-
impl jacquard_common::types::xrpc::XrpcRequest for CreateReport<'_> {
144
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CreateReport<'de> {
145
145
const NSID: &'static str = "com.atproto.moderation.createReport";
146
146
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
147
147
"application/json",
148
148
);
149
149
const OUTPUT_ENCODING: &'static str = "application/json";
150
-
type Output<'de> = CreateReportOutput<'de>;
151
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
150
+
type Output = CreateReportOutput<'de>;
151
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
152
152
}
153
153
154
154
///Moderation tool information for tracing the source of the action
+3
-3
crates/jacquard-api/src/com_atproto/repo/apply_writes.rs
+3
-3
crates/jacquard-api/src/com_atproto/repo/apply_writes.rs
···
214
214
}
215
215
}
216
216
217
-
impl jacquard_common::types::xrpc::XrpcRequest for ApplyWrites<'_> {
217
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ApplyWrites<'de> {
218
218
const NSID: &'static str = "com.atproto.repo.applyWrites";
219
219
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
220
220
"application/json",
221
221
);
222
222
const OUTPUT_ENCODING: &'static str = "application/json";
223
-
type Output<'de> = ApplyWritesOutput<'de>;
224
-
type Err<'de> = ApplyWritesError<'de>;
223
+
type Output = ApplyWritesOutput<'de>;
224
+
type Err = ApplyWritesError<'de>;
225
225
}
226
226
227
227
///Operation which updates an existing record.
+3
-3
crates/jacquard-api/src/com_atproto/repo/create_record.rs
+3
-3
crates/jacquard-api/src/com_atproto/repo/create_record.rs
···
141
141
}
142
142
}
143
143
144
-
impl jacquard_common::types::xrpc::XrpcRequest for CreateRecord<'_> {
144
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CreateRecord<'de> {
145
145
const NSID: &'static str = "com.atproto.repo.createRecord";
146
146
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
147
147
"application/json",
148
148
);
149
149
const OUTPUT_ENCODING: &'static str = "application/json";
150
-
type Output<'de> = CreateRecordOutput<'de>;
151
-
type Err<'de> = CreateRecordError<'de>;
150
+
type Output = CreateRecordOutput<'de>;
151
+
type Err = CreateRecordError<'de>;
152
152
}
+3
-3
crates/jacquard-api/src/com_atproto/repo/delete_record.rs
+3
-3
crates/jacquard-api/src/com_atproto/repo/delete_record.rs
···
124
124
}
125
125
}
126
126
127
-
impl jacquard_common::types::xrpc::XrpcRequest for DeleteRecord<'_> {
127
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteRecord<'de> {
128
128
const NSID: &'static str = "com.atproto.repo.deleteRecord";
129
129
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
130
130
"application/json",
131
131
);
132
132
const OUTPUT_ENCODING: &'static str = "application/json";
133
-
type Output<'de> = DeleteRecordOutput<'de>;
134
-
type Err<'de> = DeleteRecordError<'de>;
133
+
type Output = DeleteRecordOutput<'de>;
134
+
type Err = DeleteRecordError<'de>;
135
135
}
+3
-3
crates/jacquard-api/src/com_atproto/repo/describe_repo.rs
+3
-3
crates/jacquard-api/src/com_atproto/repo/describe_repo.rs
···
62
62
}
63
63
}
64
64
65
-
impl jacquard_common::types::xrpc::XrpcRequest for DescribeRepo<'_> {
65
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DescribeRepo<'de> {
66
66
const NSID: &'static str = "com.atproto.repo.describeRepo";
67
67
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
68
68
const OUTPUT_ENCODING: &'static str = "application/json";
69
-
type Output<'de> = DescribeRepoOutput<'de>;
70
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
69
+
type Output = DescribeRepoOutput<'de>;
70
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
71
71
}
+3
-3
crates/jacquard-api/src/com_atproto/repo/get_record.rs
+3
-3
crates/jacquard-api/src/com_atproto/repo/get_record.rs
···
112
112
}
113
113
}
114
114
115
-
impl jacquard_common::types::xrpc::XrpcRequest for GetRecord<'_> {
115
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRecord<'de> {
116
116
const NSID: &'static str = "com.atproto.repo.getRecord";
117
117
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
118
118
const OUTPUT_ENCODING: &'static str = "application/json";
119
-
type Output<'de> = GetRecordOutput<'de>;
120
-
type Err<'de> = GetRecordError<'de>;
119
+
type Output = GetRecordOutput<'de>;
120
+
type Err = GetRecordError<'de>;
121
121
}
+13
-3
crates/jacquard-api/src/com_atproto/repo/import_repo.rs
+13
-3
crates/jacquard-api/src/com_atproto/repo/import_repo.rs
···
27
27
}
28
28
}
29
29
30
-
impl jacquard_common::types::xrpc::XrpcRequest for ImportRepo {
30
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ImportRepo {
31
31
const NSID: &'static str = "com.atproto.repo.importRepo";
32
32
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
33
33
"application/vnd.ipld.car",
34
34
);
35
35
const OUTPUT_ENCODING: &'static str = "application/json";
36
-
type Output<'de> = ();
37
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
36
+
type Output = ();
37
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
38
38
fn encode_body(&self) -> Result<Vec<u8>, jacquard_common::types::xrpc::EncodeError> {
39
39
Ok(self.body.to_vec())
40
+
}
41
+
fn decode_body(
42
+
&self,
43
+
body: &'de [u8],
44
+
) -> Result<Box<Self>, jacquard_common::error::DecodeError> {
45
+
Ok(
46
+
Box::new(Self {
47
+
body: bytes::Bytes::copy_from_slice(body),
48
+
}),
49
+
)
40
50
}
41
51
}
+3
-3
crates/jacquard-api/src/com_atproto/repo/list_missing_blobs.rs
+3
-3
crates/jacquard-api/src/com_atproto/repo/list_missing_blobs.rs
···
58
58
}
59
59
}
60
60
61
-
impl jacquard_common::types::xrpc::XrpcRequest for ListMissingBlobs<'_> {
61
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListMissingBlobs<'de> {
62
62
const NSID: &'static str = "com.atproto.repo.listMissingBlobs";
63
63
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
64
64
const OUTPUT_ENCODING: &'static str = "application/json";
65
-
type Output<'de> = ListMissingBlobsOutput<'de>;
66
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
65
+
type Output = ListMissingBlobsOutput<'de>;
66
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
67
67
}
68
68
69
69
#[jacquard_derive::lexicon]
+3
-3
crates/jacquard-api/src/com_atproto/repo/list_records.rs
+3
-3
crates/jacquard-api/src/com_atproto/repo/list_records.rs
···
67
67
}
68
68
}
69
69
70
-
impl jacquard_common::types::xrpc::XrpcRequest for ListRecords<'_> {
70
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListRecords<'de> {
71
71
const NSID: &'static str = "com.atproto.repo.listRecords";
72
72
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
73
73
const OUTPUT_ENCODING: &'static str = "application/json";
74
-
type Output<'de> = ListRecordsOutput<'de>;
75
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
74
+
type Output = ListRecordsOutput<'de>;
75
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
76
76
}
77
77
78
78
#[jacquard_derive::lexicon]
+10
-23
crates/jacquard-api/src/com_atproto/repo/put_record.rs
+10
-23
crates/jacquard-api/src/com_atproto/repo/put_record.rs
···
6
6
// Any manual changes will be overwritten on the next regeneration.
7
7
8
8
#[jacquard_derive::lexicon]
9
-
#[derive(
10
-
serde::Serialize,
11
-
serde::Deserialize,
12
-
Debug,
13
-
Clone,
14
-
PartialEq,
15
-
Eq,
16
-
bon::Builder
17
-
)]
9
+
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)]
18
10
#[serde(rename_all = "camelCase")]
19
11
#[builder(start_fn = new)]
20
12
pub struct PutRecord<'a> {
···
29
21
pub repo: jacquard_common::types::ident::AtIdentifier<'a>,
30
22
///The Record Key.
31
23
#[serde(borrow)]
32
-
pub rkey: jacquard_common::types::string::RecordKey<
33
-
jacquard_common::types::string::Rkey<'a>,
34
-
>,
24
+
pub rkey: jacquard_common::types::string::RecordKey<jacquard_common::types::string::Rkey<'a>>,
35
25
///Compare and swap with the previous commit by CID.
36
26
#[serde(skip_serializing_if = "std::option::Option::is_none")]
37
27
#[serde(borrow)]
···
106
96
PartialEq,
107
97
Eq,
108
98
thiserror::Error,
109
-
miette::Diagnostic
99
+
miette::Diagnostic,
110
100
)]
111
101
#[serde(tag = "error", content = "message")]
112
102
#[serde(bound(deserialize = "'de: 'a"))]
···
134
124
type Output = PutRecordError<'static>;
135
125
fn into_static(self) -> Self::Output {
136
126
match self {
137
-
PutRecordError::InvalidSwap(v) => {
138
-
PutRecordError::InvalidSwap(v.into_static())
139
-
}
127
+
PutRecordError::InvalidSwap(v) => PutRecordError::InvalidSwap(v.into_static()),
140
128
PutRecordError::Unknown(v) => PutRecordError::Unknown(v.into_static()),
141
129
}
142
130
}
143
131
}
144
132
145
-
impl jacquard_common::types::xrpc::XrpcRequest for PutRecord<'_> {
133
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for PutRecord<'de> {
146
134
const NSID: &'static str = "com.atproto.repo.putRecord";
147
-
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
148
-
"application/json",
149
-
);
135
+
const METHOD: jacquard_common::types::xrpc::XrpcMethod =
136
+
jacquard_common::types::xrpc::XrpcMethod::Procedure("application/json");
150
137
const OUTPUT_ENCODING: &'static str = "application/json";
151
-
type Output<'de> = PutRecordOutput<'de>;
152
-
type Err<'de> = PutRecordError<'de>;
153
-
}
138
+
type Output = PutRecordOutput<'de>;
139
+
type Err = PutRecordError<'de>;
140
+
}
+15
-16
crates/jacquard-api/src/com_atproto/repo/upload_blob.rs
+15
-16
crates/jacquard-api/src/com_atproto/repo/upload_blob.rs
···
5
5
// This file was automatically generated from Lexicon schemas.
6
6
// Any manual changes will be overwritten on the next regeneration.
7
7
8
-
#[derive(
9
-
serde::Serialize,
10
-
serde::Deserialize,
11
-
Debug,
12
-
Clone,
13
-
PartialEq,
14
-
Eq,
15
-
bon::Builder
16
-
)]
8
+
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, bon::Builder)]
17
9
#[builder(start_fn = new)]
18
10
#[serde(rename_all = "camelCase")]
19
11
pub struct UploadBlob {
···
45
37
}
46
38
}
47
39
48
-
impl jacquard_common::types::xrpc::XrpcRequest for UploadBlob {
40
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UploadBlob {
49
41
const NSID: &'static str = "com.atproto.repo.uploadBlob";
50
-
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
51
-
"*/*",
52
-
);
42
+
const METHOD: jacquard_common::types::xrpc::XrpcMethod =
43
+
jacquard_common::types::xrpc::XrpcMethod::Procedure("*/*");
53
44
const OUTPUT_ENCODING: &'static str = "application/json";
54
-
type Output<'de> = UploadBlobOutput<'de>;
55
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
45
+
type Output = UploadBlobOutput<'de>;
46
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
56
47
fn encode_body(&self) -> Result<Vec<u8>, jacquard_common::types::xrpc::EncodeError> {
57
48
Ok(self.body.to_vec())
58
49
}
59
-
}
50
+
fn decode_body(
51
+
&self,
52
+
body: &'de [u8],
53
+
) -> Result<Box<Self>, jacquard_common::error::DecodeError> {
54
+
Ok(Box::new(Self {
55
+
body: bytes::Bytes::copy_from_slice(body),
56
+
}))
57
+
}
58
+
}
+4
-4
crates/jacquard-api/src/com_atproto/server/activate_account.rs
+4
-4
crates/jacquard-api/src/com_atproto/server/activate_account.rs
···
6
6
// Any manual changes will be overwritten on the next regeneration.
7
7
8
8
/// XRPC request marker type
9
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
9
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
10
10
pub struct ActivateAccount;
11
-
impl jacquard_common::types::xrpc::XrpcRequest for ActivateAccount {
11
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ActivateAccount {
12
12
const NSID: &'static str = "com.atproto.server.activateAccount";
13
13
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
14
14
"application/json",
15
15
);
16
16
const OUTPUT_ENCODING: &'static str = "application/json";
17
-
type Output<'de> = ();
18
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
17
+
type Output = ();
18
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
19
19
}
+4
-4
crates/jacquard-api/src/com_atproto/server/check_account_status.rs
+4
-4
crates/jacquard-api/src/com_atproto/server/check_account_status.rs
···
41
41
}
42
42
43
43
/// XRPC request marker type
44
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
44
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
45
45
pub struct CheckAccountStatus;
46
-
impl jacquard_common::types::xrpc::XrpcRequest for CheckAccountStatus {
46
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CheckAccountStatus {
47
47
const NSID: &'static str = "com.atproto.server.checkAccountStatus";
48
48
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
49
49
const OUTPUT_ENCODING: &'static str = "application/json";
50
-
type Output<'de> = CheckAccountStatusOutput<'de>;
51
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
50
+
type Output = CheckAccountStatusOutput<'de>;
51
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
52
52
}
+3
-3
crates/jacquard-api/src/com_atproto/server/confirm_email.rs
+3
-3
crates/jacquard-api/src/com_atproto/server/confirm_email.rs
···
125
125
}
126
126
}
127
127
128
-
impl jacquard_common::types::xrpc::XrpcRequest for ConfirmEmail<'_> {
128
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ConfirmEmail<'de> {
129
129
const NSID: &'static str = "com.atproto.server.confirmEmail";
130
130
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
131
131
"application/json",
132
132
);
133
133
const OUTPUT_ENCODING: &'static str = "application/json";
134
-
type Output<'de> = ();
135
-
type Err<'de> = ConfirmEmailError<'de>;
134
+
type Output = ();
135
+
type Err = ConfirmEmailError<'de>;
136
136
}
+3
-3
crates/jacquard-api/src/com_atproto/server/create_account.rs
+3
-3
crates/jacquard-api/src/com_atproto/server/create_account.rs
···
234
234
}
235
235
}
236
236
237
-
impl jacquard_common::types::xrpc::XrpcRequest for CreateAccount<'_> {
237
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CreateAccount<'de> {
238
238
const NSID: &'static str = "com.atproto.server.createAccount";
239
239
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
240
240
"application/json",
241
241
);
242
242
const OUTPUT_ENCODING: &'static str = "application/json";
243
-
type Output<'de> = CreateAccountOutput<'de>;
244
-
type Err<'de> = CreateAccountError<'de>;
243
+
type Output = CreateAccountOutput<'de>;
244
+
type Err = CreateAccountError<'de>;
245
245
}
+3
-3
crates/jacquard-api/src/com_atproto/server/create_app_password.rs
+3
-3
crates/jacquard-api/src/com_atproto/server/create_app_password.rs
···
137
137
}
138
138
}
139
139
140
-
impl jacquard_common::types::xrpc::XrpcRequest for CreateAppPassword<'_> {
140
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CreateAppPassword<'de> {
141
141
const NSID: &'static str = "com.atproto.server.createAppPassword";
142
142
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
143
143
"application/json",
144
144
);
145
145
const OUTPUT_ENCODING: &'static str = "application/json";
146
-
type Output<'de> = CreateAppPasswordOutput<'de>;
147
-
type Err<'de> = CreateAppPasswordError<'de>;
146
+
type Output = CreateAppPasswordOutput<'de>;
147
+
type Err = CreateAppPasswordError<'de>;
148
148
}
+3
-3
crates/jacquard-api/src/com_atproto/server/create_invite_code.rs
+3
-3
crates/jacquard-api/src/com_atproto/server/create_invite_code.rs
···
60
60
}
61
61
}
62
62
63
-
impl jacquard_common::types::xrpc::XrpcRequest for CreateInviteCode<'_> {
63
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CreateInviteCode<'de> {
64
64
const NSID: &'static str = "com.atproto.server.createInviteCode";
65
65
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
66
66
"application/json",
67
67
);
68
68
const OUTPUT_ENCODING: &'static str = "application/json";
69
-
type Output<'de> = CreateInviteCodeOutput<'de>;
70
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
69
+
type Output = CreateInviteCodeOutput<'de>;
70
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
71
71
}
+3
-3
crates/jacquard-api/src/com_atproto/server/create_invite_codes.rs
+3
-3
crates/jacquard-api/src/com_atproto/server/create_invite_codes.rs
···
83
83
}
84
84
}
85
85
86
-
impl jacquard_common::types::xrpc::XrpcRequest for CreateInviteCodes<'_> {
86
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CreateInviteCodes<'de> {
87
87
const NSID: &'static str = "com.atproto.server.createInviteCodes";
88
88
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
89
89
"application/json",
90
90
);
91
91
const OUTPUT_ENCODING: &'static str = "application/json";
92
-
type Output<'de> = CreateInviteCodesOutput<'de>;
93
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
92
+
type Output = CreateInviteCodesOutput<'de>;
93
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
94
94
}
+3
-3
crates/jacquard-api/src/com_atproto/server/create_session.rs
+3
-3
crates/jacquard-api/src/com_atproto/server/create_session.rs
···
162
162
}
163
163
}
164
164
165
-
impl jacquard_common::types::xrpc::XrpcRequest for CreateSession<'_> {
165
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CreateSession<'de> {
166
166
const NSID: &'static str = "com.atproto.server.createSession";
167
167
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
168
168
"application/json",
169
169
);
170
170
const OUTPUT_ENCODING: &'static str = "application/json";
171
-
type Output<'de> = CreateSessionOutput<'de>;
172
-
type Err<'de> = CreateSessionError<'de>;
171
+
type Output = CreateSessionOutput<'de>;
172
+
type Err = CreateSessionError<'de>;
173
173
}
+3
-3
crates/jacquard-api/src/com_atproto/server/deactivate_account.rs
+3
-3
crates/jacquard-api/src/com_atproto/server/deactivate_account.rs
···
40
40
}
41
41
}
42
42
43
-
impl jacquard_common::types::xrpc::XrpcRequest for DeactivateAccount<'_> {
43
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeactivateAccount<'de> {
44
44
const NSID: &'static str = "com.atproto.server.deactivateAccount";
45
45
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
46
46
"application/json",
47
47
);
48
48
const OUTPUT_ENCODING: &'static str = "application/json";
49
-
type Output<'de> = ();
50
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
49
+
type Output = ();
50
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
51
51
}
+3
-3
crates/jacquard-api/src/com_atproto/server/delete_account.rs
+3
-3
crates/jacquard-api/src/com_atproto/server/delete_account.rs
···
106
106
}
107
107
}
108
108
109
-
impl jacquard_common::types::xrpc::XrpcRequest for DeleteAccount<'_> {
109
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteAccount<'de> {
110
110
const NSID: &'static str = "com.atproto.server.deleteAccount";
111
111
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
112
112
"application/json",
113
113
);
114
114
const OUTPUT_ENCODING: &'static str = "application/json";
115
-
type Output<'de> = ();
116
-
type Err<'de> = DeleteAccountError<'de>;
115
+
type Output = ();
116
+
type Err = DeleteAccountError<'de>;
117
117
}
+4
-4
crates/jacquard-api/src/com_atproto/server/delete_session.rs
+4
-4
crates/jacquard-api/src/com_atproto/server/delete_session.rs
···
6
6
// Any manual changes will be overwritten on the next regeneration.
7
7
8
8
/// XRPC request marker type
9
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
9
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
10
10
pub struct DeleteSession;
11
-
impl jacquard_common::types::xrpc::XrpcRequest for DeleteSession {
11
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteSession {
12
12
const NSID: &'static str = "com.atproto.server.deleteSession";
13
13
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
14
14
"application/json",
15
15
);
16
16
const OUTPUT_ENCODING: &'static str = "application/json";
17
-
type Output<'de> = ();
18
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
17
+
type Output = ();
18
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
19
19
}
+4
-4
crates/jacquard-api/src/com_atproto/server/describe_server.rs
+4
-4
crates/jacquard-api/src/com_atproto/server/describe_server.rs
···
88
88
}
89
89
90
90
/// XRPC request marker type
91
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
91
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
92
92
pub struct DescribeServer;
93
-
impl jacquard_common::types::xrpc::XrpcRequest for DescribeServer {
93
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DescribeServer {
94
94
const NSID: &'static str = "com.atproto.server.describeServer";
95
95
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
96
96
const OUTPUT_ENCODING: &'static str = "application/json";
97
-
type Output<'de> = DescribeServerOutput<'de>;
98
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
97
+
type Output = DescribeServerOutput<'de>;
98
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
99
99
}
+3
-3
crates/jacquard-api/src/com_atproto/server/get_account_invite_codes.rs
+3
-3
crates/jacquard-api/src/com_atproto/server/get_account_invite_codes.rs
···
97
97
}
98
98
}
99
99
100
-
impl jacquard_common::types::xrpc::XrpcRequest for GetAccountInviteCodes {
100
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetAccountInviteCodes {
101
101
const NSID: &'static str = "com.atproto.server.getAccountInviteCodes";
102
102
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
103
103
const OUTPUT_ENCODING: &'static str = "application/json";
104
-
type Output<'de> = GetAccountInviteCodesOutput<'de>;
105
-
type Err<'de> = GetAccountInviteCodesError<'de>;
104
+
type Output = GetAccountInviteCodesOutput<'de>;
105
+
type Err = GetAccountInviteCodesError<'de>;
106
106
}
+3
-3
crates/jacquard-api/src/com_atproto/server/get_service_auth.rs
+3
-3
crates/jacquard-api/src/com_atproto/server/get_service_auth.rs
···
103
103
}
104
104
}
105
105
106
-
impl jacquard_common::types::xrpc::XrpcRequest for GetServiceAuth<'_> {
106
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetServiceAuth<'de> {
107
107
const NSID: &'static str = "com.atproto.server.getServiceAuth";
108
108
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
109
109
const OUTPUT_ENCODING: &'static str = "application/json";
110
-
type Output<'de> = GetServiceAuthOutput<'de>;
111
-
type Err<'de> = GetServiceAuthError<'de>;
110
+
type Output = GetServiceAuthOutput<'de>;
111
+
type Err = GetServiceAuthError<'de>;
112
112
}
+4
-4
crates/jacquard-api/src/com_atproto/server/get_session.rs
+4
-4
crates/jacquard-api/src/com_atproto/server/get_session.rs
···
49
49
}
50
50
51
51
/// XRPC request marker type
52
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
52
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
53
53
pub struct GetSession;
54
-
impl jacquard_common::types::xrpc::XrpcRequest for GetSession {
54
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSession {
55
55
const NSID: &'static str = "com.atproto.server.getSession";
56
56
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
57
57
const OUTPUT_ENCODING: &'static str = "application/json";
58
-
type Output<'de> = GetSessionOutput<'de>;
59
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
58
+
type Output = GetSessionOutput<'de>;
59
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
60
60
}
+4
-4
crates/jacquard-api/src/com_atproto/server/list_app_passwords.rs
+4
-4
crates/jacquard-api/src/com_atproto/server/list_app_passwords.rs
···
94
94
}
95
95
96
96
/// XRPC request marker type
97
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
97
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
98
98
pub struct ListAppPasswords;
99
-
impl jacquard_common::types::xrpc::XrpcRequest for ListAppPasswords {
99
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListAppPasswords {
100
100
const NSID: &'static str = "com.atproto.server.listAppPasswords";
101
101
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
102
102
const OUTPUT_ENCODING: &'static str = "application/json";
103
-
type Output<'de> = ListAppPasswordsOutput<'de>;
104
-
type Err<'de> = ListAppPasswordsError<'de>;
103
+
type Output = ListAppPasswordsOutput<'de>;
104
+
type Err = ListAppPasswordsError<'de>;
105
105
}
+4
-4
crates/jacquard-api/src/com_atproto/server/refresh_session.rs
+4
-4
crates/jacquard-api/src/com_atproto/server/refresh_session.rs
···
92
92
}
93
93
94
94
/// XRPC request marker type
95
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
95
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
96
96
pub struct RefreshSession;
97
-
impl jacquard_common::types::xrpc::XrpcRequest for RefreshSession {
97
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RefreshSession {
98
98
const NSID: &'static str = "com.atproto.server.refreshSession";
99
99
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
100
100
"application/json",
101
101
);
102
102
const OUTPUT_ENCODING: &'static str = "application/json";
103
-
type Output<'de> = RefreshSessionOutput<'de>;
104
-
type Err<'de> = RefreshSessionError<'de>;
103
+
type Output = RefreshSessionOutput<'de>;
104
+
type Err = RefreshSessionError<'de>;
105
105
}
+4
-4
crates/jacquard-api/src/com_atproto/server/request_account_delete.rs
+4
-4
crates/jacquard-api/src/com_atproto/server/request_account_delete.rs
···
6
6
// Any manual changes will be overwritten on the next regeneration.
7
7
8
8
/// XRPC request marker type
9
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
9
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
10
10
pub struct RequestAccountDelete;
11
-
impl jacquard_common::types::xrpc::XrpcRequest for RequestAccountDelete {
11
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RequestAccountDelete {
12
12
const NSID: &'static str = "com.atproto.server.requestAccountDelete";
13
13
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
14
14
"application/json",
15
15
);
16
16
const OUTPUT_ENCODING: &'static str = "application/json";
17
-
type Output<'de> = ();
18
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
17
+
type Output = ();
18
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
19
19
}
+4
-4
crates/jacquard-api/src/com_atproto/server/request_email_confirmation.rs
+4
-4
crates/jacquard-api/src/com_atproto/server/request_email_confirmation.rs
···
6
6
// Any manual changes will be overwritten on the next regeneration.
7
7
8
8
/// XRPC request marker type
9
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
9
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
10
10
pub struct RequestEmailConfirmation;
11
-
impl jacquard_common::types::xrpc::XrpcRequest for RequestEmailConfirmation {
11
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RequestEmailConfirmation {
12
12
const NSID: &'static str = "com.atproto.server.requestEmailConfirmation";
13
13
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
14
14
"application/json",
15
15
);
16
16
const OUTPUT_ENCODING: &'static str = "application/json";
17
-
type Output<'de> = ();
18
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
17
+
type Output = ();
18
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
19
19
}
+4
-4
crates/jacquard-api/src/com_atproto/server/request_email_update.rs
+4
-4
crates/jacquard-api/src/com_atproto/server/request_email_update.rs
···
23
23
}
24
24
25
25
/// XRPC request marker type
26
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
26
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
27
27
pub struct RequestEmailUpdate;
28
-
impl jacquard_common::types::xrpc::XrpcRequest for RequestEmailUpdate {
28
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RequestEmailUpdate {
29
29
const NSID: &'static str = "com.atproto.server.requestEmailUpdate";
30
30
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
31
31
"application/json",
32
32
);
33
33
const OUTPUT_ENCODING: &'static str = "application/json";
34
-
type Output<'de> = RequestEmailUpdateOutput<'de>;
35
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
34
+
type Output = RequestEmailUpdateOutput<'de>;
35
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
36
36
}
+3
-3
crates/jacquard-api/src/com_atproto/server/request_password_reset.rs
+3
-3
crates/jacquard-api/src/com_atproto/server/request_password_reset.rs
···
40
40
}
41
41
}
42
42
43
-
impl jacquard_common::types::xrpc::XrpcRequest for RequestPasswordReset<'_> {
43
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RequestPasswordReset<'de> {
44
44
const NSID: &'static str = "com.atproto.server.requestPasswordReset";
45
45
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
46
46
"application/json",
47
47
);
48
48
const OUTPUT_ENCODING: &'static str = "application/json";
49
-
type Output<'de> = ();
50
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
49
+
type Output = ();
50
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
51
51
}
+3
-3
crates/jacquard-api/src/com_atproto/server/reserve_signing_key.rs
+3
-3
crates/jacquard-api/src/com_atproto/server/reserve_signing_key.rs
···
60
60
}
61
61
}
62
62
63
-
impl jacquard_common::types::xrpc::XrpcRequest for ReserveSigningKey<'_> {
63
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ReserveSigningKey<'de> {
64
64
const NSID: &'static str = "com.atproto.server.reserveSigningKey";
65
65
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
66
66
"application/json",
67
67
);
68
68
const OUTPUT_ENCODING: &'static str = "application/json";
69
-
type Output<'de> = ReserveSigningKeyOutput<'de>;
70
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
69
+
type Output = ReserveSigningKeyOutput<'de>;
70
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
71
71
}
+3
-3
crates/jacquard-api/src/com_atproto/server/reset_password.rs
+3
-3
crates/jacquard-api/src/com_atproto/server/reset_password.rs
···
103
103
}
104
104
}
105
105
106
-
impl jacquard_common::types::xrpc::XrpcRequest for ResetPassword<'_> {
106
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ResetPassword<'de> {
107
107
const NSID: &'static str = "com.atproto.server.resetPassword";
108
108
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
109
109
"application/json",
110
110
);
111
111
const OUTPUT_ENCODING: &'static str = "application/json";
112
-
type Output<'de> = ();
113
-
type Err<'de> = ResetPasswordError<'de>;
112
+
type Output = ();
113
+
type Err = ResetPasswordError<'de>;
114
114
}
+3
-3
crates/jacquard-api/src/com_atproto/server/revoke_app_password.rs
+3
-3
crates/jacquard-api/src/com_atproto/server/revoke_app_password.rs
···
40
40
}
41
41
}
42
42
43
-
impl jacquard_common::types::xrpc::XrpcRequest for RevokeAppPassword<'_> {
43
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RevokeAppPassword<'de> {
44
44
const NSID: &'static str = "com.atproto.server.revokeAppPassword";
45
45
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
46
46
"application/json",
47
47
);
48
48
const OUTPUT_ENCODING: &'static str = "application/json";
49
-
type Output<'de> = ();
50
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
49
+
type Output = ();
50
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
51
51
}
+3
-3
crates/jacquard-api/src/com_atproto/server/update_email.rs
+3
-3
crates/jacquard-api/src/com_atproto/server/update_email.rs
···
118
118
}
119
119
}
120
120
121
-
impl jacquard_common::types::xrpc::XrpcRequest for UpdateEmail<'_> {
121
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateEmail<'de> {
122
122
const NSID: &'static str = "com.atproto.server.updateEmail";
123
123
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
124
124
"application/json",
125
125
);
126
126
const OUTPUT_ENCODING: &'static str = "application/json";
127
-
type Output<'de> = ();
128
-
type Err<'de> = UpdateEmailError<'de>;
127
+
type Output = ();
128
+
type Err = UpdateEmailError<'de>;
129
129
}
+3
-3
crates/jacquard-api/src/com_atproto/sync/get_blob.rs
+3
-3
crates/jacquard-api/src/com_atproto/sync/get_blob.rs
···
135
135
}
136
136
}
137
137
138
-
impl jacquard_common::types::xrpc::XrpcRequest for GetBlob<'_> {
138
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetBlob<'de> {
139
139
const NSID: &'static str = "com.atproto.sync.getBlob";
140
140
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
141
141
const OUTPUT_ENCODING: &'static str = "*/*";
142
-
type Output<'de> = GetBlobOutput<'de>;
143
-
type Err<'de> = GetBlobError<'de>;
142
+
type Output = GetBlobOutput<'de>;
143
+
type Err = GetBlobError<'de>;
144
144
}
+3
-3
crates/jacquard-api/src/com_atproto/sync/get_blocks.rs
+3
-3
crates/jacquard-api/src/com_atproto/sync/get_blocks.rs
···
139
139
}
140
140
}
141
141
142
-
impl jacquard_common::types::xrpc::XrpcRequest for GetBlocks<'_> {
142
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetBlocks<'de> {
143
143
const NSID: &'static str = "com.atproto.sync.getBlocks";
144
144
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
145
145
const OUTPUT_ENCODING: &'static str = "application/vnd.ipld.car";
146
-
type Output<'de> = GetBlocksOutput<'de>;
147
-
type Err<'de> = GetBlocksError<'de>;
146
+
type Output = GetBlocksOutput<'de>;
147
+
type Err = GetBlocksError<'de>;
148
148
}
+3
-3
crates/jacquard-api/src/com_atproto/sync/get_checkout.rs
+3
-3
crates/jacquard-api/src/com_atproto/sync/get_checkout.rs
···
43
43
}
44
44
}
45
45
46
-
impl jacquard_common::types::xrpc::XrpcRequest for GetCheckout<'_> {
46
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetCheckout<'de> {
47
47
const NSID: &'static str = "com.atproto.sync.getCheckout";
48
48
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
49
49
const OUTPUT_ENCODING: &'static str = "application/vnd.ipld.car";
50
-
type Output<'de> = GetCheckoutOutput<'de>;
51
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
50
+
type Output = GetCheckoutOutput<'de>;
51
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
52
52
}
+3
-3
crates/jacquard-api/src/com_atproto/sync/get_head.rs
+3
-3
crates/jacquard-api/src/com_atproto/sync/get_head.rs
···
91
91
}
92
92
}
93
93
94
-
impl jacquard_common::types::xrpc::XrpcRequest for GetHead<'_> {
94
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetHead<'de> {
95
95
const NSID: &'static str = "com.atproto.sync.getHead";
96
96
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
97
97
const OUTPUT_ENCODING: &'static str = "application/json";
98
-
type Output<'de> = GetHeadOutput<'de>;
99
-
type Err<'de> = GetHeadError<'de>;
98
+
type Output = GetHeadOutput<'de>;
99
+
type Err = GetHeadError<'de>;
100
100
}
+3
-3
crates/jacquard-api/src/com_atproto/sync/get_host_status.rs
+3
-3
crates/jacquard-api/src/com_atproto/sync/get_host_status.rs
···
108
108
}
109
109
}
110
110
111
-
impl jacquard_common::types::xrpc::XrpcRequest for GetHostStatus<'_> {
111
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetHostStatus<'de> {
112
112
const NSID: &'static str = "com.atproto.sync.getHostStatus";
113
113
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
114
114
const OUTPUT_ENCODING: &'static str = "application/json";
115
-
type Output<'de> = GetHostStatusOutput<'de>;
116
-
type Err<'de> = GetHostStatusError<'de>;
115
+
type Output = GetHostStatusOutput<'de>;
116
+
type Err = GetHostStatusError<'de>;
117
117
}
+3
-3
crates/jacquard-api/src/com_atproto/sync/get_latest_commit.rs
+3
-3
crates/jacquard-api/src/com_atproto/sync/get_latest_commit.rs
···
133
133
}
134
134
}
135
135
136
-
impl jacquard_common::types::xrpc::XrpcRequest for GetLatestCommit<'_> {
136
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetLatestCommit<'de> {
137
137
const NSID: &'static str = "com.atproto.sync.getLatestCommit";
138
138
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
139
139
const OUTPUT_ENCODING: &'static str = "application/json";
140
-
type Output<'de> = GetLatestCommitOutput<'de>;
141
-
type Err<'de> = GetLatestCommitError<'de>;
140
+
type Output = GetLatestCommitOutput<'de>;
141
+
type Err = GetLatestCommitError<'de>;
142
142
}
+3
-3
crates/jacquard-api/src/com_atproto/sync/get_record.rs
+3
-3
crates/jacquard-api/src/com_atproto/sync/get_record.rs
···
144
144
}
145
145
}
146
146
147
-
impl jacquard_common::types::xrpc::XrpcRequest for GetRecord<'_> {
147
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRecord<'de> {
148
148
const NSID: &'static str = "com.atproto.sync.getRecord";
149
149
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
150
150
const OUTPUT_ENCODING: &'static str = "application/vnd.ipld.car";
151
-
type Output<'de> = GetRecordOutput<'de>;
152
-
type Err<'de> = GetRecordError<'de>;
151
+
type Output = GetRecordOutput<'de>;
152
+
type Err = GetRecordError<'de>;
153
153
}
+3
-3
crates/jacquard-api/src/com_atproto/sync/get_repo.rs
+3
-3
crates/jacquard-api/src/com_atproto/sync/get_repo.rs
···
125
125
}
126
126
}
127
127
128
-
impl jacquard_common::types::xrpc::XrpcRequest for GetRepo<'_> {
128
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRepo<'de> {
129
129
const NSID: &'static str = "com.atproto.sync.getRepo";
130
130
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
131
131
const OUTPUT_ENCODING: &'static str = "application/vnd.ipld.car";
132
-
type Output<'de> = GetRepoOutput<'de>;
133
-
type Err<'de> = GetRepoError<'de>;
132
+
type Output = GetRepoOutput<'de>;
133
+
type Err = GetRepoError<'de>;
134
134
}
+3
-3
crates/jacquard-api/src/com_atproto/sync/get_repo_status.rs
+3
-3
crates/jacquard-api/src/com_atproto/sync/get_repo_status.rs
···
106
106
}
107
107
}
108
108
109
-
impl jacquard_common::types::xrpc::XrpcRequest for GetRepoStatus<'_> {
109
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRepoStatus<'de> {
110
110
const NSID: &'static str = "com.atproto.sync.getRepoStatus";
111
111
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
112
112
const OUTPUT_ENCODING: &'static str = "application/json";
113
-
type Output<'de> = GetRepoStatusOutput<'de>;
114
-
type Err<'de> = GetRepoStatusError<'de>;
113
+
type Output = GetRepoStatusOutput<'de>;
114
+
type Err = GetRepoStatusError<'de>;
115
115
}
+3
-3
crates/jacquard-api/src/com_atproto/sync/list_blobs.rs
+3
-3
crates/jacquard-api/src/com_atproto/sync/list_blobs.rs
···
145
145
}
146
146
}
147
147
148
-
impl jacquard_common::types::xrpc::XrpcRequest for ListBlobs<'_> {
148
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListBlobs<'de> {
149
149
const NSID: &'static str = "com.atproto.sync.listBlobs";
150
150
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
151
151
const OUTPUT_ENCODING: &'static str = "application/json";
152
-
type Output<'de> = ListBlobsOutput<'de>;
153
-
type Err<'de> = ListBlobsError<'de>;
152
+
type Output = ListBlobsOutput<'de>;
153
+
type Err = ListBlobsError<'de>;
154
154
}
+3
-3
crates/jacquard-api/src/com_atproto/sync/list_hosts.rs
+3
-3
crates/jacquard-api/src/com_atproto/sync/list_hosts.rs
···
89
89
}
90
90
}
91
91
92
-
impl jacquard_common::types::xrpc::XrpcRequest for ListHosts<'_> {
92
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListHosts<'de> {
93
93
const NSID: &'static str = "com.atproto.sync.listHosts";
94
94
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
95
95
const OUTPUT_ENCODING: &'static str = "application/json";
96
-
type Output<'de> = ListHostsOutput<'de>;
97
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
96
+
type Output = ListHostsOutput<'de>;
97
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
98
98
}
+3
-3
crates/jacquard-api/src/com_atproto/sync/list_repos.rs
+3
-3
crates/jacquard-api/src/com_atproto/sync/list_repos.rs
···
58
58
}
59
59
}
60
60
61
-
impl jacquard_common::types::xrpc::XrpcRequest for ListRepos<'_> {
61
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListRepos<'de> {
62
62
const NSID: &'static str = "com.atproto.sync.listRepos";
63
63
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
64
64
const OUTPUT_ENCODING: &'static str = "application/json";
65
-
type Output<'de> = ListReposOutput<'de>;
66
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
65
+
type Output = ListReposOutput<'de>;
66
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
67
67
}
68
68
69
69
#[jacquard_derive::lexicon]
+3
-3
crates/jacquard-api/src/com_atproto/sync/list_repos_by_collection.rs
+3
-3
crates/jacquard-api/src/com_atproto/sync/list_repos_by_collection.rs
···
61
61
}
62
62
}
63
63
64
-
impl jacquard_common::types::xrpc::XrpcRequest for ListReposByCollection<'_> {
64
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListReposByCollection<'de> {
65
65
const NSID: &'static str = "com.atproto.sync.listReposByCollection";
66
66
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
67
67
const OUTPUT_ENCODING: &'static str = "application/json";
68
-
type Output<'de> = ListReposByCollectionOutput<'de>;
69
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
68
+
type Output = ListReposByCollectionOutput<'de>;
69
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
70
70
}
71
71
72
72
#[jacquard_derive::lexicon]
+3
-3
crates/jacquard-api/src/com_atproto/sync/notify_of_update.rs
+3
-3
crates/jacquard-api/src/com_atproto/sync/notify_of_update.rs
···
41
41
}
42
42
}
43
43
44
-
impl jacquard_common::types::xrpc::XrpcRequest for NotifyOfUpdate<'_> {
44
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for NotifyOfUpdate<'de> {
45
45
const NSID: &'static str = "com.atproto.sync.notifyOfUpdate";
46
46
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
47
47
"application/json",
48
48
);
49
49
const OUTPUT_ENCODING: &'static str = "application/json";
50
-
type Output<'de> = ();
51
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
50
+
type Output = ();
51
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
52
52
}
+3
-3
crates/jacquard-api/src/com_atproto/sync/request_crawl.rs
+3
-3
crates/jacquard-api/src/com_atproto/sync/request_crawl.rs
···
86
86
}
87
87
}
88
88
89
-
impl jacquard_common::types::xrpc::XrpcRequest for RequestCrawl<'_> {
89
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RequestCrawl<'de> {
90
90
const NSID: &'static str = "com.atproto.sync.requestCrawl";
91
91
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
92
92
"application/json",
93
93
);
94
94
const OUTPUT_ENCODING: &'static str = "application/json";
95
-
type Output<'de> = ();
96
-
type Err<'de> = RequestCrawlError<'de>;
95
+
type Output = ();
96
+
type Err = RequestCrawlError<'de>;
97
97
}
+3
-3
crates/jacquard-api/src/com_atproto/temp/add_reserved_handle.rs
+3
-3
crates/jacquard-api/src/com_atproto/temp/add_reserved_handle.rs
···
53
53
}
54
54
}
55
55
56
-
impl jacquard_common::types::xrpc::XrpcRequest for AddReservedHandle<'_> {
56
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for AddReservedHandle<'de> {
57
57
const NSID: &'static str = "com.atproto.temp.addReservedHandle";
58
58
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
59
59
"application/json",
60
60
);
61
61
const OUTPUT_ENCODING: &'static str = "application/json";
62
-
type Output<'de> = AddReservedHandleOutput<'de>;
63
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
62
+
type Output = AddReservedHandleOutput<'de>;
63
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
64
64
}
+4
-3
crates/jacquard-api/src/com_atproto/temp/check_handle_availability.rs
+4
-3
crates/jacquard-api/src/com_atproto/temp/check_handle_availability.rs
···
124
124
}
125
125
}
126
126
127
-
impl jacquard_common::types::xrpc::XrpcRequest for CheckHandleAvailability<'_> {
127
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
128
+
for CheckHandleAvailability<'de> {
128
129
const NSID: &'static str = "com.atproto.temp.checkHandleAvailability";
129
130
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
130
131
const OUTPUT_ENCODING: &'static str = "application/json";
131
-
type Output<'de> = CheckHandleAvailabilityOutput<'de>;
132
-
type Err<'de> = CheckHandleAvailabilityError<'de>;
132
+
type Output = CheckHandleAvailabilityOutput<'de>;
133
+
type Err = CheckHandleAvailabilityError<'de>;
133
134
}
134
135
135
136
///Indicates the provided handle is available.
+4
-4
crates/jacquard-api/src/com_atproto/temp/check_signup_queue.rs
+4
-4
crates/jacquard-api/src/com_atproto/temp/check_signup_queue.rs
···
29
29
}
30
30
31
31
/// XRPC request marker type
32
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
32
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
33
33
pub struct CheckSignupQueue;
34
-
impl jacquard_common::types::xrpc::XrpcRequest for CheckSignupQueue {
34
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CheckSignupQueue {
35
35
const NSID: &'static str = "com.atproto.temp.checkSignupQueue";
36
36
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
37
37
const OUTPUT_ENCODING: &'static str = "application/json";
38
-
type Output<'de> = CheckSignupQueueOutput<'de>;
39
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
38
+
type Output = CheckSignupQueueOutput<'de>;
39
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
40
40
}
+3
-3
crates/jacquard-api/src/com_atproto/temp/dereference_scope.rs
+3
-3
crates/jacquard-api/src/com_atproto/temp/dereference_scope.rs
···
98
98
}
99
99
}
100
100
101
-
impl jacquard_common::types::xrpc::XrpcRequest for DereferenceScope<'_> {
101
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DereferenceScope<'de> {
102
102
const NSID: &'static str = "com.atproto.temp.dereferenceScope";
103
103
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
104
104
const OUTPUT_ENCODING: &'static str = "application/json";
105
-
type Output<'de> = DereferenceScopeOutput<'de>;
106
-
type Err<'de> = DereferenceScopeError<'de>;
105
+
type Output = DereferenceScopeOutput<'de>;
106
+
type Err = DereferenceScopeError<'de>;
107
107
}
+3
-3
crates/jacquard-api/src/com_atproto/temp/fetch_labels.rs
+3
-3
crates/jacquard-api/src/com_atproto/temp/fetch_labels.rs
···
49
49
}
50
50
}
51
51
52
-
impl jacquard_common::types::xrpc::XrpcRequest for FetchLabels {
52
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for FetchLabels {
53
53
const NSID: &'static str = "com.atproto.temp.fetchLabels";
54
54
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
55
55
const OUTPUT_ENCODING: &'static str = "application/json";
56
-
type Output<'de> = FetchLabelsOutput<'de>;
57
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
56
+
type Output = FetchLabelsOutput<'de>;
57
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
58
58
}
+4
-3
crates/jacquard-api/src/com_atproto/temp/request_phone_verification.rs
+4
-3
crates/jacquard-api/src/com_atproto/temp/request_phone_verification.rs
···
40
40
}
41
41
}
42
42
43
-
impl jacquard_common::types::xrpc::XrpcRequest for RequestPhoneVerification<'_> {
43
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
44
+
for RequestPhoneVerification<'de> {
44
45
const NSID: &'static str = "com.atproto.temp.requestPhoneVerification";
45
46
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
46
47
"application/json",
47
48
);
48
49
const OUTPUT_ENCODING: &'static str = "application/json";
49
-
type Output<'de> = ();
50
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
50
+
type Output = ();
51
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
51
52
}
+4
-3
crates/jacquard-api/src/com_atproto/temp/revoke_account_credentials.rs
+4
-3
crates/jacquard-api/src/com_atproto/temp/revoke_account_credentials.rs
···
39
39
}
40
40
}
41
41
42
-
impl jacquard_common::types::xrpc::XrpcRequest for RevokeAccountCredentials<'_> {
42
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de>
43
+
for RevokeAccountCredentials<'de> {
43
44
const NSID: &'static str = "com.atproto.temp.revokeAccountCredentials";
44
45
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
45
46
"application/json",
46
47
);
47
48
const OUTPUT_ENCODING: &'static str = "application/json";
48
-
type Output<'de> = ();
49
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
49
+
type Output = ();
50
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
50
51
}
+3
-3
crates/jacquard-api/src/tools_ozone/communication/create_template.rs
+3
-3
crates/jacquard-api/src/tools_ozone/communication/create_template.rs
···
126
126
}
127
127
}
128
128
129
-
impl jacquard_common::types::xrpc::XrpcRequest for CreateTemplate<'_> {
129
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for CreateTemplate<'de> {
130
130
const NSID: &'static str = "tools.ozone.communication.createTemplate";
131
131
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
132
132
"application/json",
133
133
);
134
134
const OUTPUT_ENCODING: &'static str = "application/json";
135
-
type Output<'de> = CreateTemplateOutput<'de>;
136
-
type Err<'de> = CreateTemplateError<'de>;
135
+
type Output = CreateTemplateOutput<'de>;
136
+
type Err = CreateTemplateError<'de>;
137
137
}
+3
-3
crates/jacquard-api/src/tools_ozone/communication/delete_template.rs
+3
-3
crates/jacquard-api/src/tools_ozone/communication/delete_template.rs
···
40
40
}
41
41
}
42
42
43
-
impl jacquard_common::types::xrpc::XrpcRequest for DeleteTemplate<'_> {
43
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteTemplate<'de> {
44
44
const NSID: &'static str = "tools.ozone.communication.deleteTemplate";
45
45
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
46
46
"application/json",
47
47
);
48
48
const OUTPUT_ENCODING: &'static str = "application/json";
49
-
type Output<'de> = ();
50
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
49
+
type Output = ();
50
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
51
51
}
+4
-4
crates/jacquard-api/src/tools_ozone/communication/list_templates.rs
+4
-4
crates/jacquard-api/src/tools_ozone/communication/list_templates.rs
···
26
26
}
27
27
28
28
/// XRPC request marker type
29
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
29
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
30
30
pub struct ListTemplates;
31
-
impl jacquard_common::types::xrpc::XrpcRequest for ListTemplates {
31
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListTemplates {
32
32
const NSID: &'static str = "tools.ozone.communication.listTemplates";
33
33
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
34
34
const OUTPUT_ENCODING: &'static str = "application/json";
35
-
type Output<'de> = ListTemplatesOutput<'de>;
36
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
35
+
type Output = ListTemplatesOutput<'de>;
36
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
37
37
}
+3
-3
crates/jacquard-api/src/tools_ozone/communication/update_template.rs
+3
-3
crates/jacquard-api/src/tools_ozone/communication/update_template.rs
···
137
137
}
138
138
}
139
139
140
-
impl jacquard_common::types::xrpc::XrpcRequest for UpdateTemplate<'_> {
140
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateTemplate<'de> {
141
141
const NSID: &'static str = "tools.ozone.communication.updateTemplate";
142
142
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
143
143
"application/json",
144
144
);
145
145
const OUTPUT_ENCODING: &'static str = "application/json";
146
-
type Output<'de> = UpdateTemplateOutput<'de>;
147
-
type Err<'de> = UpdateTemplateError<'de>;
146
+
type Output = UpdateTemplateOutput<'de>;
147
+
type Err = UpdateTemplateError<'de>;
148
148
}
+3
-3
crates/jacquard-api/src/tools_ozone/hosting/get_account_history.rs
+3
-3
crates/jacquard-api/src/tools_ozone/hosting/get_account_history.rs
···
181
181
}
182
182
}
183
183
184
-
impl jacquard_common::types::xrpc::XrpcRequest for GetAccountHistory<'_> {
184
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetAccountHistory<'de> {
185
185
const NSID: &'static str = "tools.ozone.hosting.getAccountHistory";
186
186
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
187
187
const OUTPUT_ENCODING: &'static str = "application/json";
188
-
type Output<'de> = GetAccountHistoryOutput<'de>;
189
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
188
+
type Output = GetAccountHistoryOutput<'de>;
189
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
190
190
}
191
191
192
192
#[jacquard_derive::lexicon]
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/emit_event.rs
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/emit_event.rs
···
310
310
}
311
311
}
312
312
313
-
impl jacquard_common::types::xrpc::XrpcRequest for EmitEvent<'_> {
313
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for EmitEvent<'de> {
314
314
const NSID: &'static str = "tools.ozone.moderation.emitEvent";
315
315
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
316
316
"application/json",
317
317
);
318
318
const OUTPUT_ENCODING: &'static str = "application/json";
319
-
type Output<'de> = EmitEventOutput<'de>;
320
-
type Err<'de> = EmitEventError<'de>;
319
+
type Output = EmitEventOutput<'de>;
320
+
type Err = EmitEventError<'de>;
321
321
}
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/get_account_timeline.rs
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/get_account_timeline.rs
···
95
95
}
96
96
}
97
97
98
-
impl jacquard_common::types::xrpc::XrpcRequest for GetAccountTimeline<'_> {
98
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetAccountTimeline<'de> {
99
99
const NSID: &'static str = "tools.ozone.moderation.getAccountTimeline";
100
100
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
101
101
const OUTPUT_ENCODING: &'static str = "application/json";
102
-
type Output<'de> = GetAccountTimelineOutput<'de>;
103
-
type Err<'de> = GetAccountTimelineError<'de>;
102
+
type Output = GetAccountTimelineOutput<'de>;
103
+
type Err = GetAccountTimelineError<'de>;
104
104
}
105
105
106
106
#[jacquard_derive::lexicon]
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/get_event.rs
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/get_event.rs
···
46
46
}
47
47
}
48
48
49
-
impl jacquard_common::types::xrpc::XrpcRequest for GetEvent {
49
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetEvent {
50
50
const NSID: &'static str = "tools.ozone.moderation.getEvent";
51
51
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
52
52
const OUTPUT_ENCODING: &'static str = "application/json";
53
-
type Output<'de> = GetEventOutput<'de>;
54
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
53
+
type Output = GetEventOutput<'de>;
54
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
55
55
}
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/get_record.rs
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/get_record.rs
···
98
98
}
99
99
}
100
100
101
-
impl jacquard_common::types::xrpc::XrpcRequest for GetRecord<'_> {
101
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRecord<'de> {
102
102
const NSID: &'static str = "tools.ozone.moderation.getRecord";
103
103
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
104
104
const OUTPUT_ENCODING: &'static str = "application/json";
105
-
type Output<'de> = GetRecordOutput<'de>;
106
-
type Err<'de> = GetRecordError<'de>;
105
+
type Output = GetRecordOutput<'de>;
106
+
type Err = GetRecordError<'de>;
107
107
}
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/get_records.rs
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/get_records.rs
···
48
48
}
49
49
}
50
50
51
-
impl jacquard_common::types::xrpc::XrpcRequest for GetRecords<'_> {
51
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRecords<'de> {
52
52
const NSID: &'static str = "tools.ozone.moderation.getRecords";
53
53
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
54
54
const OUTPUT_ENCODING: &'static str = "application/json";
55
-
type Output<'de> = GetRecordsOutput<'de>;
56
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
55
+
type Output = GetRecordsOutput<'de>;
56
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
57
57
}
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/get_repo.rs
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/get_repo.rs
···
92
92
}
93
93
}
94
94
95
-
impl jacquard_common::types::xrpc::XrpcRequest for GetRepo<'_> {
95
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRepo<'de> {
96
96
const NSID: &'static str = "tools.ozone.moderation.getRepo";
97
97
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
98
98
const OUTPUT_ENCODING: &'static str = "application/json";
99
-
type Output<'de> = GetRepoOutput<'de>;
100
-
type Err<'de> = GetRepoError<'de>;
99
+
type Output = GetRepoOutput<'de>;
100
+
type Err = GetRepoError<'de>;
101
101
}
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/get_reporter_stats.rs
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/get_reporter_stats.rs
···
48
48
}
49
49
}
50
50
51
-
impl jacquard_common::types::xrpc::XrpcRequest for GetReporterStats<'_> {
51
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetReporterStats<'de> {
52
52
const NSID: &'static str = "tools.ozone.moderation.getReporterStats";
53
53
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
54
54
const OUTPUT_ENCODING: &'static str = "application/json";
55
-
type Output<'de> = GetReporterStatsOutput<'de>;
56
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
55
+
type Output = GetReporterStatsOutput<'de>;
56
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
57
57
}
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/get_repos.rs
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/get_repos.rs
···
48
48
}
49
49
}
50
50
51
-
impl jacquard_common::types::xrpc::XrpcRequest for GetRepos<'_> {
51
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetRepos<'de> {
52
52
const NSID: &'static str = "tools.ozone.moderation.getRepos";
53
53
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
54
54
const OUTPUT_ENCODING: &'static str = "application/json";
55
-
type Output<'de> = GetReposOutput<'de>;
56
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
55
+
type Output = GetReposOutput<'de>;
56
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
57
57
}
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/get_subjects.rs
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/get_subjects.rs
···
48
48
}
49
49
}
50
50
51
-
impl jacquard_common::types::xrpc::XrpcRequest for GetSubjects<'_> {
51
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetSubjects<'de> {
52
52
const NSID: &'static str = "tools.ozone.moderation.getSubjects";
53
53
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
54
54
const OUTPUT_ENCODING: &'static str = "application/json";
55
-
type Output<'de> = GetSubjectsOutput<'de>;
56
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
55
+
type Output = GetSubjectsOutput<'de>;
56
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
57
57
}
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/query_events.rs
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/query_events.rs
···
141
141
}
142
142
}
143
143
144
-
impl jacquard_common::types::xrpc::XrpcRequest for QueryEvents<'_> {
144
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for QueryEvents<'de> {
145
145
const NSID: &'static str = "tools.ozone.moderation.queryEvents";
146
146
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
147
147
const OUTPUT_ENCODING: &'static str = "application/json";
148
-
type Output<'de> = QueryEventsOutput<'de>;
149
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
148
+
type Output = QueryEventsOutput<'de>;
149
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
150
150
}
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/query_statuses.rs
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/query_statuses.rs
···
191
191
}
192
192
}
193
193
194
-
impl jacquard_common::types::xrpc::XrpcRequest for QueryStatuses<'_> {
194
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for QueryStatuses<'de> {
195
195
const NSID: &'static str = "tools.ozone.moderation.queryStatuses";
196
196
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
197
197
const OUTPUT_ENCODING: &'static str = "application/json";
198
-
type Output<'de> = QueryStatusesOutput<'de>;
199
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
198
+
type Output = QueryStatusesOutput<'de>;
199
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
200
200
}
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/search_repos.rs
+3
-3
crates/jacquard-api/src/tools_ozone/moderation/search_repos.rs
···
68
68
}
69
69
}
70
70
71
-
impl jacquard_common::types::xrpc::XrpcRequest for SearchRepos<'_> {
71
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchRepos<'de> {
72
72
const NSID: &'static str = "tools.ozone.moderation.searchRepos";
73
73
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
74
74
const OUTPUT_ENCODING: &'static str = "application/json";
75
-
type Output<'de> = SearchReposOutput<'de>;
76
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
75
+
type Output = SearchReposOutput<'de>;
76
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
77
77
}
+3
-3
crates/jacquard-api/src/tools_ozone/safelink/add_rule.rs
+3
-3
crates/jacquard-api/src/tools_ozone/safelink/add_rule.rs
···
137
137
}
138
138
}
139
139
140
-
impl jacquard_common::types::xrpc::XrpcRequest for AddRule<'_> {
140
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for AddRule<'de> {
141
141
const NSID: &'static str = "tools.ozone.safelink.addRule";
142
142
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
143
143
"application/json",
144
144
);
145
145
const OUTPUT_ENCODING: &'static str = "application/json";
146
-
type Output<'de> = AddRuleOutput<'de>;
147
-
type Err<'de> = AddRuleError<'de>;
146
+
type Output = AddRuleOutput<'de>;
147
+
type Err = AddRuleError<'de>;
148
148
}
+3
-3
crates/jacquard-api/src/tools_ozone/safelink/query_events.rs
+3
-3
crates/jacquard-api/src/tools_ozone/safelink/query_events.rs
···
86
86
}
87
87
}
88
88
89
-
impl jacquard_common::types::xrpc::XrpcRequest for QueryEvents<'_> {
89
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for QueryEvents<'de> {
90
90
const NSID: &'static str = "tools.ozone.safelink.queryEvents";
91
91
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
92
92
"application/json",
93
93
);
94
94
const OUTPUT_ENCODING: &'static str = "application/json";
95
-
type Output<'de> = QueryEventsOutput<'de>;
96
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
95
+
type Output = QueryEventsOutput<'de>;
96
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
97
97
}
+3
-3
crates/jacquard-api/src/tools_ozone/safelink/query_rules.rs
+3
-3
crates/jacquard-api/src/tools_ozone/safelink/query_rules.rs
···
102
102
}
103
103
}
104
104
105
-
impl jacquard_common::types::xrpc::XrpcRequest for QueryRules<'_> {
105
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for QueryRules<'de> {
106
106
const NSID: &'static str = "tools.ozone.safelink.queryRules";
107
107
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
108
108
"application/json",
109
109
);
110
110
const OUTPUT_ENCODING: &'static str = "application/json";
111
-
type Output<'de> = QueryRulesOutput<'de>;
112
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
111
+
type Output = QueryRulesOutput<'de>;
112
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
113
113
}
+3
-3
crates/jacquard-api/src/tools_ozone/safelink/remove_rule.rs
+3
-3
crates/jacquard-api/src/tools_ozone/safelink/remove_rule.rs
···
120
120
}
121
121
}
122
122
123
-
impl jacquard_common::types::xrpc::XrpcRequest for RemoveRule<'_> {
123
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RemoveRule<'de> {
124
124
const NSID: &'static str = "tools.ozone.safelink.removeRule";
125
125
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
126
126
"application/json",
127
127
);
128
128
const OUTPUT_ENCODING: &'static str = "application/json";
129
-
type Output<'de> = RemoveRuleOutput<'de>;
130
-
type Err<'de> = RemoveRuleError<'de>;
129
+
type Output = RemoveRuleOutput<'de>;
130
+
type Err = RemoveRuleError<'de>;
131
131
}
+3
-3
crates/jacquard-api/src/tools_ozone/safelink/update_rule.rs
+3
-3
crates/jacquard-api/src/tools_ozone/safelink/update_rule.rs
···
126
126
}
127
127
}
128
128
129
-
impl jacquard_common::types::xrpc::XrpcRequest for UpdateRule<'_> {
129
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateRule<'de> {
130
130
const NSID: &'static str = "tools.ozone.safelink.updateRule";
131
131
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
132
132
"application/json",
133
133
);
134
134
const OUTPUT_ENCODING: &'static str = "application/json";
135
-
type Output<'de> = UpdateRuleOutput<'de>;
136
-
type Err<'de> = UpdateRuleError<'de>;
135
+
type Output = UpdateRuleOutput<'de>;
136
+
type Err = UpdateRuleError<'de>;
137
137
}
+4
-4
crates/jacquard-api/src/tools_ozone/server/get_config.rs
+4
-4
crates/jacquard-api/src/tools_ozone/server/get_config.rs
···
46
46
}
47
47
48
48
/// XRPC request marker type
49
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
49
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
50
50
pub struct GetConfig;
51
-
impl jacquard_common::types::xrpc::XrpcRequest for GetConfig {
51
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetConfig {
52
52
const NSID: &'static str = "tools.ozone.server.getConfig";
53
53
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
54
54
const OUTPUT_ENCODING: &'static str = "application/json";
55
-
type Output<'de> = GetConfigOutput<'de>;
56
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
55
+
type Output = GetConfigOutput<'de>;
56
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
57
57
}
58
58
59
59
#[jacquard_derive::lexicon]
+3
-3
crates/jacquard-api/src/tools_ozone/set/add_values.rs
+3
-3
crates/jacquard-api/src/tools_ozone/set/add_values.rs
···
45
45
}
46
46
}
47
47
48
-
impl jacquard_common::types::xrpc::XrpcRequest for AddValues<'_> {
48
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for AddValues<'de> {
49
49
const NSID: &'static str = "tools.ozone.set.addValues";
50
50
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
51
51
"application/json",
52
52
);
53
53
const OUTPUT_ENCODING: &'static str = "application/json";
54
-
type Output<'de> = ();
55
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
54
+
type Output = ();
55
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
56
56
}
+3
-3
crates/jacquard-api/src/tools_ozone/set/delete_set.rs
+3
-3
crates/jacquard-api/src/tools_ozone/set/delete_set.rs
···
100
100
}
101
101
}
102
102
103
-
impl jacquard_common::types::xrpc::XrpcRequest for DeleteSet<'_> {
103
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteSet<'de> {
104
104
const NSID: &'static str = "tools.ozone.set.deleteSet";
105
105
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
106
106
"application/json",
107
107
);
108
108
const OUTPUT_ENCODING: &'static str = "application/json";
109
-
type Output<'de> = DeleteSetOutput<'de>;
110
-
type Err<'de> = DeleteSetError<'de>;
109
+
type Output = DeleteSetOutput<'de>;
110
+
type Err = DeleteSetError<'de>;
111
111
}
+3
-3
crates/jacquard-api/src/tools_ozone/set/delete_values.rs
+3
-3
crates/jacquard-api/src/tools_ozone/set/delete_values.rs
···
91
91
}
92
92
}
93
93
94
-
impl jacquard_common::types::xrpc::XrpcRequest for DeleteValues<'_> {
94
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteValues<'de> {
95
95
const NSID: &'static str = "tools.ozone.set.deleteValues";
96
96
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
97
97
"application/json",
98
98
);
99
99
const OUTPUT_ENCODING: &'static str = "application/json";
100
-
type Output<'de> = ();
101
-
type Err<'de> = DeleteValuesError<'de>;
100
+
type Output = ();
101
+
type Err = DeleteValuesError<'de>;
102
102
}
+3
-3
crates/jacquard-api/src/tools_ozone/set/get_values.rs
+3
-3
crates/jacquard-api/src/tools_ozone/set/get_values.rs
···
111
111
}
112
112
}
113
113
114
-
impl jacquard_common::types::xrpc::XrpcRequest for GetValues<'_> {
114
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GetValues<'de> {
115
115
const NSID: &'static str = "tools.ozone.set.getValues";
116
116
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
117
117
const OUTPUT_ENCODING: &'static str = "application/json";
118
-
type Output<'de> = GetValuesOutput<'de>;
119
-
type Err<'de> = GetValuesError<'de>;
118
+
type Output = GetValuesOutput<'de>;
119
+
type Err = GetValuesError<'de>;
120
120
}
+3
-3
crates/jacquard-api/src/tools_ozone/set/query_sets.rs
+3
-3
crates/jacquard-api/src/tools_ozone/set/query_sets.rs
···
75
75
}
76
76
}
77
77
78
-
impl jacquard_common::types::xrpc::XrpcRequest for QuerySets<'_> {
78
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for QuerySets<'de> {
79
79
const NSID: &'static str = "tools.ozone.set.querySets";
80
80
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
81
81
const OUTPUT_ENCODING: &'static str = "application/json";
82
-
type Output<'de> = QuerySetsOutput<'de>;
83
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
82
+
type Output = QuerySetsOutput<'de>;
83
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
84
84
}
+3
-3
crates/jacquard-api/src/tools_ozone/set/upsert_set.rs
+3
-3
crates/jacquard-api/src/tools_ozone/set/upsert_set.rs
···
59
59
}
60
60
}
61
61
62
-
impl jacquard_common::types::xrpc::XrpcRequest for UpsertSet<'_> {
62
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpsertSet<'de> {
63
63
const NSID: &'static str = "tools.ozone.set.upsertSet";
64
64
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
65
65
"application/json",
66
66
);
67
67
const OUTPUT_ENCODING: &'static str = "application/json";
68
-
type Output<'de> = UpsertSetOutput<'de>;
69
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
68
+
type Output = UpsertSetOutput<'de>;
69
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
70
70
}
+3
-3
crates/jacquard-api/src/tools_ozone/setting/list_options.rs
+3
-3
crates/jacquard-api/src/tools_ozone/setting/list_options.rs
···
73
73
}
74
74
}
75
75
76
-
impl jacquard_common::types::xrpc::XrpcRequest for ListOptions<'_> {
76
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListOptions<'de> {
77
77
const NSID: &'static str = "tools.ozone.setting.listOptions";
78
78
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
79
79
const OUTPUT_ENCODING: &'static str = "application/json";
80
-
type Output<'de> = ListOptionsOutput<'de>;
81
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
80
+
type Output = ListOptionsOutput<'de>;
81
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
82
82
}
+3
-3
crates/jacquard-api/src/tools_ozone/setting/remove_options.rs
+3
-3
crates/jacquard-api/src/tools_ozone/setting/remove_options.rs
···
56
56
}
57
57
}
58
58
59
-
impl jacquard_common::types::xrpc::XrpcRequest for RemoveOptions<'_> {
59
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RemoveOptions<'de> {
60
60
const NSID: &'static str = "tools.ozone.setting.removeOptions";
61
61
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
62
62
"application/json",
63
63
);
64
64
const OUTPUT_ENCODING: &'static str = "application/json";
65
-
type Output<'de> = RemoveOptionsOutput<'de>;
66
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
65
+
type Output = RemoveOptionsOutput<'de>;
66
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
67
67
}
+3
-3
crates/jacquard-api/src/tools_ozone/setting/upsert_option.rs
+3
-3
crates/jacquard-api/src/tools_ozone/setting/upsert_option.rs
···
74
74
}
75
75
}
76
76
77
-
impl jacquard_common::types::xrpc::XrpcRequest for UpsertOption<'_> {
77
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpsertOption<'de> {
78
78
const NSID: &'static str = "tools.ozone.setting.upsertOption";
79
79
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
80
80
"application/json",
81
81
);
82
82
const OUTPUT_ENCODING: &'static str = "application/json";
83
-
type Output<'de> = UpsertOptionOutput<'de>;
84
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
83
+
type Output = UpsertOptionOutput<'de>;
84
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
85
85
}
+3
-3
crates/jacquard-api/src/tools_ozone/signature/find_correlation.rs
+3
-3
crates/jacquard-api/src/tools_ozone/signature/find_correlation.rs
···
48
48
}
49
49
}
50
50
51
-
impl jacquard_common::types::xrpc::XrpcRequest for FindCorrelation<'_> {
51
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for FindCorrelation<'de> {
52
52
const NSID: &'static str = "tools.ozone.signature.findCorrelation";
53
53
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
54
54
const OUTPUT_ENCODING: &'static str = "application/json";
55
-
type Output<'de> = FindCorrelationOutput<'de>;
56
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
55
+
type Output = FindCorrelationOutput<'de>;
56
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
57
57
}
+3
-3
crates/jacquard-api/src/tools_ozone/signature/search_accounts.rs
+3
-3
crates/jacquard-api/src/tools_ozone/signature/search_accounts.rs
···
61
61
}
62
62
}
63
63
64
-
impl jacquard_common::types::xrpc::XrpcRequest for SearchAccounts<'_> {
64
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for SearchAccounts<'de> {
65
65
const NSID: &'static str = "tools.ozone.signature.searchAccounts";
66
66
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
67
67
const OUTPUT_ENCODING: &'static str = "application/json";
68
-
type Output<'de> = SearchAccountsOutput<'de>;
69
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
68
+
type Output = SearchAccountsOutput<'de>;
69
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
70
70
}
+3
-3
crates/jacquard-api/src/tools_ozone/team/add_member.rs
+3
-3
crates/jacquard-api/src/tools_ozone/team/add_member.rs
···
108
108
}
109
109
}
110
110
111
-
impl jacquard_common::types::xrpc::XrpcRequest for AddMember<'_> {
111
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for AddMember<'de> {
112
112
const NSID: &'static str = "tools.ozone.team.addMember";
113
113
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
114
114
"application/json",
115
115
);
116
116
const OUTPUT_ENCODING: &'static str = "application/json";
117
-
type Output<'de> = AddMemberOutput<'de>;
118
-
type Err<'de> = AddMemberError<'de>;
117
+
type Output = AddMemberOutput<'de>;
118
+
type Err = AddMemberError<'de>;
119
119
}
+3
-3
crates/jacquard-api/src/tools_ozone/team/delete_member.rs
+3
-3
crates/jacquard-api/src/tools_ozone/team/delete_member.rs
···
98
98
}
99
99
}
100
100
101
-
impl jacquard_common::types::xrpc::XrpcRequest for DeleteMember<'_> {
101
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for DeleteMember<'de> {
102
102
const NSID: &'static str = "tools.ozone.team.deleteMember";
103
103
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
104
104
"application/json",
105
105
);
106
106
const OUTPUT_ENCODING: &'static str = "application/json";
107
-
type Output<'de> = ();
108
-
type Err<'de> = DeleteMemberError<'de>;
107
+
type Output = ();
108
+
type Err = DeleteMemberError<'de>;
109
109
}
+3
-3
crates/jacquard-api/src/tools_ozone/team/list_members.rs
+3
-3
crates/jacquard-api/src/tools_ozone/team/list_members.rs
···
70
70
}
71
71
}
72
72
73
-
impl jacquard_common::types::xrpc::XrpcRequest for ListMembers<'_> {
73
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListMembers<'de> {
74
74
const NSID: &'static str = "tools.ozone.team.listMembers";
75
75
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
76
76
const OUTPUT_ENCODING: &'static str = "application/json";
77
-
type Output<'de> = ListMembersOutput<'de>;
78
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
77
+
type Output = ListMembersOutput<'de>;
78
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
79
79
}
+3
-3
crates/jacquard-api/src/tools_ozone/team/update_member.rs
+3
-3
crates/jacquard-api/src/tools_ozone/team/update_member.rs
···
112
112
}
113
113
}
114
114
115
-
impl jacquard_common::types::xrpc::XrpcRequest for UpdateMember<'_> {
115
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for UpdateMember<'de> {
116
116
const NSID: &'static str = "tools.ozone.team.updateMember";
117
117
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
118
118
"application/json",
119
119
);
120
120
const OUTPUT_ENCODING: &'static str = "application/json";
121
-
type Output<'de> = UpdateMemberOutput<'de>;
122
-
type Err<'de> = UpdateMemberError<'de>;
121
+
type Output = UpdateMemberOutput<'de>;
122
+
type Err = UpdateMemberError<'de>;
123
123
}
+3
-3
crates/jacquard-api/src/tools_ozone/verification/grant_verifications.rs
+3
-3
crates/jacquard-api/src/tools_ozone/verification/grant_verifications.rs
···
85
85
}
86
86
}
87
87
88
-
impl jacquard_common::types::xrpc::XrpcRequest for GrantVerifications<'_> {
88
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for GrantVerifications<'de> {
89
89
const NSID: &'static str = "tools.ozone.verification.grantVerifications";
90
90
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
91
91
"application/json",
92
92
);
93
93
const OUTPUT_ENCODING: &'static str = "application/json";
94
-
type Output<'de> = GrantVerificationsOutput<'de>;
95
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
94
+
type Output = GrantVerificationsOutput<'de>;
95
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
96
96
}
97
97
98
98
#[jacquard_derive::lexicon]
+3
-3
crates/jacquard-api/src/tools_ozone/verification/list_verifications.rs
+3
-3
crates/jacquard-api/src/tools_ozone/verification/list_verifications.rs
···
81
81
}
82
82
}
83
83
84
-
impl jacquard_common::types::xrpc::XrpcRequest for ListVerifications<'_> {
84
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for ListVerifications<'de> {
85
85
const NSID: &'static str = "tools.ozone.verification.listVerifications";
86
86
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Query;
87
87
const OUTPUT_ENCODING: &'static str = "application/json";
88
-
type Output<'de> = ListVerificationsOutput<'de>;
89
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
88
+
type Output = ListVerificationsOutput<'de>;
89
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
90
90
}
+3
-3
crates/jacquard-api/src/tools_ozone/verification/revoke_verifications.rs
+3
-3
crates/jacquard-api/src/tools_ozone/verification/revoke_verifications.rs
···
69
69
}
70
70
}
71
71
72
-
impl jacquard_common::types::xrpc::XrpcRequest for RevokeVerifications<'_> {
72
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for RevokeVerifications<'de> {
73
73
const NSID: &'static str = "tools.ozone.verification.revokeVerifications";
74
74
const METHOD: jacquard_common::types::xrpc::XrpcMethod = jacquard_common::types::xrpc::XrpcMethod::Procedure(
75
75
"application/json",
76
76
);
77
77
const OUTPUT_ENCODING: &'static str = "application/json";
78
-
type Output<'de> = RevokeVerificationsOutput<'de>;
79
-
type Err<'de> = jacquard_common::types::xrpc::GenericError<'de>;
78
+
type Output = RevokeVerificationsOutput<'de>;
79
+
type Err = jacquard_common::types::xrpc::GenericError<'de>;
80
80
}
81
81
82
82
///Error object for failed revocations
+29
crates/jacquard-axum/Cargo.toml
+29
crates/jacquard-axum/Cargo.toml
···
1
+
[package]
2
+
name = "jacquard-axum"
3
+
edition.workspace = true
4
+
version.workspace = true
5
+
authors.workspace = true
6
+
repository.workspace = true
7
+
keywords.workspace = true
8
+
categories.workspace = true
9
+
readme.workspace = true
10
+
exclude.workspace = true
11
+
homepage.workspace = true
12
+
license.workspace = true
13
+
description = "Axum server helpers for Jacquard"
14
+
15
+
[dependencies]
16
+
axum = "0.8.6"
17
+
bytes.workspace = true
18
+
jacquard = { version = "0.3.0", path = "../jacquard" }
19
+
jacquard-common = { version = "0.3.0", path = "../jacquard-common", features = ["reqwest-client"] }
20
+
miette.workspace = true
21
+
serde.workspace = true
22
+
serde_ipld_dagcbor.workspace = true
23
+
serde_json.workspace = true
24
+
thiserror.workspace = true
25
+
tokio.workspace = true
26
+
27
+
[dev-dependencies]
28
+
axum-test = "18.1.0"
29
+
tokio-test = "0.4.4"
+80
crates/jacquard-axum/src/lib.rs
+80
crates/jacquard-axum/src/lib.rs
···
1
+
use axum::{
2
+
Router,
3
+
body::{Body, Bytes},
4
+
extract::{FromRequest, Request},
5
+
http::{
6
+
StatusCode,
7
+
header::{HeaderValue, USER_AGENT},
8
+
uri::PathAndQuery,
9
+
},
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
+
17
+
pub struct ExtractXrpc<R: XrpcRequest<'static>>(R);
18
+
19
+
impl<S, R> FromRequest<S> for ExtractXrpc<R>
20
+
where
21
+
Bytes: FromRequest<S>,
22
+
S: Send + Sync,
23
+
R: for<'de> XrpcRequest<'de> + for<'de> serde::Deserialize<'de>,
24
+
{
25
+
type Rejection = Response;
26
+
27
+
async fn from_request(req: Request, state: &S) -> Result<Self, Self::Rejection> {
28
+
match R::METHOD {
29
+
XrpcMethod::Procedure(encoding) => {
30
+
let body = Bytes::from_request(req, state)
31
+
.await
32
+
.map_err(IntoResponse::into_response)?;
33
+
match encoding {
34
+
"application/json" => {
35
+
let value: R = serde_json::from_slice::<R>(&body).map_err(|e| {
36
+
(
37
+
StatusCode::BAD_REQUEST,
38
+
serde_json::to_string(&json!({
39
+
"error": "InvalidRequest",
40
+
"message": XrpcRequestError::JsonDecodeError(e).to_string()
41
+
}))
42
+
.expect("Failed to serialize error response"),
43
+
)
44
+
.into_response()
45
+
})?;
46
+
Ok(ExtractXrpc(value))
47
+
}
48
+
"*/*" => {
49
+
//
50
+
todo!()
51
+
}
52
+
_ => todo!(),
53
+
}
54
+
}
55
+
XrpcMethod::Query => {
56
+
if let Some(path_query) = req.uri().path_and_query() {
57
+
let path = path_query.path();
58
+
let query = path_query.query();
59
+
if path.ends_with(R::NSID) {
60
+
// success
61
+
} else {
62
+
// wrong endpoint
63
+
}
64
+
}
65
+
66
+
todo!()
67
+
}
68
+
}
69
+
}
70
+
}
71
+
72
+
#[derive(Debug, thiserror::Error, miette::Diagnostic)]
73
+
pub enum XrpcRequestError {
74
+
#[error("Unsupported encoding: {0}")]
75
+
UnsupportedEncoding(String),
76
+
#[error("JSON decode error: {0}")]
77
+
JsonDecodeError(serde_json::Error),
78
+
#[error("UTF-8 decode error: {0}")]
79
+
Utf8DecodeError(std::string::FromUtf8Error),
80
+
}
+15
crates/jacquard-common/src/error.rs
+15
crates/jacquard-common/src/error.rs
···
1
1
//! Error types for XRPC client operations
2
2
3
3
use bytes::Bytes;
4
+
use serde::{Deserialize, Serialize};
4
5
5
6
use crate::types::xrpc::EncodeError;
6
7
···
156
157
#[error("Authentication error: {0:?}")]
157
158
Other(http::HeaderValue),
158
159
}
160
+
161
+
impl crate::IntoStatic for AuthError {
162
+
type Output = AuthError;
163
+
164
+
fn into_static(self) -> Self::Output {
165
+
match self {
166
+
AuthError::TokenExpired => AuthError::TokenExpired,
167
+
AuthError::InvalidToken => AuthError::InvalidToken,
168
+
AuthError::RefreshFailed => AuthError::RefreshFailed,
169
+
AuthError::NotAuthenticated => AuthError::NotAuthenticated,
170
+
AuthError::Other(header) => AuthError::Other(header),
171
+
}
172
+
}
173
+
}
+168
-72
crates/jacquard-common/src/types/xrpc.rs
+168
-72
crates/jacquard-common/src/types/xrpc.rs
···
17
17
};
18
18
use serde::{Deserialize, Serialize};
19
19
use smol_str::SmolStr;
20
-
use std::fmt::{self, Debug};
20
+
use std::fmt::{self, Debug, Display};
21
21
use std::{error::Error, marker::PhantomData};
22
22
use url::Url;
23
23
24
-
use crate::IntoStatic;
25
24
use crate::error::TransportError;
26
25
use crate::http_client::HttpClient;
27
26
use crate::types::value::Data;
28
27
use crate::{AuthorizationToken, error::AuthError};
29
28
use crate::{CowStr, error::XrpcResult};
29
+
use crate::{IntoStatic, error::DecodeError};
30
30
31
31
/// Error type for encoding XRPC requests
32
32
#[derive(Debug, thiserror::Error, miette::Diagnostic)]
···
83
83
/// HTTP method, encoding types, and associated output types.
84
84
///
85
85
/// The trait is implemented on the request parameters/input type itself.
86
-
pub trait XrpcRequest: Serialize {
86
+
pub trait XrpcRequest<'de>: Serialize + Deserialize<'de> {
87
87
/// The NSID for this XRPC method
88
88
const NSID: &'static str;
89
89
···
94
94
const OUTPUT_ENCODING: &'static str;
95
95
96
96
/// Response output type
97
-
type Output<'de>: Deserialize<'de> + IntoStatic;
97
+
type Output: Deserialize<'de> + IntoStatic;
98
98
99
99
/// Error type for this request
100
-
type Err<'de>: Error + Deserialize<'de> + IntoStatic;
100
+
type Err: Error + Deserialize<'de> + IntoStatic;
101
101
102
102
/// Encode the request body for procedures.
103
103
///
···
105
105
fn encode_body(&self) -> Result<Vec<u8>, EncodeError> {
106
106
Ok(serde_json::to_vec(self)?)
107
107
}
108
+
109
+
/// Decode the request body for procedures.
110
+
///
111
+
/// Default implementation deserializes from JSON. Override for non-JSON encodings.
112
+
fn decode_body(&self, body: &'de [u8]) -> Result<Box<Self>, DecodeError> {
113
+
let body: Self = serde_json::from_slice(body).map_err(|e| DecodeError::Json(e))?;
114
+
115
+
Ok(Box::new(body))
116
+
}
108
117
}
109
118
110
119
/// Error type for XRPC endpoints that don't define any errors
111
120
#[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize)]
112
-
#[serde(bound(deserialize = "'de: 'a"))]
113
-
pub struct GenericError<'a>(Data<'a>);
121
+
pub struct GenericError<'a>(#[serde(borrow)] Data<'a>);
114
122
115
-
impl fmt::Display for GenericError<'_> {
123
+
impl<'de> fmt::Display for GenericError<'de> {
116
124
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
117
125
self.0.fmt(f)
118
126
}
···
270
278
/// inspect the header for `error="invalid_token"` or `error="use_dpop_nonce"` and react
271
279
/// (refresh/retry). If the header is absent, the 401 body flows through to `Response` and
272
280
/// can be parsed/mapped to `AuthError` as appropriate.
273
-
pub async fn send<R: XrpcRequest + Send>(self, request: &R) -> XrpcResult<Response<R>> {
281
+
pub async fn send<'de, R>(self, request: &'de R) -> XrpcResult<Response<'de, R>>
282
+
where
283
+
R: XrpcRequest<'de> + Send,
284
+
{
274
285
let http_request = build_http_request(&self.base, request, &self.opts)
275
286
.map_err(crate::error::TransportError::from)?;
276
287
···
282
293
283
294
process_response(http_response)
284
295
}
296
+
297
+
/// Send the given typed XRPC request and return an owned response wrapper.
298
+
///
299
+
/// Note on 401 handling:
300
+
/// - When the server returns 401 with a `WWW-Authenticate` header, this surfaces as
301
+
/// `ClientError::Auth(AuthError::Other(header))` so higher layers (e.g., OAuth/DPoP) can
302
+
/// inspect the header for `error="invalid_token"` or `error="use_dpop_nonce"` and react
303
+
/// (refresh/retry). If the header is absent, the 401 body flows through to `Response` and
304
+
/// can be parsed/mapped to `AuthError` as appropriate.
305
+
pub async fn send_owned<'de, R, S>(self, request: R) -> XrpcResult<OwnedResponse<S>>
306
+
where
307
+
R: XrpcRequest<'de> + Send + 'de,
308
+
S: XrpcRequest<'static>,
309
+
{
310
+
let http_request = build_http_request(&self.base, &request, &self.opts)
311
+
.map_err(crate::error::TransportError::from)?;
312
+
313
+
let http_response = self
314
+
.client
315
+
.send_http(http_request)
316
+
.await
317
+
.map_err(|e| crate::error::TransportError::Other(Box::new(e)))?;
318
+
319
+
let resp: XrpcResult<Response<'de, R>> = process_response(http_response);
320
+
match resp {
321
+
Ok(response) => Ok(response.owned()),
322
+
Err(err) => Err(err),
323
+
}
324
+
}
285
325
}
286
326
287
327
/// Process the HTTP response from the server into a proper xrpc response statelessly.
288
328
///
289
329
/// Exposed to make things more easily pluggable
290
330
#[inline]
291
-
pub fn process_response<R: XrpcRequest + Send>(
331
+
pub fn process_response<'de, R: XrpcRequest<'de> + Send>(
292
332
http_response: http::Response<Vec<u8>>,
293
-
) -> XrpcResult<Response<R>> {
333
+
) -> XrpcResult<Response<'de, R>> {
294
334
let status = http_response.status();
295
335
// If the server returned 401 with a WWW-Authenticate header, expose it so higher layers
296
336
// (e.g., DPoP handling) can detect `error="invalid_token"` and trigger refresh.
···
340
380
}
341
381
342
382
/// Build an HTTP request for an XRPC call given base URL and options
343
-
pub fn build_http_request<R: XrpcRequest>(
383
+
pub fn build_http_request<'de, R: XrpcRequest<'de>>(
344
384
base: &Url,
345
385
req: &R,
346
386
opts: &CallOptions<'_>,
···
418
458
/// XRPC response wrapper that owns the response buffer
419
459
///
420
460
/// Allows borrowing from the buffer when parsing to avoid unnecessary allocations.
421
-
/// Supports both borrowed parsing (with `parse()`) and owned parsing (with `into_output()`).
422
-
pub struct Response<R: XrpcRequest> {
461
+
pub struct Response<'de, R: XrpcRequest<'de>> {
462
+
buffer: Bytes,
463
+
status: StatusCode,
464
+
_marker: PhantomData<&'de R>,
465
+
}
466
+
467
+
/// Owned response wrapper which allows taking ownership of the resulting response type
468
+
pub struct OwnedResponse<R: XrpcRequest<'static>> {
423
469
buffer: Bytes,
424
470
status: StatusCode,
425
471
_marker: PhantomData<R>,
426
472
}
427
473
428
-
impl<R: XrpcRequest> Response<R> {
474
+
impl<'de, R: XrpcRequest<'de>> Response<'de, R> {
429
475
/// Create a new response from a buffer and status code
430
476
pub fn new(buffer: Bytes, status: StatusCode) -> Self {
431
477
Self {
···
441
487
}
442
488
443
489
/// Parse the response, borrowing from the internal buffer
444
-
pub fn parse(&self) -> Result<R::Output<'_>, XrpcError<R::Err<'_>>> {
490
+
pub fn parse(&'de self) -> Result<R::Output, XrpcError<R::Err>> {
445
491
// Use a helper to make lifetime inference work
446
-
fn parse_output<'b, R: XrpcRequest>(
492
+
fn parse_output<'b, R: XrpcRequest<'b>>(
447
493
buffer: &'b [u8],
448
-
) -> Result<R::Output<'b>, serde_json::Error> {
494
+
) -> Result<R::Output, serde_json::Error> {
449
495
serde_json::from_slice(buffer)
450
496
}
451
497
452
-
fn parse_error<'b, R: XrpcRequest>(
498
+
fn parse_error<'b, R: XrpcRequest<'b>>(
453
499
buffer: &'b [u8],
454
-
) -> Result<R::Err<'b>, serde_json::Error> {
500
+
) -> Result<R::Err, serde_json::Error> {
455
501
serde_json::from_slice(buffer)
456
502
}
457
503
458
504
// 200: parse as output
459
505
if self.status.is_success() {
460
-
match parse_output::<R>(&self.buffer) {
506
+
match parse_output::<'de, R>(&self.buffer) {
461
507
Ok(output) => Ok(output),
462
508
Err(e) => Err(XrpcError::Decode(e)),
463
509
}
464
510
// 400: try typed XRPC error, fallback to generic error
465
511
} else if self.status.as_u16() == 400 {
466
-
match parse_error::<R>(&self.buffer) {
512
+
match parse_error::<'de, R>(&self.buffer) {
467
513
Ok(error) => Err(XrpcError::Xrpc(error)),
468
514
Err(_) => {
469
515
// Fallback to generic error (InvalidRequest, ExpiredToken, etc.)
···
474
520
generic.http_status = self.status;
475
521
// Map auth-related errors to AuthError
476
522
match generic.error.as_str() {
477
-
"ExpiredToken" => Err(XrpcError::Auth(AuthError::TokenExpired)),
478
-
"InvalidToken" => Err(XrpcError::Auth(AuthError::InvalidToken)),
523
+
"ExpiredToken" => {
524
+
Err(XrpcError::<R::Err>::Auth(AuthError::TokenExpired))
525
+
}
526
+
"InvalidToken" => {
527
+
Err(XrpcError::<R::Err>::Auth(AuthError::InvalidToken))
528
+
}
479
529
_ => Err(XrpcError::Generic(generic)),
480
530
}
481
531
}
···
491
541
generic.method = R::METHOD.as_str();
492
542
generic.http_status = self.status;
493
543
match generic.error.as_str() {
494
-
"ExpiredToken" => Err(XrpcError::Auth(AuthError::TokenExpired)),
495
-
"InvalidToken" => Err(XrpcError::Auth(AuthError::InvalidToken)),
496
-
_ => Err(XrpcError::Auth(AuthError::NotAuthenticated)),
544
+
"ExpiredToken" => Err(XrpcError::<R::Err>::Auth(AuthError::TokenExpired)),
545
+
"InvalidToken" => Err(XrpcError::<R::Err>::Auth(AuthError::InvalidToken)),
546
+
_ => Err(XrpcError::<R::Err>::Auth(AuthError::NotAuthenticated)),
497
547
}
498
548
}
499
549
Err(e) => Err(XrpcError::Decode(e)),
···
501
551
}
502
552
}
503
553
554
+
/// Get the raw buffer
555
+
pub fn buffer(&self) -> &Bytes {
556
+
&self.buffer
557
+
}
558
+
559
+
/// Take ownership of the response so the original can be dropped
560
+
pub fn owned<S>(&self) -> OwnedResponse<S>
561
+
where
562
+
S: XrpcRequest<'static>,
563
+
{
564
+
OwnedResponse {
565
+
buffer: self.buffer.clone(),
566
+
status: self.status,
567
+
_marker: std::marker::PhantomData,
568
+
}
569
+
}
570
+
}
571
+
572
+
impl<R: XrpcRequest<'static>> OwnedResponse<R> {
504
573
/// Parse the response into an owned output
505
-
pub fn into_output(self) -> Result<R::Output<'static>, XrpcError<R::Err<'static>>>
574
+
pub fn output(self) -> Result<R::Output, XrpcError<R::Err>>
506
575
where
507
-
for<'a> R::Output<'a>: IntoStatic<Output = R::Output<'static>>,
508
-
for<'a> R::Err<'a>: IntoStatic<Output = R::Err<'static>>,
576
+
for<'a> R::Output: IntoStatic<Output = R::Output>,
577
+
for<'a> R::Err: IntoStatic<Output = R::Err>,
509
578
{
510
579
// Use a helper to make lifetime inference work
511
-
fn parse_output<'b, R: XrpcRequest>(
512
-
buffer: &'b [u8],
513
-
) -> Result<R::Output<'b>, serde_json::Error> {
514
-
serde_json::from_slice(buffer)
580
+
fn parse_output<'b, R: XrpcRequest<'b>>(
581
+
buffer: Box<[u8]>,
582
+
) -> Result<R::Output, serde_json::Error> {
583
+
let buf: &'static [u8] = Box::leak(buffer);
584
+
serde_json::from_slice(buf)
515
585
}
516
586
517
-
fn parse_error<'b, R: XrpcRequest>(
518
-
buffer: &'b [u8],
519
-
) -> Result<R::Err<'b>, serde_json::Error> {
520
-
serde_json::from_slice(buffer)
587
+
fn parse_error<'b, R: XrpcRequest<'b>>(
588
+
buffer: Box<[u8]>,
589
+
) -> Result<R::Err, serde_json::Error> {
590
+
let buf: &'static [u8] = Box::leak(buffer);
591
+
serde_json::from_slice(buf)
521
592
}
522
593
523
594
// 200: parse as output
524
595
if self.status.is_success() {
525
-
match parse_output::<R>(&self.buffer) {
596
+
match parse_output::<'static, R>(Box::from(self.buffer.as_ref())) {
526
597
Ok(output) => Ok(output.into_static()),
527
-
Err(e) => Err(XrpcError::Decode(e)),
598
+
Err(e) => Err(XrpcError::<R::Err>::Decode(e).into_static()),
528
599
}
529
600
// 400: try typed XRPC error, fallback to generic error
530
601
} else if self.status.as_u16() == 400 {
531
-
match parse_error::<R>(&self.buffer) {
532
-
Ok(error) => Err(XrpcError::Xrpc(error.into_static())),
602
+
let result = match parse_error::<'static, R>(Box::from(self.buffer.as_ref())) {
603
+
Ok(error) => XrpcError::Xrpc(error),
533
604
Err(_) => {
534
605
// Fallback to generic error (InvalidRequest, ExpiredToken, etc.)
535
606
match serde_json::from_slice::<GenericXrpcError>(&self.buffer) {
···
539
610
generic.http_status = self.status;
540
611
// Map auth-related errors to AuthError
541
612
match generic.error.as_ref() {
542
-
"ExpiredToken" => Err(XrpcError::Auth(AuthError::TokenExpired)),
543
-
"InvalidToken" => Err(XrpcError::Auth(AuthError::InvalidToken)),
544
-
_ => Err(XrpcError::Generic(generic)),
613
+
"ExpiredToken" => {
614
+
XrpcError::<R::Err>::Auth(AuthError::TokenExpired)
615
+
}
616
+
"InvalidToken" => {
617
+
XrpcError::<R::Err>::Auth(AuthError::InvalidToken)
618
+
}
619
+
_ => XrpcError::Generic(generic),
545
620
}
546
621
}
547
-
Err(e) => Err(XrpcError::Decode(e)),
622
+
Err(e) => XrpcError::Decode(e),
548
623
}
549
624
}
550
-
}
625
+
};
626
+
Err(result.into_static())
551
627
// 401: always auth error
552
628
} else {
553
-
match serde_json::from_slice::<GenericXrpcError>(&self.buffer) {
629
+
let result = match serde_json::from_slice::<GenericXrpcError>(&self.buffer) {
554
630
Ok(mut generic) => {
555
631
let status = self.status;
556
632
generic.nsid = R::NSID;
557
633
generic.method = R::METHOD.as_str();
558
634
generic.http_status = status;
559
635
match generic.error.as_ref() {
560
-
"ExpiredToken" => Err(XrpcError::Auth(AuthError::TokenExpired)),
561
-
"InvalidToken" => Err(XrpcError::Auth(AuthError::InvalidToken)),
562
-
_ => Err(XrpcError::Auth(AuthError::NotAuthenticated)),
636
+
"ExpiredToken" => XrpcError::<R::Err>::Auth(AuthError::TokenExpired),
637
+
"InvalidToken" => XrpcError::<R::Err>::Auth(AuthError::InvalidToken),
638
+
_ => XrpcError::<R::Err>::Auth(AuthError::NotAuthenticated),
563
639
}
564
640
}
565
-
Err(e) => Err(XrpcError::Decode(e)),
566
-
}
641
+
Err(e) => XrpcError::Decode(e),
642
+
};
643
+
Err(result.into_static())
567
644
}
568
645
}
569
-
570
-
/// Get the raw buffer
571
-
pub fn buffer(&self) -> &Bytes {
572
-
&self.buffer
573
-
}
574
646
}
575
647
576
648
/// Generic XRPC error format for untyped errors like InvalidRequest
577
649
///
578
650
/// Used when the error doesn't match the endpoint's specific error enum
579
-
#[derive(Debug, Clone, Deserialize)]
651
+
#[derive(Debug, Clone, Deserialize, Serialize)]
580
652
pub struct GenericXrpcError {
581
653
/// Error code (e.g., "InvalidRequest")
582
654
pub error: SmolStr,
···
611
683
}
612
684
}
613
685
686
+
impl IntoStatic for GenericXrpcError {
687
+
type Output = Self;
688
+
689
+
fn into_static(self) -> Self::Output {
690
+
self
691
+
}
692
+
}
693
+
614
694
impl std::error::Error for GenericXrpcError {}
615
695
616
696
/// XRPC-specific errors returned from endpoints
···
618
698
/// Represents errors returned in the response body
619
699
/// Type parameter `E` is the endpoint's specific error enum type.
620
700
#[derive(Debug, thiserror::Error, miette::Diagnostic)]
621
-
pub enum XrpcError<E: std::error::Error + IntoStatic> {
701
+
pub enum XrpcError<E: Debug + Display + IntoStatic> {
622
702
/// Typed XRPC error from the endpoint's specific error enum
623
703
#[error("XRPC error: {0}")]
624
704
#[diagnostic(code(jacquard_common::xrpc::typed))]
···
640
720
Decode(#[from] serde_json::Error),
641
721
}
642
722
723
+
impl<E: std::error::Error + IntoStatic> IntoStatic for XrpcError<E>
724
+
where
725
+
<E as crate::into_static::IntoStatic>::Output: IntoStatic,
726
+
<E as crate::into_static::IntoStatic>::Output: Debug + Display,
727
+
{
728
+
type Output = XrpcError<E::Output>;
729
+
fn into_static(self) -> Self::Output {
730
+
match self {
731
+
XrpcError::Xrpc(e) => XrpcError::Xrpc(e.into_static()),
732
+
XrpcError::Auth(e) => XrpcError::Auth(e.into_static()),
733
+
XrpcError::Generic(e) => XrpcError::Generic(e),
734
+
XrpcError::Decode(e) => XrpcError::Decode(e),
735
+
}
736
+
}
737
+
}
738
+
643
739
#[cfg(test)]
644
740
mod tests {
645
741
use super::*;
646
742
use serde::{Deserialize, Serialize};
647
743
648
-
#[derive(Serialize)]
744
+
#[derive(Serialize, Deserialize)]
649
745
struct DummyReq;
650
746
651
747
#[derive(Deserialize, Debug, thiserror::Error)]
···
659
755
}
660
756
}
661
757
662
-
impl XrpcRequest for DummyReq {
758
+
impl<'de> XrpcRequest<'de> for DummyReq {
663
759
const NSID: &'static str = "test.dummy";
664
760
const METHOD: XrpcMethod = XrpcMethod::Procedure("application/json");
665
761
const OUTPUT_ENCODING: &'static str = "application/json";
666
-
type Output<'de> = ();
667
-
type Err<'de> = DummyErr<'de>;
762
+
type Output = ();
763
+
type Err = DummyErr<'de>;
668
764
}
669
765
670
766
#[test]
···
706
802
707
803
#[test]
708
804
fn no_double_slash_in_path() {
709
-
#[derive(Serialize)]
805
+
#[derive(Serialize, Deserialize)]
710
806
struct Req;
711
807
#[derive(Deserialize, Debug, thiserror::Error)]
712
808
#[error("{0}")]
···
717
813
Err(self.0.into_static())
718
814
}
719
815
}
720
-
impl XrpcRequest for Req {
816
+
impl<'de> XrpcRequest<'de> for Req {
721
817
const NSID: &'static str = "com.example.test";
722
818
const METHOD: XrpcMethod = XrpcMethod::Query;
723
819
const OUTPUT_ENCODING: &'static str = "application/json";
724
-
type Output<'de> = ();
725
-
type Err<'de> = Err<'de>;
820
+
type Output = ();
821
+
type Err = Err<'de>;
726
822
}
727
823
728
824
let opts = CallOptions::default();
···
749
845
async { CallOptions::default() }
750
846
}
751
847
/// Send an XRPC request and parse the response
752
-
fn send<R: XrpcRequest + Send>(
753
-
self,
754
-
request: &R,
755
-
) -> impl Future<Output = XrpcResult<Response<R>>>;
848
+
fn send<'de, R: XrpcRequest<'de> + Send>(
849
+
&self,
850
+
request: &'de R,
851
+
) -> impl Future<Output = XrpcResult<Response<'de, R>>>;
756
852
}
+16
-10
crates/jacquard-identity/src/lib.rs
+16
-10
crates/jacquard-identity/src/lib.rs
···
19
19
ResolverOptions,
20
20
};
21
21
use bytes::Bytes;
22
-
use jacquard_api::com_atproto::identity::resolve_did;
22
+
use jacquard_api::com_atproto::identity::resolve_did::{self, ResolveDid};
23
23
use jacquard_api::com_atproto::identity::resolve_handle::ResolveHandle;
24
24
use jacquard_common::error::TransportError;
25
25
use jacquard_common::http_client::HttpClient;
26
26
use jacquard_common::types::did::Did;
27
27
use jacquard_common::types::did_doc::DidDocument;
28
28
use jacquard_common::types::ident::AtIdentifier;
29
-
use jacquard_common::types::xrpc::XrpcExt;
29
+
use jacquard_common::types::xrpc::{OwnedResponse, XrpcExt};
30
30
use jacquard_common::{IntoStatic, types::string::Handle};
31
31
use percent_encoding::percent_decode_str;
32
32
use reqwest::StatusCode;
···
199
199
Some(u) => u.clone(),
200
200
None => return Err(IdentityError::InvalidWellKnown),
201
201
};
202
-
let req = ResolveHandle::new().handle((*handle).clone()).build();
202
+
let req = ResolveHandle::new()
203
+
.handle(handle.clone().into_static())
204
+
.build();
203
205
let resp = self
204
206
.http
205
207
.xrpc(pds)
206
208
.send(&req)
207
209
.await
208
210
.map_err(|e| IdentityError::Xrpc(e.to_string()))?;
209
-
let out = resp
210
-
.into_output()
211
+
let owned: OwnedResponse<ResolveHandle<'static>> = resp.owned();
212
+
let out = owned
213
+
.output()
211
214
.map_err(|e| IdentityError::Xrpc(e.to_string()))?;
212
215
Did::new_owned(out.did.as_str())
213
216
.map(|d| d.into_static())
···
230
233
.send(&req)
231
234
.await
232
235
.map_err(|e| IdentityError::Xrpc(e.to_string()))?;
233
-
let out = resp
234
-
.into_output()
236
+
let owned: OwnedResponse<ResolveDid<'static>> = resp.owned();
237
+
let out = owned
238
+
.output()
235
239
.map_err(|e| IdentityError::Xrpc(e.to_string()))?;
236
240
let doc_json = serde_json::to_value(&out.did_doc)?;
237
241
let s = serde_json::to_string(&doc_json)?;
···
255
259
};
256
260
let mut url = base;
257
261
url.set_path("/xrpc/com.bad-example.identity.resolveMiniDoc");
258
-
if let Ok(qs) =
259
-
serde_html_form::to_string(&resolve_did::ResolveDid::new().did(did.clone()).build())
260
-
{
262
+
if let Ok(qs) = serde_html_form::to_string(
263
+
&resolve_did::ResolveDid::new()
264
+
.did(did.clone().into_static())
265
+
.build(),
266
+
) {
261
267
url.set_query(Some(&qs));
262
268
}
263
269
let (buf, status) = self.get_json_bytes(url).await?;
+25
-8
crates/jacquard-lexicon/src/codegen.rs
+25
-8
crates/jacquard-lexicon/src/codegen.rs
···
2044
2044
quote! {}
2045
2045
};
2046
2046
2047
+
// Generate decode_body() method for binary inputs
2048
+
let decode_body_method = if is_binary_input {
2049
+
quote! {
2050
+
fn decode_body(
2051
+
&self,
2052
+
body: &'de [u8],
2053
+
) -> Result<Box<Self>, jacquard_common::error::DecodeError> {
2054
+
Ok(Box::new(Self {
2055
+
body: bytes::Bytes::copy_from_slice(body),
2056
+
}))
2057
+
}
2058
+
}
2059
+
} else {
2060
+
quote! {}
2061
+
};
2062
+
2047
2063
if has_params {
2048
2064
// Implement on the params/input struct itself
2049
2065
let request_ident = syn::Ident::new(type_base, proc_macro2::Span::call_site());
2050
2066
let impl_target = if params_has_lifetime {
2051
-
quote! { #request_ident<'_> }
2067
+
quote! { #request_ident<'de> }
2052
2068
} else {
2053
2069
quote! { #request_ident }
2054
2070
};
2055
2071
2056
2072
Ok(quote! {
2057
-
impl jacquard_common::types::xrpc::XrpcRequest for #impl_target {
2073
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for #impl_target {
2058
2074
const NSID: &'static str = #nsid;
2059
2075
const METHOD: jacquard_common::types::xrpc::XrpcMethod = #method;
2060
2076
const OUTPUT_ENCODING: &'static str = #output_encoding;
2061
2077
2062
-
type Output<'de> = #output_type;
2063
-
type Err<'de> = #error_type;
2078
+
type Output = #output_type;
2079
+
type Err = #error_type;
2064
2080
2065
2081
#encode_body_method
2082
+
#decode_body_method
2066
2083
}
2067
2084
})
2068
2085
} else {
···
2071
2088
2072
2089
Ok(quote! {
2073
2090
/// XRPC request marker type
2074
-
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
2091
+
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
2075
2092
pub struct #request_ident;
2076
2093
2077
-
impl jacquard_common::types::xrpc::XrpcRequest for #request_ident {
2094
+
impl<'de> jacquard_common::types::xrpc::XrpcRequest<'de> for #request_ident {
2078
2095
const NSID: &'static str = #nsid;
2079
2096
const METHOD: jacquard_common::types::xrpc::XrpcMethod = #method;
2080
2097
const OUTPUT_ENCODING: &'static str = #output_encoding;
2081
2098
2082
-
type Output<'de> = #output_type;
2083
-
type Err<'de> = #error_type;
2099
+
type Output = #output_type;
2100
+
type Err = #error_type;
2084
2101
}
2085
2102
})
2086
2103
}
+19
-23
crates/jacquard-oauth/src/client.rs
+19
-23
crates/jacquard-oauth/src/client.rs
···
11
11
};
12
12
use jacquard_common::{
13
13
AuthorizationToken, CowStr, IntoStatic,
14
-
error::{AuthError, ClientError, TransportError, XrpcResult},
14
+
error::{ClientError, TransportError, XrpcResult},
15
15
http_client::HttpClient,
16
16
types::{
17
17
did::Did,
18
-
xrpc::{
19
-
CallOptions, Response, XrpcClient, XrpcExt, XrpcRequest, build_http_request,
20
-
process_response,
21
-
},
18
+
xrpc::{CallOptions, Response, XrpcClient, XrpcExt, build_http_request, process_response},
22
19
},
23
20
};
24
21
use jacquard_identity::JacquardResolver;
···
378
375
self.options.read().await.clone()
379
376
}
380
377
381
-
async fn send<R: jacquard_common::types::xrpc::XrpcRequest + Send>(
382
-
self,
383
-
request: &R,
384
-
) -> XrpcResult<Response<R>> {
378
+
async fn send<'de, R: jacquard_common::types::xrpc::XrpcRequest<'de> + Send>(
379
+
&self,
380
+
request: &'de R,
381
+
) -> XrpcResult<Response<'de, R>> {
385
382
let base_uri = self.base_uri();
386
383
let mut opts = self.options.read().await.clone();
387
384
opts.auth = Some(self.access_token().await);
···
394
391
.await
395
392
.map_err(|e| TransportError::Other(Box::new(e)))?;
396
393
drop(guard);
397
-
let res = process_response(http_response);
398
-
if is_invalid_token_response(&res) {
394
+
if is_invalid_token_response(&http_response) {
399
395
opts.auth = Some(
400
396
self.refresh()
401
397
.await
···
411
407
.map_err(|e| TransportError::Other(Box::new(e)))?;
412
408
process_response(http_response)
413
409
} else {
414
-
res
410
+
process_response(http_response)
415
411
}
416
412
}
417
413
}
418
414
419
-
fn is_invalid_token_response<R: XrpcRequest>(response: &XrpcResult<Response<R>>) -> bool {
420
-
match response {
421
-
Err(ClientError::Auth(AuthError::InvalidToken)) => true,
422
-
Err(ClientError::Auth(AuthError::Other(value))) => value
423
-
.to_str()
424
-
.is_ok_and(|s| s.starts_with("DPoP ") && s.contains("error=\"invalid_token\"")),
425
-
Ok(resp) => match resp.parse() {
426
-
Err(jacquard_common::types::xrpc::XrpcError::Auth(AuthError::InvalidToken)) => true,
427
-
_ => false,
428
-
},
429
-
_ => false,
415
+
fn is_invalid_token_response(response: &http::Response<Vec<u8>>) -> bool {
416
+
let status = response.status();
417
+
if status.as_u16() == 401 {
418
+
if let Some(www_auth) = response
419
+
.headers()
420
+
.get("WWW-Authenticate")
421
+
.and_then(|v| v.to_str().ok())
422
+
{
423
+
return www_auth.starts_with("DPoP") && www_auth.contains(r#"error="invalid_token""#);
424
+
}
430
425
}
426
+
false
431
427
}
+4
-4
crates/jacquard/src/client.rs
+4
-4
crates/jacquard/src/client.rs
···
248
248
fn opts(&self) -> impl Future<Output = CallOptions<'_>> {
249
249
self.inner.opts()
250
250
}
251
-
fn send<R: XrpcRequest + Send>(
252
-
self,
253
-
request: &R,
254
-
) -> impl Future<Output = XrpcResult<Response<R>>> {
251
+
fn send<'de, R: XrpcRequest<'de> + Send>(
252
+
&self,
253
+
request: &'de R,
254
+
) -> impl Future<Output = XrpcResult<Response<'de, R>>> {
255
255
async move { self.inner.send(request).await }
256
256
}
257
257
}
+16
-14
crates/jacquard/src/client/credential_session.rs
+16
-14
crates/jacquard/src/client/credential_session.rs
···
1
1
use std::sync::Arc;
2
2
3
-
use jacquard_api::com_atproto::server::refresh_session::RefreshSession;
3
+
use jacquard_api::com_atproto::server::{
4
+
create_session::{CreateSession, CreateSessionOutput},
5
+
refresh_session::RefreshSession,
6
+
};
4
7
use jacquard_common::{
5
8
AuthorizationToken, CowStr, IntoStatic,
6
9
error::{AuthError, ClientError, XrpcResult},
···
8
11
session::SessionStore,
9
12
types::{
10
13
did::Did,
11
-
xrpc::{CallOptions, Response, XrpcClient, XrpcError, XrpcExt, XrpcRequest},
14
+
xrpc::{CallOptions, Response, XrpcClient, XrpcExt, XrpcRequest},
12
15
},
13
16
};
14
17
use tokio::sync::RwLock;
···
129
132
.send(&RefreshSession)
130
133
.await?;
131
134
let refresh = response
132
-
.into_output()
135
+
.owned::<RefreshSession>()
136
+
.output()
133
137
.map_err(|_| ClientError::Auth(jacquard_common::error::AuthError::RefreshFailed))?;
134
138
135
139
let new_session: AtpSession = refresh.into();
···
238
242
.with_options(self.options.read().await.clone())
239
243
.send(&req)
240
244
.await?;
241
-
let out = resp
242
-
.into_output()
245
+
let out: CreateSessionOutput<'_> = resp
246
+
.owned::<CreateSession<'_>>()
247
+
.output()
243
248
.map_err(|_| ClientError::Auth(AuthError::NotAuthenticated))?;
244
249
let session = AtpSession::from(out);
245
250
···
414
419
)
415
420
}
416
421
}
417
-
async fn send<R: jacquard_common::types::xrpc::XrpcRequest + Send>(
418
-
self,
419
-
request: &R,
420
-
) -> XrpcResult<Response<R>> {
422
+
async fn send<'de, R: jacquard_common::types::xrpc::XrpcRequest<'de> + Send>(
423
+
&self,
424
+
request: &'de R,
425
+
) -> XrpcResult<Response<'de, R>> {
421
426
let base_uri = self.base_uri();
422
427
let auth = self.access_token().await;
423
428
let mut opts = self.options.read().await.clone();
···
443
448
}
444
449
}
445
450
446
-
fn is_expired<R: XrpcRequest>(response: &XrpcResult<Response<R>>) -> bool {
451
+
fn is_expired<'de, R: XrpcRequest<'de>>(response: &XrpcResult<Response<'de, R>>) -> bool {
447
452
match response {
448
453
Err(ClientError::Auth(AuthError::TokenExpired)) => true,
449
-
Ok(resp) => match resp.parse() {
450
-
Err(XrpcError::Auth(AuthError::TokenExpired)) => true,
451
-
_ => false,
452
-
},
454
+
453
455
_ => false,
454
456
}
455
457
}
+2
-1
crates/jacquard/src/main.rs
+2
-1
crates/jacquard/src/main.rs