mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 09:07:09 +08:00
fix(user): add onboarding_survey enum in dashboard metadata type (#4353)
This commit is contained in:
@ -26,6 +26,7 @@ pub enum SetMetaDataRequest {
|
||||
IsMultipleConfiguration,
|
||||
#[serde(skip)]
|
||||
IsChangePasswordRequired,
|
||||
OnboardingSurvey(OnboardingSurvey),
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Deserialize, serde::Serialize)]
|
||||
@ -46,6 +47,20 @@ pub struct ProcessorConnected {
|
||||
pub processor_name: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Deserialize, serde::Serialize)]
|
||||
pub struct OnboardingSurvey {
|
||||
pub designation: Option<String>,
|
||||
pub about_business: Option<String>,
|
||||
pub business_website: Option<String>,
|
||||
pub hyperswitch_req: Option<String>,
|
||||
pub major_markets: Option<Vec<String>>,
|
||||
pub business_size: Option<String>,
|
||||
pub required_features: Option<Vec<String>>,
|
||||
pub required_processors: Option<Vec<String>>,
|
||||
pub planned_live_date: Option<String>,
|
||||
pub miscellaneous: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Deserialize, serde::Serialize)]
|
||||
pub struct ConfiguredRouting {
|
||||
pub routing_id: String,
|
||||
@ -113,6 +128,7 @@ pub enum GetMetaDataRequest {
|
||||
SetupWoocomWebhook,
|
||||
IsMultipleConfiguration,
|
||||
IsChangePasswordRequired,
|
||||
OnboardingSurvey,
|
||||
}
|
||||
|
||||
#[derive(Debug, serde::Deserialize, serde::Serialize)]
|
||||
@ -150,4 +166,5 @@ pub enum GetMetaDataResponse {
|
||||
SetupWoocomWebhook(bool),
|
||||
IsMultipleConfiguration(bool),
|
||||
IsChangePasswordRequired(bool),
|
||||
OnboardingSurvey(Option<OnboardingSurvey>),
|
||||
}
|
||||
|
||||
@ -348,4 +348,5 @@ pub enum DashboardMetadata {
|
||||
SetupWoocomWebhook,
|
||||
IsMultipleConfiguration,
|
||||
IsChangePasswordRequired,
|
||||
OnboardingSurvey,
|
||||
}
|
||||
|
||||
@ -112,6 +112,9 @@ fn parse_set_request(data_enum: api::SetMetaDataRequest) -> UserResult<types::Me
|
||||
api::SetMetaDataRequest::IsChangePasswordRequired => {
|
||||
Ok(types::MetaData::IsChangePasswordRequired(true))
|
||||
}
|
||||
api::SetMetaDataRequest::OnboardingSurvey(req) => {
|
||||
Ok(types::MetaData::OnboardingSurvey(req))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -139,6 +142,7 @@ fn parse_get_request(data_enum: api::GetMetaDataRequest) -> DBEnum {
|
||||
api::GetMetaDataRequest::SetupWoocomWebhook => DBEnum::SetupWoocomWebhook,
|
||||
api::GetMetaDataRequest::IsMultipleConfiguration => DBEnum::IsMultipleConfiguration,
|
||||
api::GetMetaDataRequest::IsChangePasswordRequired => DBEnum::IsChangePasswordRequired,
|
||||
api::GetMetaDataRequest::OnboardingSurvey => DBEnum::OnboardingSurvey,
|
||||
}
|
||||
}
|
||||
|
||||
@ -218,6 +222,10 @@ fn into_response(
|
||||
DBEnum::IsChangePasswordRequired => Ok(api::GetMetaDataResponse::IsChangePasswordRequired(
|
||||
data.is_some(),
|
||||
)),
|
||||
DBEnum::OnboardingSurvey => {
|
||||
let resp = utils::deserialize_to_response(data)?;
|
||||
Ok(api::GetMetaDataResponse::OnboardingSurvey(resp))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -548,6 +556,17 @@ async fn insert_metadata(
|
||||
)
|
||||
.await
|
||||
}
|
||||
types::MetaData::OnboardingSurvey(data) => {
|
||||
utils::insert_merchant_scoped_metadata_to_db(
|
||||
state,
|
||||
user.user_id,
|
||||
user.merchant_id,
|
||||
user.org_id,
|
||||
metadata_key,
|
||||
data,
|
||||
)
|
||||
.await
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -26,6 +26,7 @@ pub enum MetaData {
|
||||
SetupWoocomWebhook(bool),
|
||||
IsMultipleConfiguration(bool),
|
||||
IsChangePasswordRequired(bool),
|
||||
OnboardingSurvey(api::OnboardingSurvey),
|
||||
}
|
||||
|
||||
impl From<&MetaData> for DBEnum {
|
||||
@ -53,6 +54,7 @@ impl From<&MetaData> for DBEnum {
|
||||
MetaData::SetupWoocomWebhook(_) => Self::SetupWoocomWebhook,
|
||||
MetaData::IsMultipleConfiguration(_) => Self::IsMultipleConfiguration,
|
||||
MetaData::IsChangePasswordRequired(_) => Self::IsChangePasswordRequired,
|
||||
MetaData::OnboardingSurvey(_) => Self::OnboardingSurvey,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -214,6 +214,7 @@ pub fn separate_metadata_type_based_on_scope(
|
||||
| DBEnum::DownloadWoocom
|
||||
| DBEnum::ConfigureWoocom
|
||||
| DBEnum::SetupWoocomWebhook
|
||||
| DBEnum::OnboardingSurvey
|
||||
| DBEnum::IsMultipleConfiguration => merchant_scoped.push(key),
|
||||
DBEnum::Feedback | DBEnum::ProdIntent | DBEnum::IsChangePasswordRequired => {
|
||||
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 'onboarding_survey';
|
||||
Reference in New Issue
Block a user