StarfallBot/starfall/db/schema/users.py

28 lines
786 B
Python

from typing import Any
from sqlalchemy.orm import Mapped, mapped_column
from starfall.db import db
class User(db.Model):
id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True)
email: Mapped[str] = mapped_column(unique=True)
username: Mapped[str] = mapped_column()
password: Mapped[str] = mapped_column()
def __init__(self, **kwargs: Any) -> None:
super().__init__(**kwargs)
def auth(self):
return (
User.query.filter_by(username=self.username, password=self.password).first()
is not None
)
def username_free(self):
return User.query.filter_by(username=self.username).first() is None
def email_free(self):
return User.query.filter_by(email=self.email).first() is None