2024-01-12 16:53:03 +01:00
|
|
|
from flask_login import UserMixin
|
|
|
|
|
from db.SQLiteClient import create_user, get_user, get_user_by_email
|
2024-01-12 10:57:58 +01:00
|
|
|
|
2024-01-12 16:53:03 +01:00
|
|
|
|
|
|
|
|
class User(UserMixin):
|
|
|
|
|
def __init__(self, id, name, email, password=None):
|
2024-01-12 10:57:58 +01:00
|
|
|
self.id = id
|
|
|
|
|
self.name = name
|
|
|
|
|
self.email = email
|
2024-01-12 16:53:03 +01:00
|
|
|
self.password = password
|
2024-01-12 10:57:58 +01:00
|
|
|
|
|
|
|
|
@staticmethod
|
2024-01-12 16:53:03 +01:00
|
|
|
def create(name: str, email: str, password: str):
|
2024-01-12 10:57:58 +01:00
|
|
|
id = create_user(name, email, password)
|
|
|
|
|
return User(id, name, email)
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
2024-01-12 16:53:03 +01:00
|
|
|
def get(id: int):
|
2024-01-12 10:57:58 +01:00
|
|
|
user = get_user(id)
|
2024-01-12 16:53:03 +01:00
|
|
|
return User(user[0], user[1], user[2], user[3]) if user else None
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|
def get_by_email(email: str):
|
|
|
|
|
user = get_user_by_email(email)
|
|
|
|
|
return User(user[0], user[1], user[2], user[3]) if user else None
|