nym_credential_storage/
lib.rs

1/*
2 * Copyright 2022 - Nym Technologies SA <contact@nymtech.net>
3 * SPDX-License-Identifier: Apache-2.0
4 */
5
6use crate::ephemeral_storage::EphemeralStorage;
7
8mod backends;
9pub mod ephemeral_storage;
10pub mod error;
11pub mod models;
12
13#[cfg(all(not(target_arch = "wasm32"), feature = "persistent-storage"))]
14pub mod persistent_storage;
15
16pub mod storage;
17
18#[cfg(all(not(target_arch = "wasm32"), feature = "persistent-storage"))]
19pub async fn initialise_persistent_storage<P: AsRef<std::path::Path>>(
20    path: P,
21) -> crate::persistent_storage::PersistentStorage {
22    match persistent_storage::PersistentStorage::init(path).await {
23        Err(err) => panic!("failed to initialise credential storage - {err}"),
24        Ok(storage) => storage,
25    }
26}
27
28pub fn initialise_ephemeral_storage() -> EphemeralStorage {
29    ephemeral_storage::EphemeralStorage::default()
30}