class User(db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64), nullable=False) email = db.Column(db.String(64), nullable=False) password = db.Column(db.String(128), nullable=False) created_at = db.Column(db.DateTime, nullable=False, default=datetime.now)
class User(db.Model): __tablename__ = 'TBL_TEST' SEQ = db.Column(db.Integer, primary_key=True) USERNAME = db.Column(db.String(80), nullable=False) NUMBER = db.Column(db.Integer, nullable=False) def __repr__(self): return '<User %r>' % self.USERNAME
class Flat(db.Model): __tablename__ = 'Flat' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(120), nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('User.id')) def __repr__(self): return '<Flat {}>'.format(self.name)
class Todo(db.Model): __tablename__ = 'todos' id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(128), nullable=False) done = db.Column(db.Boolean(), default=False, nullable=False) def __init__(self, name, done): self.name = name self.done = done
class Photo(db.Model): __tablename__ = 'Photo' id = db.Column(db.Integer, primary_key=True) file_name = db.Column(db.String(80)) user_id = db.Column(db.Integer, db.ForeignKey('User.id'), nullable=False) property_id = db.Column(db.Integer, db.ForeignKey('Property.id')) def __repr__(self): return '<Photo {}>'.format(self.file_name)
class DataSystem(db.Model): __tablename__ = 'Data_system' id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('User.id')) system_id = db.Column(db.Integer, db.ForeignKey('Dir_system.id'), nullable=False) token = db.Column(db.String(120)) name_slug = db.Column(db.String(120))
class Rental(db.Model): __tablename__ = 'Rental' id = db.Column(db.Integer, primary_key=True) flat_id = db.Column(db.Integer, db.ForeignKey('Flat.id'), nullable=False) user_name = db.Column(db.String(30)) phone_number = db.Column(db.String(30)) guests = db.Column(db.Integer) from_date = db.Column(db.String(30)) to_date = db.Column(db.String(30)) from_time = db.Column(db.String(30)) to_time = db.Column(db.String(30)) def __repr__(self): return '<Rental {}, user_name={} nights={}>'.format(self.id, self.user_name, self.nights) formater = { 'id': fields.Integer, 'flat_id': fields.Integer, 'user_name': fields.String, 'phone_number': fields.String, 'guests': fields.Integer, 'from_date': fields.String, 'to_date': fields.String, 'from_time': fields.String, 'to_time': fields.String, } @staticmethod @marshal_with(formater) def rental_by_json(rental): return rental
class Customers(db.Model): __tablename__ = "customers" __table_args__ = {'extend_existing': True} id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(128), unique=True, nullable=False) dob = db.Column(db.Date, nullable=False) updated_at = db.Column(db.DateTime, nullable=False) def __init__(self, name, dob, updated_at): self.name = name self.dob = dob self.updated_at = updated_at
class Calendar(db.Model): __tablename__ = 'Calendar' id = db.Column(db.Integer, primary_key=True) property_id = db.Column(db.Integer, db.ForeignKey('Property.id'), nullable=False) system_id = db.Column(db.Integer, db.ForeignKey('Dir_system.id'), nullable=False) availability = db.Column(db.String(30)) price = db.Column(db.Integer) currency = db.Column(db.String(30)) start_date = db.Column(db.String(30)) end_date = db.Column(db.String(30)) def __repr__(self): return '<Calendar {}, {}>'.format(self.id, self.property_id) formater={ 'id': fields.Integer, 'property_id': fields.Integer, 'system_id': fields.Integer, 'availability': fields.String, 'price': fields.Integer, 'currency': fields.String, 'start_date': fields.String, 'end_date': fields.String, } @staticmethod @marshal_with(formater) def calendar_by_json(calendar): return calendar
class User(db.Model): __tablename__ = "users" __table_args__ = {'extend_existing': True} id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(128), unique=True, nullable=False) password_hash = db.Column(db.String(256), nullable=False) def __init__(self, username, password): self.username = username self.password_hash = generate_password_hash(password) def check_password(self, password): return check_password_hash(self.password_hash, password)
class User(db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True, nullable=False) firstname = db.Column(db.String(30), nullable=False) lastname = db.Column(db.String(30), nullable=False) username = db.Column(db.String(30), nullable=False, unique=True) email = db.Column(db.String(40), nullable=False, unique=True) password = db.Column(db.String(128), nullable=False) time_created = db.Column(db.DateTime(timezone=True), server_default=func.now()) time_updated = db.Column(db.DateTime(timezone=True), onupdate=func.now()) def __init__(self, firstname, lastname, username, email, password): self.firstname = firstname self.lastname = lastname self.username = username self.email = email self.password = password @staticmethod def get(user_id=None, username=None): if user_id: return User.query.filter_by(id=user_id).first() elif username: return User.query.filter_by(username=username).first() return None def set_password(self, new_pass): new_hash = pwd_context.hash(new_pass) self.password = new_hash def verify_password(self, password): return pwd_context.verify(password, self.password) def generate_auth_token(self, expiration=600): s = TimedJSONWebSignatureSerializer(os.environ.get("SECRET_KEY"), expires_in=expiration) return s.dumps({'id': self.id}) @staticmethod def verify_auth_token(token): s = TimedJSONWebSignatureSerializer(os.environ.get("SECRET_KEY"), ) try: data = s.loads(token) except SignatureExpired: return None # valid token, but expired except BadSignature: return None # invalid token user = User.get(user_id=data['id']) return user def __repr__(self): return '{0} {1}: {2}'.format(self.firstname, self.lastname, self.email)
class Todo(db.Model): __tablename__ = 'todo' now = datetime.today() id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(32), nullable=False) contents = db.Column(db.String(256)) deadline = db.Column(db.Date, nullable=False, default=now.date()) priority = db.Column(db.Integer, default=3) state = db.Column(db.Integer, default=0) created = db.Column(db.DateTime, nullable=False, default=datetime.now) updated = db.Column(db.DateTime, nullable=False, default=datetime.now, onupdate=datetime.now) def __repr__(self): return 'Todo(id={id},name={name},contents={contents},deadline={deadline},priority={priority},state={state}'\ .format(id=self.id, name=self.name, contents=self.contents, deadline=self.deadline, priority=self.priority, state=self.state)
class User(db.Model): __tablename__ = 'User' id = db.Column(db.Integer, primary_key=True) first_name = db.Column(db.String(120)) last_name = db.Column(db.String(120)) email = db.Column(db.String(255)) password = db.Column(db.String(120)) code_recovery = db.Column(db.String(30), nullable=True) date_code_recovery = db.Column(db.Date, nullable=True) def __repr__(self): return '<User {}>'.format(self.first_name) def set_password(self, password): self.password = generate_password_hash(password) def check_password(self, password): return check_password_hash(self.password, password)
class DirSystem(db.Model): __tablename__ = 'Dir_system' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String) url_img = db.Column(db.String)
class Property(db.Model): __tablename__ = 'Property' id = db.Column(db.Integer, primary_key=True) system_id = db.Column(db.Integer, db.ForeignKey('Dir_system.id'), nullable=False) inner_id = db.Column(db.Integer, nullable=False) name = db.Column(db.String(120), nullable=False) country = db.Column(db.String(120)) city = db.Column(db.String(120)) district = db.Column(db.String(120)) zip_code = db.Column(db.String(30)) currency = db.Column(db.String(30)) photo_url = db.Column(db.String(255)) price = db.Column(db.Integer) min_stay = db.Column(db.Integer) number_of_guests = db.Column(db.Integer) size = db.Column(db.Integer) flat_id = db.Column(db.Integer, db.ForeignKey('Flat.id')) local_user_id = db.Column(db.Integer, db.ForeignKey('User.id')) def __repr__(self): return '<Property {}>'.format(self.name)
class GuestInfo(db.Model): __tablename__ = 'GuestInfo' id = db.Column(db.Integer, primary_key=True) calendar_id = db.Column(db.Integer, db.ForeignKey('Calendar.id'), nullable=False) system_id = db.Column(db.Integer, nullable=False) user_name = db.Column(db.String(30)) phone_number = db.Column(db.String(30)) guests = db.Column(db.Integer) nights = db.Column(db.Integer) total_cost = db.Column(db.Integer) currency = db.Column(db.String(30)) from_time = db.Column(db.String(30)) to_time = db.Column(db.String(30)) def __repr__(self): return '<GuestInfo {}, {} user_name={} nights={}>'.format(self.id, self.calendar_id, self.user_name, self.nights) formater = { 'id': fields.Integer, 'calendar_id': fields.Integer, 'user_name': fields.String, 'phone_number': fields.String, 'guests': fields.Integer, 'nights': fields.Integer, 'total_cost': fields.String, 'currency': fields.String, } @staticmethod @marshal_with(formater) def guest_by_json(renter): return renter
import datetime from project.database import db, Model, Column, relationship role_to_user = db.Table( 'role_to_user', db.Column('user_id', db.Integer(), db.ForeignKey('user.id')), db.Column('role_id', db.Integer(), db.ForeignKey('role.id'))) class Role(Model): id = Column(db.Integer, primary_key=True) name = Column(db.String(255), nullable=False, unique=True)