Spaces:
Sleeping
Sleeping
Download app/services/folder_store.py from bichnhan2701/NoteServicesAPI: direct link, hf CLI and curl.
- Browser
- Download file 907 Bytes
-
https://huggingface.co/spaces/bichnhan2701/NoteServicesAPI/resolve/main/app/services/folder_store.py
- Command line
-
hf download hf://spaces/bichnhan2701/NoteServicesAPI/app/services/folder_store.py
-
curl -L -o folder_store.py https://huggingface.co/spaces/bichnhan2701/NoteServicesAPI/resolve/main/app/services/folder_store.py
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() |