Skip to main content

bitwarden_sm/secrets/
get.rs

1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3use uuid::Uuid;
4
5use crate::{SecretsManagerClient, error::SecretsManagerError, secrets::SecretResponse};
6
7#[allow(missing_docs)]
8#[derive(Serialize, Deserialize, Debug, JsonSchema)]
9#[serde(rename_all = "camelCase", deny_unknown_fields)]
10pub struct SecretGetRequest {
11    /// ID of the secret to retrieve
12    pub id: Uuid,
13}
14
15pub(crate) async fn get_secret(
16    client: &SecretsManagerClient,
17    input: &SecretGetRequest,
18) -> Result<SecretResponse, SecretsManagerError> {
19    let client = client.client();
20    let config = client.internal.get_api_configurations();
21    let res = config.api_client.secrets_api().get(input.id).await?;
22
23    let key_store = client.internal.get_key_store();
24
25    SecretResponse::process_response(res, &mut key_store.context())
26}