/
stepone
/
climate-srv
Обзор
Документация
Войти
/
stepone
/
climate-srv
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
app/models.py
75 строк
3 KB
Stepan Egorov
Первая загрузка
29 дек 2024, 18:28
29 дек 2024, 18:28
80798aa
Код
Авторство
О чём код?
# -*- coding: utf-8 -*- from typing import Optional import sqlalchemy as sa import sqlalchemy.orm as so from app import db from flask import jsonify class User(db.Model): ''' DB table for users ''' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50), nullable=False) email_address = db.Column(db.String(100), unique=True, nullable=False) login = db.Column(db.String(50), unique=True, nullable=False) password_hash = db.Column(db.String(128), nullable=False) access_flags = db.Column(db.Integer, default=0, nullable=False) def __repr__(self): return f"User(name='{self.name}', email_address='{self.email_address}', login='{self.login}', password_hash='{self.password_hash}', access_flags={self.access_flags})" class Device(db.Model): ''' DB table for buildings ''' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50), unique=True, nullable=False) type = db.Column(db.String(50), nullable=False) mac_address = db.Column(db.String(20), unique=True, nullable=False) def __repr__(self): return f"Device(name='{self.name}', type='{self.type}', mac_address='{self.mac_address}')" class Building(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50), unique=True, nullable=False) address = db.Column(db.String(100), nullable=False) def __repr__(self): return f"Building(name='{self.name}', address='{self.address}')" class Room(db.Model): ''' DB table for rooms ''' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50), unique=True, nullable=False) location = db.Column(db.String(200), nullable=True) building_id = db.Column(db.Integer, db.ForeignKey( 'building.id'), nullable=False) def __repr__(self): return f"Room(name='{self.name}', location='{self.location}', building_id={self.building_id})" class ClimateData(db.Model): ''' DB table for climate data ''' id = db.Column(db.Integer, primary_key=True) created_at = db.Column(db.DateTime, nullable=False, default=db.func.current_timestamp()) room_id = db.Column(db.Integer, db.ForeignKey('room.id'), nullable=False) temperature = db.Column(db.Float, nullable=False) humidity = db.Column(db.Float, nullable=False) pressure = db.Column(db.Float, nullable=False) illuminance = db.Column(db.Float, nullable=False) def __repr__(self): return f"ClimateData(created_at='{self.created_at}', room_id={self.room_id}, temperature={self.temperature}, humidity={self.humidity}, pressure={self.pressure}, illuminance={self.illuminance})" # return jsonify({'created_at': self.created_at, 'room_id': self.room_id, 'temperature': self.temperature, 'humidity': self.humidity, 'pressure': self.pressure, 'illuminance': self.illuminance})