mirror of
				https://github.com/juspay/hyperswitch.git
				synced 2025-11-04 22:19:10 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			286 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			286 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
CREATE TABLE authentication_queue (
 | 
						|
    `authentication_id` String,
 | 
						|
    `merchant_id` String,
 | 
						|
    `authentication_connector` LowCardinality(String),
 | 
						|
    `connector_authentication_id` Nullable(String),
 | 
						|
    `authentication_data` Nullable(String),
 | 
						|
    `payment_method_id` Nullable(String),
 | 
						|
    `authentication_type` LowCardinality(Nullable(String)),
 | 
						|
    `authentication_status` LowCardinality(String),
 | 
						|
    `authentication_lifecycle_status` LowCardinality(String),
 | 
						|
    `created_at` DateTime64(3),
 | 
						|
    `modified_at` DateTime64(3),
 | 
						|
    `error_message` Nullable(String),
 | 
						|
    `error_code` Nullable(String),
 | 
						|
    `connector_metadata` Nullable(String),
 | 
						|
    `maximum_supported_version` LowCardinality(Nullable(String)),
 | 
						|
    `threeds_server_transaction_id` Nullable(String),
 | 
						|
    `cavv` Nullable(String),
 | 
						|
    `authentication_flow_type` Nullable(String),
 | 
						|
    `message_version` LowCardinality(Nullable(String)),
 | 
						|
    `eci` Nullable(String),
 | 
						|
    `trans_status` LowCardinality(Nullable(String)),
 | 
						|
    `acquirer_bin` Nullable(String),
 | 
						|
    `acquirer_merchant_id` Nullable(String),
 | 
						|
    `three_ds_method_data` Nullable(String),
 | 
						|
    `three_ds_method_url` Nullable(String),
 | 
						|
    `acs_url` Nullable(String),
 | 
						|
    `challenge_request` Nullable(String),
 | 
						|
    `acs_reference_number` Nullable(String),
 | 
						|
    `acs_trans_id` Nullable(String),
 | 
						|
    `acs_signed_content` Nullable(String),
 | 
						|
    `profile_id` String,
 | 
						|
    `payment_id` Nullable(String),
 | 
						|
    `merchant_connector_id` Nullable(String),
 | 
						|
    `ds_trans_id` Nullable(String),
 | 
						|
    `directory_server_id` Nullable(String),
 | 
						|
    `acquirer_country_code` Nullable(String),
 | 
						|
    `organization_id` String,
 | 
						|
    `sign_flag` Int8,
 | 
						|
    `mcc` Nullable(String),
 | 
						|
    `amount` Nullable(UInt32),
 | 
						|
    `currency` LowCardinality(Nullable(String)),
 | 
						|
    `merchant_country` LowCardinality(Nullable(String)),
 | 
						|
    `billing_country` LowCardinality(Nullable(String)),
 | 
						|
    `shipping_country` LowCardinality(Nullable(String)),
 | 
						|
    `issuer_country` LowCardinality(Nullable(String)),
 | 
						|
    `earliest_supported_version` LowCardinality(Nullable(String)),
 | 
						|
    `latest_supported_version` LowCardinality(Nullable(String)),
 | 
						|
    `whitelist_decision` Nullable(Bool),
 | 
						|
    `device_manufacturer` Nullable(String),
 | 
						|
    `platform` LowCardinality(Nullable(String)),
 | 
						|
    `device_type` LowCardinality(Nullable(String)),
 | 
						|
    `device_brand` Nullable(String),
 | 
						|
    `device_os` Nullable(String),
 | 
						|
    `device_display` Nullable(String),
 | 
						|
    `browser_name` Nullable(String),
 | 
						|
    `browser_version` Nullable(String),
 | 
						|
    `issuer_id` Nullable(String),
 | 
						|
    `scheme_name` Nullable(String),
 | 
						|
    `exemption_requested` Nullable(Bool),
 | 
						|
    `exemption_accepted` Nullable(Bool)
 | 
						|
) ENGINE = Kafka SETTINGS kafka_broker_list = 'kafka0:29092',
 | 
						|
kafka_topic_list = 'hyperswitch-authentication-events',
 | 
						|
