diff --git a/isideload/src/dev/certificates.rs b/isideload/src/dev/certificates.rs index 298da91..0b6b2e9 100644 --- a/isideload/src/dev/certificates.rs +++ b/isideload/src/dev/certificates.rs @@ -3,7 +3,7 @@ use crate::dev::{ device_type::{DeveloperDeviceType, dev_url}, teams::DeveloperTeam, }; -use plist::Data; +use plist::{Data, Date}; use plist_macro::plist; use rootcause::prelude::*; use serde::Deserialize; @@ -16,7 +16,27 @@ pub struct DevelopmentCertificate { pub certificate_id: Option, pub serial_number: Option, pub machine_id: Option, + pub machine_name: Option, pub cert_content: Option, + pub certificate_platform: Option, + pub certificate_type: Option, + pub status: Option, + pub status_code: Option, + pub expiration_date: Option, +} + +#[derive(Deserialize, Clone, Debug)] +#[serde(rename_all = "camelCase")] +pub struct CertificateType { + pub certificate_type_display_id: Option, + pub name: Option, + pub platform: Option, + pub permission_type: Option, + pub distribution_type: Option, + pub distribution_method: Option, + pub owner_type: Option, + pub days_overlap: Option, + pub max_active_certs: Option, } #[derive(Deserialize, Debug, Clone)] @@ -28,11 +48,12 @@ pub struct CertRequest { // the automatic debug implementation spams the console with the cert content bytes impl std::fmt::Debug for DevelopmentCertificate { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - f.debug_struct("DevelopmentCertificate") - .field("name", &self.name) + let mut s = f.debug_struct("DevelopmentCertificate"); + s.field("name", &self.name) .field("certificate_id", &self.certificate_id) .field("serial_number", &self.serial_number) .field("machine_id", &self.machine_id) + .field("machine_name", &self.machine_name) .field( "cert_content", &self @@ -41,6 +62,11 @@ impl std::fmt::Debug for DevelopmentCertificate { .map(|c| format!("Some([{} bytes])", c.as_ref().len())) .unwrap_or("None".to_string()), ) + .field("certificate_platform", &self.certificate_platform) + .field("certificate_type", &self.certificate_type) + .field("status", &self.status) + .field("status_code", &self.status_code) + .field("expiration_date", &self.expiration_date) .finish() } }