in backend-apis/app/utils/utils_workspace.py [0:0]
def get_attachment_ids(email_thread: dict) -> list:
"""
Args:
email_thread:
Raises:
HTTPException:
Returns:
"""
attachments = set()
try:
email_parts = email_thread["messages"][-1]["payload"].get("parts", [])
for part_level_0 in email_parts:
if (
part_level_0["mimeType"] == "image/png"
or part_level_0["mimeType"] == "image/jpg"
):
attachments.add(part_level_0["body"]["attachmentId"])
elif "multipart" in part_level_0["mimeType"]:
for part_level_1 in part_level_0["parts"]:
if (
part_level_1["mimeType"] == "image/png"
or part_level_1["mimeType"] == "image/jpg"
):
attachments.add(part_level_1["body"]["attachmentId"])
except Exception as e:
raise HTTPException(status_code=400, detail=str(e)) from e
return list(attachments)