Source code for domainrobot.services.transfer_out

from __future__ import annotations

from typing import Literal

from ..models.resources import TransferOut
from ._base import BaseService


[docs] class TransferOutService(BaseService): """Transfer-out request operations."""
[docs] def list( self, body: dict | None = None, *, keys: list[str] | None = None, headers: dict | None = None, ): """List outgoing transfer requests. :param body: Optional query filters. :param keys: Additional data keys to return. :param headers: Optional extra HTTP headers. :returns: Response with list of :class:`~domainrobot.models.resources.TransferOut`. """ return self._request( "POST", "/transferout/_search", json=body or {}, params=self._keys_params(keys), headers=headers, model=TransferOut, )
[docs] def answer( self, domain: str, answer_type: Literal["ACK", "NACK"], body: dict | None = None, *, headers: dict | None = None, ): """Accept (ACK) or reject (NACK) a transfer request. :param domain: Domain name. :param answer_type: ``"ACK"`` or ``"NACK"``. :param body: Optional transfer-out data (e.g. nackReason). :param headers: Optional extra HTTP headers. :returns: Response with :class:`~domainrobot.models.resources.TransferOut` data. """ return self._request( "PUT", f"/transferout/{domain}/{answer_type}", json=body, headers=headers, model=TransferOut, )