mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-27 19:46:48 +08:00
feat(routing): Add API key auth for decision engine endpoints (#8640)
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
@ -178,3 +178,27 @@ impl ApiEventMetric for RuleMigrationError {
|
||||
Some(ApiEventsType::Routing)
|
||||
}
|
||||
}
|
||||
|
||||
impl ApiEventMetric for crate::open_router::DecideGatewayResponse {
|
||||
fn get_api_event_type(&self) -> Option<ApiEventsType> {
|
||||
Some(ApiEventsType::Routing)
|
||||
}
|
||||
}
|
||||
|
||||
impl ApiEventMetric for crate::open_router::OpenRouterDecideGatewayRequest {
|
||||
fn get_api_event_type(&self) -> Option<ApiEventsType> {
|
||||
Some(ApiEventsType::Routing)
|
||||
}
|
||||
}
|
||||
|
||||
impl ApiEventMetric for crate::open_router::UpdateScorePayload {
|
||||
fn get_api_event_type(&self) -> Option<ApiEventsType> {
|
||||
Some(ApiEventsType::Routing)
|
||||
}
|
||||
}
|
||||
|
||||
impl ApiEventMetric for crate::open_router::UpdateScoreResponse {
|
||||
fn get_api_event_type(&self) -> Option<ApiEventsType> {
|
||||
Some(ApiEventsType::Routing)
|
||||
}
|
||||
}
|
||||
|
||||
@ -26,6 +26,41 @@ pub struct OpenRouterDecideGatewayRequest {
|
||||
pub elimination_enabled: Option<bool>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct DecideGatewayResponse {
|
||||
pub decided_gateway: Option<String>,
|
||||
pub gateway_priority_map: Option<serde_json::Value>,
|
||||
pub filter_wise_gateways: Option<serde_json::Value>,
|
||||
pub priority_logic_tag: Option<String>,
|
||||
pub routing_approach: Option<String>,
|
||||
pub gateway_before_evaluation: Option<String>,
|
||||
pub priority_logic_output: Option<PriorityLogicOutput>,
|
||||
pub reset_approach: Option<String>,
|
||||
pub routing_dimension: Option<String>,
|
||||
pub routing_dimension_level: Option<String>,
|
||||
pub is_scheduled_outage: Option<bool>,
|
||||
pub is_dynamic_mga_enabled: Option<bool>,
|
||||
pub gateway_mga_id_map: Option<serde_json::Value>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct PriorityLogicOutput {
|
||||
pub is_enforcement: Option<bool>,
|
||||
pub gws: Option<Vec<String>>,
|
||||
pub priority_logic_tag: Option<String>,
|
||||
pub gateway_reference_ids: Option<HashMap<String, String>>,
|
||||
pub primary_logic: Option<PriorityLogicData>,
|
||||
pub fallback_logic: Option<PriorityLogicData>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct PriorityLogicData {
|
||||
pub name: Option<String>,
|
||||
pub status: Option<String>,
|
||||
pub failure_reason: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
|
||||
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
|
||||
pub enum RankingAlgorithm {
|
||||
|
||||
Reference in New Issue
Block a user