mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 00:49:42 +08:00
Co-authored-by: Sanchith Hegde <sanchith.hegde@juspay.in> Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com> Co-authored-by: Anurag Thakur <anurag.thakur@juspay.in> Co-authored-by: Pa1NarK <69745008+pixincreate@users.noreply.github.com> Co-authored-by: Shankar Singh C <83439957+ShankarSinghC@users.noreply.github.com> Co-authored-by: Sai Harsha Vardhan <56996463+sai-harsha-vardhan@users.noreply.github.com> Co-authored-by: hrithikesh026 <hrithikesh.vm@juspay.in> Co-authored-by: Debarati Ghatak <88573135+cookieg13@users.noreply.github.com> Co-authored-by: awasthi21 <107559116+awasthi21@users.noreply.github.com> Co-authored-by: Gnanasundari24 <118818938+Gnanasundari24@users.noreply.github.com> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Arindam Sahoo <88739246+arindam-sahoo@users.noreply.github.com> Co-authored-by: Arindam Sahoo <arindam.sahoo@Arindam-Sahoo-F565040VFJ.local> Co-authored-by: Sakil Mostak <73734619+Sakilmostak@users.noreply.github.com> Co-authored-by: AkshayaFoiger <131388445+AkshayaFoiger@users.noreply.github.com> Co-authored-by: Riddhiagrawal001 <50551695+Riddhiagrawal001@users.noreply.github.com> Co-authored-by: Suman Maji <77887221+sumanmaji4@users.noreply.github.com> Co-authored-by: Sandeep Kumar <83278309+tsdk02@users.noreply.github.com> Co-authored-by: Debarshi Gupta <debarshigupta47@gmail.com> Co-authored-by: Debarshi Gupta <debarshi.gupta@Debarshi-Gupta-CM92YWDXFD.local> Co-authored-by: Sanchith Hegde <22217505+SanchithHegde@users.noreply.github.com> Co-authored-by: Swangi Kumari <85639103+swangi-kumari@users.noreply.github.com> Co-authored-by: pranav-arjunan <pranav.arjunan@juspay.in> Co-authored-by: Kashif <kashif.dev@protonmail.com> Co-authored-by: Sagnik Mitra <83326850+ImSagnik007@users.noreply.github.com> Co-authored-by: sweta-kumari-sharma <77436883+Sweta-Kumari-Sharma@users.noreply.github.com> Co-authored-by: shivansh.mathur <shivansh.mathur@juspay.in>
41 lines
1.1 KiB
Rust
41 lines
1.1 KiB
Rust
use scylla::{
|
|
deserialize::DeserializeValue,
|
|
frame::response::result::ColumnType,
|
|
serialize::{
|
|
value::SerializeValue,
|
|
writers::{CellWriter, WrittenCellProof},
|
|
SerializationError,
|
|
},
|
|
};
|
|
|
|
use crate::{abs::PeekInterface, StrongSecret};
|
|
|
|
impl<T> SerializeValue for StrongSecret<T>
|
|
where
|
|
T: SerializeValue + zeroize::Zeroize + Clone,
|
|
{
|
|
fn serialize<'b>(
|
|
&self,
|
|
column_type: &ColumnType<'_>,
|
|
writer: CellWriter<'b>,
|
|
) -> Result<WrittenCellProof<'b>, SerializationError> {
|
|
self.peek().serialize(column_type, writer)
|
|
}
|
|
}
|
|
|
|
impl<'frame, 'metadata, T> DeserializeValue<'frame, 'metadata> for StrongSecret<T>
|
|
where
|
|
T: DeserializeValue<'frame, 'metadata> + zeroize::Zeroize + Clone,
|
|
{
|
|
fn type_check(column_type: &ColumnType<'_>) -> Result<(), scylla::deserialize::TypeCheckError> {
|
|
T::type_check(column_type)
|
|
}
|
|
|
|
fn deserialize(
|
|
column_type: &'metadata ColumnType<'metadata>,
|
|
v: Option<scylla::deserialize::FrameSlice<'frame>>,
|
|
) -> Result<Self, scylla::deserialize::DeserializationError> {
|
|
Ok(Self::new(T::deserialize(column_type, v)?))
|
|
}
|
|
}
|