diff options
| author | mo khan <mo@mokhan.ca> | 2025-07-15 16:37:08 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-07-17 16:30:22 -0600 |
| commit | 45df4d0d9b577fecee798d672695fe24ff57fb1b (patch) | |
| tree | 1b99bf645035b58e0d6db08c7a83521f41f7a75b /vendor/hex/src/error.rs | |
| parent | f94f79608393d4ab127db63cc41668445ef6b243 (diff) | |
feat: migrate from Cedar to SpiceDB authorization system
This is a major architectural change that replaces the Cedar policy-based
authorization system with SpiceDB's relation-based authorization.
Key changes:
- Migrate from Rust to Go implementation
- Replace Cedar policies with SpiceDB schema and relationships
- Switch from envoy `ext_authz` with Cedar to SpiceDB permission checks
- Update build system and dependencies for Go ecosystem
- Maintain Envoy integration for external authorization
This change enables more flexible permission modeling through SpiceDB's
Google Zanzibar inspired relation-based system, supporting complex
hierarchical permissions that were difficult to express in Cedar.
Breaking change: Existing Cedar policies and Rust-based configuration
will no longer work and need to be migrated to SpiceDB schema.
Diffstat (limited to 'vendor/hex/src/error.rs')
| -rw-r--r-- | vendor/hex/src/error.rs | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/vendor/hex/src/error.rs b/vendor/hex/src/error.rs deleted file mode 100644 index ff7a3b5c..00000000 --- a/vendor/hex/src/error.rs +++ /dev/null @@ -1,59 +0,0 @@ -use core::fmt; - -/// The error type for decoding a hex string into `Vec<u8>` or `[u8; N]`. -#[derive(Debug, Clone, Copy, PartialEq)] -pub enum FromHexError { - /// An invalid character was found. Valid ones are: `0...9`, `a...f` - /// or `A...F`. - InvalidHexCharacter { c: char, index: usize }, - - /// A hex string's length needs to be even, as two digits correspond to - /// one byte. - OddLength, - - /// If the hex string is decoded into a fixed sized container, such as an - /// array, the hex string's length * 2 has to match the container's - /// length. - InvalidStringLength, -} - -#[cfg(feature = "std")] -impl std::error::Error for FromHexError {} - -impl fmt::Display for FromHexError { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - match *self { - FromHexError::InvalidHexCharacter { c, index } => { - write!(f, "Invalid character {:?} at position {}", c, index) - } - FromHexError::OddLength => write!(f, "Odd number of digits"), - FromHexError::InvalidStringLength => write!(f, "Invalid string length"), - } - } -} - -#[cfg(test)] -// this feature flag is here to suppress unused -// warnings of `super::*` and `pretty_assertions::assert_eq` -#[cfg(feature = "alloc")] -mod tests { - use super::*; - #[cfg(feature = "alloc")] - use alloc::string::ToString; - use pretty_assertions::assert_eq; - - #[test] - #[cfg(feature = "alloc")] - fn test_display() { - assert_eq!( - FromHexError::InvalidHexCharacter { c: '\n', index: 5 }.to_string(), - "Invalid character '\\n' at position 5" - ); - - assert_eq!(FromHexError::OddLength.to_string(), "Odd number of digits"); - assert_eq!( - FromHexError::InvalidStringLength.to_string(), - "Invalid string length" - ); - } -} |
