mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-03 21:37:41 +08:00
fix(payouts): update payout's state in app after DB operations (#4341)
This commit is contained in:
@ -50,7 +50,7 @@ pub async fn make_payout_method_data<'a>(
|
||||
merchant_id: &str,
|
||||
payout_type: Option<&api_enums::PayoutType>,
|
||||
merchant_key_store: &domain::MerchantKeyStore,
|
||||
payout_data: Option<&PayoutData>,
|
||||
payout_data: Option<&mut PayoutData>,
|
||||
storage_scheme: storage::enums::MerchantStorageScheme,
|
||||
) -> RouterResult<Option<api::PayoutMethodData>> {
|
||||
let db = &*state.store;
|
||||
@ -168,15 +168,16 @@ pub async fn make_payout_method_data<'a>(
|
||||
let updated_payout_attempt = storage::PayoutAttemptUpdate::PayoutTokenUpdate {
|
||||
payout_token: lookup_key,
|
||||
};
|
||||
db.update_payout_attempt(
|
||||
&payout_data.payout_attempt,
|
||||
updated_payout_attempt,
|
||||
&payout_data.payouts,
|
||||
storage_scheme,
|
||||
)
|
||||
.await
|
||||
.change_context(errors::ApiErrorResponse::InternalServerError)
|
||||
.attach_printable("Error updating token in payout attempt")?;
|
||||
payout_data.payout_attempt = db
|
||||
.update_payout_attempt(
|
||||
&payout_data.payout_attempt,
|
||||
updated_payout_attempt,
|
||||
&payout_data.payouts,
|
||||
storage_scheme,
|
||||
)
|
||||
.await
|
||||
.change_context(errors::ApiErrorResponse::InternalServerError)
|
||||
.attach_printable("Error updating token in payout attempt")?;
|
||||
}
|
||||
Ok(Some(payout_method.clone()))
|
||||
}
|
||||
@ -188,7 +189,7 @@ pub async fn make_payout_method_data<'a>(
|
||||
|
||||
pub async fn save_payout_data_to_locker(
|
||||
state: &AppState,
|
||||
payout_data: &PayoutData,
|
||||
payout_data: &mut PayoutData,
|
||||
payout_method_data: &api::PayoutMethodData,
|
||||
merchant_account: &domain::MerchantAccount,
|
||||
key_store: &domain::MerchantKeyStore,
|
||||
@ -556,15 +557,16 @@ pub async fn save_payout_data_to_locker(
|
||||
let updated_payout = storage::PayoutsUpdate::PayoutMethodIdUpdate {
|
||||
payout_method_id: stored_resp.card_reference.to_owned(),
|
||||
};
|
||||
db.update_payout(
|
||||
&payout_data.payouts,
|
||||
updated_payout,
|
||||
payout_attempt,
|
||||
merchant_account.storage_scheme,
|
||||
)
|
||||
.await
|
||||
.change_context(errors::ApiErrorResponse::InternalServerError)
|
||||
.attach_printable("Error updating payouts in saved payout method")?;
|
||||
payout_data.payouts = db
|
||||
.update_payout(
|
||||
&payout_data.payouts,
|
||||
updated_payout,
|
||||
payout_attempt,
|
||||
merchant_account.storage_scheme,
|
||||
)
|
||||
.await
|
||||
.change_context(errors::ApiErrorResponse::InternalServerError)
|
||||
.attach_printable("Error updating payouts in saved payout method")?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user