Source code for zapi.infrastructure.mappers.ticket_field_mapper
# infrastructure/zendesk/mappers/ticket_field_mapper.py
from ...domain.models.ticket_field import TicketField
from ...domain.value_objects import Id
[docs]
def to_domain(data: dict) -> TicketField:
return TicketField(
id=Id(data["id"]),
key=data.get("key"),
title=data["title"],
type=data["type"],
required=bool(data.get("required", False)),
visible_in_portal=bool(data.get("visible_in_portal", False)),
)
[docs]
def to_payload(entity: TicketField) -> dict:
"""Convert domain model back to Zendesk's JSON shape."""
return {
"ticket_field": {
"title": entity.title,
"type": entity.type,
"required": entity.required,
"visible_in_portal": entity.visible_in_portal,
}
}