mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-30 01:27:31 +08:00
fix(multitenancy): consistently use tenant nomenclature everywhere (#6389)
This commit is contained in:
@ -125,21 +125,56 @@ impl Multitenancy {
|
||||
pub fn get_tenants(&self) -> &HashMap<String, Tenant> {
|
||||
&self.tenants.0
|
||||
}
|
||||
pub fn get_tenant_names(&self) -> Vec<String> {
|
||||
self.tenants.0.keys().cloned().collect()
|
||||
pub fn get_tenant_ids(&self) -> Vec<String> {
|
||||
self.tenants
|
||||
.0
|
||||
.values()
|
||||
.map(|tenant| tenant.tenant_id.clone())
|
||||
.collect()
|
||||
}
|
||||
pub fn get_tenant(&self, tenant_id: &str) -> Option<&Tenant> {
|
||||
self.tenants.0.get(tenant_id)
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize, Clone, Default)]
|
||||
#[serde(transparent)]
|
||||
#[derive(Debug, Clone, Default)]
|
||||
pub struct TenantConfig(pub HashMap<String, Tenant>);
|
||||
|
||||
impl<'de> Deserialize<'de> for TenantConfig {
|
||||
fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
|
||||
#[derive(Deserialize)]
|
||||
struct Inner {
|
||||
base_url: String,
|
||||
schema: String,
|
||||
redis_key_prefix: String,
|
||||
clickhouse_database: String,
|
||||
}
|
||||
|
||||
let hashmap = <HashMap<String, Inner>>::deserialize(deserializer)?;
|
||||
|
||||
Ok(Self(
|
||||
hashmap
|
||||
.into_iter()
|
||||
.map(|(key, value)| {
|
||||
(
|
||||
key.clone(),
|
||||
Tenant {
|
||||
tenant_id: key,
|
||||
base_url: value.base_url,
|
||||
schema: value.schema,
|
||||
redis_key_prefix: value.redis_key_prefix,
|
||||
clickhouse_database: value.clickhouse_database,
|
||||
},
|
||||
)
|
||||
})
|
||||
.collect(),
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize, Clone, Default)]
|
||||
pub struct Tenant {
|
||||
pub name: String,
|
||||
pub tenant_id: String,
|
||||
pub base_url: String,
|
||||
pub schema: String,
|
||||
pub redis_key_prefix: String,
|
||||
|
||||
Reference in New Issue
Block a user