soundcloud_rs/models/
client.rs1use serde::{Deserialize, Serialize};
2use std::fmt;
3use tokio::sync::RwLock;
4
5use crate::models::config::RetryConfig;
6
7#[derive(Debug, Serialize, Deserialize)]
8#[serde(untagged)]
9pub enum Identifier {
10 Id(i64),
11 Urn(String),
12}
13
14impl fmt::Display for Identifier {
15 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
16 match self {
17 Identifier::Id(id) => write!(f, "{id}"),
18 Identifier::Urn(urn) => write!(f, "{urn}"),
19 }
20 }
21}
22
23#[derive(Debug)]
25pub struct Client {
26 pub client_id: RwLock<String>,
27 pub retry_config: RetryConfig,
28}