From 9bf425916493d264c1d1693454aa55675de4d3fe Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Fri, 21 Feb 2020 15:55:44 +0800 Subject: [PATCH] item: stop handling date ourselves --- Cargo.lock | 33 ------------------- Cargo.toml | 3 +- .../2020-02-21-011449_create_items/up.sql | 4 +-- src/item.rs | 18 +++++----- src/schema.rs | 4 +-- 5 files changed, 14 insertions(+), 48 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6cbff15..76c9b58 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -114,18 +114,6 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" -[[package]] -name = "chrono" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01" -dependencies = [ - "num-integer", - "num-traits", - "serde", - "time", -] - [[package]] name = "cloudabi" version = "0.0.3" @@ -196,7 +184,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d7cc03b910de9935007861dce440881f69102aaaedfd4bc5a6f40340ca5840c" dependencies = [ "byteorder", - "chrono", "diesel_derives", "libsqlite3-sys", "r2d2", @@ -626,25 +613,6 @@ dependencies = [ "winapi 0.3.8", ] -[[package]] -name = "num-integer" -version = "0.1.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096" -dependencies = [ - "autocfg", -] - [[package]] name = "num_cpus" version = "1.12.0" @@ -1143,7 +1111,6 @@ dependencies = [ name = "sfrs" version = "0.1.0" dependencies = [ - "chrono", "diesel", "diesel_migrations", "dotenv", diff --git a/Cargo.toml b/Cargo.toml index 8f02183..ac11bd9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,12 +9,11 @@ rocket = "0.4.2" rocket_contrib = { version = "0.4.2", features = ["diesel_sqlite_pool"] } rocket_cors = "0.5.1" jwt = "0.4.0" -diesel = { version = "1.4.3", features = ["sqlite", "chrono"] } +diesel = { version = "1.4.3", features = ["sqlite"] } diesel_migrations = "1.4.0" dotenv = "0.9.0" lazy_static = "1.4.0" serde = { version = "1.0.104", features = ["derive"] } scrypt = "0.2.0" rust-crypto = "0.2.36" -chrono = { version = "0.4", features = ["serde"] } uuid = { version = "0.8", features = ["v4"] } \ No newline at end of file diff --git a/migrations/2020-02-21-011449_create_items/up.sql b/migrations/2020-02-21-011449_create_items/up.sql index fed43cd..e95a012 100644 --- a/migrations/2020-02-21-011449_create_items/up.sql +++ b/migrations/2020-02-21-011449_create_items/up.sql @@ -6,8 +6,8 @@ CREATE TABLE items ( content_type VARCHAR NOT NULL, enc_item_key VARCHAR, deleted BOOLEAN NOT NULL, - created_at DATETIME NOT NULL, - updated_at DATETIME, + created_at VARCHAR NOT NULL, + updated_at VARCHAR, FOREIGN KEY (owner) REFERENCES users (id) ) \ No newline at end of file diff --git a/src/item.rs b/src/item.rs index 592d854..69d5e20 100644 --- a/src/item.rs +++ b/src/item.rs @@ -2,7 +2,6 @@ use crate::schema::items; use crate::schema::items::dsl::*; use crate::{lock_db_write, lock_db_read}; use crate::user; -use chrono::naive::NaiveDateTime; use diesel::prelude::*; use diesel::sqlite::SqliteConnection; use serde::{Serialize, Deserialize}; @@ -32,8 +31,8 @@ pub struct Item { pub content_type: String, pub enc_item_key: Option, pub deleted: bool, - pub created_at: NaiveDateTime, - pub updated_at: Option + pub created_at: String, + pub updated_at: Option } #[derive(Insertable)] @@ -45,8 +44,8 @@ struct InsertItem { content_type: String, enc_item_key: Option, deleted: bool, - created_at: NaiveDateTime, - updated_at: Option + created_at: String, + updated_at: Option } #[derive(Serialize, Deserialize)] @@ -55,9 +54,10 @@ pub struct SyncItem { pub content: Option, pub content_type: String, pub enc_item_key: Option, + #[serde(default)] pub deleted: bool, - pub created_at: NaiveDateTime, - pub updated_at: Option + pub created_at: String, + pub updated_at: Option } impl Into for Item { @@ -129,8 +129,8 @@ impl SyncItem { content_type: it.content_type.clone(), enc_item_key: if it.deleted { None } else { it.enc_item_key.clone() }, deleted: it.deleted, - created_at: it.created_at, - updated_at: it.updated_at + created_at: it.created_at.clone(), + updated_at: it.updated_at.clone() }) .execute(db) .map(|_| ()) diff --git a/src/schema.rs b/src/schema.rs index b682c8e..e0925ff 100644 --- a/src/schema.rs +++ b/src/schema.rs @@ -7,8 +7,8 @@ table! { content_type -> Text, enc_item_key -> Nullable, deleted -> Bool, - created_at -> Timestamp, - updated_at -> Nullable, + created_at -> Text, + updated_at -> Nullable, } }