kafka_group_name = 'hyper',
 | 
						|
kafka_format = 'JSONEachRow',
 | 
						|
kafka_handle_error_mode = 'stream';
 | 
						|
 | 
						|
CREATE TABLE authentications (
 | 
						|
    `authentication_id` String,
 | 
						|
    `merchant_id` String,
 | 
						|
    `authentication_connector` LowCardinality(String),
 | 
						|
    `connector_authentication_id` Nullable(String),
 | 
						|
    `authentication_data` Nullable(String),
 | 
						|
    `payment_method_id` Nullable(String),
 | 
						|
    `authentication_type` LowCardinality(Nullable(String)),
 | 
						|
    `authentication_status` LowCardinality(String),
 | 
						|
    `authentication_lifecycle_status` LowCardinality(String),
 | 
						|
    `created_at` DateTime64(3) DEFAULT now64(),
 | 
						|
    `inserted_at` DateTime64(3) DEFAULT now64(),
 | 
						|
    `modified_at` DateTime64(3) DEFAULT now64(),
 | 
						|
    `error_message` Nullable(String),
 | 
						|
    `error_code` Nullable(String),
 | 
						|
    `connector_metadata` Nullable(String),
 | 
						|
    `maximum_supported_version` LowCardinality(Nullable(String)),
 | 
						|
    `threeds_server_transaction_id` Nullable(String),
 | 
						|
    `cavv` Nullable(String),
 | 
						|
    `authentication_flow_type` Nullable(String),
 | 
						|
    `message_version` LowCardinality(Nullable(String)),
 | 
						|
    `eci` Nullable(String),
 | 
						|
    `trans_status` LowCardinality(Nullable(String)),
 | 
						|
    `acquirer_bin` Nullable(String),
 | 
						|
    `acquirer_merchant_id` Nullable(String),
 | 
						|
    `three_ds_method_data` Nullable(String),
 | 
						|
    `three_ds_method_url` Nullable(String),
 | 
						|
    `acs_url` Nullable(String),
 | 
						|
    `challenge_request` Nullable(String),
 | 
						|
    `acs_reference_number` Nullable(String),
 | 
						|
    `acs_trans_id` Nullable(String),
 | 
						|
    `acs_signed_content` Nullable(String),
 | 
						|
    `profile_id` String,
 | 
						|
    `payment_id` Nullable(String),
 | 
						|
    `merchant_connector_id` Nullable(String),
 | 
						|
    `ds_trans_id` Nullable(String),
 | 
						|
    `directory_server_id` Nullable(String),
 | 
						|
    `acquirer_country_code` Nullable(String),
 | 
						|
    `organization_id` String,
 | 
						|
    `sign_flag` Int8,
 | 
						|
    `mcc` Nullable(String),
 | 
						|
    `amount` Nullable(UInt32),
 | 
						|
    `currency` LowCardinality(Nullable(String)),
 | 
						|
    `merchant_country` LowCardinality(Nullable(String)),
 | 
						|
    `billing_country` LowCardinality(Nullable(String)),
 | 
						|
    `shipping_country` LowCardinality(Nullable(String)),
 | 
						|
    `issuer_country` LowCardinality(Nullable(String)),
 | 
						|
    `earliest_supported_version` LowCardinality(Nullable(String)),
 | 
						|
    `latest_supported_version` LowCardinality(Nullable(String)),
 | 
						|
    `whitelist_decision` Nullable(Bool),
 | 
						|
    `device_manufacturer` Nullable(String),
 | 
						|
    `platform` LowCardinality(Nullable(String)),
 | 
						|
    `device_type` LowCardinality(Nullable(String)),
 | 
						|
    `device_brand` Nullable(String),
 | 
						|
    `device_os` Nullable(String),
 | 
						|
    `device_display` Nullable(String),
 | 
						|
    `browser_name` Nullable(String),
 | 
						|
    `browser_version` Nullable(String),
 | 
						|
    `issuer_id` Nullable(String),
 | 
						|
    `scheme_name` Nullable(String),
 | 
						|
    `exemption_requested` Nullable(Bool),
 | 
						|
    `exemption_accepted` Nullable(Bool),
 | 
						|
    INDEX authenticationConnectorIndex authentication_connector TYPE bloom_filter GRANULARITY 1,
 | 
						|
    INDEX transStatusIndex trans_status TYPE bloom_filter GRANULARITY 1,
 | 
						|
    INDEX authenticationTypeIndex authentication_type TYPE bloom_filter GRANULARITY 1,
 | 
						|
    INDEX authenticationStatusIndex authentication_status TYPE bloom_filter GRANULARITY 1
 | 
						|
) ENGINE = CollapsingMergeTree(sign_flag) PARTITION BY toStartOfDay(created_at)
 | 
						|
