From 8128427a1d667f62ce4888fe2921ca12b6823deb Mon Sep 17 00:00:00 2001 From: Markku Okkonen Date: Fri, 10 Nov 2023 15:06:45 +0200 Subject: Database basics and initial workings of nick registeration --- db_actions.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 db_actions.py (limited to 'db_actions.py') diff --git a/db_actions.py b/db_actions.py new file mode 100644 index 0000000..5ee2f16 --- /dev/null +++ b/db_actions.py @@ -0,0 +1,34 @@ +from time import time + +from flask import Flask +from flask_sqlalchemy import SQLAlchemy +from sqlalchemy.orm import DeclarativeBase +from sqlalchemy.sql import text + +class Base(DeclarativeBase): + pass + +db = SQLAlchemy(model_class=Base) + +def user_new(nick): + sql = "INSERT \ + INTO users (nick, created) \ + VALUES (:nick, :created) \ + RETURNING id ;" + result = db.session.execute( + text(sql), { "nick":nick, "created":int(time()) } + ) + db.session.commit() + return result.fetchone()[0] + +def user_get_nick(id): + sql = "SELECT nick \ + FROM users \ + WHERE id=(:id);" + return db.session.execute(text(sql), { "id":id }).fetchone()[0] + +def user_exists(nick): + sql = "SELECT COUNT(id) \ + FROM users \ + WHERE nick=(:nick);" + return db.session.execute(text(sql), { "nick":nick }).scalar() -- cgit v1.2.3