A decentralized music tracking and discovery platform built on AT Protocol 馃幍
rocksky.app
spotify
atproto
lastfm
musicbrainz
scrobbling
listenbrainz
2.5 kB
59 lines
1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: app.rocksky.library.getArtists
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8#[allow(unused_imports)]
9use alloc::collections::BTreeMap;
10
11#[allow(unused_imports)]
12use core::marker::PhantomData;
13use jacquard_common::deps::smol_str::SmolStr;
14use jacquard_common::types::value::Data;
15use jacquard_common::{BosStr, DefaultStr, FromStaticStr};
16use jacquard_derive::IntoStatic;
17use serde::{Deserialize, Serialize};
18
19#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
20#[serde(rename_all = "camelCase")]
21pub struct GetArtists;
22
23#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic, Default)]
24#[serde(
25 rename_all = "camelCase",
26 bound(deserialize = "S: Deserialize<'de> + BosStr")
27)]
28pub struct GetArtistsOutput<S: BosStr = DefaultStr> {
29 #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
30 pub extra_data: Option<BTreeMap<SmolStr, Data<S>>>,
31}
32
33/** Response marker for the `app.rocksky.library.getArtists` query.
34
35Implements `jacquard_common::xrpc::XrpcResp`; successful bodies decode as `Self::Output<S>`, which is `GetArtistsOutput<S>` for this endpoint.*/
36pub struct GetArtistsResponse;
37impl jacquard_common::xrpc::XrpcResp for GetArtistsResponse {
38 const NSID: &'static str = "app.rocksky.library.getArtists";
39 const ENCODING: &'static str = "application/json";
40 type Output<S: BosStr> = GetArtistsOutput<S>;
41 type Err = jacquard_common::xrpc::GenericError;
42}
43
44impl jacquard_common::xrpc::XrpcRequest for GetArtists {
45 const NSID: &'static str = "app.rocksky.library.getArtists";
46 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
47 type Response = GetArtistsResponse;
48}
49
50/** Endpoint marker for the `app.rocksky.library.getArtists` query.
51
52Path: `/xrpc/app.rocksky.library.getArtists`. The request payload type is `GetArtists`; send that request with `jacquard::Client` or use this marker through lower-level `XrpcEndpoint` APIs.*/
53pub struct GetArtistsRequest;
54impl jacquard_common::xrpc::XrpcEndpoint for GetArtistsRequest {
55 const PATH: &'static str = "/xrpc/app.rocksky.library.getArtists";
56 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Query;
57 type Request<S: BosStr> = GetArtists;
58 type Response = GetArtistsResponse;
59}