From 7e6d28b39ec3f706d86280804011f7436df90851 Mon Sep 17 00:00:00 2001 From: Raghuram Subramani Date: Sat, 10 May 2025 09:05:48 +0530 Subject: add webapp --- web/app/models.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 web/app/models.py (limited to 'web/app/models.py') diff --git a/web/app/models.py b/web/app/models.py new file mode 100644 index 0000000..e4bbb00 --- /dev/null +++ b/web/app/models.py @@ -0,0 +1,36 @@ +from flask_login import UserMixin +from tinydb import TinyDB, Query + +db = TinyDB('db.json') +users_table = db.table('users') +UserQuery = Query() + +class User(UserMixin): + def __init__(self, username, admin): + self.id = username + self.admin = admin + + @staticmethod + def get(username): + result = users_table.get(UserQuery.username == username) + if result: + return User(username, result['admin']) + return None + + @staticmethod + def validate_login(username, password): + user = users_table.get((UserQuery.username == username) & (UserQuery.password == password)) + if user: + return User(username, user['admin']) + + return None + + @staticmethod + def create(username, password, admin=False): + if users_table.get(UserQuery.username == username): + return None + + users_table.insert({'username': username, 'password': password, 'admin': admin}) + return User(username, admin) + +User.create('admin', 'dontguessthisplzahh', admin=True) -- cgit v1.2.3