예제 #1
0
class Exams(db.Model):
    __tablename__ = "exams"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    subject_id = db.Column(db.Integer, db.ForeignKey(Subjects.id, ondelete="CASCADE"), nullable=False)
    type_exam = db.Column(db.String(250), nullable=False)
    status = db.Column(db.Boolean)
    created_at = db.Column(db.DateTime(timezone=True), server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())
    livecode = db.relationship("Livecodes", cascade="all, delete-orphan", passive_deletes=True)
    quiz = db.relationship("Quizs", cascade="all, delete-orphan", passive_deletes=True)
    history_exam = db.relationship("HistoriesExam", cascade="all, delete-orphan", passive_deletes=True)

    response_fields = {
        "id": fields.Integer,
        "subject_id": fields.Integer,
        "type_exam": fields.String,
        "status": fields.Boolean,
        "created_at": fields.DateTime,
        "update_at": fields.DateTime
    }

    def __init__ (self, subject_id, type_exam, status):
        self.subject_id = subject_id
        self.type_exam = type_exam
        self.status = status

    def __rpr__(self):
        return "<Users %r>" % self.id
예제 #2
0
class Categories(db.Model):
    __tablename__ = "category"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    imgURL = db.Column(db.String(255))
    name = db.Column(db.String(100), nullable=False, unique=True)
    created_at = db.Column(db.DateTime(timezone=True),
                           server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())
    product = db.relationship("Products",
                              cascade="all, delete-orphan",
                              passive_deletes=True)
    subcategory = db.relationship("SubCategories",
                                  cascade="all, delete-orphan",
                                  passive_deletes=True)

    response_fields = {
        'id': fields.Integer,
        'imgURL': fields.String,
        'name': fields.String,
        'created_at': fields.DateTime,
        'updated_at': fields.DateTime
    }

    def __init__(self, imgURL, name):
        self.imgURL = imgURL
        self.name = name

    def __repr__(self):
        return '<Categories %r>' % self.id
예제 #3
0
class Phases(db.Model):
    __tablename__ = "phases"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(50), nullable=False, unique=True)
    description = db.Column(db.Text)
    status = db.Column(db.Boolean)
    created_at = db.Column(db.DateTime(timezone=True),
                           server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())
    module = db.relationship("Modules",
                             cascade="all, delete-orphan",
                             passive_deletes=True)
    history_phase = db.relationship("HistoriesPhase",
                                    cascade="all, delete-orphan",
                                    passive_deletes=True)

    response_fields = {
        "id": fields.Integer,
        "name": fields.String,
        "description": fields.String,
        "status": fields.Boolean,
        "created_at": fields.DateTime,
        "update_at": fields.DateTime
    }

    def __init__(self, name, description, status):
        self.name = name
        self.description = description
        self.status = status

    def __rpr__(self):
        return "<Users %r>" % self.id