ORDER BY
 | 
						|
    (created_at, merchant_id, authentication_id) TTL toStartOfDay(created_at) + toIntervalMonth(18) SETTINGS index_granularity = 8192;
 | 
						|
 | 
						|
CREATE MATERIALIZED VIEW authentication_mv TO authentications (
 | 
						|
    `authentication_id` String,
 | 
						|
    `merchant_id` String,
 | 
						|
    `authentication_connector` LowCardinality(String),
 | 
						|
    `connector_authentication_id` Nullable(String),
 | 
						|
    `authentication_data` Nullable(String),
 | 
						|
    `payment_method_id` Nullable(String),
 | 
						|
    `authentication_type` LowCardinality(Nullable(String)),
 | 
						|
    `authentication_status` LowCardinality(String),
 | 
						|
    `authentication_lifecycle_status` LowCardinality(String),
 | 
						|
    `created_at` DateTime64(3) DEFAULT now64(),
 | 
						|
    `inserted_at` DateTime64(3) DEFAULT now64(),
 | 
						|
    `modified_at` DateTime64(3) DEFAULT now64(),
 | 
						|
    `error_message` Nullable(String),
 | 
						|
    `error_code` Nullable(String),
 | 
						|
    `connector_metadata` Nullable(String),
 | 
						|
    `maximum_supported_version` LowCardinality(Nullable(String)),
 | 
						|
    `threeds_server_transaction_id` Nullable(String),
 | 
						|
    `cavv` Nullable(String),
 | 
						|
    `authentication_flow_type` Nullable(String),
 | 
						|
    `message_version` LowCardinality(Nullable(String)),
 | 
						|
    `eci` Nullable(String),
 | 
						|
    `trans_status` LowCardinality(Nullable(String)),
 | 
						|
    `acquirer_bin` Nullable(String),
 | 
						|
    `acquirer_merchant_id` Nullable(String),
 | 
						|
    `three_ds_method_data` Nullable(String),
 | 
						|
    `three_ds_method_url` Nullable(String),
 | 
						|
    `acs_url` Nullable(String),
 | 
						|
    `challenge_request` Nullable(String),
 | 
						|
    `acs_reference_number` Nullable(String),
 | 
						|
    `acs_trans_id` Nullable(String),
 | 
						|
    `acs_signed_content` Nullable(String),
 | 
						|
    `profile_id` String,
 | 
						|
    `payment_id` Nullable(String),
 | 
						|
    `merchant_connector_id` Nullable(String),
 | 
						|
    `ds_trans_id` Nullable(String),
 | 
						|
    `directory_server_id` Nullable(String),
 | 
						|
    `acquirer_country_code` Nullable(String),
 | 
						|
    `organization_id` String,
 | 
						|
    `sign_flag` Int8,
 | 
						|
    `mcc` Nullable(String),
 | 
						|
    `amount` Nullable(UInt32),
 | 
						|
    `currency` LowCardinality(Nullable(String)),
 | 
						|
    `merchant_country` LowCardinality(Nullable(String)),
 | 
						|
    `billing_country` LowCardinality(Nullable(String)),
 | 
						|
    `shipping_country` LowCardinality(Nullable(String)),
 | 
						|
    `issuer_country` LowCardinality(Nullable(String)),
 | 
						|
    `earliest_supported_version` LowCardinality(Nullable(String)),
 | 
						|
    `latest_supported_version` LowCardinality(Nullable(String)),
 | 
						|
    `whitelist_decision` Nullable(Bool),
 | 
						|
    `device_manufacturer` Nullable(String),
 | 
						|
    `platform` LowCardinality(Nullable(String)),
 | 
						|
    `device_type` LowCardinality(Nullable(String)),
 | 
						|
    `device_brand` Nullable(String),
 | 
						|
    `device_os` Nullable(String),
 | 
						|
    `device_display` Nullable(String),
 | 
						|
    `browser_name` Nullable(String),
 | 
						|
    `browser_version` Nullable(String),
 | 
						|
    `issuer_id` Nullable(String),
 | 
						|
    `scheme_name` Nullable(String),
 | 
						|
    `exemption_requested` Nullable(Bool),
 | 
						|
    `exemption_accepted` Nullable(Bool)
 | 
						|
) AS
 | 
						|
