Files
Vrishab Srivatsa 10e9121341 feat: added kafka events for authentication create and update (#4991)
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
2024-06-24 12:40:50 +00:00

194 lines
7.0 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),
`sign_flag` Int8
) 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),
`sign_flag` Int8,
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),
`sign_flag` Int8
) 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,
sign_flag
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;