Spaces:
Running
Running
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 | |
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 | |