diff options
Diffstat (limited to 'models/user.py')
| -rw-r--r-- | models/user.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/models/user.py b/models/user.py index 7118725..4983a13 100644 --- a/models/user.py +++ b/models/user.py | |||
| @@ -1,9 +1,24 @@ | |||
| 1 | from enum import IntEnum | ||
| 2 | |||
| 1 | from sqlalchemy.orm import Mapped, mapped_column | 3 | from sqlalchemy.orm import Mapped, mapped_column |
| 2 | 4 | ||
| 3 | from models import BaseTable | 5 | from models import BaseTable |
| 4 | 6 | ||
| 5 | 7 | ||
| 8 | class UserRole(IntEnum): | ||
| 9 | REGULAR = 0 | ||
| 10 | ADMIN = 1 | ||
| 11 | |||
| 12 | |||
| 6 | class User(BaseTable): | 13 | class User(BaseTable): |
| 7 | __tablename__ = "user" | 14 | __tablename__ = "user" |
| 8 | 15 | ||
| 9 | id: Mapped[int] = mapped_column(primary_key=True, autoincrement=False) | 16 | id: Mapped[int] = mapped_column(primary_key=True, autoincrement=False) |
| 17 | role: Mapped[UserRole] = mapped_column(default=UserRole.REGULAR) | ||
| 18 | vpn_link: Mapped[str] | ||
| 19 | |||
| 20 | def is_regular(self) -> bool: | ||
| 21 | return self.role >= UserRole.REGULAR | ||
| 22 | |||
| 23 | def is_admin(self) -> bool: | ||
| 24 | return self.role == UserRole.ADMIN | ||
