56 lines
2.5 KiB
Python
56 lines
2.5 KiB
Python
from app.extensions import db
|
|
from datetime import datetime
|
|
from app.enums.PlaceRigChoice import PlaceRigChoice
|
|
from app.enums.PlaceYear import PlaceYear
|
|
|
|
class Universe( db.Model ):
|
|
id = db.Column( db.BigInteger, primary_key=True, autoincrement=True, nullable=False )
|
|
root_place_id = db.Column( db.BigInteger, nullable=False, index=True, unique=True )
|
|
creator_id = db.Column( db.BigInteger, nullable=False, index=True )
|
|
creator_type = db.Column( db.SmallInteger, nullable=False )
|
|
|
|
created_at = db.Column( db.DateTime, nullable=False )
|
|
updated_at = db.Column( db.DateTime, nullable=False )
|
|
|
|
place_rig_choice = db.Column( db.Enum( PlaceRigChoice ), nullable=False, default = PlaceRigChoice.UserChoice )
|
|
place_year = db.Column( db.Enum( PlaceYear ), nullable=False, default = PlaceYear.Sixteen )
|
|
is_featured = db.Column( db.Boolean, nullable=False, default = False, index=True )
|
|
minimum_account_age = db.Column( db.Integer, nullable=False, default = 0 )
|
|
bc_required = db.Column( db.Boolean, nullable=False, default = False, index=True )
|
|
allow_direct_join = db.Column( db.Boolean, nullable=False, default = False, index=True )
|
|
is_public = db.Column( db.Boolean, nullable=False, default = True, index=True )
|
|
moderation_status = db.Column( db.SmallInteger, nullable=False, default = 0, index=True )
|
|
visit_count = db.Column( db.BigInteger, nullable=False, default = 0, index=True )
|
|
|
|
def __init__(
|
|
self,
|
|
root_place_id : int,
|
|
creator_id : int,
|
|
creator_type : int,
|
|
|
|
place_rig_choice : PlaceRigChoice = PlaceRigChoice.UserChoice,
|
|
place_year : PlaceYear = PlaceYear.Sixteen,
|
|
is_featured : bool = False,
|
|
minimum_account_age : int = 0,
|
|
bc_required : bool = False,
|
|
allow_direct_join : bool = False,
|
|
is_public : bool = True,
|
|
|
|
updated_at : datetime = None,
|
|
created_at : datetime = None
|
|
):
|
|
self.root_place_id = root_place_id
|
|
self.creator_id = creator_id
|
|
self.creator_type = creator_type
|
|
|
|
self.place_rig_choice = place_rig_choice
|
|
self.place_year = place_year
|
|
|
|
self.is_featured = is_featured
|
|
self.minimum_account_age = minimum_account_age
|
|
self.bc_required = bc_required
|
|
self.allow_direct_join = allow_direct_join
|
|
self.is_public = is_public
|
|
|
|
self.created_at = datetime.utcnow() if created_at is None else created_at
|
|
self.updated_at = datetime.utcnow() if updated_at is None else updated_at |