SELECT
 | 
						|
    authentication_id,
 | 
						|
    merchant_id,
 | 
						|
    authentication_connector,
 | 
						|
    connector_authentication_id,
 | 
						|
    authentication_data,
 | 
						|
    payment_method_id,
 | 
						|
    authentication_type,
 | 
						|
    authentication_status,
 | 
						|
    authentication_lifecycle_status,
 | 
						|
    created_at,
 | 
						|
    now64() as inserted_at,
 | 
						|
    modified_at,
 | 
						|
    error_message,
 | 
						|
    error_code,
 | 
						|
    connector_metadata,
 | 
						|
    maximum_supported_version,
 | 
						|
    threeds_server_transaction_id,
 | 
						|
    cavv,
 | 
						|
    authentication_flow_type,
 | 
						|
    message_version,
 | 
						|
    eci,
 | 
						|
    trans_status,
 | 
						|
    acquirer_bin,
 | 
						|
    acquirer_merchant_id,
 | 
						|
    three_ds_method_data,
 | 
						|
    three_ds_method_url,
 | 
						|
    acs_url,
 | 
						|
    challenge_request,
 | 
						|
    acs_reference_number,
 | 
						|
    acs_trans_id,
 | 
						|
    acs_signed_content,
 | 
						|
    profile_id,
 | 
						|
    payment_id,
 | 
						|
    merchant_connector_id,
 | 
						|
    ds_trans_id,
 | 
						|
    directory_server_id,
 | 
						|
    acquirer_country_code,
 | 
						|
    organization_id,
 | 
						|
    sign_flag,
 | 
						|
    mcc,
 | 
						|
    amount,
 | 
						|
    currency,
 | 
						|
    merchant_country,
 | 
						|
    billing_country,
 | 
						|
    shipping_country,
 | 
						|
    issuer_country,
 | 
						|
    earliest_supported_version,
 | 
						|
    latest_supported_version,
 | 
						|
    whitelist_decision,
 | 
						|
    device_manufacturer,
 | 
						|
    platform,
 | 
						|
    device_type,
 | 
						|
    device_brand,
 | 
						|
    device_os,
 | 
						|
    device_display,
 | 
						|
    browser_name,
 | 
						|
    browser_version,
 | 
						|
    issuer_id,
 | 
						|
    scheme_name,
 | 
						|
    exemption_requested,
 | 
						|
    exemption_accepted
 | 
						|
FROM
 | 
						|
    authentication_queue
 | 
						|
WHERE
 | 
						|
    length(_error) = 0;
 | 
						|
 | 
						|
CREATE MATERIALIZED VIEW authentication_parse_errors (
 | 
						|
    `topic` String,
 | 
						|
    `partition` Int64,
 | 
						|
    `offset` Int64,
 | 
						|
    `raw` String,
 | 
						|
    `error` String
 | 
						|
) ENGINE = MergeTree
 | 
						|
ORDER BY
 | 
						|
    (topic, partition, offset) SETTINGS index_granularity = 8192 AS
 | 
						|
SELECT
 | 
						|
    _topic AS topic,
 | 
						|
    _partition AS partition,
 | 
						|
    _offset AS offset,
 | 
						|
    _raw_message AS raw,
 | 
						|
    _error AS error
 | 
						|
FROM
 | 
						|
    authentication_queue
 | 
						|
WHERE
 | 
						|
    length(_error) > 0; |