class TextChoice(Model): __tablename__ = 'c_choice_texts' attr_id = db.Column(db.Integer, db.ForeignKey('c_attributes.id'), nullable=False) value = db.Column(db.Text, nullable=False) attr = db.relationship("Attribute", backref="c_choice_texts.attr_id")
class PojectMember(db.Model): """ This model holds information about a projectmember registered """ __tablename__ = "projectmember" user_id = db.Column(db.Integer, db.ForeignKey('user.id'), primary_key=True, nullable=False) team_id = db.Column(db.Integer, db.ForeignKey('team.id'), nullable=False) def __init__(self, user_id, project_id, team_id): """ Initializes the projectMember instance """ self.user_id = user_id self.project_id = project_id self.team_id = team_id def __repr__(self): """ Returns the object reprensentation """ return "<ProjectMember %r>" % self.user_id
class Role(Model): __tablename__ = "acl_roles" name = db.Column(db.Text, nullable=False) is_app_admin = db.Column(db.Boolean, default=False) app_id = db.Column(db.Integer, db.ForeignKey("acl_apps.id")) uid = db.Column(db.Integer, db.ForeignKey("users.uid"))
class JsonWebToken(BaseModel): jti = db.Column(db.String(36), nullable=False) token_type = db.Column(db.Integer, nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) blacklisted = db.Column(db.Boolean, nullable=False, default=False) expires = db.Column(db.DateTime, nullable=False)
class Team(db.Model): """ This model holds information about a team in a project """ __tablename__ = "team" id = db.Column(db.Integer, primary_key=True) team_name = db.Column(db.String(80), nullable=False,) role = db.Column(db.String(128), default = 'Member') project_id = db.Column(db.Integer, db.ForeignKey('project.id', ondelete="cascade", onupdate="cascade"), nullable=False) team_members = db.relationship('ProjectMember', backref='team', lazy=True, cascade="all, save-update, delete", passive_deletes=True) def __init__(self, team_name, role, project_id): """ Initializes the team instance """ self.team_name = team_name self.role = role self.project_id = project_id def __repr__(self): """ Returns the object reprensentation """ return "<Team %r>" % self.team_name
class State(db.Model): __tablename__ = 'state' id = db.Column(db.Integer, primary_key=True) abbreviation = db.Column(db.String(10), nullable=False) country_id = db.Column(db.Integer, db.ForeignKey('country.id'), nullable=False) __table_args__ = (db.UniqueConstraint('abbreviation', 'country_id', name='_state_country_id_uc'), ) @staticmethod def get_or_create(abbreviation, country): state = State.query.filter_by(abbreviation=abbreviation) \ .join(Country) \ .filter(Country.abbreviation == country) \ .first() if state: return state country = Country.get_or_create(country) state = State() state.abbreviation = abbreviation state.country_id = country.id db.session.add(state) db.session.flush() return state
class Point(db.Model): """ This model holds information about the point of a particular label to an image. """ __tablename__ = "point" id = db.Column(db.String(45), primary_key=True) y_coordinate = db.Column(db.Float, nullable=False) x_coordinate = db.Column(db.Float, nullable=False) labeldata_id = db.Column(db.String(45), db.ForeignKey('labeldata.id', ondelete="cascade", onupdate="cascade"), nullable=False) def __init__(self, id, y_coordinate, x_coordinate, labeldata_id): """ Initializes the Point instance """ self.id = id self.labeldata_id = labeldata_id self.y_coordinate = y_coordinate self.x_coordinate = x_coordinate def __repr__(self): """ Returns the object reprensentation """ return "<Point %r>" % self.id
class Resource(Model): __tablename__ = "acl_resources" name = db.Column(db.String(128), nullable=False) resource_type_id = db.Column(db.Integer, db.ForeignKey("acl_resource_types.id")) app_id = db.Column(db.Integer, db.ForeignKey("acl_apps.id"))
class Permission(Model): __tablename__ = "acl_permissions" name = db.Column(db.String(64), nullable=False) resource_type_id = db.Column(db.Integer, db.ForeignKey("acl_resource_types.id")) app_id = db.Column(db.Integer, db.ForeignKey("acl_apps.id"))
class ResourceGroup(Model): __tablename__ = "acl_resource_groups" name = db.Column(db.String(64), index=True, nullable=False) resource_type_id = db.Column(db.Integer, db.ForeignKey("acl_resource_types.id")) app_id = db.Column(db.Integer, db.ForeignKey('acl_apps.id'))
class ItemStorageArea(BaseModel): __tablename__ = 'item_storage_area' cmid = db.Column(db.Integer) foreign_item_id = db.Column(db.String(30)) item_name = db.Column(db.String(255)) storage_area = db.Column(db.String(100)) @classmethod def get_all_storage_area(cls): sql = ''' select storage_area from item_storage_area group by storage_area;''' res = get_df(REDSHIFT_DB_URL, sql) return res @classmethod def get_item_by_query(cls, **kwargs): storage_area = kwargs.get('storage_area') sql = ''' select foreign_item_id, storage_area from item_storage_area where storage_area = '{}';'''.format(storage_area) res = get_df(REDSHIFT_DB_URL, sql) return res
class OperationRecord(Model): __tablename__ = "c_records" uid = db.Column(db.Integer, index=True, nullable=False) origin = db.Column(db.String(32)) ticket_id = db.Column(db.String(32)) reason = db.Column(db.Text)
class TaskHistory(Model): __tablename__ = 'task_histories' task_id = db.Column(db.Integer) status = db.Column(db.Integer, db.ForeignKey('task_histories_status.id')) run_time = db.Column(db.String(20)) output = db.Column(db.Text)
class App(Model): __tablename__ = "acl_apps" name = db.Column(db.String(64), index=True) description = db.Column(db.Text) app_id = db.Column(db.Text) secret_key = db.Column(db.Text)
class Distrito(db.Model): codigo = db.Column(db.Integer, primary_key=True, comment='Código do distrito conforme IBGE') nome = db.Column(db.String(18), nullable=False, comment='Distrito municipal') feiras = db.relationship('Feira', lazy='select', backref='distrito')
class Subprefeitura(db.Model): codigo = db.Column(db.Integer, primary_key=True, comment='Código da subprefeitura (2003 a 2012)') nome = db.Column(db.String(25), nullable=False, comment='Nome da subprefeitura') feiras = db.relationship('Feira', lazy='select', backref='subprefeitura')
class PreferenceTreeView(Model): __tablename__ = "c_preference_tree_views" uid = db.Column(db.Integer, index=True, nullable=False) type_id = db.Column(db.Integer, db.ForeignKey("c_ci_types.id"), nullable=False) levels = db.Column(db.Text) # TODO: JSON
class CITypeAttributeGroup(Model): __tablename__ = "c_ci_type_attribute_groups" name = db.Column(db.String(64)) type_id = db.Column(db.Integer, db.ForeignKey("c_ci_types.id"), nullable=False) order = db.Column(db.SmallInteger, default=0)
class RoleRelation(Model): __tablename__ = "acl_role_relations" parent_id = db.Column(db.Integer, db.ForeignKey('acl_roles.id')) child_id = db.Column(db.Integer, db.ForeignKey('acl_roles.id')) __table_args__ = ( db.UniqueConstraint("parent_id", "child_id", name="role_relation_unique"),)
class CI(Model): __tablename__ = "c_cis" type_id = db.Column(db.Integer, db.ForeignKey("c_ci_types.id"), nullable=False) status = db.Column(db.Enum(*CIStatusEnum.all(), name="status")) heartbeat = db.Column(db.DateTime, default=lambda: datetime.datetime.now()) ci_type = db.relationship("CIType", backref="c_cis.type_id")
class NotifySource(Model): __tablename__ = 'notify_source' name = db.Column(db.String(10), nullable=True) desc = db.Column(db.String(20), nullable=True) def __str__(self): return '<NotifySource %r>' % self.name
class Users(db.Model): """ DB model representing a category associated with a building """ __tablename__ = 'users' username = db.Column(String(30), primary_key=True) role = db.Column(String(30), nullable=False)
class Permission(Model): __tablename__ = "acl_permissions" name = db.Column(db.String(64), nullable=False) resource_type_id = db.Column(db.Integer, db.ForeignKey("acl_resource_types.id")) app_id = db.Column(db.Integer, db.ForeignKey("acl_apps.id")) __table_args__ = (db.UniqueConstraint("name", "resource_type_id", "app_id", name="perm_name_app_unique"),)
class Setting(Model): __tablename__ = 'settings' key = db.Column(db.String(50), unique=True) value = db.Column(db.Text) desc = db.Column(db.String(255), nullable=True) def __str_(self): return '<Setting %r>' % self.key
class RolePermission(Model): __tablename__ = "acl_role_permissions" rid = db.Column(db.Integer, db.ForeignKey('acl_roles.id')) resource_id = db.Column(db.Integer, db.ForeignKey('acl_resources.id')) group_id = db.Column(db.Integer, db.ForeignKey('acl_resource_groups.id')) perm_id = db.Column(db.Integer, db.ForeignKey('acl_permissions.id')) perm = db.relationship("Permission", backref='acl_role_permissions.perm_id')
class CIValueJson(Model): __tablename__ = "c_value_json" ci_id = db.Column(db.Integer, db.ForeignKey('c_cis.id'), nullable=False) attr_id = db.Column(db.Integer, db.ForeignKey('c_attributes.id'), nullable=False) value = db.Column(db.JSON, nullable=False) ci = db.relationship("CI", backref="c_value_json.ci_id") attr = db.relationship("Attribute", backref="c_value_json.attr_id")
class CIValueDateTime(Model): __tablename__ = "c_value_datetime" ci_id = db.Column(db.Integer, db.ForeignKey('c_cis.id'), nullable=False) attr_id = db.Column(db.Integer, db.ForeignKey('c_attributes.id'), nullable=False) value = db.Column(db.DateTime, nullable=False) ci = db.relationship("CI", backref="c_value_datetime.ci_id") attr = db.relationship("Attribute", backref="c_value_datetime.attr_id")
class ResourceGroup(Model): __tablename__ = "acl_resource_groups" name = db.Column(db.String(64), index=True, nullable=False) resource_type_id = db.Column(db.Integer, db.ForeignKey("acl_resource_types.id")) app_id = db.Column(db.Integer, db.ForeignKey('acl_apps.id')) __table_args__ = (db.UniqueConstraint("name", "resource_type_id", "app_id", name="resource_group_app_unique"),)
class ResourceGroupItems(Model): __tablename__ = "acl_resource_group_items" group_id = db.Column(db.Integer, db.ForeignKey('acl_resource_groups.id'), nullable=False) resource_id = db.Column(db.Integer, db.ForeignKey('acl_resources.id'), nullable=False)
class CITypeGroupItem(Model): __tablename__ = "c_ci_type_group_items" group_id = db.Column(db.Integer, db.ForeignKey("c_ci_type_groups.id"), nullable=False) type_id = db.Column(db.Integer, db.ForeignKey("c_ci_types.id"), nullable=False) order = db.Column(db.SmallInteger, default=0)