mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 09:07:09 +08:00
feat(router): add api_models and openapi changes for payments create intent api for v2 (#5971)
Co-authored-by: hrithikesh026 <hrithikesh.vm@juspay.in> Co-authored-by: Narayan Bhat <narayan.bhat@juspay.in> Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
371ed5de04
commit
dc6208c5e5
@ -151,6 +151,6 @@ pub const ROLE_ID_INTERNAL_ADMIN: &str = "internal_admin";
|
||||
pub const MAX_DESCRIPTION_LENGTH: u16 = 255;
|
||||
|
||||
/// Max length allowed for Statement Descriptor
|
||||
pub const MAX_STATEMENT_DESCRIPTOR_LENGTH: u16 = 255;
|
||||
pub const MAX_STATEMENT_DESCRIPTOR_LENGTH: u16 = 22;
|
||||
/// Payout flow identifier used for performing GSM operations
|
||||
pub const PAYOUT_FLOW_STR: &str = "payout_flow";
|
||||
|
||||
@ -27,7 +27,7 @@ pub use global_id::{payment::GlobalPaymentId, payment_methods::GlobalPaymentMeth
|
||||
pub use merchant::MerchantId;
|
||||
pub use merchant_connector_account::MerchantConnectorAccountId;
|
||||
pub use organization::OrganizationId;
|
||||
pub use payment::PaymentId;
|
||||
pub use payment::{PaymentId, PaymentReferenceId};
|
||||
pub use profile::ProfileId;
|
||||
pub use routing::RoutingId;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
@ -68,6 +68,13 @@ impl PaymentId {
|
||||
}
|
||||
}
|
||||
|
||||
crate::id_type!(PaymentReferenceId, "A type for payment_reference_id");
|
||||
crate::impl_id_type_methods!(PaymentReferenceId, "payment_reference_id");
|
||||
|
||||
// This is to display the `PaymentReferenceId` as PaymentReferenceId(abcd)
|
||||
crate::impl_debug_id_type!(PaymentReferenceId);
|
||||
crate::impl_try_from_cow_str_id_type!(PaymentReferenceId, "payment_reference_id");
|
||||
|
||||
#[cfg(feature = "metrics")]
|
||||
/// This is implemented so that we can use payment id directly as attribute in metrics
|
||||
impl From<PaymentId> for router_env::opentelemetry::Value {
|
||||
|
||||
@ -1026,7 +1026,8 @@ impl<'de, const MAX_LENGTH: u16, const MIN_LENGTH: u8> Deserialize<'de>
|
||||
}
|
||||
}
|
||||
|
||||
impl<DB> FromSql<sql_types::Text, DB> for LengthString<MAX_DESCRIPTION_LENGTH, 1>
|
||||
impl<DB, const MAX_LENGTH: u16, const MIN_LENGTH: u8> FromSql<sql_types::Text, DB>
|
||||
for LengthString<MAX_LENGTH, MIN_LENGTH>
|
||||
where
|
||||
DB: Backend,
|
||||
String: FromSql<sql_types::Text, DB>,
|
||||
@ -1048,7 +1049,8 @@ where
|
||||
}
|
||||
}
|
||||
|
||||
impl<DB> Queryable<sql_types::Text, DB> for LengthString<MAX_DESCRIPTION_LENGTH, 1>
|
||||
impl<DB, const MAX_LENGTH: u16, const MIN_LENGTH: u8> Queryable<sql_types::Text, DB>
|
||||
for LengthString<MAX_LENGTH, MIN_LENGTH>
|
||||
where
|
||||
DB: Backend,
|
||||
Self: FromSql<sql_types::Text, DB>,
|
||||
@ -1124,10 +1126,10 @@ where
|
||||
impl<DB> FromSql<sql_types::Text, DB> for StatementDescriptor
|
||||
where
|
||||
DB: Backend,
|
||||
LengthString<MAX_DESCRIPTION_LENGTH, 1>: FromSql<sql_types::Text, DB>,
|
||||
LengthString<MAX_STATEMENT_DESCRIPTOR_LENGTH, 1>: FromSql<sql_types::Text, DB>,
|
||||
{
|
||||
fn from_sql(bytes: DB::RawValue<'_>) -> deserialize::Result<Self> {
|
||||
let val = LengthString::<MAX_DESCRIPTION_LENGTH, 1>::from_sql(bytes)?;
|
||||
let val = LengthString::<MAX_STATEMENT_DESCRIPTOR_LENGTH, 1>::from_sql(bytes)?;
|
||||
Ok(Self(val))
|
||||
}
|
||||
}
|
||||
@ -1135,7 +1137,7 @@ where
|
||||
impl<DB> ToSql<sql_types::Text, DB> for StatementDescriptor
|
||||
where
|
||||
DB: Backend,
|
||||
LengthString<MAX_DESCRIPTION_LENGTH, 1>: ToSql<sql_types::Text, DB>,
|
||||
LengthString<MAX_STATEMENT_DESCRIPTOR_LENGTH, 1>: ToSql<sql_types::Text, DB>,
|
||||
{
|
||||
fn to_sql<'b>(&'b self, out: &mut Output<'b, '_, DB>) -> diesel::serialize::Result {
|
||||
self.0.to_sql(out)
|
||||
|
||||
Reference in New Issue
Block a user