bitwarden_core/platform/
platform_client.rs1use crate::{
2 Client,
3 platform::{
4 FingerprintError, FingerprintRequest, SecretVerificationRequest, UserApiKeyError,
5 UserApiKeyResponse, UserFingerprintError,
6 generate_fingerprint::{generate_fingerprint, generate_user_fingerprint},
7 get_user_api_key,
8 },
9};
10
11pub struct PlatformClient {
13 pub(crate) client: Client,
14}
15
16impl PlatformClient {
17 pub fn fingerprint(&self, input: &FingerprintRequest) -> Result<String, FingerprintError> {
19 generate_fingerprint(input)
20 }
21
22 pub fn user_fingerprint(
24 self,
25 fingerprint_material: String,
26 ) -> Result<String, UserFingerprintError> {
27 generate_user_fingerprint(&self.client, fingerprint_material)
28 }
29
30 pub async fn get_user_api_key(
32 &mut self,
33 input: SecretVerificationRequest,
34 ) -> Result<UserApiKeyResponse, UserApiKeyError> {
35 get_user_api_key(&self.client, &input).await
36 }
37
38 pub fn state(&self) -> super::StateClient {
40 super::StateClient {
41 client: self.client.clone(),
42 }
43 }
44}
45
46impl Client {
47 pub fn platform(&self) -> PlatformClient {
49 PlatformClient {
50 client: self.clone(),
51 }
52 }
53}