예제 #4
0
class Transactions(db.Model):
    __tablename__ = "transactions"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    product_id = db.Column(db.Integer,
                           db.ForeignKey('product.id'),
                           nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    phone_number = db.Column(db.String(15), nullable=False)
    order_id = db.Column(db.String(255), default=None)
    operator = db.Column(db.String(15), nullable=False, default=None)
    label = db.Column(db.String(255), nullable=False, default=None)
    nominal = db.Column(db.Integer, nullable=False)
    price = db.Column(db.Integer, nullable=False)
    created_at = db.Column(db.DateTime, nullable=False)
    # PENDING PAID EXPIRED FAILED NOTPAID
    payment_status = db.Column(db.String(20), default="BELUM DIBAYAR")
    # PENDING SUCCESS FAILED PROCESSING
    order_status = db.Column(db.String(20), default="BELUM DIPROSES")
    trx_users = db.relationship('Users',
                                backref='transactions',
                                cascade="all",
                                lazy="joined")
    trx_product = db.relationship('Product',
                                  backref='transactions',
                                  cascade="all",
                                  lazy="joined")
    trx_timedetail = db.relationship('Timedetails',
                                     backref='transactions',
                                     cascade="all",
                                     lazy="joined")

    response_fields = {
        "id": fields.Integer,
        "phone_number": fields.String,
        "order_id": fields.String,
        "product_id": fields.String,
        "operator": fields.String,
        "label": fields.String,
        "nominal": fields.Integer,
        "price": fields.Integer,
        "created_at": fields.DateTime,
        "payment_status": fields.String,
        "order_status": fields.String
    }

    def __init__(self, user_id, phone_number, product_id, operator, label,
                 nominal, price, created_at):
        self.user_id = user_id
        self.phone_number = phone_number
        self.product_id = product_id
        self.operator = operator
        self.label = label
        self.nominal = nominal
        self.price = price
        self.created_at = created_at
예제 #5
0
class Users(db.Model):
    __tablename__ = "user"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(100), nullable=False)
    phone = db.Column(db.String(15), nullable=False, unique=True)
    email = db.Column(db.String(100), nullable=False, unique=True)
    user_type = db.Column(db.String(100), nullable=False, default='user')
    is_publisher =  db.Column(db.String(10), nullable=False, default="false")
    address = db.Column(db.Text(), nullable=True, default="")
    profil_pict = db.Column(db.Text(), nullable=True, default="")
    KTP_number = db.Column(db.String(100), nullable=True, default="")
    KTP_pict = db.Column(db.Text(), nullable=True, default="")
    password = db.Column(db.String(255))
    salt = db.Column(db.String(255))
    created_at = db.Column(db.DateTime(timezone=True), server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())
    publishers = db.relationship("Publishers", cascade="all, delete-orphan", passive_deletes=True)
    transaction = db.relationship("Transactions", cascade="all, delete-orphan", passive_deletes=True)
   

    response_fields ={
        'id' : fields.Integer,
        'name' : fields.String,
        'phone' : fields.String,
        'email' : fields.String,
        'user_type' : fields.String,
        'is_publisher' : fields.String,
        'address':fields.String,
        'profil_pict':fields.String,
        'KTP_number':fields.String,
        'KTP_pict':fields.String,
        'password' : fields.String,
        'created_at' : fields.DateTime,
        'updated_at' : fields.DateTime
        }

    jwt_claims_fields = {
        'id' : fields.Integer,
        'name' : fields.String,
        'user_type' : fields.String,
    }

    def __init__(self, name, phone, email, user_type, password, salt):
        self.name = name
        self.phone = phone
        self.email = email
        self.user_type = user_type
        self.password = password
        self.salt = salt
      

    def __repr__(self):
        return '<User %r>'%self.id
예제 #6
0
파일: model.py 프로젝트: amulum/SOSO_API
class Category(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(30), nullable=False)
    department_id = db.Column(db.Integer, db.ForeignKey('department.id'))
    sub_categories = db.relationship('Subcategory',
                                     backref='category',
                                     lazy='dynamic')
    products = db.relationship('Product', backref='category', lazy='dynamic')

    def __init__(self, department_id, name):
        self.name = name
        self.department_id = department_id
예제 #7
0
class User(db.Model):
    __tablename__ = "user"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    full_name = db.Column(db.String(30), unique=True, nullable=False)
    username = db.Column(db.String(50), unique=True, nullable=False)
    password = db.Column(db.String(255), nullable=False, default=20)
    salt = db.Column(db.String(255))
    status = db.Column(db.String(50), nullable=False)
    address = db.Column(db.String(255), nullable=False)
    position = db.Column(db.String(50), nullable=False)
    user_image = db.Column(db.String(2000), nullable=False)
    created_at = db.Column(db.DateTime(timezone=True),
                           server_default=db.func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=db.func.now())
    customer = db.relationship('Customer', backref='user', lazy=True)
    user_contact = db.relationship('UserContact', backref='user', lazy=True)
    leader_id = db.Column(db.Integer)

    response_fields = {
        'id': fields.Integer,
        'full_name': fields.String,
        'username': fields.String,
        'password': fields.String,
        'status': fields.String,
        'address': fields.String,
        'position': fields.String,
        'user_image': fields.String,
        'created_at': fields.DateTime,
        'updated_at': fields.DateTime,
        'leader_id': fields.Integer
    }
    jwt_claim_fields = {
        'id': fields.Integer,
        'username': fields.String,
        'status': fields.String
    }

    def __init__(self, full_name, username, password, salt, status, address,
                 position, user_image, leader_id):

        self.full_name = full_name
        self.username = username
        self.password = password
        self.salt = salt
        self.status = status
        self.address = address
        self.position = position
        self.user_image = user_image
        self.leader_id = leader_id

    def __repr__(self):
        return '<User %r>' % self.id
