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.
moderator-bot/database.py

47 lines
1.0 KiB
Python
Raw Normal View History

from peewee import CharField, BigIntegerField, DateField, DateTimeField, ForeignKeyField
2022-11-06 03:48:10 -05:00
from enum import Enum
2022-11-06 03:48:10 -05:00
import config
from playhouse.db_url import connect
from datetime import datetime, date
from peewee import Model
2022-11-06 03:48:10 -05:00
db = connect(config.db_uri)
2022-12-01 05:54:32 -05:00
2022-11-06 03:48:10 -05:00
class MemberRoles(Enum):
OWNER = "owner"
ADMIN = "admin"
2022-11-06 03:48:10 -05:00
HELPER = "helper"
MEMBER = "member"
2022-11-06 03:48:10 -05:00
class Member(Model):
user_id = BigIntegerField()
2022-11-06 03:48:10 -05:00
first_name = CharField()
username = CharField(null=True)
2022-11-06 03:48:10 -05:00
role = CharField(default="member")
2022-12-01 05:54:32 -05:00
warns = BigIntegerField(default=0)
2022-11-06 03:48:10 -05:00
joined = DateField(default=date.today())
2022-11-06 03:48:10 -05:00
class Meta:
db_table = "members"
database = db
2022-11-06 03:48:10 -05:00
class Restriction(Model):
from_user = ForeignKeyField(Member, lazy_load=True)
to_user = ForeignKeyField(Member, lazy_load=True)
2022-11-06 03:48:10 -05:00
text = CharField()
message_id = BigIntegerField()
timestamp = DateTimeField(default=datetime.now().replace(microsecond=0))
2022-11-06 03:48:10 -05:00
class Meta:
db_table = "auditlog"
database = db