cts_common/lib.rs
1//! Defines common types and traits used across the CipherStash ecosystem, particularly for CipherStash Token Service (CTS) and the CTS Client
2//! used in `cipherstash-client`.
3//!
4//! # Features
5//!
6//! - `server` - Enables server-specific types and traits (e.g., Axum integration).
7//! - `test_utils` - Enables testing utilities for randomized test data generation.
8mod auth;
9mod crn;
10mod region;
11mod service;
12mod workspace;
13
14pub mod protocol;
15
16pub use auth::claims;
17pub use crn::{AsCrn, Crn, InvalidCrn};
18pub use region::{AwsRegion, Region, RegionError};
19pub use service::{CtsServiceDiscovery, ServiceDiscovery, ZeroKmsServiceDiscovery};
20pub use workspace::{InvalidWorkspaceId, Workspace, WorkspaceId, WorkspaceIdGenerationError};
21
22// Re-export axum if the server feature is enabled so that the server uses the same version
23#[cfg(feature = "server")]
24pub use axum;
25
26#[cfg(feature = "server")]
27pub use axum_extra;