diff --git a/Cargo.lock b/Cargo.lock index 3f9a72d..25ad0c0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -114,7 +114,7 @@ dependencies = [ [[package]] name = "cloudflare-dns-updater" -version = "1.1.10" +version = "1.1.9" dependencies = [ "chrono", "confy", diff --git a/Cargo.toml b/Cargo.toml index 33820b3..8f4b833 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] authors = ["Neshura"] name = "cloudflare-dns-updater" -version = "1.1.10" +version = "1.1.9" edition = "2021" description = "Application for automatically updating Cloudflare DNS records" license = "GPL-3.0-or-later" diff --git a/src/cloudflare.rs b/src/cloudflare.rs index 37e3933..7e5335a 100644 --- a/src/cloudflare.rs +++ b/src/cloudflare.rs @@ -17,15 +17,6 @@ const API_BASE: &str = "https://api.cloudflare.com/client/v4"; struct CloudflareApiResults { result: Vec<CloudflareDnsRecord>, success: bool, - result_info: CloudflareApiPagination, -} - -#[derive(Serialize, Deserialize, Debug)] -struct CloudflareApiPagination { - count: u8, - page: u8, - per_page: u8, - total_count: u16 } #[derive(Serialize, Deserialize, Debug)] @@ -64,20 +55,14 @@ impl CloudflareZone { headers } - pub(crate) fn get_entries(&self, page: Option<u8>) -> Result<Vec<CloudflareDnsRecord>, ()> { - let endpoint = format!("{}/zones/{}/dns_records?page={}", API_BASE, self.id, page.unwrap_or(1)); + pub(crate) fn get_entries(&self) -> Result<Vec<CloudflareDnsRecord>, ()> { + let endpoint = format!("{}/zones/{}/dns_records", API_BASE, self.id); match self.get(&endpoint) { Ok(response) => { if response.status().is_success() { let entries = match response.json::<CloudflareApiResults>() { - Ok(mut data) => { - let actual_count: u16 = (data.result_info.per_page * (data.result_info.page - 1) + data.result_info.count) as u16; - if actual_count < data.result_info.total_count { - data.result.append(&mut self.get_entries(Some(page.unwrap_or(1) + 1)).expect("Pagination indicates more results")); - } - data - }, + Ok(data) => data, Err(e) => { let err_msg = format!("Unable to parse API response: {e}"); match connected_to_journal() { diff --git a/src/main.rs b/src/main.rs index 9bf43bf..f70a0a2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -579,7 +579,7 @@ fn main() { for zone in &zone_cfgs { let cf_zone = CloudflareZone::new(zone, &config); - let cf_entries = match cf_zone.get_entries(None) { + let cf_entries = match cf_zone.get_entries() { Ok(entries) => entries, Err(_) => { continue