From 45df4d0d9b577fecee798d672695fe24ff57fb1b Mon Sep 17 00:00:00 2001 From: mo khan Date: Tue, 15 Jul 2025 16:37:08 -0600 Subject: 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. --- .../time/src/interop/offsetdatetime_utcdatetime.rs | 68 ---------------------- 1 file changed, 68 deletions(-) delete mode 100644 vendor/time/src/interop/offsetdatetime_utcdatetime.rs (limited to 'vendor/time/src/interop/offsetdatetime_utcdatetime.rs') diff --git a/vendor/time/src/interop/offsetdatetime_utcdatetime.rs b/vendor/time/src/interop/offsetdatetime_utcdatetime.rs deleted file mode 100644 index 34a4887d..00000000 --- a/vendor/time/src/interop/offsetdatetime_utcdatetime.rs +++ /dev/null @@ -1,68 +0,0 @@ -use core::cmp::Ordering; -use core::ops::Sub; - -use crate::{Duration, OffsetDateTime, UtcDateTime}; - -impl Sub for UtcDateTime { - type Output = Duration; - - /// # Panics - /// - /// This may panic if an overflow occurs. - fn sub(self, rhs: OffsetDateTime) -> Self::Output { - OffsetDateTime::from(self) - rhs - } -} - -impl Sub for OffsetDateTime { - type Output = Duration; - - /// # Panics - /// - /// This may panic if an overflow occurs. - fn sub(self, rhs: UtcDateTime) -> Self::Output { - self - Self::from(rhs) - } -} - -impl PartialEq for UtcDateTime { - fn eq(&self, other: &OffsetDateTime) -> bool { - OffsetDateTime::from(*self) == *other - } -} - -impl PartialEq for OffsetDateTime { - fn eq(&self, other: &UtcDateTime) -> bool { - *self == Self::from(*other) - } -} - -impl PartialOrd for UtcDateTime { - fn partial_cmp(&self, other: &OffsetDateTime) -> Option { - OffsetDateTime::from(*self).partial_cmp(other) - } -} - -impl PartialOrd for OffsetDateTime { - fn partial_cmp(&self, other: &UtcDateTime) -> Option { - self.partial_cmp(&Self::from(*other)) - } -} - -impl From for UtcDateTime { - /// # Panics - /// - /// This may panic if an overflow occurs. - fn from(datetime: OffsetDateTime) -> Self { - datetime.to_utc() - } -} - -impl From for OffsetDateTime { - /// # Panics - /// - /// This may panic if an overflow occurs. - fn from(datetime: UtcDateTime) -> Self { - datetime.as_primitive().assume_utc() - } -} -- cgit v1.2.3