mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-28 20:23:43 +08:00
feat(multitenancy): add support for multitenancy and handle the same in router, producer, consumer, drainer and analytics (#4630)
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com> Co-authored-by: Arun Raj M <jarnura47@gmail.com>
This commit is contained in:
@ -84,6 +84,9 @@ pub const DEFAULT_TTL_FOR_EXTENDED_CARD_INFO: u16 = 15 * 60;
|
||||
/// Max ttl for Extended card info in redis (in seconds)
|
||||
pub const MAX_TTL_FOR_EXTENDED_CARD_INFO: u16 = 60 * 60 * 2;
|
||||
|
||||
/// Default tenant to be used when multitenancy is disabled
|
||||
pub const DEFAULT_TENANT: &str = "public";
|
||||
|
||||
/// Max Length for MerchantReferenceId
|
||||
pub const MAX_ALLOWED_MERCHANT_REFERENCE_ID_LENGTH: u8 = 64;
|
||||
|
||||
|
||||
@ -2,6 +2,8 @@
|
||||
#![warn(missing_docs, missing_debug_implementations)]
|
||||
#![doc = include_str!(concat!(env!("CARGO_MANIFEST_DIR" ), "/", "README.md"))]
|
||||
|
||||
use masking::{PeekInterface, Secret};
|
||||
|
||||
use crate::{
|
||||
consts::ID_LENGTH,
|
||||
id_type::{CustomerId, MerchantReferenceId},
|
||||
@ -224,6 +226,27 @@ pub fn generate_time_ordered_id(prefix: &str) -> String {
|
||||
format!("{prefix}_{}", uuid::Uuid::now_v7().as_simple())
|
||||
}
|
||||
|
||||
#[allow(missing_docs)]
|
||||
pub trait DbConnectionParams {
|
||||
fn get_username(&self) -> &str;
|
||||
fn get_password(&self) -> Secret<String>;
|
||||
fn get_host(&self) -> &str;
|
||||
fn get_port(&self) -> u16;
|
||||
fn get_dbname(&self) -> &str;
|
||||
fn get_database_url(&self, schema: &str) -> String {
|
||||
format!(
|
||||
"postgres://{}:{}@{}:{}/{}?application_name={}&options=-c search_path%3D{}",
|
||||
self.get_username(),
|
||||
self.get_password().peek(),
|
||||
self.get_host(),
|
||||
self.get_port(),
|
||||
self.get_dbname(),
|
||||
schema,
|
||||
schema,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod nanoid_tests {
|
||||
#![allow(clippy::unwrap_used)]
|
||||
|
||||
Reference in New Issue
Block a user