from components.mongoconnection import provideClient mc=provideClient() db=mc["askmydoc_db"] coll=db["askmydoc_col"] def GetBreakdown(owner,typeofmsg,files): match typeofmsg: case "legal": document = coll.find_one({"owner": owner}) if document is None or "breakdown" not in document or len(document["breakdown"]) == 0: return {"breakdown":[]} else: filtered=[] for msg in document["breakdown"]: if msg["type"] == typeofmsg and any(f in files for f in msg["files"]): filtered.append(msg) return {"breakdown":filtered} case "medical": document = coll.find_one({"owner": owner}) if document is None or "breakdown" not in document or len(document["breakdown"]) == 0: return {"breakdown":[]} else: filtered=[] for msg in document["breakdown"]: if msg["type"] == typeofmsg and any(f in files for f in msg["files"]): filtered.append(msg) return {"breakdown":filtered} case "research": document = coll.find_one({"owner": owner}) if document is None or "breakdown" not in document or len(document["breakdown"]) == 0: return {"breakdown":[]} else: filtered=[] for msg in document["breakdown"]: if msg["type"] == typeofmsg and any(f in files for f in msg["files"]): if msg["type"]==typeofmsg: filtered.append(msg) return {"breakdown":filtered}