class Pets(db.Model): __tablename__ = "pets" id = db.Column(db.Integer, primary_key=True, autoincrement=True) created_at = db.Column(db.DateTime, nullable=False) pet_name = db.Column(db.String(100), nullable=False) pet_type = db.Column(db.String(100), nullable=False) client_id = db.Column(db.Integer, db.ForeignKey('clients.id'), nullable=False) response_field = { 'id': fields.Integer, 'created_at': fields.DateTime, 'pet_name': fields.String, 'pet_type': fields.String, 'client_id': fields.Integer, } response_field_with_client = { 'id': fields.Integer, 'created_at': fields.DateTime, 'pet_name': fields.String, 'pet_type': fields.String, 'client_id': fields.Integer, 'username': fields.String, 'status': fields.Boolean, } response_field_organisasi = { 'page': fields.Integer, 'total_page': fields.Integer, 'per_page': fields.Integer } def __init__(self, created_at, pet_name, pet_type, client_id): self.created_at = created_at self.pet_name = pet_name self.pet_type = pet_type self.client_id = client_id def __repr__(self): return '<Pets %r>' % self.id
class Books(db.Model): __tablename__ = 'buku' id = db.Column(db.Integer, primary_key=True, autoincrement=True) penulis_id = db.Column(db.Integer, db.ForeignKey('penulis.id', ondelete='CASCADE'), nullable=False) judul = db.Column(db.String(255), nullable=False) response_fields = { 'id': fields.Integer, 'judul': fields.String, 'penulis_id': fields.Integer } def __init__(self, judul, penulis_id): self.judul = judul self.penulis_id = penulis_id def __repr__(self): return '<Book %r>' % self.id
class Lists(db.Model): __tablename__ = "lists" id = db.Column(db.Integer, primary_key=True, autoincrement=True) boardId = db.Column(db.Integer, db.ForeignKey("boards.id", ondelete='CASCADE'), nullable=False) title = db.Column(db.String(255), nullable=False) order = db.Column(db.Integer, nullable=False) cards = db.Column(db.String(255)) code = db.Column(db.String(255)) # archived = db.Column(db.Boolean, default=False, server_default="false") created_at = db.Column(db.DateTime(timezone=True), server_default=func.now()) updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now()) listId = db.relationship('Cards', backref='lists', lazy=True, uselist=False, cascade="all, delete-orphan", passive_deletes=True) response_fields = { 'id': fields.Integer, 'boardId': fields.Integer, 'title': fields.String, 'order': fields.Integer, 'cards': fields.Integer, # 'archived': fields.Integer, 'code': fields.String, } def __init__(self, boardId, title, order, code): self.boardId = boardId self.title = title self.order = order self.code = code def __repr__(self): return '<Lists %r>' % self.id
class Products(db.Model): __tablename__ = "products" id = db.Column(db.Integer, primary_key=True, autoincrement=True) id_users = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False) name = db.Column(db.String(150), nullable=False, default="") category = db.Column(db.String(150), nullable=False, default="") price = db.Column(db.Integer, nullable=False, default=0) show = db.Column(db.Boolean, nullable=False, default=True) stock = db.Column(db.Integer, nullable=False, default=0) image = db.Column(db.String(255), nullable=False, default="") deleted = db.Column(db.Boolean, nullable=False, default=False) created_at = db.Column(db.DateTime, default=(datetime.now() + timedelta(hours=7))) updated_at = db.Column(db.DateTime, onupdate=(datetime.now() + timedelta(hours=7))) response_fields = { 'id': fields.Integer, 'id_users': fields.Integer, 'name': fields.String, 'category': fields.String, 'price': fields.Integer, 'show': fields.Boolean, 'stock': fields.Integer, 'image': fields.String, 'deleted': fields.Boolean, 'created_at': fields.DateTime, 'updated_at': fields.DateTime } def __init__(self, id_users, name, category, price, show, image): self.id_users = id_users self.name = name self.category = category self.price = price self.show = show self.image = image def __repr__(self): return '<Products %r>' % self.name
class UsersDetail(db.Model): __tablename__ = "user_detail" user_detail_id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('user.user_id')) user = db.relationship("Users", backref=db.backref("user", uselist=False)) first_name = db.Column(db.String(30)) last_name = db.Column(db.String(30)) job_title = db.Column(db.String(255)) photo_url = db.Column(db.String(255)) deleted = db.Column(db.Boolean, nullable=False) created_at = db.Column(db.DateTime, server_default=db.func.now()) updated_at = db.Column(db.DateTime, server_onupdate=db.func.now()) response_fields = { 'first_name': fields.String, 'last_name': fields.String, 'job_title': fields.String, 'photo_url': fields.String, 'deleted': fields.Boolean, 'created_at': fields.String, 'updated_at': fields.String } complete_response_fields = { 'username': fields.String, 'email': fields.String, 'first_name': fields.String, 'last_name': fields.String, 'job_title': fields.String, 'photo_url': fields.String } def __init__(self, user_detail_id, user_id): self.deleted = False self.user_detail_id = user_detail_id self.user_id = user_id def __repr__(self): return '<Detail %r>' % self.user_detail_id
class Subjects(db.Model): __tablename__ = "subjects" id = db.Column(db.Integer, primary_key=True, autoincrement=True) module_id = db.Column(db.Integer, db.ForeignKey(Modules.id, ondelete="CASCADE"), nullable=False) name = db.Column(db.String(250), 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()) file_subject = db.relationship("FilesSubject", cascade="all, delete-orphan", passive_deletes=True) exam = db.relationship("Exams", cascade="all, delete-orphan", passive_deletes=True) history_subject = db.relationship("HistoriesSubject", cascade="all, delete-orphan", passive_deletes=True) response_fields = { "id": fields.Integer, "module_id": fields.Integer, "name": fields.String, "description": fields.String, "status": fields.Boolean, "created_at": fields.DateTime, "update_at": fields.DateTime } def __init__(self, module_id, name, description, status): self.module_id = module_id self.name = name self.description = description self.status = status def __rpr__(self): return "<Users %r>" % self.id
class Products(db.Model): __tablename__ = "product" id = db.Column(db.Integer, primary_key=True, autoincrement=True) id_kategori = db.Column(db.Integer, db.ForeignKey("category.id")) nama = db.Column(db.String(1000), unique=False, nullable=False) harga = db.Column(db.Integer, nullable=False) deskripsi = db.Column(db.String(1000), unique=False, nullable=True) keterangan = db.Column(db.String(1000), unique=False, nullable=True) gambar = db.Column(db.String(1000), unique=False, nullable=True) cart_details = db.relationship('CartDetails', cascade="all,delete", backref='product', lazy=True) created_at = db.Column(db.DateTime, default=datetime.now()) updated_at = db.Column(db.DateTime, default=datetime.now()) response_fields = { "created_at": fields.DateTime, "updated_at": fields.DateTime, "id": fields.Integer, "id_kategori": fields.Integer, "nama": fields.String, "harga": fields.Integer, "deskripsi": fields.String, "keterangan": fields.String, "gambar": fields.String } def __init__(self, id_kategori, nama, harga, deskripsi, keterangan, gambar): self.id_kategori = id_kategori self.nama = nama self.harga = harga self.deskripsi = deskripsi self.keterangan = keterangan self.gambar = gambar def __repr__(self): return "<Products %r>" % self.id
class BoardMembers(db.Model): __tablename__ = "board_members" id = db.Column(db.Integer, primary_key=True, autoincrement=True) boardId = db.Column(db.Integer, db.ForeignKey("boards.id"), nullable=False) memberId = db.Column(db.String(255), 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()) response_fields = { 'id': fields.Integer, 'boardId': fields.Integer, 'memberId': fields.String, } def __init__(self, boardId, memberId): self.boardId = boardId self.memberId = memberId def __repr__(self): return '<CardMembers %r>' % self.id
class Images(db.Model): __tablename__ = "Images" id = db.Column(db.Integer, primary_key=True, autoincrement=True) building_id = db.Column(db.Integer, db.ForeignKey("Building.id"), nullable=False) image = db.Column(db.String(1000), nullable=False) deleted = db.Column(db.Boolean, nullable=False, default=False) response_fields = { 'id': fields.Integer, 'building_id': fields.Integer, 'image': fields.String, 'deleted': fields.Boolean } def __init__(self, building_id, image): self.building_id = building_id self.image = image def __repr__(self): return '<Images %r>' % self.id
class Shops(db.Model): __tablename__ = "shops" id = db.Column(db.Integer, primary_key=True, autoincrement=True) user_id = db.Column(db.Integer, db.ForeignKey("users.id")) name = db.Column(db.String(190), unique=True, default='') email = db.Column(db.String(255), default='') contact = db.Column(db.String(255), default='') province = db.Column(db.String(255), default='') city_type = db.Column(db.String(255), default='') city_name = db.Column(db.String(255), default='') postalcode = db.Column(db.String(255), default='') street_address = db.Column(db.String(255), default='') image = db.Column(db.String(255), default='') status = db.Column(db.Boolean, default=True) created_at = db.Column(db.DateTime, default=datetime.now()) updated_at = db.Column(db.DateTime, default=datetime.now()) response_fields = { "created_at": fields.DateTime, "updated_at": fields.DateTime, "id": fields.Integer, "user_id": fields.Integer, "name": fields.String, "email": fields.String, "contact": fields.String, "province": fields.String, "city_type": fields.String, "city_name": fields.String, "postalcode": fields.String, "street_address": fields.String, "image": fields.String, "status": fields.Boolean } def __init__(self, user_id): self.user_id = user_id def __repr__(self): return "<Shops %r>" % self.id
class InventoryLog(db.Model): __tablename__ = 'inventory_log' id = db.Column(db.Integer, primary_key=True, autoincrement=True) id_stock_outlet = db.Column(db.Integer, db.ForeignKey('stock_outlet.id', ondelete='CASCADE'), nullable=False) status = db.Column(db.String(10), nullable=False, default='') amount = db.Column(db.Integer, nullable=False, default=0) last_stock = db.Column(db.Integer, nullable=False, default=0) created_at = db.Column( db.DateTime, nullable=False, default=(datetime.now() + timedelta(hours=7)).strftime("%Y-%m-%d %H:%M:%S")) # responsive inventory log fields inventory_log_fields = { 'id': fields.Integer, 'id_stock_outlet': fields.Integer, 'status': fields.String, 'amount': fields.Integer, 'last_stock': fields.Integer, 'created_at': fields.DateTime, } # required fields when create new data def __init__(self, id_stock_outlet, status, amount, last_stock): self.id_stock_outlet = id_stock_outlet self.status = status self.amount = amount self.last_stock = last_stock self.created_at = (datetime.now() + timedelta(hours=7)).strftime("%Y-%m-%d %H:%M:%S") # for display log this table def __repr__(self): return '<InventoryLog %r>' % self.id
class Tweets(db.Model): __tablename__ = 'tweet' id = db.Column(db.Integer, primary_key=True, autoincrement=True) tweet = db.Column(db.String(255), 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()) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) response_field = { 'id': fields.Integer, 'user_id': fields.Integer, 'tweet': fields.String, 'created_at': fields.DateTime, 'updated_at': fields.DateTime, } def __init__(self, tweet, user_id): self.tweet = tweet self.user_id = user_id def __repr__(self): return '<Tweet %r>' % self.id
class CardLabels(db.Model): __tablename__ = "card_labels" id = db.Column(db.Integer, primary_key=True, autoincrement=True) cardId = db.Column(db.Integer, db.ForeignKey("cards.id", ondelete='CASCADE'), nullable=False) label = db.Column(db.String(255), 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()) response_fields = { 'id': fields.Integer, 'cardId': fields.Integer, 'label': fields.String, } def __init__(self, cardId, label): self.cardId = cardId self.label = label def __repr__(self): return '<CardLabels %r>' % self.id
class GambarProduk(db.Model): __tablename__ = "table_gambar_produk" id = db.Column(db.Integer, primary_key=True, autoincrement=True) gambar = db.Column(db.String(255), 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()) produk_id = db.Column(db.Integer, db.ForeignKey('table_produk.id')) response_fields = { 'id': fields.Integer, 'gambar': fields.String, 'created_at': fields.DateTime, 'updated_at': fields.DateTime, 'produk_id': fields.Integer } def __init__(self, gambar, produk_id): self.gambar = gambar self.produk_id = produk_id def __repr__(self): return '<GambarProduk %r>' % self.id
class Followers(db.Model): __tablename__ = 'follower' id = db.Column(db.Integer, primary_key=True, autoincrement=True) follower = db.Column(db.Integer, 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()) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) response_field = { 'id': fields.Integer, 'user_id': fields.Integer, 'follower': fields.Integer, 'created_at': fields.DateTime, 'updated_at': fields.DateTime, } def __init__(self, follower, user_id): self.follower = follower self.user_id = user_id def __repr__(self): return '<Follower %r>' % self.id
class Payer(db.Model): __tablename__ = "payer" id = db.Column(db.Integer, primary_key=True, autoincrement=True) npwpd = db.Column(db.String(255), unique=True, nullable=False) pin = db.Column(db.String(255), nullable=False) nama = db.Column(db.String(255), nullable=False) nama_usaha = db.Column(db.String(255), nullable=False) alamat_usaha = db.Column(db.String(1000), nullable=False) daerah_id = db.Column(db.Integer, db.ForeignKey("daerah.id")) objek_pajak = db.relationship('ObjekPajak', cascade="all,delete", backref='payer', lazy=True) response_fields = { "id": fields.Integer, "npwpd": fields.String, "nama": fields.String, "nama_usaha": fields.String, "alamat_usaha": fields.String, } jwt_claim_fields = { "id": fields.Integer, "npwpd": fields.String, "nama": fields.String, "role": fields.String, "daerah_id": fields.Integer, } def __init__(self, npwpd, pin, nama, daerah_id, nama_usaha, alamat_usaha): self.npwpd = npwpd self.pin = pin self.nama = nama self.daerah_id = daerah_id self.nama_usaha = nama_usaha self.alamat_usaha= alamat_usaha def __repr__(self): return "<Payer %r>" % self.id
class SellerDetails(db.Model): __tablename__ = "seller_details" id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(50), nullable=False) store_name = db.Column(db.String(50), nullable=False) # email harus unique email = db.Column(db.String(50), nullable=False) phone_number = db.Column(db.String(20), nullable=False) address = db.Column(db.String(255), nullable=False) postal_code = db.Column(db.String(10), nullable=False) client_id = db.Column(db.Integer, db.ForeignKey('client.client_id')) date_created = db.Column(db.DateTime, default=db.func.current_timestamp()) date_modified = db.Column(db.DateTime, default=db.func.current_timestamp(), onupdate=db.func.current_timestamp()) response_fields = { 'id': fields.Integer, 'name': fields.String, 'store_name': fields.String, 'email': fields.String, 'phone_number': fields.String, 'address': fields.String, 'postal_code': fields.String, 'client_id': fields.Integer } def __init__(self, name, store_name, email, phone_number, address, postal_code, client_id): self.name = name self.store_name = store_name self.email = email self.phone_number = phone_number self.address = address self.postal_code = postal_code self.client_id = client_id # def __repr__(self): # return '<User %r>' % self.id
class Moduls(db.Model): __tablename__ = "moduls" id = db.Column(db.Integer, primary_key=True, autoincrement=True) week_id = db.Column(db.Integer, db.ForeignKey(Weeks.id, ondelete="CASCADE"), nullable=False) name_modul = db.Column(db.String(200), nullable=False) description = db.Column(db.String(2000), nullable=False) keyconcept = db.relationship("KeyConcepts", cascade="all, delete-orphan", passive_deletes=True) quiz = db.relationship("Quizs", cascade="all, delete-orphan", passive_deletes=True) submodul = db.relationship("Submoduls", 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, "week_id": fields.Integer, "name_modul": fields.String, "description": fields.String, "created_at": fields.DateTime, "update_at": fields.DateTime, } def __init__(self, week_id, name_modul, description): self.week_id = week_id self.name_modul = name_modul self.description = description def __rpr__(self): return "<Moduls %r>" % self.id
class Position(db.Model): __tablename__ = "position" id = db.Column(db.Integer, primary_key=True, autoincrement=True) company_id = db.Column(db.Integer, db.ForeignKey('company.id'), nullable=False) created_at = db.Column(db.DateTime, nullable=False) name = db.Column(db.String(255), nullable=False) description = db.Column(db.String(2048), nullable=True) active = db.Column(db.Boolean, nullable=True, default=False) certificate_trigger_score = db.Column(db.Integer, nullable=False) image = db.Column(db.String(2048), nullable=True) response_field = { 'id': fields.Integer, 'company_id': fields.Integer, 'created_at': fields.DateTime, 'name': fields.String, 'description': fields.String, 'active': fields.Boolean, 'certificate_trigger_score': fields.Integer, 'image': fields.String, } def __init__(self, company_id, created_at, name, description, active, certificate_trigger_score, image): self.company_id = company_id self.created_at = created_at self.name = name self.description = description self.active = active self.certificate_trigger_score = certificate_trigger_score self.image = image def __repr__(self): return '<Position %r>' % self.id
class StatusWA(db.Model): __tablename__ = "status_wa" id = db.Column(db.Integer, primary_key=True, autoincrement=True) user_id = db.Column(db.Integer, db.ForeignKey('users.id')) content = db.Column(db.String(255)) image = 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()) response_fields = { 'id': fields.Integer, 'user_id': fields.Integer, 'content': fields.String, 'image': fields.String, 'created_at': fields.DateTime } def __init__(self, user_id, content, image): self.user_id = user_id self.content = content self.image = image def __repr__(self): return '<StatusWA %r>' % self.id
class PicProducts(db.Model): __tablename__ = "pic_product" id = db.Column(db.Integer, primary_key=True, autoincrement=True) picture = db.Column(db.String(255), 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_id = db.Column(db.Integer, db.ForeignKey('product.id')) # products = db.relationship('Products', backref='product_type', lazy=True) response_field = { 'id': fields.Integer, 'picture': fields.String, 'created_at': fields.DateTime, 'updated_at': fields.DateTime, 'product_id': fields.Integer } def __init__(self, picture, product_id): self.picture = picture self.product_id = product_id def __repr__(self): return '<PicProduct %r>' % self.id
class Penerbit(db.Model): __tablename__ = 'penerbit' id = db.Column(db.Integer, primary_key=True, autoincrement=True) user_id = db.Column(db.Integer, db.ForeignKey("user.id", ondelete='CASCADE'), nullable=False) nama_penerbit = db.Column(db.String(255), nullable=False) created_at = db.Column(db.DateTime, default=datetime.datetime.now()) updated_at = db.Column(db.DateTime, onupdate=datetime.datetime.now(), default=datetime.datetime.now()) response_fields = { 'id': fields.Integer, 'user_id': fields.Integer, 'nama_penerbit': fields.String } def __init__(self, nama_penerbit, user_id): self.nama_penerbit = nama_penerbit self.user_id = user_id def __repr__(self): return '<Penerbit %r>' % self.id
class Buku(db.Model): # Define the property (each property associated with a column in database) __tablename__ = 'buku' id = db.Column(db.Integer, primary_key=True, autoincrement=True) id_kategori = db.Column(db.Integer, db.ForeignKey('kategori.id'), nullable=False) judul = db.Column(db.String(255), nullable=False, default='') penerbit = db.Column(db.String(255), nullable=False, default='') nomor_isbn = db.Column(db.String(255), nullable=False, default='') created_at = db.Column( db.DateTime, default=datetime.now().strftime("%Y-%m-%d %H:%M:%S")) updated_at = db.Column( db.DateTime, default=datetime.now().strftime("%Y-%m-%d %H:%M:%S")) # The following dictionary is used to serialize "Buku" instances into JSON form response_fields = { 'id': fields.Integer, 'id_kategori': fields.Integer, 'judul': fields.String, 'penerbit': fields.String, 'nomor_isbn': fields.String, 'created_at': fields.DateTime, 'updated_at': fields.DateTime, } # Required fields when create new instances of "Buku" class def __init__(self, id_kategori, judul, penerbit, nomor_isbn): self.id_kategori = id_kategori self.judul = judul self.penerbit = penerbit self.nomor_isbn = nomor_isbn # Reprsentative form to be shown in log def __repr__(self): return "Title: " + self.judul
class Books(db.Model): __tablename__ = 'book' id = db.Column(db.Integer, primary_key=True, autoincrement=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE')) judul = db.Column(db.String(255), nullable=False) penulis = db.Column(db.String(255), nullable=False) jumlah_halaman = db.Column(db.Integer, nullable=False) tanggal_terbit = db.Column(db.String(255), nullable=False) isbn = db.Column(db.String(50), unique=True, nullable=False) genre = db.Column(db.String(255), nullable=False) bahasa = db.Column(db.String(255), nullable=False) berat = db.Column(db.Float, nullable=False) lebar = db.Column(db.Float, nullable=False) panjang = db.Column(db.Float, nullable=False) jenis_cover = db.Column(db.String(255), nullable=False) status = db.Column(db.String(255), nullable=False) foto_buku = db.Column(db.String(255), nullable=False) sinopsis = db.Column(db.String(10000), nullable=False) harga = db.Column(db.Integer, nullable=False) stok = db.Column(db.Integer, nullable=False) penerbit = db.Column(db.String(10000), nullable=False) email_user = db.Column(db.String(255), nullable=False) response_fields = { 'id': fields.Integer, 'user_id': fields.Integer, 'judul': fields.String, 'penulis': fields.String, 'jumlah_halaman': fields.Integer, 'tanggal_terbit': fields.String, 'isbn': fields.String, 'genre': fields.String, 'bahasa': fields.String, 'berat': fields.Float, 'lebar': fields.Float, 'panjang': fields.Float, 'jenis_cover': fields.String, 'status': fields.String, 'foto_buku': fields.String, 'sinopsis': fields.String, 'harga': fields.Integer, 'stok': fields.Integer, 'penerbit': fields.String, 'email_user': fields.String } # Melakukan inisiasi variabel yang akan digunakan di resource def __init__(self, user_id, judul, penulis, jumlah_halaman, tanggal_terbit, isbn, genre, bahasa, berat, lebar, panjang, jenis_cover, status, foto_buku, sinopsis, harga, stok, penerbit, email_user): self.user_id = user_id self.judul = judul self.penulis = penulis self.jumlah_halaman = jumlah_halaman self.tanggal_terbit = tanggal_terbit self.isbn = isbn self.genre = genre self.bahasa = bahasa self.berat = berat self.lebar = lebar self.panjang = panjang self.jenis_cover = jenis_cover self.status = status self.foto_buku = foto_buku self.sinopsis = sinopsis self.harga = harga self.stok = stok self.penerbit = penerbit self.email_user = email_user def __repr__(self): return '<Book %r' % self.id
class Produk(db.Model): __tablename__ = 'table_produk' id = db.Column(db.Integer, primary_key=True, autoincrement=True) nama = db.Column(db.String(100), nullable=False) gambar = db.Column(db.String(255)) gambar1 = db.Column(db.String(255)) gambar2 = db.Column(db.String(255)) gambar3 = db.Column(db.String(255)) harga = db.Column(db.Integer, nullable=False) warna = db.Column(db.String(100)) berat = db.Column(db.Integer, nullable=False) size = db.Column(db.String(10)) stock = db.Column(db.Integer, nullable=False) promo = db.Column(db.Boolean, default=False) diskon = db.Column(db.Integer, default=0) deskripsi = db.Column(db.String(2000)) created_at = db.Column(db.DateTime(timezone=True), server_default=func.now()) updated_at = db.Column(db.DateTime(timezone=True), onupdate=func.now()) produk_kategori_id = db.Column(db.Integer, db.ForeignKey('table_produk_kategori.id')) penjual_id = db.Column(db.Integer, db.ForeignKey('table_penjual.id')) gambar_produk = db.relationship('GambarProduk', backref='table_produk', lazy=True) transaction_details = db.relationship('TransaksiDetail', backref='table_produk', lazy=True) response_fields = { 'id': fields.Integer, "produk_kategori_id": fields.Integer, "penjual_id": fields.Integer, 'nama': fields.String, 'gambar': fields.String, 'gambar1': fields.String, 'gambar2': fields.String, 'gambar3': fields.String, "harga": fields.Integer, "warna": fields.String, 'berat': fields.Integer, 'size': fields.String, 'stock': fields.Integer, 'promo': fields.Boolean, 'diskon': fields.Integer, 'deskripsi': fields.String, 'created_at': fields.DateTime, 'updated_at': fields.DateTime } def __init__(self, nama, gambar, gambar1, gambar2, gambar3, harga, warna, berat, size, stock, promo, diskon, deskripsi, produk_kategori_id, penjual_id): self.nama = nama self.gambar = gambar self.gambar1 = gambar1 self.gambar2 = gambar2 self.gambar3 = gambar3 self.harga = harga self.warna = warna self.berat = berat self.size = size self.stock = stock self.promo = promo self.diskon = diskon self.deskripsi = deskripsi self.produk_kategori_id = produk_kategori_id self.penjual_id = penjual_id def __repr__(self): return '<Produk %r>' % self.id
class DataYatim(db.Model): __tablename__ = "data_yatim" id = db.Column(db.Integer, primary_key=True, autoincrement=True) created_at = db.Column(db.DateTime, nullable=False) nama = db.Column(db.String(100), nullable=False) alamat = db.Column(db.String(100), nullable=True) kabupaten = db.Column(db.String(100), nullable=False) kecamatan = db.Column(db.String(100), nullable=False) desa = db.Column(db.String(100), nullable=False) tanggal_lahir = db.Column(db.String(100), nullable=False) photo = db.Column(db.String(255), nullable=True) sekolah = db.Column(db.String(100), nullable=True) kelas = db.Column(db.String(100), nullable=True) nama_ayah = db.Column(db.String(100), nullable=True) status_ayah = db.Column(db.String(100), nullable=True) id_ayah = db.Column(db.String(100), nullable=True) nama_ibu = db.Column(db.String(100), nullable=True) status_ibu = db.Column(db.String(100), nullable=True) id_ibu = db.Column(db.String(100), nullable=True) wali = db.Column(db.String(100), nullable=True) no_telepon = db.Column(db.String(100), nullable=True) panti = db.Column(db.String(100), nullable=True) rekom = db.Column(db.String(100), nullable=True) client_id = db.Column(db.Integer, db.ForeignKey('clients.id'), nullable=False) response_field = { 'id': fields.Integer, 'created_at': fields.DateTime, 'nama': fields.String, 'alamat': fields.String, 'kabupaten' : fields.String, 'kecamatan' : fields.String, 'desa' : fields.String, 'tanggal_lahir' : fields.String, 'photo' : fields.String, 'sekolah' : fields.String, 'kelas' : fields.String, 'nama_ayah' : fields.String, 'status_ayah' : fields.String, 'id_ayah' : fields.String, 'nama_ibu' : fields.String, 'status_ibu' : fields.String, 'id_ibu' : fields.String, 'wali' : fields.String, 'no_telepon' : fields.String, 'panti': fields.String, 'rekom': fields.String, 'client_id': fields.String, } response_field_yatim = { 'page': fields.Integer, 'total_page': fields.Integer, 'per_page': fields.Integer } def __init__(self, created_at, nama, alamat, kabupaten, kecamatan, desa, tanggal_lahir, photo, sekolah, kelas, nama_ayah, status_ayah, id_ayah, nama_ibu, status_ibu, id_ibu, wali, no_telepon, panti, rekom, client_id): self.created_at = created_at self.nama = nama self.alamat = alamat self.kabupaten = kabupaten self.kecamatan = kecamatan self.desa = desa self.tanggal_lahir = tanggal_lahir self.photo = photo self.sekolah = sekolah self.kelas = kelas self.nama_ayah = nama_ayah self.status_ayah = status_ayah self.id_ayah = id_ayah self.nama_ibu = nama_ibu self.status_ibu = status_ibu self.id_ibu = id_ibu self.wali = wali self.no_telepon = no_telepon self.panti = panti self.rekom = rekom self.client_id = client_id def __repr__(self): return '<Data Yatim %r>' % self.id
class Laporan(db.Model): __tablename__ = "laporan" id = db.Column(db.Integer, primary_key=True, autoincrement=True) objek_pajak_id = db.Column(db.Integer, db.ForeignKey("objek_pajak.id")) nfj = db.Column(db.Float, default=0) #nilai fungsi jalan nfr = db.Column(db.Float, default=0) #nilai fungsi ruang nsp = db.Column(db.Float, default=0) #nilai sudut pandang hdnspr = db.Column(db.Float, default=0) #harga dasar nilai strategis pajak reklame nkr = db.Column(db.Float, default=0) #nilai ketinggian reklame hdkr = db.Column(db.Float, default=0) #harga dasar ketinggian reklame nlr = db.Column(db.Float, default=0) #nilai luas reklame hdur = db.Column(db.Float, default=0) #harga dasar ukuran reklame njopr = db.Column(db.Float, default=0) #nilai jual objek pajak reklame nspr = db.Column(db.Float, default=0) #nilai strategis pemasangan reklame nsr = db.Column(db.Float, default=0) #nilai sewa reklame tarif_pajak = db.Column(db.Float, default=0) total_pajak = db.Column(db.Float, default=0) nomor_skpd = db.Column(db.String(255), default='') jumlah_termin = db.Column(db.Integer, default=0) tarif_termin = db.Column(db.Float, default=0) status_pembayaran = db.Column(db.Boolean, default=False) pembatalan_laporan = db.Column(db.Boolean, default=False) status_verifikasi = db.Column(db.Boolean, default=False) created_at = db.Column(db.DateTime, default=datetime.now()) updated_at = db.Column(db.DateTime, default=datetime.now()) response_fields = { "created_at": fields.DateTime, "updated_at": fields.DateTime, "id": fields.Integer, "objek_pajak_id": fields.Integer, "nfj": fields.Float, "nfr": fields.Float, "nsp": fields.Float, "hdnspr": fields.Float, "nkr": fields.Float, "hdkr": fields.Float, "nlr": fields.Float, "hdur": fields.Float, "njopr": fields.Float, "nspr": fields.Float, "nsr": fields.Float, "tarif_pajak": fields.Float, "total_pajak": fields.Float, "jumlah_termin": fields.Integer, "tarif_termin": fields.Float, "nomor_skpd": fields.String, "status_pembayaran": fields.Boolean, "pembatalan_laporan": fields.Boolean, "status_verifikasi": fields.Boolean } def __init__(self, objek_pajak_id, nomor_skpd, nfj, nfr, nsp, hdnspr, nkr, hdkr, nlr, hdur, njopr, nspr, nsr, tarif_pajak, total_pajak, jumlah_termin): self.objek_pajak_id = objek_pajak_id self.nomor_skpd = nomor_skpd self.nfj = nfj self.nfr = nfr self.nsp = nsp self.hdnspr = hdnspr self.nkr = nkr self.hdkr = hdkr self.nlr = nlr self.hdur = hdur self.njopr = njopr self.nspr = nspr self.nsr = nsr self.tarif_pajak = tarif_pajak self.total_pajak = total_pajak self.jumlah_termin = jumlah_termin def __repr__(self): return "<Laporan %r>" % self.id
class ObjekPajak(db.Model): __tablename__ = "objek_pajak" id = db.Column(db.Integer, primary_key=True, autoincrement=True) payer_id = db.Column(db.Integer, db.ForeignKey("payer.id")) nopd = db.Column(db.String(255), nullable=False) nama_reklame = db.Column(db.String(255), nullable=False) judul_reklame = db.Column(db.String(255), nullable=False) tipe_reklame = db.Column(db.String(255), nullable=False) jenis_reklame = db.Column(db.String(255), nullable=False) foto = db.Column(db.String(1000), nullable=False) panjang = db.Column(db.Float, nullable=False) lebar = db.Column(db.Float, nullable=False) tinggi = db.Column(db.Float, nullable=False) jumlah = db.Column(db.Integer, nullable=False) tanggal_pemasangan = db.Column(db.DateTime) tanggal_pembongkaran = db.Column(db.DateTime) masa_pajak = db.Column(db.String(255), nullable=False) longitude = db.Column(db.String(255), nullable=False) latitude = db.Column(db.String(255), nullable=False) lokasi = db.Column(db.String(255), nullable=False) muka = db.Column(db.Integer, nullable=False) luas = db.Column(db.Integer, nullable=False) tarif_tambahan = db.Column(db.String(255), nullable=False) letak_pemasangan = db.Column(db.String(255), nullable=False) klasifikasi_jalan = db.Column(db.String(255), nullable=False) sudut_pandang = db.Column(db.String(255), nullable=False) jangka_waktu_pajak = db.Column(db.String(255), nullable=False) created_at = db.Column(db.DateTime, default=datetime.now()) updated_at = db.Column(db.DateTime, default=datetime.now()) response_fields = { "id": fields.Integer, "payer_id": fields.Integer, "nopd": fields.String, "nama_reklame": fields.String, "judul_reklame": fields.String, "tipe_reklame": fields.String, "jenis_reklame": fields.String, "foto": fields.String, "panjang": fields.Float, "tinggi": fields.Float, "lebar": fields.Float, "jumlah": fields.Integer, "tanggal_pemasangan": fields.DateTime, "tanggal_pembongkaran": fields.DateTime, "masa_pajak": fields.String, "longitude": fields.String, "latitude": fields.String, "lokasi": fields.String, "muka": fields.Integer, "luas": fields.Integer, "tarif_tambahan": fields.String, "letak_pemasangan": fields.String, "klasifikasi_jalan": fields.String, "sudut_pandang": fields.String, "jangka_waktu_pajak": fields.String, "created_at": fields.DateTime, "updated_at": fields.DateTime, } def __init__(self, payer_id, nopd, nama_reklame, judul_reklame, tipe_reklame, jenis_reklame, foto, panjang, lebar, tinggi, jumlah, tanggal_pemasangan, tanggal_pembongkaran, masa_pajak, longitude, latitude, lokasi, muka, luas, tarif_tambahan, letak_pemasangan, klasifikasi_jalan, sudut_pandang, jangka_waktu_pajak): self.payer_id = payer_id self.nopd = nopd self.nama_reklame = nama_reklame self.judul_reklame = judul_reklame self.tipe_reklame = tipe_reklame self.jenis_reklame = jenis_reklame self.foto = foto self.panjang = panjang self.tinggi = tinggi self.lebar = lebar self.jumlah = jumlah self.tanggal_pemasangan = tanggal_pemasangan self.tanggal_pembongkaran = tanggal_pembongkaran self.masa_pajak = masa_pajak self.longitude = longitude self.latitude = latitude self.lokasi = lokasi self.muka = muka self.luas = luas self.tarif_tambahan = tarif_tambahan self.letak_pemasangan = letak_pemasangan self.klasifikasi_jalan = klasifikasi_jalan self.sudut_pandang = sudut_pandang self.jangka_waktu_pajak = jangka_waktu_pajak def __repr__(self): return "<ObjekPajak %r>" % self.id
class Carts(db.Model): __tablename__ = 'carts' id = db.Column(db.Integer, primary_key=True, autoincrement=True) id_users = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False) id_outlet = db.Column(db.Integer, db.ForeignKey('outlets.id'), nullable=False, default=None) id_employee = db.Column(db.Integer, db.ForeignKey('employees.id'), nullable=True, default=None) id_customers = db.Column(db.Integer, db.ForeignKey('customers.id'), nullable=True, default=None) order_code = db.Column(db.String(50), unique=True, nullable=False) name = db.Column(db.String(150), nullable=False, default='') total_item = db.Column(db.Integer, nullable=False, default=0) payment_method = db.Column(db.String(150), nullable=False, default='') total_payment = db.Column(db.Integer, nullable=False, default=0) total_discount = db.Column(db.Integer, nullable=False, default=0) total_tax = db.Column(db.Integer, nullable=False, default=0) paid_price = db.Column(db.Integer, nullable=False, default=0) created_at = db.Column( db.DateTime, nullable=False, default=(datetime.now() + timedelta(hours=7)).strftime("%Y-%m-%d %H:%M:%S")) deleted = db.Column(db.Boolean, default=False) # responsive carts fields carts_fields = { 'id': fields.Integer, 'id_users': fields.Integer, 'id_outlet': fields.Integer, 'id_employee': fields.Integer, 'id_customers': fields.Integer, 'order_code': fields.String, 'name': fields.String, 'total_item': fields.Integer, 'payment_method': fields.String, 'total_payment': fields.Integer, 'total_discount': fields.Integer, 'total_tax': fields.Integer, 'paid_price': fields.Integer, 'created_at': fields.DateTime, 'deleted': fields.Boolean } # required fields when create new data def __init__(self, id_users, id_outlet, order_code, name, total_item, payment_method, total_payment, total_discount, total_tax, paid_price, id_employee=None, id_customers=None): self.id_users = id_users self.id_outlet = id_outlet self.id_employee = id_employee self.id_customers = id_customers self.order_code = order_code self.name = name self.total_item = total_item self.payment_method = payment_method self.total_payment = total_payment self.total_discount = total_discount self.total_tax = total_tax self.paid_price = paid_price self.created_at = (datetime.now() + timedelta(hours=7)).strftime("%Y-%m-%d %H:%M:%S") self.deleted = True # for display log this table def __repr__(self): return '<Carts %r>' % self.id
class DataDuafa(db.Model): __tablename__ = "data_duafa" id = db.Column(db.Integer, primary_key=True, autoincrement=True) created_at = db.Column(db.DateTime, nullable=False) nama = db.Column(db.String(100), nullable=False) alamat = db.Column(db.String(100), nullable=True) kabupaten = db.Column(db.String(100), nullable=False) kecamatan = db.Column(db.String(100), nullable=False) desa = db.Column(db.String(100), nullable=False) no_telepon = db.Column(db.String(100), nullable=True) no_ktp = db.Column(db.String(100), nullable=True) status = db.Column(db.String(100), nullable=True) photo = db.Column(db.String(255), nullable=True) pekerjaan = db.Column(db.String(100), nullable=True) tanggungan = db.Column(db.String(100), nullable=True) rekom = db.Column(db.String(100), nullable=True) client_id = db.Column(db.Integer, db.ForeignKey('clients.id'), nullable=False) response_field = { 'id': fields.Integer, 'created_at': fields.DateTime, 'nama': fields.String, 'alamat': fields.String, 'kabupaten': fields.String, 'kecamatan': fields.String, 'desa': fields.String, 'no_telepon': fields.String, 'no_ktp': fields.String, 'status': fields.String, 'photo': fields.String, 'pekerjaan': fields.String, 'tanggungan': fields.String, 'rekom': fields.String, 'client_id': fields.Integer, } response_field_sekolah = { 'page': fields.Integer, 'total_page': fields.Integer, 'per_page': fields.Integer } def __init__(self, created_at, nama, alamat, kabupaten, kecamatan, desa, no_telepon, no_ktp, status, photo, pekerjaan, tanggungan, rekom, client_id): self.created_at = created_at self.nama = nama self.alamat = alamat self.kabupaten = kabupaten self.kecamatan = kecamatan self.desa = desa self.no_telepon = no_telepon self.no_ktp = no_ktp self.status = status self.photo = photo self.pekerjaan = pekerjaan self.tanggungan = no_telepon self.rekom = rekom self.client_id = client_id def __repr__(self): return '<Data Duafa %r>' % self.id