volt_client_grpc/
constants.rs1pub const AUTH_TOKEN_NAME: &str = "volt-token";
5
6pub const DEFAULT_DID_HOST_NAME: &str = "coreid.com";
8
9pub const PRIVATE_ENCRYPTED_KEY_PREFIX: &str = "-----BEGIN ENCRYPTED PRIVATE KEY-----";
11
12pub const VOLT_DID_PREFIX: &str = "did:volt:";
14
15pub const DEFAULT_REGISTRY_LIST: &[&str] =
17 &["coreid.com", "https://tdxvolt.com", "https://tdxid.com"];
18
19pub mod did_service_type {
21 pub const VOLT_CONFIG: &str = "volt-discovery";
23}
24
25pub mod service_type {
27 pub const FILE_API: &str = "tdx.volt_api.volt.v1.FileAPI";
29 pub const SQLITE_SERVER_API: &str = "tdx.volt_api.data.v1.SqliteServerAPI";
31 pub const SQLITE_DATABASE_API: &str = "tdx.volt_api.data.v1.SqliteDatabaseAPI";
33 pub const SSI_API: &str = "tdx.volt_api.volt.v1.SsiAPI";
35 pub const RELAY_API: &str = "tdx.volt_api.relay.v1.RelayAPI";
37 pub const SYNC_API: &str = "tdx.volt_api.volt.v1.SyncAPI";
39 pub const TERMINAL_API: &str = "tdx.volt_api.volt.v1.TerminalAPI";
41 pub const VOLT_API: &str = "tdx.volt_api.volt.v1.VoltAPI";
43 pub const WIRE_API: &str = "tdx.volt_api.volt.v1.WireAPI";
45}
46
47#[derive(Debug, Clone, Copy, PartialEq, Eq)]
49pub enum MethodType {
50 Unary,
52 ClientStream,
54 ServerStream,
56 Bidi,
58}
59
60impl MethodType {
61 pub fn as_str(&self) -> &'static str {
62 match self {
63 MethodType::Unary => "METHOD_TYPE_UNARY",
64 MethodType::ClientStream => "METHOD_TYPE_CLIENT_STREAM",
65 MethodType::ServerStream => "METHOD_TYPE_SERVER_STREAM",
66 MethodType::Bidi => "METHOD_TYPE_BIDI",
67 }
68 }
69}
70
71impl std::fmt::Display for MethodType {
72 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
73 write!(f, "{}", self.as_str())
74 }
75}
76
77#[derive(Debug, Clone, Copy, PartialEq, Eq)]
79pub enum PolicyDecision {
80 Unknown,
82 Permit,
84 Deny,
86 Prompt,
88 Pending,
90}
91
92impl PolicyDecision {
93 pub fn from_str(s: &str) -> Self {
94 match s {
95 "POLICY_DECISION_PERMIT" => PolicyDecision::Permit,
96 "POLICY_DECISION_DENY" => PolicyDecision::Deny,
97 "POLICY_DECISION_PROMPT" => PolicyDecision::Prompt,
98 "POLICY_DECISION_PENDING" => PolicyDecision::Pending,
99 _ => PolicyDecision::Unknown,
100 }
101 }
102
103 pub fn as_str(&self) -> &'static str {
104 match self {
105 PolicyDecision::Unknown => "POLICY_DECISION_UNKNOWN",
106 PolicyDecision::Permit => "POLICY_DECISION_PERMIT",
107 PolicyDecision::Deny => "POLICY_DECISION_DENY",
108 PolicyDecision::Prompt => "POLICY_DECISION_PROMPT",
109 PolicyDecision::Pending => "POLICY_DECISION_PENDING",
110 }
111 }
112
113 pub fn is_permit(&self) -> bool {
114 matches!(self, PolicyDecision::Permit)
115 }
116}
117
118#[derive(Debug, Clone, Copy, PartialEq, Eq)]
120#[derive(Default)]
121pub enum VoltAccessType {
122 #[default]
124 Read,
125 Write,
127 Admin,
129}
130
131impl VoltAccessType {
132 pub fn as_str(&self) -> &'static str {
133 match self {
134 VoltAccessType::Read => "VOLT_ACCESS_READ",
135 VoltAccessType::Write => "VOLT_ACCESS_WRITE",
136 VoltAccessType::Admin => "VOLT_ACCESS_ADMIN",
137 }
138 }
139}
140