pix_api_client/
extensions.rs1use std::borrow::Cow;
2
3use pix_brcode::qr_dinamico::PixDinamicoSchema;
4
5use crate::cob::CobrancaImediata;
6
7pub trait FromResponse<'a, T> {
8 fn from_cobranca_imediata_basic<MN: Into<Cow<'a, str>>, MC: Into<Cow<'a, str>>>(
9 cob: CobrancaImediata,
10 merchant_name: MN,
11 merchant_city: MC,
12 ) -> T;
13}
14
15impl<'a> FromResponse<'a, PixDinamicoSchema<'a>> for PixDinamicoSchema<'a> {
16 fn from_cobranca_imediata_basic<MN: Into<Cow<'a, str>>, MC: Into<Cow<'a, str>>>(
17 cob: CobrancaImediata,
18 merchant_name: MN,
19 merchant_city: MC,
20 ) -> PixDinamicoSchema<'a> {
21 let valor_original: Cow<_> = cob.valor.original.into();
22 let location = cob.location.unwrap();
23
24 PixDinamicoSchema::standard(merchant_name, merchant_city, valor_original, location.url)
25 }
26}