예제 #8
0
파일: model.py 프로젝트: amulum/SOSO_API
class Department(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(30), nullable=False, unique=True)
    categories = db.relationship('Category',
                                 backref='department',
                                 lazy='dynamic')
    sub_categories = db.relationship('Subcategory',
                                     backref='department',
                                     lazy='dynamic')
    products = db.relationship('Product', backref='department', lazy='dynamic')

    def __init__(self, name):
        self.name = name
예제 #9
0
class Modules(db.Model):
    __tablename__ = "modules"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    admin_id = db.Column(db.Integer,
                         db.ForeignKey(Admins.id, ondelete="CASCADE"),
                         nullable=False)
    phase_id = db.Column(db.Integer,
                         db.ForeignKey(Phases.id, ondelete="CASCADE"),
                         nullable=False)
    name = db.Column(db.String(250), nullable=False, unique=True)
    description = db.Column(db.Text)
    image = db.Column(db.String(255))
    status = db.Column(db.Boolean)
    created_at = db.Column(db.DateTime(timezone=True),
                           server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())
    review_module = db.relationship("ReviewsModule",
                                    cascade="all, delete-orphan",
                                    passive_deletes=True)
    requirement_module = db.relationship("RequirementsModule",
                                         cascade="all, delete-orphan",
                                         passive_deletes=True)
    subject = db.relationship("Subjects",
                              cascade="all, delete-orphan",
                              passive_deletes=True)
    history_module = db.relationship("HistoriesModule",
                                     cascade="all, delete-orphan",
                                     passive_deletes=True)

    response_fields = {
        "id": fields.Integer,
        "admin_id": fields.Integer,
        "phase_id": fields.Integer,
        "name": fields.String,
        "description": fields.String,
        "image": fields.String,
        "status": fields.Boolean,
        "created_at": fields.DateTime,
        "update_at": fields.DateTime
    }

    def __init__(self, admin_id, phase_id, name, description, image, status):
        self.admin_id = admin_id
        self.phase_id = phase_id
        self.name = name
        self.description = description
        self.image = image
        self.status = status

    def __rpr__(self):
        return "<Users %r>" % self.id
예제 #10
0
class Products(db.Model):
    __tablename__ = 'product'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(100), nullable=False)
    price = db.Column(db.Integer, nullable=False)
    color = db.Column(db.String(100))
    weight = db.Column(db.Integer, nullable=False)  # gram
    size = db.Column(db.String(10))
    stock = db.Column(db.Integer, nullable=False)
    promo = db.Column(db.Boolean, default=False)
    discount = db.Column(db.Integer, default=0)
    created_at = db.Column(db.DateTime(timezone=True),
                           server_default=db.func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=db.func.now())
    product_type_id = db.Column(db.Integer, db.ForeignKey('product_type.id'))
    seller_id = db.Column(db.Integer, db.ForeignKey('seller.id'))
    pic_products = db.relationship('PicProducts', backref='product', lazy=True)
    transaction_details = db.relationship(
        'TransactionDetails', backref='product', lazy=True)

    response_field = {
        'id': fields.Integer,
        'product_type_id': fields.Integer,
        'seller_id': fields.Integer,
        'name': fields.String,
        'price': fields.Integer,
        'color': fields.String,
        'weight': fields.Integer,
        'size': fields.String,
        'stock': fields.Integer,
        'promo': fields.Boolean,
        'discount': fields.Integer,
        'created_at': fields.DateTime,
        'updated_at': fields.DateTime,
    }

    def __init__(self, name, price, color, weight, size, stock, promo, discount, product_type_id, seller_id):
        self.name = name
        self.price = price
        self.color = color
        self.weight = weight
        self.size = size
        self.stock = stock
        self.promo = promo
        self.discount = discount
        self.product_type_id = product_type_id
        self.seller_id = seller_id

    def __repr__(self):
        return '<Product %r>' % self.id
