""" Model representation of a city object SPDX - License - Identifier: LGPL - 3.0 - or -later Copyright © 2022 Concordia CERC group Project Coder Guille Gutierrez Guillermo.GutierrezMorote@concordia.ca """ import datetime from sqlalchemy import Column, Integer, String, Sequence, ForeignKey, Float from sqlalchemy import DateTime from hub.persistence.configuration import Models class CityObject(Models): """ A model representation of an application """ __tablename__ = 'city_object' id = Column(Integer, Sequence('application_id_seq'), primary_key=True) city_id = Column(Integer, ForeignKey('city.id'), nullable=False) name = Column(String, nullable=False) alias = Column(String, nullable=True) type = Column(String, nullable=False) year_of_construction = Column(Integer, nullable=True) function = Column(String, nullable=True) usage = Column(String, nullable=True) volume = Column(Float, nullable=False) area = Column(Float, nullable=False) created = Column(DateTime, default=datetime.datetime.utcnow) updated = Column(DateTime, default=datetime.datetime.utcnow) def __init__(self, city_id, name, alias, object_type, year_of_construction, function, usage, volume, area): self.city_id = city_id self.name = name self.alias = alias self.type = object_type self.year_of_construction = year_of_construction self.function = function self.usage = usage self.volume = volume self.area = area