Spaces:
Sleeping
Sleeping
File size: 907 Bytes
7402e0f cddfa37 7402e0f cddfa37 7402e0f | 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 | from app.infra.firebase import db
COL = "folders"
NOTES_COL = "notes"
def create_folder(folder: dict):
db.collection(COL).document(folder["folder_id"]).set(folder)
def get_folder(folder_id: str):
doc = db.collection(COL).document(folder_id).get()
return doc.to_dict() if doc.exists else None
def list_folders():
return [d.to_dict() for d in db.collection(COL).stream()]
def update_folder(folder_id: str, data: dict):
db.collection(COL).document(folder_id).update(data)
def delete_folder(folder_id: str):
# Set folder_id về None cho các note thuộc folder này
notes_query = db.collection(NOTES_COL).where("folder_id", "==", folder_id)
batch = db.batch()
for note_doc in notes_query.stream():
batch.update(note_doc.reference, {"folder_id": None})
batch.commit()
# Xóa folder
db.collection(COL).document(folder_id).delete() |