class MusicModel(db.Model):
    __tablename__ = 'music_recs'

    id = db.Column(db.Integer, primary_key=True)
    song = db.Column(db.String(), nullable=False)
    artist = db.Column(db.String(), nullable=True)
    musics = db.Column(db.JSON(), nullable=True)
    state = db.Column(db.Boolean, default=False)
    ip = db.Column(db.String(), nullable=True)
    agent = db.Column(db.String(), nullable=True)

    @classmethod
    def find_by_ip(cls, ip: str) -> "MusicModel":
        return cls.query.filter_by(ip=ip).all()

    @classmethod
    def find_all(cls) -> List["MusicModel"]:
        return cls.query.all()

    @property
    def serialized(self):
        """Return object data in serializeable format"""
        return {
            'id': self.id,
            'song': self.song,
            'artist': self.artist,
            'musics': self.musics,
            'state': self.state,
            'ip': self.ip,
            'agent': self.agent,
        }

    def save_to_db(self) -> None:
        db.session.add(self)
        db.session.commit()
Example #2
0
class StatsModel(db.Model):
    __tablename__ = 'stats'

    _id = db.Column(db.Integer, primary_key=True)
    type = db.Column(db.String(255))
    data = db.Column(db.JSON(9000))

    def __init__(self, type, data):
        self.type = type
        self.data = data

    def json(self):
        return {
            'type': self.type,
            'data': self.data,
        }

    @classmethod
    def find_by_type(cls, type):
        return cls.query.filter_by(type=type).first()

    def save_to_db(self):
        db.session.add(self)
        db.session.commit()

    def delete_from_db(self):
        db.session.delete(self)
        db.session.commit()
Example #3
0
class Hospital(db.Model):
    """
    Hospital data class
    """
    __tablename__ = 'hospitals_current'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255), nullable=False)
    address = db.Column(db.String(255), nullable=False)
    state = db.Column(db.String(255), nullable=False)
    contact = db.Column(db.String(255))
    geojson = db.Column(db.JSON())
    icu_low_state = db.Column(db.String(255))
    icu_high_state = db.Column(db.String(255))
    ecmo_state = db.Column(db.String(255))
    last_update = db.Column(db.DateTime())
    helipad_nearby = db.Column(db.Boolean())

    def __init__(self, **kwargs):
        self.__dict__.update(kwargs)

    def __repr__(self):
        return '<Hospital %r>' % self.name

    def as_dict(self):
        result = {
            'geometry': self.geojson,
            'properties': {
                'index': self.id,
                'name': self.name,
                'address': self.address,
                'contact': self.contact,
                'icu_low_state': self.icu_low_state,
                'icu_high_state': self.icu_high_state,
                'ecmo_state': self.ecmo_state,
                'last_update': self.last_update,
                'helipad_nearby': self.helipad_nearby
            }
        }
        return result
Example #4
0
class HospitalDevelopmentAggregated(db.Model):
    """
    Hospital data class
    """
    __abstract__ = True

    name = db.Column(db.String())
    ids = db.Column(db.String(), primary_key=True)
    geojson = db.Column(db.JSON())
    centroid = db.Column(db.JSON())
    icu_low_care_frei = db.Column(db.JSON())
    icu_low_care_belegt = db.Column(db.JSON())
    icu_low_care_einschaetzung = db.Column(db.JSON())
    icu_low_care_in_24h = db.Column(db.JSON())
    icu_high_care_frei = db.Column(db.JSON())
    icu_high_care_belegt = db.Column(db.JSON())
    icu_high_care_einschaetzung = db.Column(db.JSON())
    icu_high_care_in_24h = db.Column(db.JSON())
    icu_ecmo_care_frei = db.Column(db.JSON())
    icu_ecmo_care_belegt = db.Column(db.JSON())
    icu_ecmo_care_einschaetzung = db.Column(db.JSON())
    icu_ecmo_care_in_24h = db.Column(db.JSON())
    ecmo_faelle_jahr = db.Column(db.JSON())
    covid19_aktuell = db.Column(db.JSON())
    covid19_kumulativ = db.Column(db.JSON())
    covid19_beatmet = db.Column(db.JSON())
    covid19_verstorben = db.Column(db.JSON())

    def __init__(self, **kwargs):
        self.__dict__.update(kwargs)

    def __repr__(self):
        return f'<DIVI Hospital Development {self.name}>'

    def as_dict(self):
        result = {
            'geometry': self.geojson,
            'properties': {
                'name': self.name,
                'ids': self.ids,
                'centroid': self.centroid,
                'icu_low_care_frei': self.icu_low_care_frei,
                'icu_low_care_belegt': self.icu_low_care_belegt,
                'icu_low_care_einschaetzung': self.icu_low_care_einschaetzung,
                'icu_low_care_in_24h': self.icu_low_care_in_24h,
                'icu_high_care_frei': self.icu_high_care_frei,
                'icu_high_care_belegt': self.icu_high_care_belegt,
                'icu_high_care_einschaetzung':
                self.icu_high_care_einschaetzung,
                'icu_high_care_in_24h': self.icu_high_care_in_24h,
                'icu_ecmo_care_frei': self.icu_ecmo_care_frei,
                'icu_ecmo_care_belegt': self.icu_ecmo_care_belegt,
                'icu_ecmo_care_einschaetzung':
                self.icu_ecmo_care_einschaetzung,
                'icu_ecmo_care_in_24h': self.icu_ecmo_care_in_24h,
                'ecmo_faelle_jahr': self.ecmo_faelle_jahr,
                'covid19_aktuell': self.covid19_aktuell,
                'covid19_kumulativ': self.covid19_kumulativ,
                'covid19_beatmet': self.covid19_beatmet,
                'covid19_verstorben': self.covid19_verstorben
            }
        }

        return result