예제 #11
0
class Cards(db.Model):
    __tablename__ = "cards"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    listId = db.Column(db.Integer,
                       db.ForeignKey("lists.id", ondelete='CASCADE'),
                       nullable=False)
    text = db.Column(db.String(255), nullable=False)
    order = db.Column(db.Integer, nullable=False)
    description = db.Column(LONGTEXT(charset='latin1'))
    members = db.Column(db.String(255))
    code = db.Column(db.String(255))
    labels = db.Column(db.String(255))
    cover = db.Column(db.String(255))

    created_at = db.Column(db.DateTime(timezone=True),
                           server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())

    cardId = db.relationship('CardMembers',
                             backref='cards',
                             lazy=True,
                             uselist=False,
                             cascade="all, delete-orphan",
                             passive_deletes=True)
    cardId = db.relationship('CardLabels',
                             backref='cards',
                             lazy=True,
                             uselist=False,
                             cascade="all, delete-orphan",
                             passive_deletes=True)

    response_fields = {
        'id': fields.Integer,
        'listId': fields.Integer,
        'text': fields.String,
        'order': fields.Integer,
        'members': fields.String,
        'code': fields.String,
        'labels': fields.String,
        'cover': fields.String,
    }

    def __init__(self, listId, text, order, code):
        self.listId = listId
        self.text = text
        self.order = order
        self.code = code

    def __repr__(self):
        return '<Cards %r>' % self.id
예제 #12
0
class UserModel(db.Model):
    __tablename__ = "users"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(20), nullable=False, unique=True)
    password = db.Column(db.String(255))
    salt = db.Column(db.String(255))
    status_internal = db.Column(db.Boolean, nullable=False)
    status_penjual = db.Column(db.Boolean, nullable=False, default=False)
    status_admin = db.Column(db.Boolean, nullable=False, default=False)
    buyers = db.relationship('Buyers',
                             backref='users',
                             lazy=True,
                             uselist=False)
    sellers = db.relationship('Sellers',
                              backref='users',
                              lazy=True,
                              uselist=False)
    created_at = db.Column(db.DateTime(timezone=True),
                           server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())

    response_fields = {
        'id': fields.Integer,
        'username': fields.String,
        'password': fields.String,
        'status_internal': fields.Boolean,
        'status_penjual': fields.Boolean,
        'status_admin': fields.Boolean
    }

    jwt_client_fields = {
        'id': fields.Integer,
        'username': fields.String,
        'status_internal': fields.Boolean,
        'status_penjual': fields.Boolean,
        'status_admin': fields.Boolean,
    }

    def __init__(self, username, password, salt, status_internal,
                 status_penjual, status_admin):
        self.username = username
        self.password = password
        self.status_internal = status_internal
        self.status_penjual = status_penjual
        self.status_admin = status_admin
        self.salt = salt

    def __repr__(self):
        return '<User %r>' % self.id
예제 #13
0
class Users(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(30), nullable=False, unique=True)
    username = db.Column(db.String(30), nullable=False, unique=True)
    password = db.Column(db.String(255), nullable=False)
    salt = db.Column(db.String(255))
    bio = db.Column(db.String(255))
    pict_profile = db.Column(db.String(255), default="https://pbs.twimg.com/profile_images/3182474033/c1d33595bce12b515bb83197eab2d9ba_400x400.jpeg")
    pict_bg = db.Column(db.String(255), default="https://pbs.twimg.com/profile_images/3182474033/c1d33595bce12b515bb83197eab2d9ba_400x400.jpeg")
    follower = db.Column(db.Integer, default=0)
    following = db.Column(db.Integer, default=0)
    status = db.Column(db.String(10), default='true')
    created_at = db.Column(db.DateTime(timezone=True), server_default=db.func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=db.func.now())

    tweets = db.relationship('Tweets', backref='user', lazy=True)
    followers = db.relationship('Followers', backref='user', lazy=True)
    
    response_field = {
        'id': fields.Integer,
        'name': fields.String,
        'username': fields.String,
        'password': fields.String,
        'bio': fields.String,
        'pict_profile': fields.String,
        'pict_bg': fields.String,
        'follower':fields.Integer,
        'following':fields.Integer,
        'created_at': fields.DateTime,
        'updated_at': fields.DateTime
    }
    jwt_claim_fields = {
        'id': fields.Integer,
        'username': fields.String,
        'status': fields.String
    }

    def __init__(self, name, username, password, bio, pict_profile, pict_bg, salt):
        self.name = name
        self.username = username
        self.password = password
        self.bio = bio
        self.pict_profile = pict_profile
        self.pict_bg = pict_bg
        self.salt = salt

    def __repr__(self):
        return '<User %r>' % self.id
