mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
set up epc model and already installed model
This commit is contained in:
parent
caeb776428
commit
7fde580b37
2 changed files with 45 additions and 0 deletions
29
backend/app/db/models/epc.py
Normal file
29
backend/app/db/models/epc.py
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
from sqlalchemy import (
|
||||
Column,
|
||||
Integer,
|
||||
String,
|
||||
JSON,
|
||||
TIMESTAMP,
|
||||
UniqueConstraint,
|
||||
)
|
||||
from sqlalchemy.orm import declarative_base
|
||||
|
||||
Base = declarative_base()
|
||||
|
||||
|
||||
class EpcStore(Base):
|
||||
"""
|
||||
Stores EPC data retrieved from the EPC API and EPC web pages.
|
||||
"""
|
||||
__tablename__ = "epc_store"
|
||||
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
uprn = Column(Integer)
|
||||
epc_api_created_at = Column(TIMESTAMP(timezone=False))
|
||||
epc_api = Column(JSON, nullable=False)
|
||||
epc_page_created_at = Column(TIMESTAMP(timezone=False))
|
||||
epc_page = Column(String)
|
||||
epc_page_rrn = Column(String)
|
||||
|
||||
def __repr__(self):
|
||||
return f"<EpcStore(id={self.id}, uprn='{self.uprn}')>"
|
||||
|
|
@ -4,6 +4,7 @@ import datetime
|
|||
from sqlalchemy import Column, Integer, Text, Boolean, Float, DateTime, Enum, ForeignKey, CheckConstraint
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from backend.app.db.models.users import UserModel # noqa
|
||||
from backend.app.db.models.materials import MaterialType
|
||||
|
||||
Base = declarative_base()
|
||||
|
||||
|
|
@ -225,3 +226,18 @@ class PortfolioUsers(Base):
|
|||
role = Column(Text, nullable=False)
|
||||
created_at = Column(DateTime, nullable=False, default=datetime.datetime.now(pytz.utc))
|
||||
updated_at = Column(DateTime, nullable=False, default=datetime.datetime.now(pytz.utc))
|
||||
|
||||
|
||||
class PropertyInstalledMeasures(Base):
|
||||
"""
|
||||
This model keeps a record of the installed measures for each property, at the UPRN level
|
||||
"""
|
||||
__tablename__ = 'property_installed_measures'
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
uprn = Column(Integer, nullable=False)
|
||||
measure_type = Column(
|
||||
Enum(MaterialType, values_callable=lambda x: [e.value for e in x], create_constraint=False),
|
||||
nullable=False
|
||||
)
|
||||
created_at = Column(DateTime, nullable=False, default=datetime.datetime.now(pytz.utc))
|
||||
installed_at = Column(DateTime, nullable=False, default=datetime.datetime.now(pytz.utc))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue