diff --git a/packages/fortifier-macros-tests/tests/validations/custom/options_pass.rs b/packages/fortifier-macros-tests/tests/validations/custom/options_pass.rs index af1abf7..1a9e3cb 100644 --- a/packages/fortifier-macros-tests/tests/validations/custom/options_pass.rs +++ b/packages/fortifier-macros-tests/tests/validations/custom/options_pass.rs @@ -35,7 +35,7 @@ struct CustomData<'a> { strip_to_two_options_from_three: Option>>, } -error_code!(CustomErrorCode, "custom"); +error_code!(CustomErrorCode, CUSTOM_ERROR_CODE, "custom"); #[derive(Debug, Deserialize, PartialEq, Serialize)] #[serde(rename_all = "camelCase")] diff --git a/packages/fortifier/src/error_code.rs b/packages/fortifier/src/error_code.rs index 01a37dc..caeecb7 100644 --- a/packages/fortifier/src/error_code.rs +++ b/packages/fortifier/src/error_code.rs @@ -2,10 +2,10 @@ /// Implement an error code. #[macro_export] macro_rules! error_code { - ($name:ident, $code:literal) => { - $crate::error_code_base!($name, $code); - $crate::error_code_serde!($name, $code); - $crate::error_code_utoipa!($name, $code); + ($name:ident, $code_name:ident, $code:literal) => { + $crate::error_code_base!($name, $code_name, $code); + $crate::error_code_serde!($name, $code_name, $code); + $crate::error_code_utoipa!($name, $code_name, $code); }; } @@ -13,9 +13,9 @@ macro_rules! error_code { /// Implement an error code. #[macro_export] macro_rules! error_code { - ($name:ident, $code:literal) => { - $crate::error_code_base!($name, $code); - $crate::error_code_serde!($name, $code); + ($name:ident, $code_name:ident, $code:literal) => { + $crate::error_code_base!($name, $code_name, $code); + $crate::error_code_serde!($name, $code_name, $code); }; } @@ -23,9 +23,9 @@ macro_rules! error_code { /// Implement an error code. #[macro_export] macro_rules! error_code { - ($name:ident, $code:literal) => { - $crate::error_code_base!($name, $code); - $crate::error_code_utoipa!($name, $code); + ($name:ident, $code_name:ident, $code:literal) => { + $crate::error_code_base!($name, $code_name, $code); + $crate::error_code_utoipa!($name, $code_name, $code); }; } @@ -33,16 +33,16 @@ macro_rules! error_code { /// Implement an error code. #[macro_export] macro_rules! error_code { - ($name:ident, $code:literal) => { - $crate::error_code_base!($name, $code); + ($name:ident, $code_name:ident, $code:literal) => { + $crate::error_code_base!($name, $code_name, $code); }; } /// Implement an error code. #[macro_export] macro_rules! error_code_base { - ($name:ident, $code:literal) => { - const CODE: &str = $code; + ($name:ident, $code_name:ident, $code:literal) => { + const $code_name: &str = $code; /// Email address error code. #[derive(Eq, PartialEq)] @@ -58,7 +58,7 @@ macro_rules! error_code_base { type Target = str; fn deref(&self) -> &Self::Target { - CODE + $code_name } } @@ -74,14 +74,14 @@ macro_rules! error_code_base { #[cfg(feature = "serde")] #[macro_export] macro_rules! error_code_serde { - ($name:ident, $code:literal) => { + ($name:ident, $code_name:ident, $code:literal) => { impl<'de> ::serde::Deserialize<'de> for $name { fn deserialize(deserializer: D) -> Result where D: ::serde::Deserializer<'de>, { deserializer - .deserialize_any($crate::serde::MustBeStrVisitor(CODE)) + .deserialize_any($crate::serde::MustBeStrVisitor($code_name)) .map(|()| Self) } } @@ -91,7 +91,7 @@ macro_rules! error_code_serde { where S: ::serde::Serializer, { - serializer.serialize_str(CODE) + serializer.serialize_str($code_name) } } }; @@ -101,12 +101,12 @@ macro_rules! error_code_serde { #[cfg(feature = "utoipa")] #[macro_export] macro_rules! error_code_utoipa { - ($name:ident, $code:literal) => { + ($name:ident, $code_name:ident, $code:literal) => { impl ::utoipa::PartialSchema for $name { fn schema() -> ::utoipa::openapi::RefOr<::utoipa::openapi::schema::Schema> { ::utoipa::openapi::schema::ObjectBuilder::new() .schema_type(::utoipa::openapi::schema::Type::String) - .enum_values(Some([CODE])) + .enum_values(Some([$code_name])) .build() .into() } diff --git a/packages/fortifier/src/validations/email_address.rs b/packages/fortifier/src/validations/email_address.rs index dd2f63e..1035102 100644 --- a/packages/fortifier/src/validations/email_address.rs +++ b/packages/fortifier/src/validations/email_address.rs @@ -12,7 +12,11 @@ pub use email_address::Options as EmailAddressOptions; use crate::error_code; -error_code!(EmailAddressErrorCode, "emailAddress"); +error_code!( + EmailAddressErrorCode, + EMAIL_ADDRESS_ERROR_CODE, + "emailAddress" +); /// Email validation error. #[derive(Debug, Eq, PartialEq)] diff --git a/packages/fortifier/src/validations/length.rs b/packages/fortifier/src/validations/length.rs index 481279a..98a4f09 100644 --- a/packages/fortifier/src/validations/length.rs +++ b/packages/fortifier/src/validations/length.rs @@ -13,7 +13,7 @@ use indexmap::{IndexMap, IndexSet}; use crate::error_code; -error_code!(LengthErrorCode, "length"); +error_code!(LengthErrorCode, LENGTH_ERROR_CODE, "length"); /// Length validation error. #[derive(Debug, Eq, PartialEq)] diff --git a/packages/fortifier/src/validations/phone_number.rs b/packages/fortifier/src/validations/phone_number.rs index a1d7592..2b5b2a3 100644 --- a/packages/fortifier/src/validations/phone_number.rs +++ b/packages/fortifier/src/validations/phone_number.rs @@ -12,7 +12,7 @@ use phonenumber::{ParseError, PhoneNumber}; use crate::error_code; -error_code!(PhoneNumberErrorCode, "phoneNumber"); +error_code!(PhoneNumberErrorCode, PHONE_NUMBER_ERROR_CODE, "phoneNumber"); /// Phone number validation error. #[derive(Debug, Eq, PartialEq)] diff --git a/packages/fortifier/src/validations/range.rs b/packages/fortifier/src/validations/range.rs index 7a0abca..cf67397 100644 --- a/packages/fortifier/src/validations/range.rs +++ b/packages/fortifier/src/validations/range.rs @@ -8,7 +8,7 @@ use std::{ use crate::error_code; -error_code!(RangeErrorCode, "range"); +error_code!(RangeErrorCode, RANGE_ERROR_CODE, "range"); /// Range validation error. #[derive(Debug, Eq, PartialEq)] diff --git a/packages/fortifier/src/validations/regex.rs b/packages/fortifier/src/validations/regex.rs index 7292ae4..071b3ad 100644 --- a/packages/fortifier/src/validations/regex.rs +++ b/packages/fortifier/src/validations/regex.rs @@ -38,7 +38,7 @@ where } } -error_code!(RegexErrorCode, "regex"); +error_code!(RegexErrorCode, REGEX_ERROR_CODE, "regex"); /// Regular expression validation error. #[derive(Debug, Eq, PartialEq)] diff --git a/packages/fortifier/src/validations/url.rs b/packages/fortifier/src/validations/url.rs index e89b9f8..c19739e 100644 --- a/packages/fortifier/src/validations/url.rs +++ b/packages/fortifier/src/validations/url.rs @@ -11,7 +11,7 @@ use url::{ParseError, Url}; use crate::error_code; -error_code!(UrlErrorCode, "url"); +error_code!(UrlErrorCode, URL_ERROR_CODE, "url"); /// URL validation error. #[derive(Debug, Eq, PartialEq)]