Ejemplo n.º 1
0
class Admin(db.Model):
    __tablename__ = "admin"

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    admin_uuid = db.Column(UUID(as_uuid=True),
                           unique=True,
                           primary_key=True,
                           default=uid())
    name = db.Column(db.String(255))
    password = db.Column(db.String(255))
    password_hash = db.Column(db.String(255))
    profit = db.Column(db.Integer, default=0)
    time_login = db.Column(db.DateTime)
    time_logout = db.Column(db.DateTime)
    time_created = db.Column(db.DateTime)
Ejemplo n.º 2
0
class User(db.Model):
    __tablename__ = 'users'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(255))
    email = db.Column(db.String(255))
    # password 				= db.Column(db.String(255))
    phone = db.Column(db.String(255))
    program = db.Column(db.String(255))
    pekerjaan = db.Column(db.String(255))
    alamat = db.Column(db.String(255))
    registered_at = db.Column(db.DateTime, default=TIME)
    deleted_at = db.Column(db.DateTime)
    removed_at = db.Column(db.DateTime)

    # programs 				= db.ForeingKey('Program')

    def __repr__(self):
        return "<{} has registered successfully".format(self.name)
Ejemplo n.º 3
0
class FileSeller(db.Model):
    __tablename__ = 'file_seller'
    
    id                          = db.Column(db.Integer, primary_key=True)
    file_title                  = db.Column(db.Text())
    file_name                   = db.Column(db.String(255))
    status_file                 = db.Column(db.Boolean(), default=True)
    created_at                  = db.Column(db.DateTime, default=TIME)
    updated_at                  = db.Column(db.DateTime, default=TIME)
    deleted_at                  = db.Column(db.DateTime, default=TIME)
    item                        = db.Column(db.Integer, db.ForeignKey('items.id'), nullable=False)

    def __repr__(self):
        return '< This file with title {} belongs to {} >'.format(self.file_title, self.owner)
Ejemplo n.º 4
0
class Payment(db.Model):
    __tablename__ = "payment"

    id                             = db.Column(db.Integer, primary_key=True)
    description                    = db.Column(db.Text)
    status_description             = db.Column(db.Boolean(), default=True)
    created_at                     = db.Column(db.DateTime, default=TIME)
    updated_at                     = db.Column(db.DateTime, default=TIME)
    deleted_at                     = db.Column(db.DateTime, default=TIME)
Ejemplo n.º 5
0
class Subject(db.Model):
    __tablename__ = "subjects"

    id = db.Column(db.Integer,
                   unique=True,
                   primary_key=True,
                   autoincrement=True)
    subject_uuid = db.Column(UUID(as_uuid=True),
                             unique=True,
                             primary_key=True,
                             default=uid())
    subject_name = db.Column(db.String(255))
    price = db.Column(db.Integer, default=0)
    description = db.Column(db.Text)
    created_at = db.Column(db.DateTime, default=TIME)
    updated_at = db.Column(db.DateTime)
    deleted_at = db.Column(db.DateTime)
    status = db.Column(db.Boolean, default=True)
    tutor = db.Column(UUID(as_uuid=True), db.ForeignKey('tutors.tutor_uuid'))
    summary = db.relationship('Summary', backref='owner', lazy=True)

    def __repr__(self):
        return '< {} this subject belongs to {}>'.format(
            self.subject_name, self.tutor)
Ejemplo n.º 6
0
class SkinFile(db.Model):
    __tablename__='skin_file'

    id                          = db.Column(db.Integer, primary_key=True, autoincrement=True)
    filename                    = db.Column(db.String(255))
    status_file                 = db.Column(db.Boolean, default=True)
    create_at                   = db.Column(db.DateTime, default=TIME)
    updated_at                  = db.Column(db.DateTime)
    deleted_at                  = db.Column(db.DateTime)

    def __repr__(self):
        return '< This info has title {} >'.format(self.filename)
