use crate::{error::Result, Bravia, RequestBodyBuilder, RequestBuilder};
const ENDPOINT: &str = "encryption";
pub struct EncryptionService<'a>(&'a Bravia);
impl<'a> EncryptionService<'a> {
pub fn new(bravia: &'a Bravia) -> Self {
Self(bravia)
}
pub async fn get_public_key(&self) -> Result<String> {
let body = RequestBodyBuilder::default()
.id(1)
.method("getPublicKey")
.build()?;
let req = RequestBuilder::default()
.endpoint(ENDPOINT)
.body(body)
.has_result()
.get("publicKey".into())
.make(self.0)
.await?;
Ok(serde_json::from_value(req)?)
}
}