status update consumption done
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-07-20 17:09:05 +02:00
parent 689d530996
commit 009e3e4933
7 changed files with 164 additions and 2 deletions

42
src/models.py Normal file
View File

@@ -0,0 +1,42 @@
#!/usr/bin/env python3
import enum
from sqlalchemy.sql import func
from db import db
"""
SQLAlchemy models
"""
__author__ = '@tormakris'
__copyright__ = "Copyright 2020, Birbnetes Team"
__module_name__ = "models"
__version__text__ = "1"
class StatusEnum(enum.Enum):
online = "online"
offline = "offline"
class DeviceStatusEnum(StatusEnum):
error = "error"
class SensorStatusEnum(StatusEnum):
unknown = "unknown"
class Device(db.Model):
__tablename__ = 'device'
id = db.Column(db.UUID, primary_key=True)
status = db.Column(db.Enum(DeviceStatusEnum), nullable=False)
url = db.Column(db.String, nullable=False)
lastupdate = db.Column(db.TIMESTAMP, nullable=False, server_default=func.now(), onupdate=func.current_timestamp())
sensors = db.relationship("Sensor", nullable=True)
class Sensor(db.Model):
__tablename__ = 'sensor'
id = db.Column(db.UUID, primary_key=True)
status = db.Column(db.Enum(SensorStatusEnum), nullable=False)
device_id = db.Column(db.UUID, db.ForeignKey('device.id'))