Example #5
0
class HospitalDevelopment(db.Model):
    """
    Hospital data class
    """
    __tablename__ = 'divi_hospitals_development'

    __table_args__ = (PrimaryKeyConstraint('gemeindeschluessel', 'ort',
                                           'bundeslandschluessel', 'plz',
                                           'webaddresse'), )

    gemeindeschluessel = db.Column(db.String())
    ort = db.Column(db.String())
    bundeslandschluessel = db.Column(db.String())
    plz = db.Column(db.String())
    webaddresse = db.Column(db.String())
    geojson = db.Column(db.JSON())
    id = db.Column(db.Integer())
    name = db.Column(db.JSON())
    address = db.Column(db.JSON())
    state = db.Column(db.JSON())
    contact = db.Column(db.JSON())
    helipad_nearby = db.Column(db.Boolean())
    icu_low_care_frei = db.Column(db.JSON())
    icu_low_care_belegt = db.Column(db.JSON())
    icu_low_care_einschaetzung = db.Column(db.JSON())
    icu_low_care_in_24h = db.Column(db.JSON())
    icu_high_care_frei = db.Column(db.JSON())
    icu_high_care_belegt = db.Column(db.JSON())
    icu_high_care_einschaetzung = db.Column(db.JSON())
    icu_high_care_in_24h = db.Column(db.JSON())
    icu_ecmo_care_frei = db.Column(db.JSON())
    icu_ecmo_care_belegt = db.Column(db.JSON())
    icu_ecmo_care_einschaetzung = db.Column(db.JSON())
    icu_ecmo_care_in_24h = db.Column(db.JSON())
    ecmo_faelle_jahr = db.Column(db.JSON())
    covid19_aktuell = db.Column(db.JSON())
    covid19_kumulativ = db.Column(db.JSON())
    covid19_beatmet = db.Column(db.JSON())
    covid19_verstorben = db.Column(db.JSON())

    def __init__(self, **kwargs):
        self.__dict__.update(kwargs)

    def __repr__(self):
        return f'<DIVI Hospital Development {self.ort}>'

    def as_dict(self):
        result = {
            'geometry': self.geojson,
            'properties': {
                'gemeindeschluessel': self.gemeindeschluessel,
                'ort': self.ort,
                'bundeslandschluessel': self.bundeslandschluessel,
                'plz': self.plz,
                'webaddresse': self.webaddresse,
                'id': self.id,
                'name': self.name,
                'address': self.address,
                'state': self.state,
                'contact': self.contact,
                'helipad_nearby': self.helipad_nearby,
                'icu_low_care_frei': self.icu_low_care_frei,
                'icu_low_care_belegt': self.icu_low_care_belegt,
                'icu_low_care_einschaetzung': self.icu_low_care_einschaetzung,
                'icu_low_care_in_24h': self.icu_low_care_in_24h,
                'icu_high_care_frei': self.icu_high_care_frei,
                'icu_high_care_belegt': self.icu_high_care_belegt,
                'icu_high_care_einschaetzung':
                self.icu_high_care_einschaetzung,
                'icu_high_care_in_24h': self.icu_high_care_in_24h,
                'icu_ecmo_care_frei': self.icu_ecmo_care_frei,
                'icu_ecmo_care_belegt': self.icu_ecmo_care_belegt,
                'icu_ecmo_care_einschaetzung':
                self.icu_ecmo_care_einschaetzung,
                'icu_ecmo_care_in_24h': self.icu_ecmo_care_in_24h,
                'ecmo_faelle_jahr': self.ecmo_faelle_jahr,
                'covid19_aktuell': self.covid19_aktuell,
                'covid19_kumulativ': self.covid19_kumulativ,
                'covid19_beatmet': self.covid19_beatmet,
                'covid19_verstorben': self.covid19_verstorben
            }
        }

        return result