Skip to content

Commit 3aa910e

Browse files
authored
refactor(schema): add a new column for storing large connector transaction IDs (#7253)
1 parent 7ea63b4 commit 3aa910e

File tree

28 files changed

+985
-120
lines changed

28 files changed

+985
-120
lines changed

crates/common_utils/src/types.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1420,7 +1420,7 @@ crate::impl_to_sql_from_sql_json!(BrowserInformation);
14201420
/// In case connector's use an identifier whose length exceeds 128 characters,
14211421
/// the hash value of such identifiers will be stored as connector_transaction_id.
14221422
/// The actual connector's identifier will be stored in a separate column -
1423-
/// connector_transaction_data or something with a similar name.
1423+
/// processor_transaction_data or something with a similar name.
14241424
#[derive(Debug, Clone, PartialEq, Eq, serde::Deserialize, serde::Serialize, AsExpression)]
14251425
#[diesel(sql_type = sql_types::Text)]
14261426
pub enum ConnectorTransactionId {
@@ -1438,7 +1438,7 @@ impl ConnectorTransactionId {
14381438
}
14391439
}
14401440

1441-
/// Implementation for forming ConnectorTransactionId and an optional string to be used for connector_transaction_id and connector_transaction_data
1441+
/// Implementation for forming ConnectorTransactionId and an optional string to be used for connector_transaction_id and processor_transaction_data
14421442
pub fn form_id_and_data(src: String) -> (Self, Option<String>) {
14431443
let txn_id = Self::from(src.clone());
14441444
match txn_id {
@@ -1456,10 +1456,10 @@ impl ConnectorTransactionId {
14561456
(Self::TxnId(id), _) => Ok(id),
14571457
(Self::HashedData(_), Some(id)) => Ok(id),
14581458
(Self::HashedData(id), None) => Err(report!(ValidationError::InvalidValue {
1459-
message: "connector_transaction_data is empty for HashedData variant".to_string(),
1459+
message: "processor_transaction_data is empty for HashedData variant".to_string(),
14601460
})
14611461
.attach_printable(format!(
1462-
"connector_transaction_data is empty for connector_transaction_id {}",
1462+
"processor_transaction_data is empty for connector_transaction_id {}",
14631463
id
14641464
))),
14651465
}

crates/diesel_models/src/capture.rs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ pub struct Capture {
3030
pub capture_sequence: i16,
3131
// reference to the capture at connector side
3232
pub connector_response_reference_id: Option<String>,
33+
/// INFO: This field is deprecated and replaced by processor_capture_data
3334
pub connector_capture_data: Option<String>,
35+
pub processor_capture_data: Option<String>,
3436
}
3537

3638
#[derive(Clone, Debug, Insertable, router_derive::DebugAsDisplay, Serialize, Deserialize)]
@@ -55,7 +57,9 @@ pub struct CaptureNew {
5557
pub connector_capture_id: Option<ConnectorTransactionId>,
5658
pub capture_sequence: i16,
5759
pub connector_response_reference_id: Option<String>,
60+
/// INFO: This field is deprecated and replaced by processor_capture_data
5861
pub connector_capture_data: Option<String>,
62+
pub processor_capture_data: Option<String>,
5963
}
6064

6165
#[derive(Debug, Clone, Serialize, Deserialize)]
@@ -64,7 +68,7 @@ pub enum CaptureUpdate {
6468
status: storage_enums::CaptureStatus,
6569
connector_capture_id: Option<ConnectorTransactionId>,
6670
connector_response_reference_id: Option<String>,
67-
connector_capture_data: Option<String>,
71+
processor_capture_data: Option<String>,
6872
},
6973
ErrorUpdate {
7074
status: storage_enums::CaptureStatus,
@@ -84,7 +88,7 @@ pub struct CaptureUpdateInternal {
8488
pub modified_at: Option<PrimitiveDateTime>,
8589
pub connector_capture_id: Option<ConnectorTransactionId>,
8690
pub connector_response_reference_id: Option<String>,
87-
pub connector_capture_data: Option<String>,
91+
pub processor_capture_data: Option<String>,
8892
}
8993

9094
impl CaptureUpdate {
@@ -97,7 +101,7 @@ impl CaptureUpdate {
97101
modified_at: _,
98102
connector_capture_id,
99103
connector_response_reference_id,
100-
connector_capture_data,
104+
processor_capture_data,
101105
} = self.into();
102106
Capture {
103107
status: status.unwrap_or(source.status),
@@ -108,7 +112,7 @@ impl CaptureUpdate {
108112
connector_capture_id: connector_capture_id.or(source.connector_capture_id),
109113
connector_response_reference_id: connector_response_reference_id
110114
.or(source.connector_response_reference_id),
111-
connector_capture_data: connector_capture_data.or(source.connector_capture_data),
115+
processor_capture_data: processor_capture_data.or(source.processor_capture_data),
112116
..source
113117
}
114118
}
@@ -122,13 +126,13 @@ impl From<CaptureUpdate> for CaptureUpdateInternal {
122126
status,
123127
connector_capture_id: connector_transaction_id,
124128
connector_response_reference_id,
125-
connector_capture_data,
129+
processor_capture_data,
126130
} => Self {
127131
status: Some(status),
128132
connector_capture_id: connector_transaction_id,
129133
modified_at: now,
130134
connector_response_reference_id,
131-
connector_capture_data,
135+
processor_capture_data,
132136
..Self::default()
133137
},
134138
CaptureUpdate::ErrorUpdate {

crates/diesel_models/src/kv.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ pub enum Insertable {
227227
pub enum Updateable {
228228
PaymentIntentUpdate(Box<PaymentIntentUpdateMems>),
229229
PaymentAttemptUpdate(Box<PaymentAttemptUpdateMems>),
230-
RefundUpdate(RefundUpdateMems),
230+
RefundUpdate(Box<RefundUpdateMems>),
231231
CustomerUpdate(CustomerUpdateMems),
232232
AddressUpdate(Box<AddressUpdateMems>),
233233
PayoutsUpdate(PayoutsUpdateMems),

0 commit comments

Comments
 (0)