Files
WebTech/application/auth/models.py
2025-04-17 14:28:25 +02:00

21 lines
751 B
Python

from application import db
from flask_login import UserMixin # type: ignore
# User model
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(150), unique=True, nullable=False)
password = db.Column(db.String(150), nullable=False)
is_admin = db.Column(db.Boolean, default=False)
# Purely a relationship not a column,
# makes all the services accessible through User.services
services = db.relationship("Service", backref="user", lazy="joined")
# Initialize user, prevents red stuff
def __init__(self, username: str, password: str, is_admin: bool = False):
self.username = username
self.password = password
self.is_admin = is_admin