mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-02 12:06:56 +08:00
chore: add api reference for blocklist (#3336)
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
@ -163,41 +163,49 @@ impl BlocklistInterface for KafkaStore {
|
||||
#[instrument(skip_all)]
|
||||
async fn insert_blocklist_entry(
|
||||
&self,
|
||||
_pm_blocklist: storage::BlocklistNew,
|
||||
pm_blocklist: storage::BlocklistNew,
|
||||
) -> CustomResult<storage::Blocklist, errors::StorageError> {
|
||||
Err(errors::StorageError::KafkaError)?
|
||||
self.diesel_store.insert_blocklist_entry(pm_blocklist).await
|
||||
}
|
||||
|
||||
async fn find_blocklist_entry_by_merchant_id_fingerprint_id(
|
||||
&self,
|
||||
_merchant_id: &str,
|
||||
_fingerprint_id: &str,
|
||||
merchant_id: &str,
|
||||
fingerprint: &str,
|
||||
) -> CustomResult<storage::Blocklist, errors::StorageError> {
|
||||
Err(errors::StorageError::KafkaError)?
|
||||
self.diesel_store
|
||||
.find_blocklist_entry_by_merchant_id_fingerprint_id(merchant_id, fingerprint)
|
||||
.await
|
||||
}
|
||||
|
||||
async fn delete_blocklist_entry_by_merchant_id_fingerprint_id(
|
||||
&self,
|
||||
_merchant_id: &str,
|
||||
_fingerprint_id: &str,
|
||||
merchant_id: &str,
|
||||
fingerprint: &str,
|
||||
) -> CustomResult<storage::Blocklist, errors::StorageError> {
|
||||
Err(errors::StorageError::KafkaError)?
|
||||
self.diesel_store
|
||||
.delete_blocklist_entry_by_merchant_id_fingerprint_id(merchant_id, fingerprint)
|
||||
.await
|
||||
}
|
||||
|
||||
async fn list_blocklist_entries_by_merchant_id_data_kind(
|
||||
&self,
|
||||
_merchant_id: &str,
|
||||
_data_kind: common_enums::BlocklistDataKind,
|
||||
_limit: i64,
|
||||
_offset: i64,
|
||||
merchant_id: &str,
|
||||
data_kind: common_enums::BlocklistDataKind,
|
||||
limit: i64,
|
||||
offset: i64,
|
||||
) -> CustomResult<Vec<storage::Blocklist>, errors::StorageError> {
|
||||
Err(errors::StorageError::KafkaError)?
|
||||
self.diesel_store
|
||||
.list_blocklist_entries_by_merchant_id_data_kind(merchant_id, data_kind, limit, offset)
|
||||
.await
|
||||
}
|
||||
|
||||
async fn list_blocklist_entries_by_merchant_id(
|
||||
&self,
|
||||
_merchant_id: &str,
|
||||
merchant_id: &str,
|
||||
) -> CustomResult<Vec<storage::Blocklist>, errors::StorageError> {
|
||||
Err(errors::StorageError::KafkaError)?
|
||||
self.diesel_store
|
||||
.list_blocklist_entries_by_merchant_id(merchant_id)
|
||||
.await
|
||||
}
|
||||
}
|
||||
|
||||
@ -80,16 +80,20 @@ impl BlocklistFingerprintInterface for KafkaStore {
|
||||
#[instrument(skip_all)]
|
||||
async fn insert_blocklist_fingerprint_entry(
|
||||
&self,
|
||||
_pm_fingerprint_new: storage::BlocklistFingerprintNew,
|
||||
pm_fingerprint_new: storage::BlocklistFingerprintNew,
|
||||
) -> CustomResult<storage::BlocklistFingerprint, errors::StorageError> {
|
||||
Err(errors::StorageError::KafkaError)?
|
||||
self.diesel_store
|
||||
.insert_blocklist_fingerprint_entry(pm_fingerprint_new)
|
||||
.await
|
||||
}
|
||||
|
||||
async fn find_blocklist_fingerprint_by_merchant_id_fingerprint_id(
|
||||
&self,
|
||||
_merchant_id: &str,
|
||||
_fingerprint_id: &str,
|
||||
merchant_id: &str,
|
||||
fingerprint: &str,
|
||||
) -> CustomResult<storage::BlocklistFingerprint, errors::StorageError> {
|
||||
Err(errors::StorageError::KafkaError)?
|
||||
self.diesel_store
|
||||
.find_blocklist_fingerprint_by_merchant_id_fingerprint_id(merchant_id, fingerprint)
|
||||
.await
|
||||
}
|
||||
}
|
||||
|
||||
@ -102,24 +102,30 @@ impl BlocklistLookupInterface for KafkaStore {
|
||||
#[instrument(skip_all)]
|
||||
async fn insert_blocklist_lookup_entry(
|
||||
&self,
|
||||
_blocklist_lookup_entry: storage::BlocklistLookupNew,
|
||||
blocklist_lookup_entry: storage::BlocklistLookupNew,
|
||||
) -> CustomResult<storage::BlocklistLookup, errors::StorageError> {
|
||||
Err(errors::StorageError::KafkaError)?
|
||||
self.diesel_store
|
||||
.insert_blocklist_lookup_entry(blocklist_lookup_entry)
|
||||
.await
|
||||
}
|
||||
|
||||
async fn find_blocklist_lookup_entry_by_merchant_id_fingerprint(
|
||||
&self,
|
||||
_merchant_id: &str,
|
||||
_fingerprint: &str,
|
||||
merchant_id: &str,
|
||||
fingerprint: &str,
|
||||
) -> CustomResult<storage::BlocklistLookup, errors::StorageError> {
|
||||
Err(errors::StorageError::KafkaError)?
|
||||
self.diesel_store
|
||||
.find_blocklist_lookup_entry_by_merchant_id_fingerprint(merchant_id, fingerprint)
|
||||
.await
|
||||
}
|
||||
|
||||
async fn delete_blocklist_lookup_entry_by_merchant_id_fingerprint(
|
||||
&self,
|
||||
_merchant_id: &str,
|
||||
_fingerprint: &str,
|
||||
merchant_id: &str,
|
||||
fingerprint: &str,
|
||||
) -> CustomResult<storage::BlocklistLookup, errors::StorageError> {
|
||||
Err(errors::StorageError::KafkaError)?
|
||||
self.diesel_store
|
||||
.delete_blocklist_lookup_entry_by_merchant_id_fingerprint(merchant_id, fingerprint)
|
||||
.await
|
||||
}
|
||||
}
|
||||
|
||||
@ -119,6 +119,9 @@ Never share your secret api keys. Keep them guarded and secure.
|
||||
crate::routes::gsm::get_gsm_rule,
|
||||
crate::routes::gsm::update_gsm_rule,
|
||||
crate::routes::gsm::delete_gsm_rule,
|
||||
crate::routes::blocklist::add_entry_to_blocklist,
|
||||
crate::routes::blocklist::list_blocked_payment_methods,
|
||||
crate::routes::blocklist::remove_entry_from_blocklist
|
||||
),
|
||||
components(schemas(
|
||||
crate::types::api::refunds::RefundRequest,
|
||||
@ -370,7 +373,11 @@ Never share your secret api keys. Keep them guarded and secure.
|
||||
api_models::payments::PaymentLinkResponse,
|
||||
api_models::payments::RetrievePaymentLinkResponse,
|
||||
api_models::payments::PaymentLinkInitiateRequest,
|
||||
api_models::payments::PaymentLinkStatus
|
||||
api_models::payments::PaymentLinkStatus,
|
||||
api_models::blocklist::BlocklistRequest,
|
||||
api_models::blocklist::BlocklistResponse,
|
||||
api_models::blocklist::ListBlocklistQuery,
|
||||
common_enums::enums::BlocklistDataKind
|
||||
)),
|
||||
modifiers(&SecurityAddon)
|
||||
)]
|
||||
|
||||
@ -8,6 +8,18 @@ use crate::{
|
||||
services::{api, authentication as auth, authorization::permissions::Permission},
|
||||
};
|
||||
|
||||
#[utoipa::path(
|
||||
post,
|
||||
path = "/blocklist",
|
||||
request_body = BlocklistRequest,
|
||||
responses(
|
||||
(status = 200, description = "Fingerprint Blocked", body = BlocklistResponse),
|
||||
(status = 400, description = "Invalid Data")
|
||||
),
|
||||
tag = "Blocklist",
|
||||
operation_id = "Block a Fingerprint",
|
||||
security(("api_key" = []))
|
||||
)]
|
||||
pub async fn add_entry_to_blocklist(
|
||||
state: web::Data<AppState>,
|
||||
req: HttpRequest,
|
||||
@ -32,6 +44,18 @@ pub async fn add_entry_to_blocklist(
|
||||
.await
|
||||
}
|
||||
|
||||
#[utoipa::path(
|
||||
delete,
|
||||
path = "/blocklist",
|
||||
request_body = BlocklistRequest,
|
||||
responses(
|
||||
(status = 200, description = "Fingerprint Unblocked", body = BlocklistResponse),
|
||||
(status = 400, description = "Invalid Data")
|
||||
),
|
||||
tag = "Blocklist",
|
||||
operation_id = "Unblock a Fingerprint",
|
||||
security(("api_key" = []))
|
||||
)]
|
||||
pub async fn remove_entry_from_blocklist(
|
||||
state: web::Data<AppState>,
|
||||
req: HttpRequest,
|
||||
@ -56,6 +80,20 @@ pub async fn remove_entry_from_blocklist(
|
||||
.await
|
||||
}
|
||||
|
||||
#[utoipa::path(
|
||||
get,
|
||||
path = "/blocklist",
|
||||
params (
|
||||
("data_kind" = BlocklistDataKind, Query, description = "Kind of the fingerprint list requested"),
|
||||
),
|
||||
responses(
|
||||
(status = 200, description = "Blocked Fingerprints", body = BlocklistResponse),
|
||||
(status = 400, description = "Invalid Data")
|
||||
),
|
||||
tag = "Blocklist",
|
||||
operation_id = "List Blocked fingerprints of a particular kind",
|
||||
security(("api_key" = []))
|
||||
)]
|
||||
pub async fn list_blocked_payment_methods(
|
||||
state: web::Data<AppState>,
|
||||
req: HttpRequest,
|
||||
|
||||
Reference in New Issue
Block a user