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()