summaryrefslogtreecommitdiff
path: root/src/models.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/models.rs')
-rw-r--r--src/models.rs14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/models.rs b/src/models.rs
index cd8ddf1..50e1877 100644
--- a/src/models.rs
+++ b/src/models.rs
@@ -15,6 +15,8 @@ use diesel::sql_types;
use serde_json::Value;
use std::fmt;
use std::io::Write;
+use serde::Deserialize;
+use serde::Serialize;
#[derive(PartialEq, Debug, Clone, Copy, AsExpression, FromSqlRow)]
#[sql_type = "sql_types::Text"]
@@ -106,7 +108,7 @@ pub struct StravaToken {
pub expires_at: DateTime<Utc>,
}
-#[derive(PartialEq, Debug, Clone, Copy, AsExpression, FromSqlRow)]
+#[derive(PartialEq, Debug, Clone, Copy, AsExpression, FromSqlRow, Serialize, Deserialize)]
#[sql_type = "sql_types::Text"]
pub enum DataType {
StravaActivity = 0,
@@ -131,7 +133,15 @@ impl FromSql<sql_types::Text, Pg> for DataType {
}
}
-#[derive(Insertable, Queryable)]
+#[derive(Insertable, Queryable, Debug, Serialize, Deserialize, Clone)]
+#[table_name = "raw_data"]
+pub struct RawDataKey {
+ pub data_type: DataType,
+ pub id: i64,
+ pub username: String,
+}
+
+#[derive(Insertable, Queryable, Debug, Serialize, Deserialize, Clone)]
#[table_name = "raw_data"]
pub struct RawData {
pub data_type: DataType,