예제 #14
0
class Questions(db.Model):
    __tablename__ = "questions"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    quiz_id = db.Column(db.Integer,
                        db.ForeignKey(Quizs.id, ondelete="CASCADE"),
                        nullable=False)
    question = db.Column(db.String(2000), nullable=False)
    choice = db.relationship("Choices",
                             cascade="all, delete-orphan",
                             passive_deletes=True)
    created_at = db.Column(db.DateTime(timezone=True),
                           server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())

    response_fields = {
        "id": fields.Integer,
        "quiz_id": fields.Integer,
        "question": fields.String,
        "created_at": fields.DateTime,
        "update_at": fields.DateTime,
    }

    def __init__(self, quiz_id, question):
        self.quiz_id = quiz_id
        self.question = question

    def __rpr__(self):
        return "<Questions %r>" % self.id
예제 #15
0
class Conversations(db.Model):
    __tablename__ = "conversations"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    user1_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    user2_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    # status_deleted = db.Column(db.Boolean, nullable=False)
    personal_message = db.relationship('PersonalMessages', backref='conversations', lazy=True, uselist=False)
    created_at = db.Column(db.DateTime(timezone=True),server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())
    
    response_fields = {
        'id':fields.Integer,
        'user1_id':fields.Integer,
        'user2_id':fields.Integer,
        # 'status_deleted':fields.Boolean
        'created_at':fields.DateTime
    }
    
    def __init__(self, user1_id, user2_id):
        self.user1_id = user1_id
        self.user2_id = user2_id
        # self.status_deleted = status_deleted
        
    def __repr__(self):
        return '<Conversation %r>' % self.id
예제 #16
0
class TransaksiDetail(db.Model):
    __tablename__ = 'transaction_detail'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    transaction_id = db.Column(db.Integer, db.ForeignKey('table_transaksi.id'))
    produk_id = db.Column(db.Integer, db.ForeignKey('table_produk.id'))
    harga = db.Column(db.Integer, nullable=False)
    qty = db.Column(db.Integer, nullable=False)
    created_at = db.Column(db.DateTime(timezone=True),
                           server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())
    product_reviews = db.relationship(
        'ReviewProduk', backref='transaction_detail', lazy=True)

    response_field = {
        'id': fields.Integer,
        "pembeli_id": fields.Integer,
        "produk_id": fields.Integer,
        "harga": fields.Integer,
        "qty": fields.Integer,
        'created_at': fields.DateTime,
        'updated_at': fields.DateTime

    }

    def __init__(self, transaction_id, produk_id, harga, qty):
        self.transaction_id = transaction_id
        self.produk_id = produk_id
        self.harga = harga
        self.qty = qty

    def __repr__(self):
        return '<TransactionDetail %r>' % self.id
예제 #17
0
class Clients(db.Model):
    __tablename__ = "clients"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    client_key = db.Column(db.String(50), unique=True, nullable=False)
    client_secret = db.Column(db.String(255))
    salt = db.Column(db.String(255))
    status = db.Column(db.String(30), default=0)
    users = db.relationship('Users',
                            backref='clients',
                            lazy=True,
                            uselist=False)

    response_fields = {
        'id': fields.Integer,
        'client_key': fields.String,
        'client_secret': fields.String,
        'status': fields.String
    }

    jwt_claims_fields = {'client_key': fields.String, 'status': fields.String}

    #urutan ini harus sesuai dengan def post result
    def __init__(self, client_key, client_secret, status, salt):
        self.client_key = client_key
        self.status = status
        self.client_secret = client_secret
        self.salt = salt

    def __repr__(self):
        return '<Client %r>' % self.id