Ejemplo n.º 7
0
class Admin(db.Model):
    __tablename__ = "admin"

    id                          = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name                        = db.Column(db.String(255), unique=True, default="beauty")
    password                    = db.Column(db.String(255), unique=True)
    password_hash               = db.Column(db.String(255), unique=True)
    login_at                    = db.Column(db.DateTime, default=TIME)
    logout_at                   = db.Column(db.DateTime)

    def __repr__(self):
        return '<this admin is {} >'.format(self.name)
Ejemplo n.º 8
0
class Seller(db.Model):
    __tablename__ = 'sellers'
    
    id                         = db.Column(db.Integer, primary_key=True, autoincrement=True)
    full_name                  = db.Column(db.String(255))
    email                      = db.Column(db.String(255), unique=True)
    password                   = db.Column(db.String(255))
    password_hash              = db.Column(db.String(255))
    gender                     = db.Column(db.String(255))
    phone_number               = db.Column(db.String(255))               
    status_seller              = db.Column(db.Boolean(), default=True)
    created_at                 = db.Column(db.DateTime, default=TIME)
    updated_at                 = db.Column(db.DateTime, default=TIME)
    deleted_at                 = db.Column(db.DateTime, default=TIME)
    item                       = db.relationship('Item', backref='sellers', lazy=True)
    
    def generate_password_hash(self, password):
        self.password_hash = generate_password_hash(password)

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

    def set_status_seller(self, status):
        self.status_seller = status

    def __repr__(self):
        return '< This seller is {} >'.format(self.full_name)
Ejemplo n.º 9
0
class Buyer(db.Model):
    __tablename__ = 'buyers'
    
    id          	           = db.Column(db.Integer, primary_key=True, autoincrement=True)
    full_name                  = db.Column(db.String(255))
    email       	           = db.Column(db.String(255), unique=True)
    password    	           = db.Column(db.String(255))
    password_hash              = db.Column(db.String(255))
    gender                     = db.Column(db.String(255))
    phone_number    	       = db.Column(db.String(255))
    address                    = db.Column(db.Text)
    status_buyer               = db.Column(db.Boolean(), default=True)
    created_at  	           = db.Column(db.DateTime, default=TIME)
    updated_at                 = db.Column(db.DateTime, default=TIME)
    deleted_at                 = db.Column(db.DateTime, default=TIME)

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

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

    def set_status_buyer(self, status):
        self.status_buyer = status

    def __repr__(self):
        return '< This buyer is {} >'.format(self.full_name)
Ejemplo n.º 10
0
class Item(db.Model):
    __tablename__ = 'items'
   
    id                           = db.Column(db.Integer, primary_key=True)
    item_title                   = db.Column(db.String(255))
    status_item                  = db.Column(db.Boolean(), default=True)
    description                  = db.Column(db.Text)
    price                        = db.Column(db.String(255))
    number_like                  = db.Column(db.Integer, default=0)
    number_dislike               = db.Column(db.Integer, default=0)
    created_at                   = db.Column(db.DateTime, default=TIME)
    updated_at                   = db.Column(db.DateTime, default=TIME)
    deleted_at                   = db.Column(db.DateTime, default=TIME)
    seller                       = db.Column(db.Integer, db.ForeignKey('sellers.id'), nullable=True)
    file_seller                  = db.relationship('FileSeller', backref='items', lazy=True)
        
    def __repr__(self):
        return '< This item  with title {} belongs to {} >'.format(self.item_title, self.owner)
Ejemplo n.º 11
0
class Student(db.Model):
    __tablename__ = "students"

    id = db.Column(db.Integer,
                   unique=True,
                   primary_key=True,
                   autoincrement=True)
    student_uuid = db.Column(UUID(as_uuid=True),
                             unique=True,
                             primary_key=True,
                             default=uid())
    full_name = db.Column(db.String(255))
    email = db.Column(db.String(255))
    password = db.Column(db.String(255))
    password_hash = db.Column(db.String(255))
    gender = db.Column(db.String(255))
    grade = db.Column(db.String(255))
    phone_number = db.Column(db.String(255))
    school = db.Column(db.String(255))
    address = db.Column(db.String(255))
    status_login = db.Column(db.Boolean, default=False)
    activation = db.Column(db.Boolean, default=True)
    created_at = db.Column(db.DateTime, default=TIME)
    updated_at = db.Column(db.DateTime)  # time activated, time_reactivated,
    deleted_at = db.Column(db.DateTime)
    time_login = db.Column(db.DateTime, default=TIME)
    time_logout = db.Column(db.DateTime)
    subscriptions = db.relationship('Subject',
                                    secondary=tutoring,
                                    lazy='subquery',
                                    backref=db.backref('subscribers',
                                                       lazy="dynamic"))
    history = db.relationship('HistoryStudent', backref='history', lazy=True)

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

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

    def __repr__(self):
        return '<this is {}>'.format(self.full_name)
