Struct cipherstash_client::record::Record
source · Fields§
§id: Uuid§fields: HashMap<String, Value>Implementations§
source§impl Record
impl Record
pub fn get(&self, field: &str) -> Option<&Value>
sourcepub async fn decrypt(
cipher: &EnvelopeCipher<impl KeyProvider>,
doc: Document
) -> Result<Self, RecordDecryptError>
pub async fn decrypt(
cipher: &EnvelopeCipher<impl KeyProvider>,
doc: Document
) -> Result<Self, RecordDecryptError>
Decrypt a record from an RPC Document
sourcepub async fn encrypt(
&self,
cipher: &EnvelopeCipher<impl KeyProvider>
) -> Result<Document, RecordEncryptError>
pub async fn encrypt(
&self,
cipher: &EnvelopeCipher<impl KeyProvider>
) -> Result<Document, RecordEncryptError>
Encrypt a record as an RPC Document
sourcepub fn as_cbor_bytes(&self) -> Result<Vec<u8>, Error<Infallible>>
pub fn as_cbor_bytes(&self) -> Result<Vec<u8>, Error<Infallible>>
Losslessly encode a record as CBOR
When the record is encoded using this method it is safe to decode it using the
try_from_cbor_bytes method.
This means the bytes returned by this method can be encrypted and stored in the data
service without needing to use the [RecordDecoder] upon retrieval.
sourcepub fn try_from_cbor_bytes(id: Uuid, bytes: &[u8]) -> Result<Self, Error>
pub fn try_from_cbor_bytes(id: Uuid, bytes: &[u8]) -> Result<Self, Error>
Load a record from CBOR without validating against a schema.
Note: this method should only be used when the CBOR bytes were encoded with the correct types.
When CBOR is coming from an external source (such as JavaScript) the [RecordDecoder]
should instead be used.
Trait Implementations§
impl StructuralPartialEq for Record
Auto Trait Implementations§
impl RefUnwindSafe for Record
impl Send for Record
impl Sync for Record
impl Unpin for Record
impl UnwindSafe for Record
Blanket Implementations§
source§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
source§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
Convert the given value into an approximately equivalent representation.
source§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
The error type produced by a failed conversion.
source§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Convert the subject into an approximately equivalent representation.
source§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
source§fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, DefaultApprox>,
fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, DefaultApprox>,
Approximate the subject with the default scheme.
source§fn approx_by<Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_by<Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
Approximate the subject with a specific scheme.
source§impl<T> ConvUtil for T
impl<T> ConvUtil for T
source§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, DefaultApprox>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, DefaultApprox>,
Approximate the subject to a given type with the default scheme.
source§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
Approximate the subject to a given type with a specific scheme.
source§fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
Convert the subject to a given type.
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request