NoteServicesAPI / app /services /folder_store.py
bichnhan2701's picture
Add delete note
cddfa37
Raw History Blame Contribute Delete
907 Bytes
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()