summaryrefslogtreecommitdiff
path: root/db/user.py
blob: a129a135f0bacf69cee4e5e89a2cc2b292adcc6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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()