item: stop handling date ourselves

This commit is contained in:
Peter Cai 2020-02-21 15:55:44 +08:00
parent e29d0883a8
commit 9bf4259164
No known key found for this signature in database
GPG Key ID: 71F5FB4E4F3FD54F
5 changed files with 14 additions and 48 deletions

33
Cargo.lock generated
View File

@ -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",

View File

@ -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"] }

View File

@ -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)
)

View File

@ -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<String>,
pub deleted: bool,
pub created_at: NaiveDateTime,
pub updated_at: Option<NaiveDateTime>
pub created_at: String,
pub updated_at: Option<String>
}
#[derive(Insertable)]
@ -45,8 +44,8 @@ struct InsertItem {
content_type: String,
enc_item_key: Option<String>,
deleted: bool,
created_at: NaiveDateTime,
updated_at: Option<NaiveDateTime>
created_at: String,
updated_at: Option<String>
}
#[derive(Serialize, Deserialize)]
@ -55,9 +54,10 @@ pub struct SyncItem {
pub content: Option<String>,
pub content_type: String,
pub enc_item_key: Option<String>,
#[serde(default)]
pub deleted: bool,
pub created_at: NaiveDateTime,
pub updated_at: Option<NaiveDateTime>
pub created_at: String,
pub updated_at: Option<String>
}
impl Into<SyncItem> 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(|_| ())

View File

@ -7,8 +7,8 @@ table! {
content_type -> Text,
enc_item_key -> Nullable<Text>,
deleted -> Bool,
created_at -> Timestamp,
updated_at -> Nullable<Timestamp>,
created_at -> Text,
updated_at -> Nullable<Text>,
}
}