Spaces:
Runtime error
Runtime error
| """Contacts resource — contact lookup and management. | |
| Backed by ``src/modules/contact/contact.controller.ts``. | |
| """ | |
| from __future__ import annotations | |
| from typing import TYPE_CHECKING, TypedDict | |
| from .._http import quote_segment | |
| from ..types import ( | |
| CheckNumberResponse, | |
| ContactPhoneResponse, | |
| ContactRecord, | |
| ProfilePictureResponse, | |
| SuccessResult, | |
| ) | |
| if TYPE_CHECKING: | |
| from .._http import HttpExecutor | |
| class ListContactsQuery(TypedDict, total=False): | |
| limit: int | |
| offset: int | |
| class ContactsResource: | |
| def __init__(self, http: "HttpExecutor") -> None: | |
| self._http = http | |
| def list(self, session_id: str, query: ListContactsQuery | None = None) -> list[ContactRecord]: | |
| return self._http.request("GET", f"/api/sessions/{quote_segment(session_id)}/contacts", query=query) | |
| def get(self, session_id: str, contact_id: str) -> ContactRecord: | |
| return self._http.request("GET", f"/api/sessions/{quote_segment(session_id)}/contacts/{quote_segment(contact_id)}") | |
| def check(self, session_id: str, number: str) -> CheckNumberResponse: | |
| return self._http.request("GET", f"/api/sessions/{quote_segment(session_id)}/contacts/check/{quote_segment(number)}") | |
| def profile_picture(self, session_id: str, contact_id: str) -> ProfilePictureResponse: | |
| return self._http.request( | |
| "GET", f"/api/sessions/{quote_segment(session_id)}/contacts/{quote_segment(contact_id)}/profile-picture" | |
| ) | |
| def phone(self, session_id: str, contact_id: str) -> ContactPhoneResponse: | |
| return self._http.request("GET", f"/api/sessions/{quote_segment(session_id)}/contacts/{quote_segment(contact_id)}/phone") | |
| def block(self, session_id: str, contact_id: str) -> SuccessResult: | |
| return self._http.request("POST", f"/api/sessions/{quote_segment(session_id)}/contacts/{quote_segment(contact_id)}/block") | |
| def unblock(self, session_id: str, contact_id: str) -> SuccessResult: | |
| return self._http.request("DELETE", f"/api/sessions/{quote_segment(session_id)}/contacts/{quote_segment(contact_id)}/block") | |