crudkit/muck/models/player.py

26 lines
955 B
Python

from sqlalchemy import Column, Integer, Boolean, String, ForeignKey
from sqlalchemy.orm import relationship
from crudkit.core.base import CRUDMixin
from muck.models.dbref import Dbref, ObjectType
class Player(Dbref):
__tablename__ = "players"
id = Column(Integer, ForeignKey("dbref.id"), primary_key=True)
pennies = Column(Integer, nullable=False, default=0)
insert_mode = Column(Boolean, nullable=False, default=False)
block = Column(Integer, nullable=True)
password = Column(String, nullable=False)
home_id = Column(Integer, ForeignKey("dbref.id"), nullable=False)
home = relationship("Dbref", remote_side=[CRUDMixin.id], foreign_keys=[home_id])
current_program_id = Column(Integer, ForeignKey("dbref.id"), nullable=True)
current_program = relationship("Dbref", remote_side=[CRUDMixin.id], foreign_keys=[current_program_id])
__mapper_args__ = {
"polymorphic_identity": ObjectType.PLAYER
}