1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
use serde::Deserialize; #[derive(Clone, Debug, Deserialize)] pub struct Credentials { pub twitter: Twitter, #[serde(skip)] _non_exhaustive: (), } #[derive(Clone, Debug, Deserialize)] pub struct Twitter { #[serde(with = "CredentialsDef")] pub client: oauth1::Credentials<Box<str>>, #[serde(skip)] _non_exhaustive: (), } #[derive(Deserialize)] #[serde(remote = "oauth1::Credentials")] struct CredentialsDef<T> { #[serde(rename = "key")] identifier: T, secret: T, }