aboutsummaryrefslogtreecommitdiff
path: root/models/user.py
blob: 690083caf57b333052a9f71b1085b217877401d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from datetime import datetime
from enum import IntEnum

from sqlalchemy.orm import Mapped, mapped_column

from models import BaseTable


class UserRole(IntEnum):
    REGULAR = 0
    ADMIN = 1


class User(BaseTable):
    __tablename__ = "user"

    id: Mapped[int] = mapped_column(primary_key=True, autoincrement=False)
    role: Mapped[UserRole] = mapped_column(default=UserRole.REGULAR)
    vpn_link: Mapped[str]
    datetime: Mapped[datetime]

    def is_regular(self) -> bool:
        return self.role >= UserRole.REGULAR

    def is_admin(self) -> bool:
        return self.role == UserRole.ADMIN