from flask_restx import fields from . import api import os __all__ = [ os.path.splitext(os.path.basename(x))[0] for x in os.listdir(os.path.dirname(__file__)) if x.endswith(".py") and x != "__init__.py" ] message_types = [ "platform_status", "mission_plan_ecosub", "mission_plan_reav", "mission_plan_autosub", ] # TODO: Add full range of message types once scoped out message_header_schema = api.model( "MessageHeader", { "timestamp": fields.DateTime( required=True, description="Timestamp of message", example="2022-11-16T00:00:00Z", ), "source": fields.String( required=True, description="Where is this message from", example="autonomy_engine", ), "destination": fields.String( required=True, description="What is the destination of this message", example="ah-1", ), "encoded": fields.Boolean( required=True, description="Indicate that message raw (encoded) or decoded. " + "Options: encoded=True, decoded=False", example=False, ), "type": fields.String( required=True, description="Type of message", example="platform_status", ), # "payload":# TODO: schema applicable changes according to "type" }, ) platform_schema = api.model( "PlatformSchema", { "platform_ID": fields.Integer( required=True, description="unique identifier for platform", example="ah-1", ), "serial": fields.Integer( required=True, description="platform serial number", example="ah-1", ), "model": fields.Integer( required=True, description="platform serial number", example="ah-1", ), "active": fields.Boolean( required=False, description="platform in mission", example=True, ), }, ) # TODO: Add generic positions schema # TODO: Define units for all schemas