Ejemplo n.º 12
0
class Summary(db.Model):
    __tablename__ = "summaries"

    id = db.Column(db.Integer,
                   primary_key=True,
                   unique=True,
                   autoincrement=True)
    summary_uuid = db.Column(UUID(as_uuid=True),
                             unique=True,
                             primary_key=True,
                             default=uid())
    subject_name = db.Column(db.String(255))
    topic = db.Column(db.Text)
    date = db.Column(db.DateTime)
    time_started = db.Column(db.DateTime)
    time_ended = db.Column(db.DateTime)
    sign_student = db.Column(db.Boolean, default=False)
    sign_tutor = db.Column(db.Boolean, default=False)
    remarks = db.Column(db.Text)
    created_at = db.Column(db.DateTime, default=TIME)
    updated_at = db.Column(db.DateTime)
    deleted_at = db.Column(db.DateTime)
    status = db.Column(db.Boolean, default=True)
    subject = db.Column(UUID(as_uuid=True),
                        db.ForeignKey('subjects.subject_uuid'),
                        nullable=True)

    def __repr__(self):
        return '<this is {}>'.format(self.topic, self.subject)


# class BlacklistToken(db.Model):
#     """
#     Token Model for storing JWT tokens
#     """
#     __tablename__ = 'blacklist_tokens'

#     id = db.Column(db.Integer, primary_key=True, autoincrement=True)
#     token = db.Column(db.String(500), unique=True, nullable=False)
#     blacklisted_on = db.Column(db.DateTime, nullable=False)

#     def __init__(self, token):
#         self.token = token
#         self.blacklisted_on = TIME

#     def __repr__(self):
#         return '<id: token: {}'.format(self.token)

#     @staticmethod
#     def check_blacklist(auth_token):
#         # print(type(auth_token))
#         # check whether auth token has been blacklisted
#         # print(auth_token)
#         res = BlacklistToken.query.filter_by(token=auth_token).first()
#         print(res)
#         print('wew')
#         if res:
#             return True
#         else:
#             return False
Ejemplo n.º 13
0
class HistoryTutor(db.Model):
    __tablename__ = "history_tutor"

    id = db.Column(db.Integer,
                   unique=True,
                   primary_key=True,
                   autoincrement=True)
    history_uuid = db.Column(UUID(as_uuid=True),
                             unique=True,
                             primary_key=True,
                             default=uid())
    subject_name = db.Column(db.String(255))
    subject_uuid = db.Column(UUID(as_uuid=True))
    student_name = db.Column(db.String(255))
    student_uuid = db.Column(UUID(as_uuid=True))
    student_grade = db.Column(db.String(255))
    student_school = db.Column(db.String(255))
    student_address = db.Column(db.Text)
    date_started = db.Column(db.DateTime)
    date_ended = db.Column(db.DateTime)
    amount_meeting = db.Column(db.Integer, default=0)
    income = db.Column(db.Integer, default=0)
    status = db.Column(db.Boolean, default=True)
    created_at = db.Column(db.DateTime, default=TIME)
    updated_at = db.Column(db.DateTime)
    deleted_at = db.Column(db.DateTime)
    tutor = db.Column(UUID(as_uuid=True),
                      db.ForeignKey('tutors.tutor_uuid'),
                      nullable=True)

    def __repr__(self):
        return '<this is {}>'.format(self.history_uuid)
