This repository has been archived on 2024-07-28. You can view files and clone it, but cannot push or open issues or pull requests.
2022-08-07 04:45:35 -04:00
|
|
|
from peewee import Model, BigIntegerField, CharField, DateField, DateTimeField, ForeignKeyField
|
|
|
|
|
|
|
|
import config
|
|
|
|
from playhouse.db_url import connect
|
|
|
|
|
|
|
|
from datetime import datetime, date
|
|
|
|
|
2022-08-16 06:28:08 -04:00
|
|
|
from enum import Enum
|
|
|
|
class MemberRoles(Enum):
|
|
|
|
OWNER = "owner"
|
|
|
|
ADMIN = "admin"
|
|
|
|
HELPER = "helper"
|
|
|
|
MEMBER = "member"
|
|
|
|
|
|
|
|
|
2022-08-07 04:45:35 -04:00
|
|
|
db = connect(config.db_url)
|
|
|
|
|
|
|
|
class Member(Model):
|
|
|
|
user_id = BigIntegerField()
|
|
|
|
first_name = CharField()
|
|
|
|
user_name = CharField(null=True)
|
|
|
|
role = CharField()
|
|
|
|
|
|
|
|
join_date = DateField(default=date.today())
|
|
|
|
|
|
|
|
reports = BigIntegerField()
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
db_table = "members"
|
|
|
|
database = db
|
|
|
|
|
|
|
|
class Restriction(Model):
|
|
|
|
operation = CharField()
|
|
|
|
|
|
|
|
from_admin = ForeignKeyField(Member,lazy_load=False)
|
|
|
|
to_user = ForeignKeyField(Member,lazy_load=False)
|
|
|
|
|
|
|
|
reason = CharField(null=True)
|
|
|
|
date = DateTimeField(default=datetime.now)
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
db_table = "restrictions"
|
|
|
|
database = db
|
|
|
|
|
|
|
|
def build() -> None:
|
|
|
|
db.create_tables([Member,Restriction])
|