Spaces:
Running
Running
File size: 1,599 Bytes
428a607 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
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
|