summaryrefslogtreecommitdiff
path: root/vendor/time/src/serde/timestamp/microseconds.rs
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-07-15 16:37:08 -0600
committermo khan <mo@mokhan.ca>2025-07-17 16:30:22 -0600
commit45df4d0d9b577fecee798d672695fe24ff57fb1b (patch)
tree1b99bf645035b58e0d6db08c7a83521f41f7a75b /vendor/time/src/serde/timestamp/microseconds.rs
parentf94f79608393d4ab127db63cc41668445ef6b243 (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/time/src/serde/timestamp/microseconds.rs')
-rw-r--r--vendor/time/src/serde/timestamp/microseconds.rs63
1 files changed, 0 insertions, 63 deletions
diff --git a/vendor/time/src/serde/timestamp/microseconds.rs b/vendor/time/src/serde/timestamp/microseconds.rs
deleted file mode 100644
index 65c603ec..00000000
--- a/vendor/time/src/serde/timestamp/microseconds.rs
+++ /dev/null
@@ -1,63 +0,0 @@
-//! Treat an [`OffsetDateTime`] as a [Unix timestamp] with microseconds for
-//! the purposes of serde.
-//!
-//! Use this module in combination with serde's [`#[with]`][with] attribute.
-//!
-//! When deserializing, the offset is assumed to be UTC.
-//!
-//! [Unix timestamp]: https://en.wikipedia.org/wiki/Unix_time
-//! [with]: https://serde.rs/field-attrs.html#with
-
-use serde::{de, Deserialize, Deserializer, Serialize, Serializer};
-
-use crate::OffsetDateTime;
-
-/// Serialize an `OffsetDateTime` as its Unix timestamp with microseconds
-pub fn serialize<S: Serializer>(
- datetime: &OffsetDateTime,
- serializer: S,
-) -> Result<S::Ok, S::Error> {
- let timestamp = datetime.unix_timestamp_nanos() / 1_000;
- timestamp.serialize(serializer)
-}
-
-/// Deserialize an `OffsetDateTime` from its Unix timestamp with microseconds
-pub fn deserialize<'a, D: Deserializer<'a>>(deserializer: D) -> Result<OffsetDateTime, D::Error> {
- let value: i128 = <_>::deserialize(deserializer)?;
- OffsetDateTime::from_unix_timestamp_nanos(value * 1_000)
- .map_err(|err| de::Error::invalid_value(de::Unexpected::Signed(err.value), &err))
-}
-
-/// Treat an `Option<OffsetDateTime>` as a [Unix timestamp] with microseconds
-/// for the purposes of serde.
-///
-/// Use this module in combination with serde's [`#[with]`][with] attribute.
-///
-/// When deserializing, the offset is assumed to be UTC.
-///
-/// [Unix timestamp]: https://en.wikipedia.org/wiki/Unix_time
-/// [with]: https://serde.rs/field-attrs.html#with
-pub mod option {
- #[allow(clippy::wildcard_imports)]
- use super::*;
-
- /// Serialize an `Option<OffsetDateTime>` as its Unix timestamp with microseconds
- pub fn serialize<S: Serializer>(
- option: &Option<OffsetDateTime>,
- serializer: S,
- ) -> Result<S::Ok, S::Error> {
- option
- .map(|timestamp| timestamp.unix_timestamp_nanos() / 1_000)
- .serialize(serializer)
- }
-
- /// Deserialize an `Option<OffsetDateTime>` from its Unix timestamp with microseconds
- pub fn deserialize<'a, D: Deserializer<'a>>(
- deserializer: D,
- ) -> Result<Option<OffsetDateTime>, D::Error> {
- Option::deserialize(deserializer)?
- .map(|value: i128| OffsetDateTime::from_unix_timestamp_nanos(value * 1_000))
- .transpose()
- .map_err(|err| de::Error::invalid_value(de::Unexpected::Signed(err.value), &err))
- }
-}