mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 00:49:42 +08:00
feat(dashboard_metadata): Add ReconStatus in dashboard_metadata (#7595)
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
@ -27,6 +27,7 @@ pub enum SetMetaDataRequest {
|
|||||||
#[serde(skip)]
|
#[serde(skip)]
|
||||||
IsChangePasswordRequired,
|
IsChangePasswordRequired,
|
||||||
OnboardingSurvey(OnboardingSurvey),
|
OnboardingSurvey(OnboardingSurvey),
|
||||||
|
ReconStatus(ReconStatus),
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, serde::Deserialize, serde::Serialize)]
|
#[derive(Debug, serde::Deserialize, serde::Serialize)]
|
||||||
@ -104,6 +105,12 @@ pub struct ProdIntent {
|
|||||||
pub is_completed: bool,
|
pub is_completed: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, serde::Deserialize, serde::Serialize, Clone)]
|
||||||
|
pub struct ReconStatus {
|
||||||
|
pub is_order_data_set: bool,
|
||||||
|
pub is_processor_data_set: bool,
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug, serde::Deserialize, EnumString, serde::Serialize)]
|
#[derive(Debug, serde::Deserialize, EnumString, serde::Serialize)]
|
||||||
pub enum GetMetaDataRequest {
|
pub enum GetMetaDataRequest {
|
||||||
ProductionAgreement,
|
ProductionAgreement,
|
||||||
@ -129,6 +136,7 @@ pub enum GetMetaDataRequest {
|
|||||||
IsMultipleConfiguration,
|
IsMultipleConfiguration,
|
||||||
IsChangePasswordRequired,
|
IsChangePasswordRequired,
|
||||||
OnboardingSurvey,
|
OnboardingSurvey,
|
||||||
|
ReconStatus,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, serde::Deserialize, serde::Serialize)]
|
#[derive(Debug, serde::Deserialize, serde::Serialize)]
|
||||||
@ -167,4 +175,5 @@ pub enum GetMetaDataResponse {
|
|||||||
IsMultipleConfiguration(bool),
|
IsMultipleConfiguration(bool),
|
||||||
IsChangePasswordRequired(bool),
|
IsChangePasswordRequired(bool),
|
||||||
OnboardingSurvey(Option<OnboardingSurvey>),
|
OnboardingSurvey(Option<OnboardingSurvey>),
|
||||||
|
ReconStatus(Option<ReconStatus>),
|
||||||
}
|
}
|
||||||
|
|||||||
@ -284,6 +284,7 @@ pub enum DashboardMetadata {
|
|||||||
IsMultipleConfiguration,
|
IsMultipleConfiguration,
|
||||||
IsChangePasswordRequired,
|
IsChangePasswordRequired,
|
||||||
OnboardingSurvey,
|
OnboardingSurvey,
|
||||||
|
ReconStatus,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(
|
#[derive(
|
||||||
|
|||||||
@ -122,6 +122,7 @@ fn parse_set_request(data_enum: api::SetMetaDataRequest) -> UserResult<types::Me
|
|||||||
api::SetMetaDataRequest::OnboardingSurvey(req) => {
|
api::SetMetaDataRequest::OnboardingSurvey(req) => {
|
||||||
Ok(types::MetaData::OnboardingSurvey(req))
|
Ok(types::MetaData::OnboardingSurvey(req))
|
||||||
}
|
}
|
||||||
|
api::SetMetaDataRequest::ReconStatus(req) => Ok(types::MetaData::ReconStatus(req)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -150,6 +151,7 @@ fn parse_get_request(data_enum: api::GetMetaDataRequest) -> DBEnum {
|
|||||||
api::GetMetaDataRequest::IsMultipleConfiguration => DBEnum::IsMultipleConfiguration,
|
api::GetMetaDataRequest::IsMultipleConfiguration => DBEnum::IsMultipleConfiguration,
|
||||||
api::GetMetaDataRequest::IsChangePasswordRequired => DBEnum::IsChangePasswordRequired,
|
api::GetMetaDataRequest::IsChangePasswordRequired => DBEnum::IsChangePasswordRequired,
|
||||||
api::GetMetaDataRequest::OnboardingSurvey => DBEnum::OnboardingSurvey,
|
api::GetMetaDataRequest::OnboardingSurvey => DBEnum::OnboardingSurvey,
|
||||||
|
api::GetMetaDataRequest::ReconStatus => DBEnum::ReconStatus,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -233,6 +235,10 @@ fn into_response(
|
|||||||
let resp = utils::deserialize_to_response(data)?;
|
let resp = utils::deserialize_to_response(data)?;
|
||||||
Ok(api::GetMetaDataResponse::OnboardingSurvey(resp))
|
Ok(api::GetMetaDataResponse::OnboardingSurvey(resp))
|
||||||
}
|
}
|
||||||
|
DBEnum::ReconStatus => {
|
||||||
|
let resp = utils::deserialize_to_response(data)?;
|
||||||
|
Ok(api::GetMetaDataResponse::ReconStatus(resp))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -594,6 +600,30 @@ async fn insert_metadata(
|
|||||||
)
|
)
|
||||||
.await
|
.await
|
||||||
}
|
}
|
||||||
|
types::MetaData::ReconStatus(data) => {
|
||||||
|
let mut metadata = utils::insert_merchant_scoped_metadata_to_db(
|
||||||
|
state,
|
||||||
|
user.user_id.clone(),
|
||||||
|
user.merchant_id.clone(),
|
||||||
|
user.org_id.clone(),
|
||||||
|
metadata_key,
|
||||||
|
data.clone(),
|
||||||
|
)
|
||||||
|
.await;
|
||||||
|
|
||||||
|
if utils::is_update_required(&metadata) {
|
||||||
|
metadata = utils::update_merchant_scoped_metadata(
|
||||||
|
state,
|
||||||
|
user.user_id,
|
||||||
|
user.merchant_id,
|
||||||
|
user.org_id,
|
||||||
|
metadata_key,
|
||||||
|
data,
|
||||||
|
)
|
||||||
|
.await;
|
||||||
|
}
|
||||||
|
metadata
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -27,6 +27,7 @@ pub enum MetaData {
|
|||||||
IsMultipleConfiguration(bool),
|
IsMultipleConfiguration(bool),
|
||||||
IsChangePasswordRequired(bool),
|
IsChangePasswordRequired(bool),
|
||||||
OnboardingSurvey(api::OnboardingSurvey),
|
OnboardingSurvey(api::OnboardingSurvey),
|
||||||
|
ReconStatus(api::ReconStatus),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<&MetaData> for DBEnum {
|
impl From<&MetaData> for DBEnum {
|
||||||
@ -55,6 +56,7 @@ impl From<&MetaData> for DBEnum {
|
|||||||
MetaData::IsMultipleConfiguration(_) => Self::IsMultipleConfiguration,
|
MetaData::IsMultipleConfiguration(_) => Self::IsMultipleConfiguration,
|
||||||
MetaData::IsChangePasswordRequired(_) => Self::IsChangePasswordRequired,
|
MetaData::IsChangePasswordRequired(_) => Self::IsChangePasswordRequired,
|
||||||
MetaData::OnboardingSurvey(_) => Self::OnboardingSurvey,
|
MetaData::OnboardingSurvey(_) => Self::OnboardingSurvey,
|
||||||
|
MetaData::ReconStatus(_) => Self::ReconStatus,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -217,7 +217,8 @@ pub fn separate_metadata_type_based_on_scope(
|
|||||||
| DBEnum::ConfigureWoocom
|
| DBEnum::ConfigureWoocom
|
||||||
| DBEnum::SetupWoocomWebhook
|
| DBEnum::SetupWoocomWebhook
|
||||||
| DBEnum::OnboardingSurvey
|
| DBEnum::OnboardingSurvey
|
||||||
| DBEnum::IsMultipleConfiguration => merchant_scoped.push(key),
|
| DBEnum::IsMultipleConfiguration
|
||||||
|
| DBEnum::ReconStatus => merchant_scoped.push(key),
|
||||||
DBEnum::Feedback | DBEnum::ProdIntent | DBEnum::IsChangePasswordRequired => {
|
DBEnum::Feedback | DBEnum::ProdIntent | DBEnum::IsChangePasswordRequired => {
|
||||||
user_scoped.push(key)
|
user_scoped.push(key)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,2 @@
|
|||||||
|
-- This file should undo anything in `up.sql`
|
||||||
|
SELECT 1;
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
-- Your SQL goes here
|
||||||
|
ALTER TYPE "DashboardMetadata"
|
||||||
|
ADD VALUE IF NOT EXISTS 'recon_status';
|
||||||
Reference in New Issue
Block a user