from flask_marshmallow import Marshmallow from app.models import ( PlayKey, PetNames, Mail, UGC, PropertyContent, Property, CharacterXML, CharacterInfo, Account, AccountInvitation, ActivityLog, CommandLog ) ma = Marshmallow() class PlayKeySchema(ma.SQLAlchemyAutoSchema): class Meta: model = PlayKey include_relationships = False load_instance = True include_fk = True class PetNamesSchema(ma.SQLAlchemyAutoSchema): class Meta: model = PetNames include_relationships = False load_instance = True include_fk = False class MailSchema(ma.SQLAlchemyAutoSchema): class Meta: model = Mail include_relationships = False load_instance = True include_fk = False class UGCSchema(ma.SQLAlchemyAutoSchema): class Meta: model = UGC include_relationships = False load_instance = True include_fk = False class PropertyContentSchema(ma.SQLAlchemyAutoSchema): class Meta: model = PropertyContent include_relationships = True load_instance = True include_fk = True ugc = ma.Nested(UGCSchema) class PropertySchema(ma.SQLAlchemyAutoSchema): class Meta: model = Property include_relationships = False load_instance = True include_fk = False properties_contents = ma.Nested(PropertyContentSchema, many=True) class CharacterXMLSchema(ma.SQLAlchemyAutoSchema): class Meta: model = CharacterXML include_relationships = False load_instance = True include_fk = False class CharacterInfoSchema(ma.SQLAlchemyAutoSchema): class Meta: model = CharacterInfo include_relationships = False load_instance = True include_fk = False charxml = ma.Nested(CharacterXMLSchema) properties_owner = ma.Nested(PropertySchema, many=True) pets = ma.Nested(PetNamesSchema, many=True) mail = ma.Nested(MailSchema, many=True) class AccountSchema(ma.SQLAlchemyAutoSchema): class Meta: model = Account include_relationships = False load_instance = True include_fk = False play_key = ma.Nested(PlayKeySchema) charinfo = ma.Nested(CharacterInfoSchema, many=True) class AccountInvitationSchema(ma.SQLAlchemyAutoSchema): # noqa class Meta: model = AccountInvitation include_relationships = True load_instance = True include_fk = True invite_by_user = ma.Nested(AccountSchema) class ActivityLogSchema(ma.SQLAlchemyAutoSchema): # noqa class Meta: model = ActivityLog include_relationships = True load_instance = True include_fk = True character = ma.Nested(CharacterInfoSchema()) class CommandLogSchema(ma.SQLAlchemyAutoSchema): # noqa class Meta: model = CommandLog include_relationships = True load_instance = True include_fk = True character = ma.Nested(CharacterInfoSchema())