bitwarden_core/platform/
platform_client.rs1use crate::{
2 platform::{
3 generate_fingerprint::{generate_fingerprint, generate_user_fingerprint},
4 get_user_api_key, FingerprintError, FingerprintRequest, SecretVerificationRequest,
5 UserApiKeyError, UserApiKeyResponse, UserFingerprintError,
6 },
7 Client,
8};
9
10pub struct PlatformClient {
12 pub(crate) client: Client,
13}
14
15impl PlatformClient {
16 pub fn fingerprint(&self, input: &FingerprintRequest) -> Result<String, FingerprintError> {
18 generate_fingerprint(input)
19 }
20
21 pub fn user_fingerprint(
23 self,
24 fingerprint_material: String,
25 ) -> Result<String, UserFingerprintError> {
26 generate_user_fingerprint(&self.client, fingerprint_material)
27 }
28
29 pub async fn get_user_api_key(
31 &mut self,
32 input: SecretVerificationRequest,
33 ) -> Result<UserApiKeyResponse, UserApiKeyError> {
34 get_user_api_key(&self.client, &input).await
35 }
36}
37
38impl Client {
39 pub fn platform(&self) -> PlatformClient {
41 PlatformClient {
42 client: self.clone(),
43 }
44 }
45}