예제 #18
0
class Lokasi(db.Model):
    __tablename__ = "table_lokasi"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    lokasi_restoran = db.Column(db.String(2000), unique=True, nullable=False)
    table_restoran = db.relationship('Restoran',
                                     backref="table_lokasi",
                                     lazy=True)
    lat = db.Column(db.Float)
    lon = db.Column(db.Float)
    created_at = db.Column(db.DateTime(timezone=True),
                           server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())

    response_fields = {
        'id': fields.Integer,
        'lokasi_restoran': fields.String,
        'lat': fields.Float,
        'lon': fields.Float,
        'created_at': fields.DateTime,
        'updated_at': fields.DateTime
    }

    def __init__(self, lokasi_restoran, lat, lon):
        self.lokasi_restoran = lokasi_restoran
        self.lat = lat
        self.lon = lon

    def __repr__(self):
        return '<Lokasi %r>' % self.id
예제 #19
0
class Quizs(db.Model):
    __tablename__ = "quizs"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    modul_id = db.Column(db.Integer,
                         db.ForeignKey(Moduls.id, ondelete="CASCADE"),
                         nullable=False)
    name_quiz = db.Column(db.String(200), nullable=False)
    duration_minute = db.Column(db.Integer)
    grade = db.Column(db.Integer)
    question = db.relationship("Questions",
                               cascade="all, delete-orphan",
                               passive_deletes=True)
    created_at = db.Column(db.DateTime(timezone=True),
                           server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())

    response_fields = {
        "id": fields.Integer,
        "modul_id": fields.Integer,
        "name_quiz": fields.String,
        "duration_minute": fields.Integer,
        "grade": fields.Integer,
        "created_at": fields.DateTime,
        "update_at": fields.DateTime,
    }

    def __init__(self, modul_id, name_quiz, duration_minute, grade):
        self.modul_id = modul_id
        self.name_quiz = name_quiz
        self.duration_minute = duration_minute
        self.grade = grade

    def __rpr__(self):
        return "<Quizs %r>" % self.id
예제 #20
0
class TransactionDetails(db.Model):
    __tablename__ = 'transaction_detail'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    transaction_id = db.Column(db.Integer, db.ForeignKey('transaction.id'))
    product_id = db.Column(db.Integer, db.ForeignKey('product.id'))
    price = db.Column(db.Integer, nullable=False)
    qty = db.Column(db.Integer, nullable=False)
    created_at = db.Column(db.DateTime(timezone=True), server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())
    product_review = db.relationship('ProductReviews', backref='transaction_detail', lazy=True)   

    response_field = {
        'id':fields.Integer,
        'transaction_id':fields.Integer,
        'product_id':fields.Integer,
        'price':fields.Integer,
        'qty':fields.Integer,
        'created_at': fields.DateTime,
        'updated_at': fields.DateTime
    }

    def __init__(self, transaction_id, product_id, price, qty):
        self.transaction_id = transaction_id
        self.product_id = product_id
        self.price = price
        self.qty = qty

    def __repr__(self):
        return '<TransactionDetail %r>' % self.id
예제 #21
0
class SubCategories(db.Model):
    __tablename__ = "subcategory"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(100), nullable=False, unique=True)
    category_id = db.Column(db.Integer,
                            ForeignKey(Categories.id, ondelete='CASCADE'),
                            nullable=False)
    created_at = db.Column(db.DateTime(timezone=True),
                           server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())
    product = db.relationship("Products",
                              cascade="all, delete-orphan",
                              passive_deletes=True)

    response_fields = {
        'id': fields.Integer,
        'name': fields.String,
        'category_id': fields.Integer,
        'created_at': fields.DateTime,
        'updated_at': fields.DateTime
    }

    def __init__(self, name, category_id):
        self.name = name
        self.category_id = category_id

    def __repr__(self):
        return '<SubCategories %r>' % self.id
