diff --git a/radicle-httpd/src/api/json.rs b/radicle-httpd/src/api/json.rs index b085e23e..d3b9183d 100644 --- a/radicle-httpd/src/api/json.rs +++ b/radicle-httpd/src/api/json.rs @@ -139,7 +139,7 @@ pub(crate) fn patch( "discussions": rev.discussion().comments() .map(|(id, comment)| Comment::new(id, comment, aliases)) .collect::>(), - "timestamp": rev.timestamp().as_secs().to_string(), + "timestamp": rev.timestamp().as_secs(), "reviews": rev.reviews().map(|(nid, _review)| review(nid, aliases.alias(nid), _review)).collect::>(), }) }).collect::>(), @@ -166,7 +166,7 @@ fn merge(merge: &Merge, nid: &NodeId, alias: Option) -> Value { "alias": alias, }, "commit": merge.commit, - "timestamp": merge.timestamp.as_secs().to_string(), + "timestamp": merge.timestamp.as_secs(), "revision": merge.revision, }), None => json!({ @@ -174,7 +174,7 @@ fn merge(merge: &Merge, nid: &NodeId, alias: Option) -> Value { "id": nid, }, "commit": merge.commit, - "timestamp": merge.timestamp.as_secs().to_string(), + "timestamp": merge.timestamp.as_secs(), "revision": merge.revision, }), } @@ -191,7 +191,7 @@ fn review(nid: &NodeId, alias: Option, review: &Review) -> Value { "verdict": review.verdict(), "summary": review.summary(), "comments": review.comments().collect::>(), - "timestamp": review.timestamp().as_secs().to_string(), + "timestamp": review.timestamp().as_secs(), }), None => json!({ "author": { @@ -200,7 +200,7 @@ fn review(nid: &NodeId, alias: Option, review: &Review) -> Value { "verdict": review.verdict(), "summary": review.summary(), "comments": review.comments().collect::>(), - "timestamp": review.timestamp().as_secs().to_string(), + "timestamp": review.timestamp().as_secs(), }), } } diff --git a/radicle-httpd/src/test.rs b/radicle-httpd/src/test.rs index 5191520d..72b11e40 100644 --- a/radicle-httpd/src/test.rs +++ b/radicle-httpd/src/test.rs @@ -37,7 +37,7 @@ pub const ISSUE_ID: &str = "5ad77fa3f476beed9a26f49b2b3b844e61bef792"; pub const ISSUE_DISCUSSION_ID: &str = "f1dff128a22e8183a23516dd9812e72e80914c92"; pub const ISSUE_COMMENT_ID: &str = "845218041bf9eb8155bfa4aaa8f0c91ce18e5c13"; pub const SESSION_ID: &str = "u9MGAkkfkMOv0uDDB2WeUHBT7HbsO2Dy"; -pub const TIMESTAMP: &str = "1671125284"; +pub const TIMESTAMP: u64 = 1671125284; pub const CONTRIBUTOR_RID: &str = "rad:z4XaCmN3jLSeiMvW15YTDpNbDHFhG"; pub const CONTRIBUTOR_DID: &str = "did:key:z6Mkk7oqY4pPxhMmGEotDYsFo97vhCj85BLY1H256HrJmjN8"; pub const CONTRIBUTOR_NID: &str = "z6Mkk7oqY4pPxhMmGEotDYsFo97vhCj85BLY1H256HrJmjN8"; @@ -97,7 +97,7 @@ fn seed_with_signer(dir: &Path, profile: radicle::Profile, signer: &G let workdir = dir.join("hello-world"); - env::set_var("RAD_COMMIT_TIME", TIMESTAMP); + env::set_var("RAD_COMMIT_TIME", TIMESTAMP.to_string()); fs::create_dir_all(&workdir).unwrap(); diff --git a/radicle/src/serde_ext.rs b/radicle/src/serde_ext.rs index 4157c23e..0755f4d4 100644 --- a/radicle/src/serde_ext.rs +++ b/radicle/src/serde_ext.rs @@ -29,22 +29,20 @@ pub mod string { pub mod localtime { pub mod time { use localtime::LocalTime; - use serde::{de, Deserialize, Deserializer, Serializer}; + use serde::{Deserialize, Deserializer, Serializer}; pub fn serialize(value: &LocalTime, serializer: S) -> Result where S: Serializer, { - serializer.collect_str(&value.as_secs()) + serializer.serialize_u64(value.as_secs()) } pub fn deserialize<'de, D>(deserializer: D) -> Result where D: Deserializer<'de>, { - let seconds: u64 = String::deserialize(deserializer)? - .parse() - .map_err(de::Error::custom)?; + let seconds = u64::deserialize(deserializer)?; Ok(LocalTime::from_secs(seconds)) } @@ -52,22 +50,20 @@ pub mod localtime { pub mod duration { use localtime::LocalDuration; - use serde::{de, Deserialize, Deserializer, Serializer}; + use serde::{Deserialize, Deserializer, Serializer}; pub fn serialize(value: &LocalDuration, serializer: S) -> Result where S: Serializer, { - serializer.collect_str(&value.as_secs()) + serializer.serialize_u64(value.as_secs()) } pub fn deserialize<'de, D>(deserializer: D) -> Result where D: Deserializer<'de>, { - let seconds: u64 = String::deserialize(deserializer)? - .parse() - .map_err(de::Error::custom)?; + let seconds = u64::deserialize(deserializer)?; Ok(LocalDuration::from_secs(seconds)) }