From e15e4b93c203ba94f413e97955c48d8761a70423 Mon Sep 17 00:00:00 2001 From: Unto Markkanen Date: Sun, 3 Dec 2023 12:13:04 +0200 Subject: Moving user related database commands to separate class and file. --- db/user.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 db/user.py (limited to 'db/user.py') diff --git a/db/user.py b/db/user.py new file mode 100644 index 0000000..a129a13 --- /dev/null +++ b/db/user.py @@ -0,0 +1,32 @@ +from time import time + +from sqlalchemy.sql import text + +class DBUser: + def __init__(self, db): + self.db = db + + def get_nick(self, id): + sql = "SELECT nick \ + FROM users \ + WHERE id=(:id);" + result = self.db.session.execute(text(sql), { "id":id }).fetchone() + return result[0] if result else result + + def new(self, nick): + sql = "INSERT \ + INTO users (nick, created) \ + VALUES (:nick, :created) \ + RETURNING id ;" + result = self.db.session.execute( + text(sql), { "nick":nick, "created":int(time()) } + ) + self.db.session.commit() + return result.fetchone()[0] + + def exists(self, nick): + sql = "SELECT COUNT(id) \ + FROM users \ + WHERE nick=(:nick);" + return self.db.session.execute(text(sql), { "nick":nick }).scalar() + -- cgit v1.2.3