skripsi-jtik-pnj / models /lecturer.py
Bintang Fajar Julio
init
428a607
raw
history blame
1.6 kB
from firebase_config import firebase_db
class Lecturer:
def __init__(self, id=None, nama=None, kelompok_bidang_keahlian=None, foto=None):
self.id = id
self.nama = nama
self.kelompok_bidang_keahlian = kelompok_bidang_keahlian
self.foto = foto
def save(self):
_, doc = firebase_db.collection('lecturers').add({
'nama': self.nama,
'kelompok_bidang_keahlian': self.kelompok_bidang_keahlian,
'foto': self.foto
})
self.id = doc.id
return self
def delete(self):
firebase_db.collection('lecturers').document(self.id).delete()
return self
def update(self):
firebase_db.collection('lecturers').document(self.id).update({
'nama': self.nama,
'kelompok_bidang_keahlian': self.kelompok_bidang_keahlian,
'foto': self.foto
})
return self
@staticmethod
def fetch(kelompok_bidang_keahlian=None):
query = firebase_db.collection('lecturers').order_by('nama')
if kelompok_bidang_keahlian is not None:
query = query.where('kelompok_bidang_keahlian', '==', kelompok_bidang_keahlian)
lectures = query.stream()
datas = []
for lecturer in lectures:
data = lecturer.to_dict()
datas.append({
'id': lecturer.id,
'nama': data['nama'],
'kelompok_bidang_keahlian': data['kelompok_bidang_keahlian'],
'foto': data['foto']
})
return datas