From b52ef29ac3a509ff569ad9177d42d3ec3511b81e Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Fri, 8 Nov 2024 20:31:00 -0500 Subject: [PATCH] Add newsgroup table --- db/newsgroup.sql | 20 +++++++++++++++----- lib/nntp/tiny/db.py | 6 ++++-- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/db/newsgroup.sql b/db/newsgroup.sql index f349116..e35f37a 100644 --- a/db/newsgroup.sql +++ b/db/newsgroup.sql @@ -1,11 +1,21 @@ begin transaction; +create table newsgroup ( + id INTEGER PRIMARY KEY NOT NULL, + name TEXT NOT NULL, + description TEXT NOT NULL +); + create table newsgroup_message ( - id INTEGER PRIMARY KEY NOT NULL, - created_on DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, - sender TEXT NOT NULL, - subject TEXT NOT NULL, - content TEXT NOT NULL + id INTEGER PRIMARY KEY NOT NULL, + newsgroup_id INTEGER NOT NULL, + message_id TEXT NOT NULL, + created_on DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + sender TEXT NOT NULL, + subject TEXT NOT NULL, + content TEXT NOT NULL, + + FOREIGN KEY(newsgroup_id) REFERENCES newsgroup(id) ); commit; diff --git a/lib/nntp/tiny/db.py b/lib/nntp/tiny/db.py index 6e202ff..6c7acdd 100644 --- a/lib/nntp/tiny/db.py +++ b/lib/nntp/tiny/db.py @@ -8,14 +8,16 @@ class Database(): def __init__(self, path: str): self.db = sqlite3.connect(path) - def message_add(self, message: Message): + def message_add(self, newsgroup_id: int, message: Message): sql = """ insert into newsgroup_message - (created_on, sender, subject, content) values (?, ?, ?, ?) + (newsgroup_id, message_id, created_on, sender, subject, content) values (?, ?, ?, ?, ?, ?) """ self.db.execute(sql, ( + newsgroup_id, + message.id(), message.date().isoformat(), message.sender(), message.subject(),