class SharingStation(db.Model): __tablename__ = 'sharing_station' id = db.Column(db.Integer(), primary_key=True) created = db.Column(db.DateTime()) updated = db.Column(db.DateTime()) active = db.Column(db.Integer()) name = db.Column(db.String(255)) slug = db.Column(db.String(255)) external_id = db.Column(db.String(255)) vehicle_free = db.Column(db.Integer()) vehicle_all = db.Column(db.Integer()) station_type = db.Column( db.Integer() ) # 1 Fahrrad 2 Lastenrad 3 Fahrradanhänger 4 PKW 5 Transporter 6 Fahrradbox lat = db.Column(db.Numeric(precision=10, scale=7)) lon = db.Column(db.Numeric(precision=10, scale=7)) vehicle = db.relationship("Vehicle", backref="SharingStation", lazy='dynamic') sharing_provider_id = db.Column(db.Integer, db.ForeignKey('sharing_provider.id')) def __init__(self): pass def __repr__(self): return '<Region %r>' % self.name
class Region(db.Model): __tablename__ = 'region' id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(255)) slug = db.Column(db.String(255), unique=True) created = db.Column(db.DateTime()) updated = db.Column(db.DateTime()) active = db.Column(db.Integer()) osm_id = db.Column(db.Integer()) geo_json = db.Column(db.Text()) rgs = db.Column(db.String(255)) region_level = db.Column(db.Integer()) postalcode = db.Column(db.String(255)) lat = db.Column(db.Numeric(precision=10,scale=7)) lon = db.Column(db.Numeric(precision=10,scale=7)) region_parent_id = db.Column(db.Integer, db.ForeignKey('region.id')) region_parent = db.relationship("Region", backref="region_children", remote_side=[id]) service_sites = db.relationship("ServiceSite", backref="region", lazy='dynamic') # hosts as defined in Host def __init__(self): pass def __repr__(self): return '<Hoster %r>' % self.name
class Operation(db.Model): __tablename__ = 'Operation' id = db.Column(db.Integer(), primary_key=True) clinic_id = db.Column(db.Integer(), db.ForeignKey('Clinic.id'), index=True) history_id = db.Column(db.Integer(), db.ForeignKey('History.id')) hospital_id = db.Column(db.Integer(), db.ForeignKey('HistoryEvent.id')) history_event_id = db.Column(db.Integer(), db.ForeignKey('HistoryEvent.id')) patient_id = db.Column(db.Integer(), db.ForeignKey('Patient.id')) doctor_surgeon_id = db.Column(db.Integer(), db.ForeignKey('Doctor.id')) doctor_assistant_id = db.Column(db.Integer(), db.ForeignKey('Doctor.id')) #operation_order_id = db.Column(db.Integer()) operation_order = db.Column(db.Integer()) time_begin = db.Column(db.DateTime()) time_end = db.Column(db.DateTime()) duration_min = db.Column(db.Integer()) # Длительность в минутах # Получить список операций для истории болезни @staticmethod def get_operations(history): operations = history.operations if operations: items = [] for operation in operations: doctor = Doctor.get(operation.doctor_surgeon_id) item = {} item["date"] = operation.time_begin item["doctor_surgeon"] = doctor.fio items.append(item) return items
class Region(db.Model): __tablename__ = 'region' id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(255)) slug = db.Column(db.String(255), unique=True) created = db.Column(db.DateTime()) updated = db.Column(db.DateTime()) active = db.Column(db.Integer()) osm_id = db.Column(db.Integer()) geo_json = db.Column(db.Text()) rgs = db.Column(db.String(255)) region_level = db.Column(db.Integer()) postalcode = db.Column(db.String(255)) fulltext = db.Column(db.String(255)) lat = db.Column(db.Numeric(precision=10,scale=7)) lon = db.Column(db.Numeric(precision=10,scale=7)) def __init__(self): pass def __repr__(self): return '<Hoster %r>' % self.name
class Visualisation(db.Model): __tablename__ = 'visualisation' id = db.Column(db.Integer(), primary_key=True) created = db.Column(db.DateTime()) updated = db.Column(db.DateTime()) active = db.Column(db.Integer()) name = db.Column(db.Text()) identifier = db.Column(db.String(128), unique=True) descr = db.Column(db.Text()) data = db.Column(db.Text())
class User(db.Model): id = db.Column(db.Integer(), primary_key=True, index=True, nullable=False) username = db.Column(db.String(40), index=True, nullable=False) feature = db.Column(db.String(200), nullable=True) def __repr__(self): return '<User %r>' % (self.username)
class Role(db.Model, RoleMixin, Repopulatable): id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(80), unique=True) description = db.Column(db.String(255)) def __repr__(self): return '<Role %r>' % self.name
class Suggestion(db.Model): __tablename__ = 'suggestion' id = db.Column(db.Integer(), primary_key=True) created = db.Column(db.DateTime()) updated = db.Column(db.DateTime()) type = db.Column(db.String(128)) suggestion = db.Column(db.Text())
class Address(db.Model, SpamsubMixin): """ Address table """ address = db.Column(db.String(250), nullable=False, unique=True, index=True) count = db.Column(db.Integer(), default=1) def __init__(self, address): self.address = address @classmethod def exists(self, address): """ Check if an address exists, increment counter if it does """ exsts = self.query.filter_by(address=address).first() if exsts: exsts.count += 1 db.session.add(exsts) db.session.commit() return True return False @classmethod def top(self, number=3): """ Return top spammers """ return [{ "x": each.address, "y": each.count } for each in self.query.order_by(self.count.desc()).limit( number).all()]
class User(db.Model, UserMixin): """ User for RRVS """ __tablename__="users" __table_args__ = {'schema':'users'} id = db.Column(db.Integer(), primary_key=True) authenticated = db.Column(db.Boolean, default=False) password = '' def is_active(self): """True, as all users are active.""" return True def get_id(self): """Return the taskid to satisfy Flask-Login's requirements.""" return self.id def is_authenticated(self): """Return True if the user is authenticated.""" return self.authenticated def is_anonymous(self): """False, as anonymous users aren't supported.""" return False roles = db.relationship('Role', secondary=roles_users, backref=db.backref('users', lazy='dynamic'))
class Role(db.Model): __tablename__ = 'Role' id = db.Column(db.Integer(), primary_key=True) description = db.Column(db.String(100), unique=True) permissions = db.Column(db.String(10), index=True) is_admin = db.Column(db.Boolean(), index=True) @staticmethod def insert_roles(): roles = { 'Ведение справочников': { 'permission': 'REF_W', 'is_admin': False }, 'Просмотр справочников': { 'permission': 'REF_R', 'is_admin': False }, 'Ведение истории болезни': { 'permission': 'HIST_W', 'is_admin': False }, 'Чтение истории болезни': { 'permission': 'HIST_R', 'is_admin': False }, 'Отчеты просмотр': { 'permission': 'REP_R', 'is_admin': False }, 'Отчеты выгрузка': { 'permission': 'REP_D', 'is_admin': False }, 'Анализ данных просмотр': { 'permission': 'DATA_R', 'is_admin': False }, 'Анализ данных выгрузка': { 'permission': 'DATA_D', 'is_admin': False }, 'Администрирование': { 'permission': 'ADMIN', 'is_admin': True } } for (k, v) in roles.items(): role = Role.query.filter_by(description=k).first() if role: continue role = Role(description=k, permissions=v['permission'], is_admin=v['is_admin']) try: db.session.add(role) db.session.commit() except Exception: db.session.rollback()
class User(db.Model): id = db.Column(db.Integer(), primary_key=True) firstName = db.Column(db.String(26), nullable=False) lastName = db.Column(db.String(26), nullable=False) age = db.Column(db.Integer(), nullable=False) @staticmethod def getAttributesAsList(): return ['id', 'firstName', 'lastName', 'age'] def asDict(self): return { 'id': self.id, 'firstName': self.firstName, 'lastName': self.lastName, 'age': self.age }
class ServiceGroup(db.Model): __tablename__ = 'service_group' id = db.Column(db.Integer(), primary_key=True) created = db.Column(db.DateTime()) updated = db.Column(db.DateTime()) active = db.Column(db.Integer()) name = db.Column(db.Text()) services = db.relationship("Service", backref="ServiceGroup", lazy='dynamic') def __init__(self): pass def __repr__(self): return '<ServiceGroup %r>' % self.name
class TrafficItem(db.Model): __tablename__ = 'traffic_item' id = db.Column(db.Integer(), primary_key=True) created = db.Column(db.DateTime()) updated = db.Column(db.DateTime()) active = db.Column(db.Integer()) name = db.Column(db.String(255)) slug = db.Column(db.String(255)) external_id = db.Column(db.String(255)) item_type = db.Column(db.Integer()) # 1 Baustelle 2 Auto-Parkplatz 3 Fahrrad-Ständer 4 Verkehrszählung 5 Sperranhänger raw_status = db.Column(db.Integer()) # 1 komplett roh, 2 verarbeitet is_meta = db.Column(db.Integer()) zoom_from = db.Column(db.Integer()) zoom_till = db.Column(db.Integer()) lat = db.Column(db.Numeric(precision=10,scale=7)) lon = db.Column(db.Numeric(precision=10,scale=7)) area = db.Column(db.Text()) traffic_item_provider_id = db.Column(db.Integer, db.ForeignKey('traffic_item_provider.id')) traffic_item_meta = db.relationship("TrafficItemMeta", backref="TrafficItem", lazy='dynamic') def __init__(self): pass def __repr__(self): return '<TrafficItem %r>' % self.name
class TrafficItemMeta(db.Model): __tablename__ = 'traffic_item_meta' id = db.Column(db.Integer(), primary_key=True) created = db.Column(db.DateTime()) updated = db.Column(db.DateTime()) active = db.Column(db.Integer()) key = db.Column(db.String(255)) value = db.Column(db.String(255)) traffic_item_id = db.Column(db.Integer, db.ForeignKey('traffic_item.id')) def __init__(self): pass def __repr__(self): return '<TrafficItemMeta %r>' % self.name
class Vehicle(db.Model): __tablename__ = 'vehicle' id = db.Column(db.Integer(), primary_key=True) created = db.Column(db.DateTime()) updated = db.Column(db.DateTime()) active = db.Column(db.Integer()) sharing_station_id = db.Column(db.Integer, db.ForeignKey('sharing_station.id')) name = db.Column(db.String(255)) external_id = db.Column(db.String(255)) def __init__(self): pass def __repr__(self): return '<Procedure %r>' % self.name
class Role(db.Model, RoleMixin): __tablename__ = 'role' id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(120), unique=True) description = db.Column(db.String(255)) def __repr__(self): return '<Role %r>' % self.name
class Role(db.Model, RoleMixin): """ Role for database """ __tablename__="roles" __table_args__ = {'schema':'users'} id = db.Column(db.Integer(), primary_key=True) name = ''
class TreeSuggest(db.Model): __tablename__ = 'tree_suggest' id = db.Column(db.Integer(), primary_key=True) tree_id = db.Column(db.Integer(), db.ForeignKey('tree.id')) field = db.Column(db.String(255)) value = db.Column(db.String(255)) created_at = db.Column(db.DateTime()) ip = db.Column(db.String(15)) hostname = db.Column(db.String(255)) def __init__(self): pass def __repr__(self): return '<TreeSuggest %r>' % self.id
class Role(db.Model, RoleMixin): """ Roles for authorization. """ id = db.Column(db.Integer(), primary_key=True, unique=True) name = db.Column(db.String(80), unique=True) description = db.Column(db.String(255)) def __str__(self): return self.name
class User(db.Model, UserMixin): __tablename__ = 'user' id = db.Column(db.Integer, primary_key=True) sex = db.Column(db.Integer()) firstname = db.Column(db.String(255)) lastname = db.Column(db.String(255)) email = db.Column(db.String(255)) roles = db.relationship('Role', secondary=roles_users, backref=db.backref('users', lazy='dynamic'))
class ServiceSite(db.Model): __tablename__ = 'service_site' id = db.Column(db.Integer(), primary_key=True) created = db.Column(db.DateTime()) updated = db.Column(db.DateTime()) active = db.Column(db.Integer()) url = db.Column(db.Text()) quality = db.Column(db.String(255)) # 'offline', 'mail', 'online' quality_show = db.Column(db.Integer()) host_id = db.Column(db.Integer, db.ForeignKey('host.id')) region_id = db.Column(db.Integer, db.ForeignKey('region.id')) service_id = db.Column(db.Integer, db.ForeignKey('service.id')) def __init__(self): pass def __repr__(self): return '<ServiceSite %r>' % self.name
class ConstructionSite(db.Model): __tablename__ = 'construction_site' id = db.Column(db.Integer(), primary_key=True) title = db.Column(db.String(255)) descr = db.Column(db.Text()) # Allg. Beschreibung reason = db.Column(db.Text()) # Begründung für Baustelle type = db.Column(db.Text()) # Art der Verkehrseinschränkung constructor = db.Column(db.Text()) # Bauherr execution = db.Column(db.Text()) # Ausführendes Bauunternehmen location_descr = db.Column(db.Text()) # Ort restriction = db.Column(db.Text()) # Einschränkungen area = db.Column(db.Text()) # GeoJSON lat = db.Column(db.Numeric(precision=10, scale=7)) lon = db.Column(db.Numeric(precision=10, scale=7)) external_id = db.Column( db.String(255)) # Externe ID (innerhalb der Source einzigartig) external_url = db.Column(db.Text()) # Externe URL begin = db.Column(db.DateTime()) # Start der Baumaßnahme end = db.Column(db.DateTime()) # Ende der Baumaßnahme created_at = db.Column(db.DateTime()) updated_at = db.Column(db.DateTime()) source_id = db.Column(db.Integer()) # Quelle licence_name = db.Column(db.Text()) licence_url = db.Column(db.Text()) licence_owner = db.Column(db.Text()) def __init__(self): pass def __repr__(self): return '<ConstructionSite %r>' % self.id
class Service(db.Model): __tablename__ = 'service' id = db.Column(db.Integer(), primary_key=True) created = db.Column(db.DateTime()) updated = db.Column(db.DateTime()) active = db.Column(db.Integer()) name = db.Column(db.Text()) fa_icon = db.Column(db.String(64)) descr_short = db.Column(db.Text()) descr = db.Column(db.Text()) make_ssl_test = db.Column(db.Integer()) service_group_id = db.Column(db.Integer, db.ForeignKey('service_group.id')) service_sites = db.relationship("ServiceSite", backref="Service", lazy='dynamic') def __init__(self): pass def __repr__(self): return '<Service %r>' % self.name
class Tree(db.Model): __tablename__ = 'tree' id = db.Column(db.Integer(), primary_key=True) type = db.Column(db.Integer()) public = db.Column(db.Integer()) author = db.Column(db.String(255)) email = db.Column(db.String(255)) ip = db.Column(db.String(15)) hostname = db.Column(db.String(255)) address = db.Column(db.String(255)) postalcode = db.Column(db.String(255)) city = db.Column(db.String(255)) picture = db.Column(db.Integer()) descr = db.Column(db.Text()) lat = db.Column(db.Numeric(precision=10,scale=7)) lng = db.Column(db.Numeric(precision=10,scale=7)) external_id = db.Column(db.String(255)) created_at = db.Column(db.DateTime()) updated_at = db.Column(db.DateTime()) tree_type_old = db.Column(db.String(255)) tree_type_new = db.Column(db.String(255)) chop_reason = db.Column(db.String(255)) source = db.Column(db.String(255)) tree_suggest = db.relationship('TreeSuggest', backref='tree', lazy='dynamic') def __init__(self): pass def __repr__(self): return '<Tree %r>' % self.id
class OperationLog(db.Model): __tablename__ = 'OperationLog' id = db.Column(db.Integer(), primary_key=True) clinic_id = db.Column(db.Integer(), db.ForeignKey('Clinic.id'), index=True) history_id = db.Column(db.Integer(), db.ForeignKey('History.id')) patient_id = db.Column(db.Integer(), db.ForeignKey('Patient.id')) operation_id = db.Column(db.Integer(), db.ForeignKey('Operation.id')) operation_step_id = db.Column(db.Integer(), db.ForeignKey('OperationStep.id')) time_begin = db.Column(db.DateTime()) time_end = db.Column(db.DateTime()) duration_min = db.Column(db.Integer()) # Длительность в минутах
class Counter(db.Model, SpamsubMixin): """ Counter table """ count = db.Column(db.Integer(), nullable=False, unique=True, index=True) def __init__(self, count): self.count = count @validates('count') def validate_count(self, key, count): try: assert count >= 0 except AssertionError: count = 0 return count
class Host(db.Model): __tablename__ = 'host' id = db.Column(db.Integer(), primary_key=True) created = db.Column(db.DateTime()) updated = db.Column(db.DateTime()) active = db.Column(db.Integer()) host = db.Column(db.String(255)) type = db.Column(db.String(255)) ip = db.Column(db.Text()) reverse_hostname = db.Column(db.Text()) ssl_result = db.Column(db.Integer()) service_sites = db.relationship("ServiceSite", backref="host", lazy='dynamic') ssl_tests = db.relationship("SslTest", backref="Host", lazy='dynamic') regions = db.relationship('Region', secondary=hosts_regions, backref=db.backref('hosts', lazy='dynamic')) def __init__(self): pass def __repr__(self): return '<Host %r>' % self.host
class TrafficItemProvider(db.Model): __tablename__ = 'traffic_item_provider' id = db.Column(db.Integer(), primary_key=True) created = db.Column(db.DateTime()) updated = db.Column(db.DateTime()) active = db.Column(db.Integer()) name = db.Column(db.String(255)) slug = db.Column(db.String(255)) descr_short = db.Column(db.Text()) descr = db.Column(db.Text()) external_id = db.Column(db.String(255)) email = db.Column(db.String(255)) website = db.Column(db.String(255)) licence = db.Column(db.Text()) street = db.Column(db.String(255)) postalcode = db.Column(db.String(5)) city = db.Column(db.String(255)) traffic_item = db.relationship("TrafficItem", backref="TrafficItemProvider", lazy='dynamic')
class OperationComp(db.Model): __tablename__ = 'OperationComp' id = db.Column(db.Integer(), primary_key=True) clinic_id = db.Column(db.Integer(), db.ForeignKey('Clinic.id'), index=True) history_id = db.Column(db.Integer(), db.ForeignKey('History.id')) patient_id = db.Column(db.Integer(), db.ForeignKey('Patient.id')) operation_id = db.Column(db.Integer(), db.ForeignKey('Operation.id')) complication_id = db.Column(db.Integer(), db.ForeignKey('Complication.id')) date_begin = db.Column(db.Date())