Esempio n. 1
0
def _create_schema(id_: str, schema_content: SchemaContent, elis: ELISClient,
                   name: Optional[str]) -> None:
    original_schema = get_json(elis.get(f"schemas/{id_}"))
    new_schema = elis.create_schema(name or original_schema["name"],
                                    schema_content)

    for queue_url in original_schema["queues"]:
        if queue_url.startswith(elis.url):
            queue_url = queue_url[len(elis.url) + 1:]
        elis.patch(queue_url, data={"schema": new_schema["url"]})
Esempio n. 2
0
def _patch_inbox(
    elis: ELISClient, queue_dict: dict, email_prefix: Optional[str], bounce_email: Optional[str]
) -> dict:
    inbox_data: Dict[str, Any] = {}

    if email_prefix:
        inbox_data["email_prefix"] = email_prefix

    if bounce_email:
        inbox_data["bounce_email_to"] = bounce_email
        inbox_data["bounce_unprocessable_attachments"] = True

    _, inbox_id = queue_dict["inbox"].rsplit("/", 1)
    return get_json(elis.patch(f"inboxes/{inbox_id}", inbox_data))
Esempio n. 3
0
def _rewrite_schema(id_: str, schema_content: SchemaContent, elis: ELISClient,
                    name: Optional[str]) -> None:
    data: Schema = {"content": schema_content}
    if name is not None:
        data["name"] = name
    elis.patch(f"schemas/{id_}", data=data)