class Trip(db.Model): id = db.Column(db.Integer, primary_key=True) start_location = db.Column(db.String(255), nullable=False) end_location = db.Column(db.String(255), nullable=False) departure_date = db.Column(db.DateTime(timezone=True), nullable=False) return_date = db.Column(db.DateTime(timezone=True), nullable=False) available_seats = db.Column(db.Integer, nullable=False) driver_id = db.Column(db.Integer, db.ForeignKey('driver.id'), nullable=False) riders = db.relationship('Rider', secondary=trip_riders, lazy='subquery', back_populates='trips') def remove_rider_from_trip(self, rider_id): new_riders = [rider for rider in self.riders if rider.id != rider_id] self.riders = new_riders self.available_seats = self.available_seats + 1 db.session.commit() def add_rider_to_trip(self, rider_id): self.riders.append(rider_id) self.available_seats = self.available_seats - 1 db.session.commit()
class Scenario(db.Model): __tablename__ = 'scenario' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(60), index=True, unique=True) description = db.Column(db.Text()) creation_date = db.Column(db.DateTime()) update_date = db.Column(db.DateTime()) last_run = db.Column(db.DateTime()) test = db.relationship("Test")
class Result(db.Model): """Create a user table.""" __tablename__ = 'result' id = db.Column(db.Integer, primary_key=True) status = db.Column(db.String(60)) timestamp = db.Column(db.DateTime()) spec_name = db.Column(db.String(60)) time = db.Column(db.Integer) test_id = db.Column(db.Integer, db.ForeignKey('test.id'))
class Test(db.Model): """Create a test table.""" __tablename__ = 'test' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(60), index=True, unique=True) test_type = db.Column(db.String(60)) data = db.Column(db.Text()) execute_date = db.Column(db.DateTime()) scenario_id = db.Column(db.Integer, db.ForeignKey('scenario.id')) result = db.relationship("Result") group = db.relationship('Group')
class Onesentence(db.Model): __tablename = 'onesentence' id = db.Column(db.Integer, primary_key=True) story = db.Column(db.Text) created_date = db.Column(db.DateTime(timezone=True)) def __init__(self, story): self.story = story self.created_date = datetime.datetime.utcnow().strftime( "%Y-%m-%d %H:%M:%S") def __repr__(self): return '<id {}: story{}>'.format(self.id, self.story)
class Installation(db.Model): __tablename__ = 'installation' id = db.Column(db.Integer, primary_key=True) install_id = db.Column(db.Integer, unique=True, nullable=False) sub_id = db.Column(db.Integer) api_key = db.Column(db.String) created_date = db.Column(db.DateTime(timezone=True)) enabled_date = db.Column(db.DateTime(timezone=True)) last_update = db.Column(db.DateTime(timezone=True)) last_used = db.Column(db.DateTime(timezone=True)) hit_count = db.Column(db.Integer) enabled = db.Column(db.Boolean, default=True) def __init__(self, install_id, sub_id=None, api_key=None): self.install_id = install_id self.sub_id = sub_id self.api_key = api_key #self.created_date = datetime.date.today().strftime("%Y-%m-%d") self.created_date = datetime.datetime.utcnow().strftime( "%Y-%m-%d %H:%M:%S") def __repr__(self): return '<id {}>'.format(self.id)
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