예제 #22
0
class Menu(db.Model):
    __tablename__ = "table_menu"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    nama_menu = db.Column(db.String(100), nullable=False, unique=True)
    gambar_menu = db.Column(db.String(255))
    created_at = db.Column(db.DateTime(timezone=True),
                           server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())
    table_restoran = db.relationship('Restoran',
                                     backref="table_menu",
                                     lazy=True)

    response_fields = {
        'id': fields.Integer,
        'nama_menu': fields.String,
        'gambar_menu': fields.String,
        'created_at': fields.DateTime,
        'updated_at': fields.DateTime
    }

    def __init__(self, nama_menu, gambar_menu):
        self.nama_menu = nama_menu
        self.gambar_menu = gambar_menu

    def __repr__(self):
        return '<Menu %r>' % self.id
예제 #23
0
class QuestionsAltatest(db.Model):
    __tablename__ = "questions_altatest"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    admin_id = db.Column(db.Integer, db.ForeignKey(Admins.id, ondelete="CASCADE"), nullable=False)
    question = db.Column(db.Text, nullable=False)
    status = db.Column(db.Boolean)
    created_at = db.Column(db.DateTime(timezone=True), server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())
    choice_altatest = db.relationship("ChoicesAltatest", cascade="all, delete-orphan", passive_deletes=True)

    response_fields = {
        "id": fields.Integer,
        "admin_id": fields.Integer,
        "question": fields.String,
        "status": fields.Boolean,
        "created_at": fields.DateTime,
        "update_at": fields.DateTime,
    }

    def __init__(self, admin_id, question, status):
        self.admin_id = admin_id
        self.question = question
        self.status = status

    def __rpr__(self):
        return "<Questions %r>" % self.id
예제 #24
0
class GameVouchers(db.Model):
    __tablename__ = "game_vouchers"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    game_id = db.Column(db.Integer, db.ForeignKey('games.id'))
    voucher = db.Column(db.String(255), nullable=False)
    price = db.Column(db.Integer, default=0)

    transaction_details = db.relationship('TransactionDetails',
                                          backref='game_vouchers',
                                          lazy=True,
                                          uselist=False,
                                          cascade="all, delete-orphan")

    created_at = db.Column(db.DateTime(timezone=True),
                           server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())

    response_fields = {
        'id': fields.Integer,
        'game_id': fields.Integer,
        'voucher': fields.String,
        'price': fields.Integer
    }

    def __init__(self, game_id, voucher, price):
        self.game_id = game_id
        self.voucher = voucher
        self.price = price

    def __repr__(self):
        return '<GameVouchers %r>' % self.id
예제 #25
0
class Submoduls(db.Model):
    __tablename__ = "submoduls"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    modul_id = db.Column(db.Integer,
                         db.ForeignKey(Moduls.id, ondelete="CASCADE"),
                         nullable=False)
    name_submodul = db.Column(db.String(200), nullable=False)
    content = db.relationship("Contents",
                              cascade="all, delete-orphan",
                              passive_deletes=True)
    created_at = db.Column(db.DateTime(timezone=True),
                           server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())

    response_fields = {
        "id": fields.Integer,
        "modul_id": fields.Integer,
        "name_submodul": fields.String,
        "created_at": fields.DateTime,
        "update_at": fields.DateTime,
    }

    def __init__(self, modul_id, name_submodul):
        self.modul_id = modul_id
        self.name_submodul = name_submodul

    def __rpr__(self):
        return "<Submoduls %r>" % self.id
예제 #26
0
class Quizs(db.Model):
    __tablename__ = "quizs"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    exam_id = db.Column(db.Integer,
                        db.ForeignKey(Exams.id, ondelete="CASCADE"),
                        nullable=False)
    name = db.Column(db.String(250))
    description = db.Column(db.Text)
    status = db.Column(db.Boolean)
    created_at = db.Column(db.DateTime(timezone=True),
                           server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())
    questions_quiz = db.relationship("QuestionsQuiz",
                                     cascade="all, delete-orphan",
                                     passive_deletes=True)

    response_fields = {
        "id": fields.Integer,
        "exam_id": fields.Integer,
        "name": fields.String,
        "description": fields.String,
        "status": fields.Boolean,
        "created_at": fields.DateTime,
        "update_at": fields.DateTime,
    }

    def __init__(self, exam_id, name, description, status):
        self.exam_id = exam_id
        self.name = name
        self.description = description
        self.status = status

    def __rpr__(self):
        return "<Questions %r>" % self.id
