From 787f74e3eca7bec680ef25be6fe6b7ec0e3a15b5 Mon Sep 17 00:00:00 2001 From: Love Billenius Date: Thu, 25 Jul 2024 21:16:42 +0200 Subject: [PATCH] break out module --- src/{ => internet}/cloudflare.rs | 28 +--------------------------- src/internet/cloudflare_responses.rs | 27 +++++++++++++++++++++++++++ src/internet/mod.rs | 3 +++ src/lib.rs | 7 ++++--- 4 files changed, 35 insertions(+), 30 deletions(-) rename src/{ => internet}/cloudflare.rs (86%) create mode 100644 src/internet/cloudflare_responses.rs create mode 100644 src/internet/mod.rs diff --git a/src/cloudflare.rs b/src/internet/cloudflare.rs similarity index 86% rename from src/cloudflare.rs rename to src/internet/cloudflare.rs index 448d630..3f4318b 100644 --- a/src/cloudflare.rs +++ b/src/internet/cloudflare.rs @@ -3,40 +3,14 @@ use anyhow::{Context, Result}; use log::{error, info}; use reqwest::Client; -use serde::{self, Deserialize, Serialize}; use std::{ - collections::HashMap, fmt, net::{IpAddr, Ipv4Addr}, }; +use super::cloudflare_responses::{CloudflareResponse, DnsRecord}; use crate::get_current_public_ipv4; -#[derive(Serialize, Deserialize, Clone, Debug)] -struct DnsRecord { - id: Box, - #[serde(rename = "type")] - record_type: Box, - name: Box, - content: Box, - ttl: u32, - proxied: bool, - locked: bool, - zone_id: Box, - zone_name: Box, - modified_on: Box, - created_on: Box, - meta: HashMap, serde_json::Value>, -} - -#[derive(Serialize, Deserialize, Debug)] -struct CloudflareResponse { - success: bool, - errors: Box<[HashMap, serde_json::Value>]>, - messages: Box<[HashMap, serde_json::Value>]>, - result: Option>, -} - pub struct CloudflareClient where A: fmt::Display, diff --git a/src/internet/cloudflare_responses.rs b/src/internet/cloudflare_responses.rs new file mode 100644 index 0000000..2b5f991 --- /dev/null +++ b/src/internet/cloudflare_responses.rs @@ -0,0 +1,27 @@ +use std::collections::HashMap; + +use serde; +#[derive(serde::Serialize, serde::Deserialize, Clone, Debug)] +pub struct DnsRecord { + pub id: Box, + #[serde(rename = "type")] + pub record_type: Box, + pub name: Box, + pub content: Box, + pub ttl: u32, + pub proxied: bool, + pub locked: bool, + pub zone_id: Box, + pub zone_name: Box, + pub modified_on: Box, + pub created_on: Box, + pub meta: HashMap, serde_json::Value>, +} + +#[derive(serde::Serialize, serde::Deserialize, Debug)] +pub struct CloudflareResponse { + pub success: bool, + pub errors: Box<[HashMap, serde_json::Value>]>, + pub messages: Box<[HashMap, serde_json::Value>]>, + pub result: Option>, +} diff --git a/src/internet/mod.rs b/src/internet/mod.rs new file mode 100644 index 0000000..0234ddd --- /dev/null +++ b/src/internet/mod.rs @@ -0,0 +1,3 @@ +mod cloudflare; +pub mod cloudflare_responses; +pub use cloudflare::CloudflareClient; diff --git a/src/lib.rs b/src/lib.rs index 564b4d9..b855e21 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,16 +1,17 @@ // SPDX: BSD-2-Clause -mod cloudflare; mod config; mod exit_listener; mod logging; mod message_handler; mod network_change_listener; mod public_ip; -mod tests; pub mod utils; -pub use cloudflare::CloudflareClient; +mod tests; +mod internet; + +pub use internet::CloudflareClient; pub use config::{get_config_path, read_config, Config}; pub use exit_listener::ExitListener; pub use logging::init_logger;