Beispiel #1
0
class UserRoles(db.Model):
    __tablename__ = "user_roles"

    id = db.Column(db.Integer(), primary_key=True)
    user_id = db.Column(db.Integer(),
                        db.ForeignKey("users.id", ondelete="CASCADE"))
    role_id = db.Column(db.Integer(),
                        db.ForeignKey("roles.id", ondelete="CASCADE"))
Beispiel #2
0
class ServiceForm(db.Model):
    __tablename__ = 'service_forms'
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(50), nullable=False)

    def __str__(self):
        return self.name
Beispiel #3
0
class Person(db.Model):
    """Modelo Persona

    Person(id_person, name_person, last_name_person, telephone_person,
    email_person, name_profile_img)

    Relaciones:
        - Persona tendrá referencias de varias Mascotas

    Nota: lazy(perezosa) = True define como SQLAlchemy cargará los datos
    """
    id_person = db.Column(db.Integer, primary_key = True)
    name_person = db.Column(db.String(25), nullable = False)
    last_name_person = db.Column(db.String(25), nullable = False)
    telephone_person = db.Column(db.Integer(), nullable = False)
    email_person = db.Column(db.String(25), unique = True, nullable = False)

    name_profile_img = db.Column(db.String, default = 'default.jpg' , nullable = True)
    url_profile_img = db.Column(db.String, default = 'http://localhost:5000/static/profile_img/default.jpg' , nullable = True)

    # Relacion uno a muchos con la clase Mascota
    pets = db.relationship('Pet', backref = 'owner', lazy = True)

    def __repr__(self):
        return self.name_person
Beispiel #4
0
class Pet(db.Model):
    """Modelo Mascota

    Pet(id_pet, name_pet, type_pet, age_pet, name_profile_img)

    Nota: al registrar una mascota, el valor de adopcion siempre sera False

    Relaciones:
        - Mascota tendrá la llave primaria de Persona
    """
    id_pet = db.Column(db.Integer, primary_key = True)
    name_pet = db.Column(db.String(25), nullable = False)
    type_pet = db.Column(db.String(25), nullable = False)
    age_pet = db.Column(db.Integer(), nullable = False)
    adopt = db.Column(db.Boolean(), nullable = False, default = False)

    name_profile_img = db.Column(db.String, default = 'default.jpg' , nullable = True)
    url_profile_img = db.Column(db.String, default = 'http://localhost:5000/static/profile_img/default.jpg' , nullable = True)

    # Referencia a la clase Persona
    id_owner = db.Column(db.Integer,
                        db.ForeignKey('person.id_person'),
                        nullable = True)

    def __repr__(self):
        return self.name_pet
Beispiel #5
0
class Role(db.Model):
    __tablename__ = "roles"

    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(50), unique=True)

    def __repr__(self):
        return f"{self.name}"
Beispiel #6
0
class TypeOfService(db.Model):
    __tablename__ = 'types_of_service'
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(50), nullable=False)
    description = db.Column(db.Text(), nullable=False)
    id_service_form = db.relationship('ServiceForm',secondary='type_service_form',
                                      backref=db.backref('types_of_service', lazy='dynamic'))

    def __str__(self):
        return self.name
Beispiel #7
0
class Organization(db.Model):
    __tablename__ = 'organizations'
    # 1 регистрационный номер учетной записи
    id = db.Column(db.Integer(), primary_key=True)
    # 2 название организации
    name = db.Column(db.Text(), nullable=False)
    # 3 дата гос. регистрации юр. лица
    date_registration = db.Column(db.DateTime(), nullable=False)
    # 4 организационно-правовая форма
    opf = db.Column(db.Text(), nullable=False)
    # 5 адреса, телефон, эл. почта
    contacts = db.Column(db.Text(), nullable=False)
    # 6 ФИО руководителя
    name_boss = db.Column(db.Text(), nullable=False)
    # 7 информация о лицензии организации
    license = db.Column(db.Text(), nullable=False)

    # 8 формы обслуживания
    form_service = db.relationship('ServiceForm', secondary='organization_service_form',
                                      backref=db.backref('organizations', lazy='dynamic'))

    # 9 направления реабилитации или абилитации
    direction_of_rehabilitation = db.Column(db.Text(), nullable=False)
    # 10 перечень оказываемых услуг, наличие специалистов, наличие технических средств, реабилитационные программы
    resources = db.Column(db.Text(), nullable=False)
    # 11 общее количество мест для реабил. услуг
    total_seats = db.Column(db.Integer(), nullable=False)
    # 11 количество свободных мест для реабил. услуг
    free_seats = db.Column(db.Integer(), nullable=False)
    # 12 информация о результатх, проведенных проверок
    result_checks = db.Column(db.Text(), nullable=False)
    # 13 информация об опыте работы за последние 5 лет
    work_experience = db.Column(db.Text(), nullable=False)
    # 14 ведомственная принадлежность
    departmental_affiliation = db.Column(db.Text(), nullable=False)
    # 15 вышестоящая организация
    parent_organization = db.Column(db.Text(), nullable=False)
    # 16 другая информация, определнная региональными нормативными актами
    other_information = db.Column(db.Text(), nullable=False)

    def __str__(self):
        return self.name
Beispiel #8
0
class User(UserMixin, db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(64), unique=True)
    password_hash = db.Column(db.String(128))
    role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))
    is_block = db.Column(db.Boolean(), nullable=False)

    def set_password(self, password):
        self.password_hash = generate_password_hash(password)

    def check_password(self, password):
        return check_password_hash(self.password_hash, password)

    def __str__(self):
        return self.name