mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 00:49:42 +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,
|
IsMultipleConfiguration,
|
||||||
#[serde(skip)]
|
#[serde(skip)]
|
||||||
IsChangePasswordRequired,
|
IsChangePasswordRequired,
|
||||||
|
OnboardingSurvey(OnboardingSurvey),
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, serde::Deserialize, serde::Serialize)]
|
#[derive(Debug, serde::Deserialize, serde::Serialize)]
|
||||||
@ -46,6 +47,20 @@ pub struct ProcessorConnected {
|
|||||||
pub processor_name: String,
|
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)]
|
#[derive(Debug, serde::Deserialize, serde::Serialize)]
|
||||||
pub struct ConfiguredRouting {
|
pub struct ConfiguredRouting {
|
||||||
pub routing_id: String,
|
pub routing_id: String,
|
||||||
@ -113,6 +128,7 @@ pub enum GetMetaDataRequest {
|
|||||||
SetupWoocomWebhook,
|
SetupWoocomWebhook,
|
||||||
IsMultipleConfiguration,
|
IsMultipleConfiguration,
|
||||||
IsChangePasswordRequired,
|
IsChangePasswordRequired,
|
||||||
|
OnboardingSurvey,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, serde::Deserialize, serde::Serialize)]
|
#[derive(Debug, serde::Deserialize, serde::Serialize)]
|
||||||
@ -150,4 +166,5 @@ pub enum GetMetaDataResponse {
|
|||||||
SetupWoocomWebhook(bool),
|
SetupWoocomWebhook(bool),
|
||||||
IsMultipleConfiguration(bool),
|
IsMultipleConfiguration(bool),
|
||||||
IsChangePasswordRequired(bool),
|
IsChangePasswordRequired(bool),
|
||||||
|
OnboardingSurvey(Option<OnboardingSurvey>),
|
||||||
}
|
}
|
||||||
|
|||||||
@ -348,4 +348,5 @@ pub enum DashboardMetadata {
|
|||||||
SetupWoocomWebhook,
|
SetupWoocomWebhook,
|
||||||
IsMultipleConfiguration,
|
IsMultipleConfiguration,
|
||||||
IsChangePasswordRequired,
|
IsChangePasswordRequired,
|
||||||
|
OnboardingSurvey,
|
||||||
}
|
}
|
||||||
|
|||||||
@ -112,6 +112,9 @@ fn parse_set_request(data_enum: api::SetMetaDataRequest) -> UserResult<types::Me
|
|||||||
api::SetMetaDataRequest::IsChangePasswordRequired => {
|
api::SetMetaDataRequest::IsChangePasswordRequired => {
|
||||||
Ok(types::MetaData::IsChangePasswordRequired(true))
|
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::SetupWoocomWebhook => DBEnum::SetupWoocomWebhook,
|
||||||
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,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,6 +222,10 @@ fn into_response(
|
|||||||
DBEnum::IsChangePasswordRequired => Ok(api::GetMetaDataResponse::IsChangePasswordRequired(
|
DBEnum::IsChangePasswordRequired => Ok(api::GetMetaDataResponse::IsChangePasswordRequired(
|
||||||
data.is_some(),
|
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
|
.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),
|
SetupWoocomWebhook(bool),
|
||||||
IsMultipleConfiguration(bool),
|
IsMultipleConfiguration(bool),
|
||||||
IsChangePasswordRequired(bool),
|
IsChangePasswordRequired(bool),
|
||||||
|
OnboardingSurvey(api::OnboardingSurvey),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<&MetaData> for DBEnum {
|
impl From<&MetaData> for DBEnum {
|
||||||
@ -53,6 +54,7 @@ impl From<&MetaData> for DBEnum {
|
|||||||
MetaData::SetupWoocomWebhook(_) => Self::SetupWoocomWebhook,
|
MetaData::SetupWoocomWebhook(_) => Self::SetupWoocomWebhook,
|
||||||
MetaData::IsMultipleConfiguration(_) => Self::IsMultipleConfiguration,
|
MetaData::IsMultipleConfiguration(_) => Self::IsMultipleConfiguration,
|
||||||
MetaData::IsChangePasswordRequired(_) => Self::IsChangePasswordRequired,
|
MetaData::IsChangePasswordRequired(_) => Self::IsChangePasswordRequired,
|
||||||
|
MetaData::OnboardingSurvey(_) => Self::OnboardingSurvey,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -214,6 +214,7 @@ pub fn separate_metadata_type_based_on_scope(
|
|||||||
| DBEnum::DownloadWoocom
|
| DBEnum::DownloadWoocom
|
||||||
| DBEnum::ConfigureWoocom
|
| DBEnum::ConfigureWoocom
|
||||||
| DBEnum::SetupWoocomWebhook
|
| DBEnum::SetupWoocomWebhook
|
||||||
|
| DBEnum::OnboardingSurvey
|
||||||
| DBEnum::IsMultipleConfiguration => merchant_scoped.push(key),
|
| DBEnum::IsMultipleConfiguration => 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 'onboarding_survey';
|
||||||
Reference in New Issue
Block a user