def get_attachment_ids()

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)