about summary refs log tree commit diff
path: root/fun/tvldb/src/models.rs
diff options
context:
space:
mode:
Diffstat (limited to 'fun/tvldb/src/models.rs')
-rw-r--r--fun/tvldb/src/models.rs33
1 files changed, 33 insertions, 0 deletions
diff --git a/fun/tvldb/src/models.rs b/fun/tvldb/src/models.rs
new file mode 100644
index 0000000000..78ddce0af9
--- /dev/null
+++ b/fun/tvldb/src/models.rs
@@ -0,0 +1,33 @@
+use crate::schema::{entries, keywords};
+use chrono::NaiveDateTime;
+
+#[derive(Queryable)]
+pub struct Keyword {
+    pub id: i32,
+    pub name: String,
+    pub chan: String,
+}
+#[derive(Queryable)]
+pub struct Entry {
+    pub id: i32,
+    pub keyword_id: i32,
+    pub idx: i32,
+    pub text: String,
+    pub creation_ts: NaiveDateTime,
+    pub created_by: String,
+}
+#[derive(Insertable)]
+#[table_name = "keywords"]
+pub struct NewKeyword<'a> {
+    pub name: &'a str,
+    pub chan: &'a str,
+}
+#[derive(Insertable)]
+#[table_name = "entries"]
+pub struct NewEntry<'a> {
+    pub keyword_id: i32,
+    pub idx: i32,
+    pub text: &'a str,
+    pub creation_ts: NaiveDateTime,
+    pub created_by: &'a str,
+}