import jsonapi_requests class Log(jsonapi_requests.orm.ApiModel): class Meta: type = 'log' @classmethod def get_type_and_path(cls, name): return (f"{cls.type}{api_type_spatrator}{name}", f"{cls.path}{api_path_separator}{name}") @classmethod def set_api(cls, api): cls.api = api name = jsonapi_requests.orm.AttributeField('name') timestamp = jsonapi_requests.orm.AttributeField('timestamp') isMovement = jsonapi_requests.orm.AttributeField('isMovement') assets = jsonapi_requests.orm.RelationField('asset') location = jsonapi_requests.orm.RelationField('location') equipment = jsonapi_requests.orm.RelationField('equipment') quantities = jsonapi_requests.orm.RelationField('quantity') def getPlant(self): for asset in self.assets: if asset.type == 'asset--plant': return asset class Activity(Log): class Meta(Log.Meta): name = 'activity' type, path = Log.Meta.get_type_and_path(name) class Maintenance(Log): class Meta(Log.Meta): name = 'maintenance' type, path = Log.Meta.get_type_and_path(name) class Purchase(Log): class Meta(Log.Meta): name = 'purchase' type, path = Log.Meta.get_type_and_path(name) class Seeding(Log): class Meta(Log.Meta): name = 'seeding' type, path = Log.Meta.get_type_and_path(name) class Input(Log): class Meta(Log.Meta): name = 'input' type, path = Log.Meta.get_type_and_path(name) class Medical(Log): class Meta(Log.Meta): name = 'medical' type, path = Log.Meta.get_type_and_path(name) class Harvest(Log): class Meta(Log.Meta): name = 'harvest' type, path = Log.Meta.get_type_and_path(name) class Sale(Log): class Meta(Log.Meta): name = 'sale' type, path = Log.Meta.get_type_and_path(name)