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