Ejemplo n.º 14
0
class Tutor(db.Model):
    __tablename__ = "tutors"

    id = db.Column(db.Integer,
                   unique=True,
                   primary_key=True,
                   autoincrement=True)
    tutor_uuid = db.Column(UUID(as_uuid=True),
                           unique=True,
                           primary_key=True,
                           default=uid())
    full_name = db.Column(db.String(255))
    email = db.Column(db.String(255), unique=True)
    phone_number = db.Column(db.String(255))
    password = db.Column(db.String(255))
    password_hash = db.Column(db.String(255))
    address = db.Column(db.String(255))
    education = db.Column(db.String(255))
    experience = db.Column(db.Text)
    gender = db.Column(db.String(100))
    status_login = db.Column(db.Boolean, default=False)
    is_working = db.Column(db.Boolean, default=True)
    activation = db.Column(db.Boolean, default=False)
    number_like = db.Column(db.Integer, default=0)
    number_dislike = db.Column(db.Integer, default=0)
    current_income = db.Column(db.Integer, default=0)
    total_income = db.Column(db.Integer, default=0)
    created_at = db.Column(db.DateTime, default=TIME)
    updated_at = db.Column(db.DateTime)
    deleted_at = db.Column(db.DateTime)  # time activated, time_reactivated,
    time_login = db.Column(db.DateTime)
    time_logout = db.Column(db.DateTime)
    time_tutor_on = db.Column(db.DateTime)
    time_tutor_off = db.Column(db.DateTime)
    time_unactivated = db.Column(db.DateTime)
    time_reactivated = db.Column(db.DateTime)
    subject = db.relationship('Subject', backref='owner', lazy=True)
    history = db.relationship('HistoryTutor', backref='history', lazy=True)

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

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

    def __repr__(self):
        return '<this is {}>'.format(self.full_name)
Ejemplo n.º 15
0
class HistoryStudent(db.Model):
    __tablename__ = "history_student"

    id = db.Column(db.Integer,
                   unique=True,
                   primary_key=True,
                   autoincrement=True)
    history_uuid = db.Column(UUID(as_uuid=True),
                             unique=True,
                             primary_key=True,
                             default=uid())
    subject_name = db.Column(db.String(255))
    subject_uuid = db.Column(UUID(as_uuid=True))
    tutor_uuid = db.Column(UUID(as_uuid=True))
    tutor_name = db.Column(db.String(255))
    tutor_handphone = db.Column(db.Integer)
    date_started = db.Column(db.DateTime)
    date_ended = db.Column(db.DateTime)
    amount_meeting = db.Column(db.Integer, default=0)
    amount_payment = db.Column(db.Integer, default=randomPaymentId())
    status = db.Column(db.Boolean, default=True)
    created_at = db.Column(db.DateTime, default=TIME)
    deleted_at = db.Column(db.DateTime)
    student = db.Column(UUID(as_uuid=True),
                        db.ForeignKey('students.student_uuid'),
                        nullable=True)

    def __repr__(self):
        return '<this is {}>'.format(self.history_uuid)
Ejemplo n.º 16
0
    admin_uuid = db.Column(UUID(as_uuid=True),
                           unique=True,
                           primary_key=True,
                           default=uid())
    name = db.Column(db.String(255))
    password = db.Column(db.String(255))
    password_hash = db.Column(db.String(255))
    profit = db.Column(db.Integer, default=0)
    time_login = db.Column(db.DateTime)
    time_logout = db.Column(db.DateTime)
    time_created = db.Column(db.DateTime)


tutoring = db.Table(
    'tutoring',
    db.Column('subject_uuid', UUID(as_uuid=True),
              db.ForeignKey('subjects.subject_uuid')),
    db.Column('student_uuid', UUID(as_uuid=True),
              db.ForeignKey('students.student_uuid')))


class Student(db.Model):
    __tablename__ = "students"

    id = db.Column(db.Integer,
                   unique=True,
                   primary_key=True,
                   autoincrement=True)
    student_uuid = db.Column(UUID(as_uuid=True),
                             unique=True,
                             primary_key=True,
                             default=uid())