diff --git a/app/controllers/apartment_node.py b/app/controllers/apartment_node.py new file mode 100644 index 0000000000000000000000000000000000000000..84404b4e2dc17f13014f278d64d4dc0a51011358 --- /dev/null +++ b/app/controllers/apartment_node.py @@ -0,0 +1,14 @@ +from .base import RestController +from ..forms.apartment_node import ApartmentNodeForm +from ..models.apartment_node import ApartmentNode + +class ApartmentNodeController(RestController): + """An apartment node controller.""" + Model = ApartmentNode + filters = { + 'parent_id': lambda d: ApartmentNode.parent_id == d['parent_id'], + } + + def get_form(self, filter_data): + """Return the apartment node form.""" + return ApartmentNodeForm diff --git a/app/controllers/boiler_node.py b/app/controllers/boiler_node.py new file mode 100644 index 0000000000000000000000000000000000000000..f1c87df8ab29bab60fbfb1e980021eb7a1c4c409 --- /dev/null +++ b/app/controllers/boiler_node.py @@ -0,0 +1,14 @@ +from .base import RestController +from ..forms.boiler_node import BoilerNodeForm +from ..models.boiler_node import BoilerNode + +class BoilerNodeController(RestController): + """A boiler node controller.""" + Model = BoilerNode + filters = { + 'parent_id': lambda d: BoilerNode.parent_id == d['parent_id'], + } + + def get_form(self, filter_data): + """Return the boiler node form.""" + return BoilerNodeForm diff --git a/app/controllers/building_sensor.py b/app/controllers/building_sensor.py deleted file mode 100644 index 81ff6ed885b282874dcfd2a94aca120eac13c52b..0000000000000000000000000000000000000000 --- a/app/controllers/building_sensor.py +++ /dev/null @@ -1,17 +0,0 @@ -from .base import RestController -from ..forms.building_sensor import BuildingSensorForm -from ..models.building_sensor import BuildingSensor - -class BuildingSensorController(RestController): - """A sensor controller.""" - Model = BuildingSensor - filters = { - 'building_id': lambda d: BuildingSensor.building_id == d['building_id'], - 'building_id[]': lambda d: BuildingSensor.building_id.in_(d.getlist('building_id[]')), - } - - def get_form(self, filter_data): - """Return the sensor form.""" - return BuildingSensorForm - - diff --git a/app/controllers/building_sensor_apartment_node.py b/app/controllers/building_sensor_apartment_node.py deleted file mode 100644 index 1e702820caadae4d1aa8aedd3610248392c9d392..0000000000000000000000000000000000000000 --- a/app/controllers/building_sensor_apartment_node.py +++ /dev/null @@ -1,14 +0,0 @@ -from .base import RestController -from ..forms.building_sensor_apartment_node import BuildingSensorApartmentNodeForm -from ..models.building_sensor_apartment_node import BuildingSensorApartmentNode - -class BuildingSensorApartmentNodeController(RestController): - """An apartment node controller.""" - Model = BuildingSensorApartmentNode - filters = { - 'parent_id': lambda d: BuildingSensorApartmentNode.parent_id == d['parent_id'], - } - - def get_form(self, filter_data): - """Return the apartment node form.""" - return BuildingSensorApartmentNodeForm diff --git a/app/controllers/building_sensor_boiler_node.py b/app/controllers/building_sensor_boiler_node.py deleted file mode 100644 index ffebb37c98610d7795ec5b2b20a5caa47c083d5e..0000000000000000000000000000000000000000 --- a/app/controllers/building_sensor_boiler_node.py +++ /dev/null @@ -1,14 +0,0 @@ -from .base import RestController -from ..forms.building_sensor_boiler_node import BuildingSensorBoilerNodeForm -from ..models.building_sensor_boiler_node import BuildingSensorBoilerNode - -class BuildingSensorBoilerNodeController(RestController): - """A boiler node controller.""" - Model = BuildingSensorBoilerNode - filters = { - 'parent_id': lambda d: BuildingSensorBoilerNode.parent_id == d['parent_id'], - } - - def get_form(self, filter_data): - """Return the boiler node form.""" - return BuildingSensorBoilerNodeForm diff --git a/app/controllers/building_sensor_repeater_node.py b/app/controllers/building_sensor_repeater_node.py deleted file mode 100644 index 25d0866cc4af4b9d323c609d79984fcc186e4388..0000000000000000000000000000000000000000 --- a/app/controllers/building_sensor_repeater_node.py +++ /dev/null @@ -1,14 +0,0 @@ -from .base import RestController -from ..forms.building_sensor_repeater_node import BuildingSensorRepeaterNodeForm -from ..models.building_sensor_repeater_node import BuildingSensorRepeaterNode - -class BuildingSensorRepeaterNodeController(RestController): - """A repeater node controller.""" - Model = BuildingSensorRepeaterNode - filters = { - 'parent_id': lambda d: BuildingSensorRepeaterNode.parent_id == d['parent_id'], - } - - def get_form(self, filter_data): - """Return the repeater node form.""" - return BuildingSensorRepeaterNodeForm diff --git a/app/controllers/gateway.py b/app/controllers/gateway.py new file mode 100644 index 0000000000000000000000000000000000000000..eefece40cea97267861aebc12d7978ac0c6eb845 --- /dev/null +++ b/app/controllers/gateway.py @@ -0,0 +1,15 @@ +from .base import RestController +from ..forms.gateway import GatewayForm +from ..models.gateway import Gateway + +class GatewayController(RestController): + """A sensor controller.""" + Model = Gateway + filters = { + 'building_id': lambda d: Gateway.building_id == d['building_id'], + 'building_id[]': lambda d: Gateway.building_id.in_(d.getlist('building_id[]')), + } + + def get_form(self, filter_data): + """Return the sensor form.""" + return GatewayForm diff --git a/app/controllers/repeater_node.py b/app/controllers/repeater_node.py new file mode 100644 index 0000000000000000000000000000000000000000..8cd4825d26c864108a6e6247b44475ff381d6010 --- /dev/null +++ b/app/controllers/repeater_node.py @@ -0,0 +1,14 @@ +from .base import RestController +from ..forms.repeater_node import RepeaterNodeForm +from ..models.repeater_node import RepeaterNode + +class RepeaterNodeController(RestController): + """A repeater node controller.""" + Model = RepeaterNode + filters = { + 'parent_id': lambda d: RepeaterNode.parent_id == d['parent_id'], + } + + def get_form(self, filter_data): + """Return the repeater node form.""" + return RepeaterNodeForm diff --git a/app/forms/building_sensor_apartment_node.py b/app/forms/apartment_node.py similarity index 95% rename from app/forms/building_sensor_apartment_node.py rename to app/forms/apartment_node.py index 3229dd04c704b3db8e505ace991fd3d474aa5c77..ca61f8450d6db9af3d718522f97d4d6cb6653756 100644 --- a/app/forms/building_sensor_apartment_node.py +++ b/app/forms/apartment_node.py @@ -1,7 +1,7 @@ import wtforms as wtf from .base import Form, UserForm -class BuildingSensorApartmentNodeForm(Form, UserForm): +class ApartmentNodeForm(Form, UserForm): """ A form for validating apartment node requests.""" id = wtf.IntegerField( diff --git a/app/forms/building_sensor_boiler_node.py b/app/forms/boiler_node.py similarity index 91% rename from app/forms/building_sensor_boiler_node.py rename to app/forms/boiler_node.py index c919b4339de10cdec95e0a765b38be3902e129c5..8350a897af00ea81879e193b4ead3ec4bbe1dea7 100644 --- a/app/forms/building_sensor_boiler_node.py +++ b/app/forms/boiler_node.py @@ -1,7 +1,7 @@ import wtforms as wtf from .base import Form, UserForm -class BuildingSensorBoilerNodeForm(Form, UserForm): +class BoilerNodeForm(Form, UserForm): """ A form for validating boiler node requests.""" id = wtf.IntegerField( @@ -28,6 +28,6 @@ class BuildingSensorBoilerNodeForm(Form, UserForm): temperature_probe_4 = wtf.IntegerField( validators=[wtf.validators.Optional()] ) - notes = wtf.StringField( + notes = wtf.StringField( validators=[wtf.validators.Optional()] ) diff --git a/app/forms/building_sensor.py b/app/forms/gateway.py similarity index 96% rename from app/forms/building_sensor.py rename to app/forms/gateway.py index 9bf2b6d689a16cbceea3fd446d4d6ce3de35b984..b1279c2be54ed18cb8d49d67e4afaa755933b9ec 100644 --- a/app/forms/building_sensor.py +++ b/app/forms/gateway.py @@ -1,7 +1,7 @@ import wtforms as wtf from .base import Form, UserForm -class BuildingSensorForm(Form, UserForm): +class GatewayForm(Form, UserForm): """ A form for validating building sensor requests.""" id = wtf.IntegerField( diff --git a/app/forms/building_sensor_repeater_node.py b/app/forms/repeater_node.py similarity index 92% rename from app/forms/building_sensor_repeater_node.py rename to app/forms/repeater_node.py index 4421d939bfad447510ee0257a5cd1af16df4347b..d3c7835c1b79a791177956df63cec858569f25b3 100644 --- a/app/forms/building_sensor_repeater_node.py +++ b/app/forms/repeater_node.py @@ -1,7 +1,7 @@ import wtforms as wtf from .base import Form, UserForm -class BuildingSensorRepeaterNodeForm(Form, UserForm): +class RepeaterNodeForm(Form, UserForm): """ A form for validating repeater node requests.""" id = wtf.IntegerField( diff --git a/app/models/building_sensor_apartment_node.py b/app/models/apartment_node.py similarity index 86% rename from app/models/building_sensor_apartment_node.py rename to app/models/apartment_node.py index 9d1ae5fb21b75cda01835e99b54eaf005e78b0ef..7c134b4f4a62f9d26583534b040438c5f4479c25 100644 --- a/app/models/building_sensor_apartment_node.py +++ b/app/models/apartment_node.py @@ -3,11 +3,11 @@ from ..lib.database import db from sqlalchemy.ext.declarative import declared_attr -class BuildingSensorApartmentNode(Model, Tracked, User, db.Model): +class ApartmentNode(Model, Tracked, User, db.Model): @declared_attr def __tablename__(cls): - return "building_sensor_apartment_node" + return "apartment_node" __table_args__ = {"schema": "sensor"} diff --git a/app/models/building_sensor_boiler_node.py b/app/models/boiler_node.py similarity index 83% rename from app/models/building_sensor_boiler_node.py rename to app/models/boiler_node.py index bfb656447322b743e3661a0e9093c344dd00d2c0..dd76224aaab99c9f111d677256012070771ff1e9 100644 --- a/app/models/building_sensor_boiler_node.py +++ b/app/models/boiler_node.py @@ -3,11 +3,11 @@ from ..lib.database import db from sqlalchemy.ext.declarative import declared_attr -class BuildingSensorBoilerNode(Model, User, Tracked, db.Model): +class BoilerNode(Model, User, Tracked, db.Model): @declared_attr def __tablename__(cls): - return "building_sensor_boiler_node" + return "boiler_node" __table_args__ = {"schema": "sensor"} diff --git a/app/models/building_sensor.py b/app/models/gateway.py similarity index 87% rename from app/models/building_sensor.py rename to app/models/gateway.py index 0436ce5cd19f014e26b3ddd2dd9fafe33ab0e0e5..1d3de69a10edb1f2256f40eae173cc9dbbfea58c 100644 --- a/app/models/building_sensor.py +++ b/app/models/gateway.py @@ -3,11 +3,11 @@ from ..lib.database import db from sqlalchemy.ext.declarative import declared_attr -class BuildingSensor(Model, User, Tracked, db.Model): +class Gateway(Model, User, Tracked, db.Model): @declared_attr def __tablename__(cls): - return "building_sensor" + return "gateway" __table_args__ = {"schema": "sensor"} diff --git a/app/models/building_sensor_repeater_node.py b/app/models/repeater_node.py similarity index 79% rename from app/models/building_sensor_repeater_node.py rename to app/models/repeater_node.py index 05a8b98f0c130900586dcd697f69765a48861a2f..301180afa23b167f702e9597d54194b1e35c47d0 100644 --- a/app/models/building_sensor_repeater_node.py +++ b/app/models/repeater_node.py @@ -3,11 +3,11 @@ from ..lib.database import db from sqlalchemy.ext.declarative import declared_attr -class BuildingSensorRepeaterNode(Model, User, Tracked, db.Model): +class RepeaterNode(Model, User, Tracked, db.Model): @declared_attr def __tablename__(cls): - return "building_sensor_repeater_node" + return "repeater_node" __table_args__ = {"schema": "sensor"} diff --git a/app/views/__init__.py b/app/views/__init__.py index 6e99f084df064be27eae58324524360b4ce92bde..8cb25c8a6a36f5604c11aa5124cacbb31ffd5b03 100644 --- a/app/views/__init__.py +++ b/app/views/__init__.py @@ -1,9 +1,9 @@ """Flask-classy views for the flask application.""" from . import ( - building_sensor, - building_sensor_boiler_node, - building_sensor_apartment_node, - building_sensor_repeater_node, + gateway, + boiler_node, + apartment_node, + repeater_node, sensor_image, ) @@ -14,8 +14,8 @@ def register(app): This can be used as a comprehensive list of all views that are present in the application. """ - building_sensor.BuildingSensorView.register(app) - building_sensor_boiler_node.BuildingSensorBoilerNodeView.register(app) - building_sensor_apartment_node.BuildingSensorApartmentNodeView.register(app) - building_sensor_repeater_node.BuildingSensorRepeaterNodeView.register(app) + gateway.GatewayView.register(app) + boiler_node.BoilerNodeView.register(app) + apartment_node.ApartmentNodeView.register(app) + repeater_node.RepeaterNodeView.register(app) sensor_image.SensorImageView.register(app) diff --git a/app/views/building_sensor_apartment_node.py b/app/views/apartment_node.py similarity index 53% rename from app/views/building_sensor_apartment_node.py rename to app/views/apartment_node.py index 3f4a6c513fe0da548d3bb00aa1b62e5d0c4cd48d..fa2466bbf524d69bb269cf638a0f5751c758201b 100644 --- a/app/views/building_sensor_apartment_node.py +++ b/app/views/apartment_node.py @@ -1,12 +1,12 @@ """Views for working with accounts.""" from .base import RestView -from ..controllers.building_sensor_apartment_node import BuildingSensorApartmentNodeController +from ..controllers.apartment_node import ApartmentNodeController from flask import request -class BuildingSensorApartmentNodeView(RestView): +class ApartmentNodeView(RestView): """The apartment node view.""" def get_controller(self): """Return an instance of the apartment node controller.""" - return BuildingSensorApartmentNodeController() + return ApartmentNodeController() diff --git a/app/views/building_sensor_boiler_node.py b/app/views/boiler_node.py similarity index 54% rename from app/views/building_sensor_boiler_node.py rename to app/views/boiler_node.py index df8c7a0e0f29d25583871e1c23032c89b72dd7e8..1ac2aa105db38e96ffdc039ba42ed7fe6d559a30 100644 --- a/app/views/building_sensor_boiler_node.py +++ b/app/views/boiler_node.py @@ -1,12 +1,12 @@ """Views for working with accounts.""" from .base import RestView -from ..controllers.building_sensor_boiler_node import BuildingSensorBoilerNodeController +from ..controllers.boiler_node import BoilerNodeController from flask import request -class BuildingSensorBoilerNodeView(RestView): +class BoilerNodeView(RestView): """The boiler node view.""" def get_controller(self): """Return an instance of the boiler node controller.""" - return BuildingSensorBoilerNodeController() + return BoilerNodeController() diff --git a/app/views/building_sensor.py b/app/views/gateway.py similarity index 59% rename from app/views/building_sensor.py rename to app/views/gateway.py index d8c63d5ad9cfd53555e03530c6ef7072e10f8700..7f506a5881308f197eae1743c84a24af744d88ee 100644 --- a/app/views/building_sensor.py +++ b/app/views/gateway.py @@ -1,12 +1,12 @@ """Views for working with accounts.""" from .base import RestView -from ..controllers.building_sensor import BuildingSensorController +from ..controllers.gateway import GatewayController from flask import request -class BuildingSensorView(RestView): +class GatewayView(RestView): """The sensor view.""" def get_controller(self): """Return an instance of the sensor controller.""" - return BuildingSensorController() + return GatewayController() diff --git a/app/views/building_sensor_repeater_node.py b/app/views/repeater_node.py similarity index 53% rename from app/views/building_sensor_repeater_node.py rename to app/views/repeater_node.py index e0588f62cebd30c9d7742760ce9eea72925c4bd7..a491af4ed5cc4ab8163c17edb1dea19ba75fc9b9 100644 --- a/app/views/building_sensor_repeater_node.py +++ b/app/views/repeater_node.py @@ -1,12 +1,12 @@ """Views for working with accounts.""" from .base import RestView -from ..controllers.building_sensor_repeater_node import BuildingSensorRepeaterNodeController +from ..controllers.repeater_node import RepeaterNodeController from flask import request -class BuildingSensorRepeaterNodeView(RestView): +class RepeaterNodeView(RestView): """The repeater node view.""" def get_controller(self): """Return an instance of the repeater node controller.""" - return BuildingSensorRepeaterNodeController() + return RepeaterNodeController()