added the consts to the prelude and replaced derive aliases with attribute aliases

Dieser Commit ist enthalten in:
Sebastian Tobie 2025-06-25 19:23:33 +02:00
Ursprung 8b9bf2a77d
Commit b8d49d91ba
12 geänderte Dateien mit 74 neuen und 93 gelöschten Zeilen

Datei anzeigen

@ -1,4 +1,4 @@
use macro_rules_attribute::derive_alias;
use macro_rules_attribute::attribute_alias;
#[allow(unused_macros)]
macro_rules! match_error {
@ -24,9 +24,10 @@ macro_rules! attr_function {
}
}
derive_alias! {
#[derive(DefDer!)] = #[derive(Debug, Clone)];
#[derive(Hashable!)] = #[derive(Eq, Hash)];
attribute_alias! {
#[apply(ConfigFile!)] = #[derive(::serde::Deserialize, ::schemars::JsonSchema)];
#[apply(Hashable!)] = #[derive(Eq,Hash)];
#[apply(DefDer!)] = #[derive(Debug, Clone)];
}
#[allow(unused_imports)]

Datei anzeigen

@ -19,7 +19,6 @@ pub(crate) mod types;
pub(crate) mod utils;
use crate::{
consts::*,
prelude::*,
types::{
config::{

Datei anzeigen

@ -1,4 +1,5 @@
pub(crate) use crate::{
consts::*,
macros::*,
types::traits::{
FromFile as _,

Datei anzeigen

@ -19,15 +19,6 @@ use std::{
};
use crate::{
consts::{
ATTEMPTS,
FILE_MODE,
FILE_MODE_OVERWRITE,
MODE_PRIVATE,
MODE_PUBLIC,
MODE_SECRETS,
WAIT_TIME,
},
prelude::*,
types::{
self,
@ -93,8 +84,8 @@ use tokio::{
remove_file,
},
io::{
AsyncReadExt,
AsyncWriteExt,
AsyncReadExt as _,
AsyncWriteExt as _,
},
join,
};

Datei anzeigen

@ -16,20 +16,19 @@ use crate::{
},
};
use macro_rules_attribute::macro_rules_derive;
use macro_rules_attribute::apply;
use openssl::pkey::{
PKey,
Private,
};
use schemars::JsonSchema;
use serde::Deserialize;
use std::{
collections::HashMap,
net::IpAddr,
};
#[macro_rules_derive(DefDer)]
#[derive(Deserialize, JsonSchema)]
#[apply(DefDer)]
#[apply(ConfigFile)]
#[serde(deny_unknown_fields)]
pub struct General {
#[serde(default = "General::default_accounts")]
@ -84,8 +83,8 @@ impl General {
}
#[macro_rules_derive(DefDer)]
#[derive(Deserialize, JsonSchema)]
#[apply(DefDer)]
#[apply(ConfigFile)]
#[serde(deny_unknown_fields)]
pub struct Eab {
#[serde(rename = "eab_token", alias = "id")]
@ -101,8 +100,8 @@ impl Eab {
}
}
#[macro_rules_derive(DefDer)]
#[derive(Deserialize, JsonSchema)]
#[apply(DefDer)]
#[apply(ConfigFile)]
#[serde(deny_unknown_fields)]
pub struct CA {
/// Url for the directory
@ -132,8 +131,9 @@ impl CA {
}
}
#[macro_rules_derive(DefDer)]
#[derive(Deserialize, Default, JsonSchema)]
#[apply(DefDer)]
#[apply(ConfigFile)]
#[derive(Default)]
#[serde(deny_unknown_fields)]
pub struct Site {
/// The Configured Certificate Authority

Datei anzeigen

@ -1,14 +1,10 @@
use crate::{
consts::RsaStrength,
prelude::*,
};
use macro_rules_attribute::macro_rules_derive;
use schemars::JsonSchema;
use serde::Deserialize;
use crate::prelude::*;
use macro_rules_attribute::apply;
#[macro_rules_derive(DefDer)]
#[derive(Copy, Deserialize, Default, JsonSchema)]
#[apply(DefDer)]
#[apply(ConfigFile)]
#[derive(Copy, Default)]
pub enum Algorithm {
Rsa,
Brainpool,
@ -18,8 +14,9 @@ pub enum Algorithm {
}
#[macro_rules_derive(DefDer)]
#[derive(Copy, Deserialize, Default, JsonSchema)]
#[apply(DefDer)]
#[apply(ConfigFile)]
#[derive(Copy, Default)]
#[serde(deny_unknown_fields)]
pub enum Strength {
Weak,

Datei anzeigen

@ -1,9 +1,10 @@
use macro_rules_attribute::macro_rules_derive;
use schemars::JsonSchema;
use serde::Deserialize;
use macro_rules_attribute::apply;
use crate::{
macros::DefDer,
macros::{
ConfigFile,
DefDer,
},
types::{
self,
dns::Dns,
@ -12,8 +13,8 @@ use crate::{
},
};
#[macro_rules_derive(DefDer)]
#[derive(Deserialize, JsonSchema)]
#[apply(DefDer)]
#[apply(ConfigFile)]
#[serde(deny_unknown_fields)]
pub struct DNSUpdateClientOptions {}
@ -23,7 +24,7 @@ impl DNSUpdateClientOptions {
}
}
#[macro_rules_derive(DefDer)]
#[apply(DefDer)]
pub struct DnsUpdateHandler {}
impl DnsHandler for DnsUpdateHandler {
@ -32,7 +33,7 @@ impl DnsHandler for DnsUpdateHandler {
}
}
#[macro_rules_derive(DefDer)]
#[apply(DefDer)]
pub struct DnsUpdateToken {}
impl DnsUpdateToken {

Datei anzeigen

@ -2,7 +2,10 @@ pub(super) mod dnsupdate;
pub(super) mod pdns;
use crate::{
macros::DefDer,
macros::{
ConfigFile,
DefDer,
},
types::{
self,
dns::{
@ -19,21 +22,19 @@ use crate::{
DnsToken,
Error,
},
traits::DnsHandler,
traits::DnsHandler as _,
},
};
use log::*;
use macro_rules_attribute::macro_rules_derive;
use macro_rules_attribute::apply;
use reqwest::Client;
use schemars::JsonSchema;
use serde::Deserialize;
use std::{
collections::HashMap,
sync::Arc,
};
use tokio::sync::Mutex;
#[macro_rules_derive(DefDer)]
#[apply(DefDer)]
pub struct Manager(Arc<Mutex<InnerManager>>, Client);
impl Manager {
@ -100,8 +101,9 @@ struct InnerManager {
}
#[macro_rules_derive(DefDer)]
#[derive(Deserialize, Default, JsonSchema)]
#[apply(DefDer)]
#[apply(ConfigFile)]
#[derive(Default)]
#[serde(deny_unknown_fields)]
#[serde(tag = "type", rename_all = "lowercase")]
pub enum Builder {
@ -111,7 +113,7 @@ pub enum Builder {
None,
}
#[macro_rules_derive(DefDer)]
#[apply(DefDer)]
pub enum Dns {
PowerDNS(PdnsHandler),
DNSUpdate(DnsUpdateHandler),

Datei anzeigen

@ -5,21 +5,23 @@ use std::time::{
use derive_new::new;
use log::*;
use macro_rules_attribute::macro_rules_derive;
use macro_rules_attribute::apply;
use reqwest::{
Client,
RequestBuilder,
StatusCode,
Url,
};
use schemars::JsonSchema;
use serde::{
Deserialize,
Serialize,
};
use crate::{
macros::DefDer,
macros::{
ConfigFile,
DefDer,
},
types::{
self,
dns::Dns,
@ -31,8 +33,8 @@ use crate::{
},
};
#[macro_rules_derive(DefDer)]
#[derive(Deserialize, JsonSchema)]
#[apply(DefDer)]
#[apply(ConfigFile)]
#[serde(deny_unknown_fields)]
pub struct PdnsClientOptions {
api_key: String,
@ -60,7 +62,7 @@ impl PdnsClientOptions {
}
}
#[macro_rules_derive(DefDer)]
#[apply(DefDer)]
pub struct PdnsHandler {
client: Client,
server: String,
@ -179,7 +181,7 @@ impl PdnsToken {
unsafe impl Send for PdnsToken {}
#[macro_rules_derive(DefDer)]
#[apply(DefDer)]
#[derive(Deserialize)]
#[serde(deny_unknown_fields)]
pub struct PdnsError {
@ -188,7 +190,7 @@ pub struct PdnsError {
pub errors: Vec<String>,
}
#[macro_rules_derive(DefDer)]
#[apply(DefDer)]
#[derive(Serialize, new)]
struct Comment {
#[new(into)]
@ -207,7 +209,7 @@ impl Comment {
}
}
#[macro_rules_derive(DefDer)]
#[apply(DefDer)]
#[derive(Serialize, new)]
struct Record {
content: String,
@ -216,7 +218,7 @@ struct Record {
}
#[macro_rules_derive(DefDer)]
#[apply(DefDer)]
#[derive(Serialize)]
#[serde(tag = "changetype", rename_all = "UPPERCASE")]
enum ChangeType {
@ -228,7 +230,7 @@ enum ChangeType {
Delete,
}
#[macro_rules_derive(DefDer)]
#[apply(DefDer)]
#[derive(Serialize, new)]
struct RRSet {
name: String,
@ -239,7 +241,7 @@ struct RRSet {
}
#[macro_rules_derive(DefDer)]
#[apply(DefDer)]
#[derive(Serialize, new)]
struct RecordUpdate {
rrsets: Vec<RRSet>,

Datei anzeigen

@ -15,7 +15,7 @@ use clap::{
Subcommand,
};
use derive_new::new;
use macro_rules_attribute::macro_rules_derive;
use macro_rules_attribute::apply;
use openssl::x509::X509;
use reqwest::{
Client,
@ -41,7 +41,7 @@ use crate::{
};
#[macro_rules_derive(DefDer)]
#[apply(DefDer)]
#[derive(Parser)]
pub struct Arguments {
pub config: String,
@ -49,13 +49,13 @@ pub struct Arguments {
pub subcommands: Option<SubCommand>,
}
#[macro_rules_derive(DefDer)]
#[apply(DefDer)]
#[derive(Subcommand)]
pub enum SubCommand {
Schema,
}
#[macro_rules_derive(DefDer)]
#[apply(DefDer)]
#[allow(clippy::too_many_arguments)]
#[derive(new)]
pub struct ProcessorArgs<'a> {
@ -129,7 +129,8 @@ impl<'a: 'b, 'b> ProcessorArgs<'a> {
}
}
#[macro_rules_derive(DefDer, Hashable)]
#[apply(DefDer)]
#[apply(Hashable)]
#[derive(PartialEq)]
pub enum San {
Dns(String),
@ -137,7 +138,7 @@ pub enum San {
IPAddress(IpAddr),
}
#[macro_rules_derive(DefDer)]
#[apply(DefDer)]
#[derive(derive_new::new)]
pub struct Error {
pub(super) message: String,
@ -163,7 +164,7 @@ impl Error {
}
#[macro_rules_derive(DefDer)]
#[apply(DefDer)]
pub enum DnsToken {
None,
Pdns(Box<PdnsToken>),
@ -192,7 +193,7 @@ impl DnsToken {
}
}
#[macro_rules_derive(DefDer)]
#[apply(DefDer)]
pub struct Certificate {
pub cert: X509,
pub account_id: Option<String>,

Datei anzeigen

@ -2,16 +2,9 @@ use std::collections::HashSet;
use crate::{
consts::{
BRAINPOOL_MIDDLE,
BRAINPOOL_STRONG,
BRAINPOOL_WEAK,
SECP_MIDDLE,
SECP_STRONG,
SECP_WEAK,
},
types,
prelude::*,
types::{
self,
cryptography::{
Algorithm,
Strength,
@ -36,7 +29,7 @@ use serde::de::DeserializeOwned;
use std::fmt::Debug as fmtDebug;
use tokio::{
fs::File,
io::AsyncReadExt,
io::AsyncReadExt as _,
};
pub trait FromFile: Default + DeserializeOwned {

Datei anzeigen

@ -7,14 +7,7 @@ use std::{
};
use crate::{
consts::{
BRAINPOOL_MIDDLE,
BRAINPOOL_STRONG,
BRAINPOOL_WEAK,
SECP_MIDDLE,
SECP_STRONG,
SECP_WEAK,
},
prelude::*,
types::{
cryptography::{
Algorithm,