Files
Grinch-AP/WebHost/models.py

39 lines
1019 B
Python
Raw Normal View History

2020-06-20 20:03:06 +02:00
from datetime import datetime
from uuid import UUID, uuid4
from pony.orm import *
db = Database()
class Patch(db.Entity):
id = PrimaryKey(int, auto=True)
data = Required(buffer)
simple_seed = Required('Seed')
class Room(db.Entity):
id = PrimaryKey(int, auto=True)
2020-06-24 08:52:02 +02:00
last_activity = Required(datetime, default=lambda: datetime.utcnow(), index=True)
owner = Required(UUID, index=True)
2020-06-20 20:03:06 +02:00
commands = Set('Command')
2020-06-24 08:52:02 +02:00
seed = Required('Seed', index=True)
2020-06-20 20:03:06 +02:00
multisave = Optional(Json)
timeout = Required(int, default=lambda: 6)
allow_tracker = Required(bool, default=True)
last_port = Optional(int, default=lambda: 0)
2020-06-20 20:03:06 +02:00
class Seed(db.Entity):
id = PrimaryKey(int, auto=True)
rooms = Set(Room)
multidata = Optional(Json)
creation_time = Required(datetime, default=lambda: datetime.utcnow())
patches = Set(Patch)
spoiler = Optional(str)
class Command(db.Entity):
id = PrimaryKey(int, auto=True)
room = Required(Room)
commandtext = Required(str)