about summary refs log tree commit diff
path: root/fun/tvldb/src/models.rs
diff options
context:
space:
mode:
authoreta <eta@theta.eu.org>2020-06-15T20·03+0100
committereta <eta@theta.eu.org>2020-06-16T13·30+0000
commitc3abbb5e2daeec07d03f1addd4a6c905af7a02ac (patch)
tree416ba1be719dd3ebbd15ee41b6f8a2c1b944bd43 /fun/tvldb/src/models.rs
parent4c22cf316933613215e83f70a6bb2c556d42e02c (diff)
feat(tvldb): Import the tvldb/paroxysm source, add a Nix derivation r/993
- This imports the tvldb (actually a thing called 'paroxysm') code
  from https://git.theta.eu.org/eta/paroxysm into the monorepo.
- Additionally, I did a nix thing, yay! \o/
  (well, with tazjin's help)
- 3p/default.nix needed modifying to whitelist pgsql.

Change-Id: Icdf13ca221650dde376f632bd2dd8a087af451bf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/389
Reviewed-by: tazjin <mail@tazj.in>
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,
+}