예제 #27
0
class Altatests(db.Model):
    __tablename__ = "altatests"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    question_sum = db.Column(db.Integer)
    status = db.Column(db.Boolean)
    created_at = db.Column(db.DateTime(timezone=True),
                           server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())
    altatest_history = db.relationship("HistoriesAltatest",
                                       cascade="all, delete-orphan",
                                       passive_deletes=True)

    response_fields = {
        "id": fields.Integer,
        "question_sum": fields.Integer,
        "status": fields.Boolean,
        "created_at": fields.DateTime,
        "update_at": fields.DateTime
    }

    def __init__(self, question_sum, status):
        self.question_sum = question_sum
        self.status = status

    def __rpr__(self):
        return "<Users %r>" % self.id
예제 #28
0
class BuyerModel(db.Model):
    __tablename__ = "buyers"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    nama = db.Column(db.String(50), nullable=False)
    email = db.Column(db.String(50), nullable=False)
    alamat = db.Column(db.String(255))
    no_hp = db.Column(db.String(15))
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    cart = db.relationship('Carts', backref='buyers', lazy=True, uselist=False)
    created_at = db.Column(db.DateTime(timezone=True), server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())

    response_fields = {
        'id': fields.Integer,
        'nama': fields.String,
        'email': fields.String,
        'alamat': fields.String,
        'no_hp': fields.String,
        'user_id':fields.Integer
    }

    def __init__(self, nama, email, alamat, no_hp, user_id):
        self.nama = nama
        self.email = email
        self.alamat = alamat
        self.no_hp = no_hp
        self.user_id = user_id

    def __repr__(self):
        return '<Buyer %r>' % self.id
예제 #29
0
class Weeks(db.Model):
    __tablename__ = "weeks"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    course_id = db.Column(
        db.Integer, db.ForeignKey(Courses.id, ondelete="CASCADE"), nullable=False
    )
    name_week = db.Column(db.String(200), nullable=False)
    duration_week = db.Column(db.Integer, default=7)
    moduls = db.relationship(
        "Moduls", cascade="all, delete-orphan", passive_deletes=True
    )
    created_at = db.Column(db.DateTime(timezone=True), server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())

    response_fields = {
        "id": fields.Integer,
        "course_id": fields.Integer,
        "name_week": fields.String,
        "duration_week": fields.Integer,
        "created_at": fields.DateTime,
        "update_at": fields.DateTime,
    }

    def __init__(self, course_id, name_week):
        self.course_id = course_id
        self.name_week = name_week

    def __rpr__(self):
        return "<Weeks %r>" % self.id
예제 #30
0
class CartModel(db.Model):
    __tablename__ = "carts"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    total_harga = db.Column(db.Integer, default=0)
    total_kuantitas = db.Column(db.Integer, default=0)
    ongkir = db.Column(db.Integer, default=0)
    status_checkout = db.Column(db.Boolean, default=False)
    seller_id = db.Column(db.Integer, db.ForeignKey('sellers.id'))
    buyer_id = db.Column(db.Integer, db.ForeignKey('buyers.id'))
    products = db.relationship('TransactionDetails',
                               backref='carts',
                               lazy=True,
                               uselist=False)
    created_at = db.Column(db.DateTime(timezone=True),
                           server_default=func.now())
    updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now())

    response_fields = {
        'id': fields.Integer,
        'total_harga': fields.Integer,
        'total_kuantitas': fields.Integer,
        'ongkir': fields.Integer,
        'seller_id': fields.Integer,
        'buyer_id': fields.Integer,
        'status_checkout': fields.Boolean,
        'updated_at': fields.DateTime,
        'created_at': fields.DateTime,
    }

    def __init__(self, seller_id, buyer_id):
        self.seller_id = seller_id
        self.buyer_id = buyer_id

    def __repr__(self):
        return '<Products %r>' % self.id