Spaces:
Runtime error
Runtime error
| """Sessions resource — lifecycle management for WhatsApp sessions. | |
| Backed by ``src/modules/session/session.controller.ts``. | |
| """ | |
| from __future__ import annotations | |
| from typing import TYPE_CHECKING | |
| from .._http import quote_segment | |
| from ..types import ( | |
| CreateSessionRequest, | |
| PairingCodeResponse, | |
| QrCodeResponse, | |
| RequestPairingCodeRequest, | |
| SessionResponse, | |
| SessionStatsOverview, | |
| ) | |
| if TYPE_CHECKING: | |
| from .._http import HttpExecutor | |
| class SessionsResource: | |
| def __init__(self, http: "HttpExecutor") -> None: | |
| self._http = http | |
| def list(self) -> list[SessionResponse]: | |
| return self._http.request("GET", "/api/sessions") | |
| def get(self, session_id: str) -> SessionResponse: | |
| return self._http.request("GET", f"/api/sessions/{quote_segment(session_id)}") | |
| def create(self, body: CreateSessionRequest) -> SessionResponse: | |
| return self._http.request("POST", "/api/sessions", body=body) | |
| def delete(self, session_id: str) -> None: | |
| self._http.request("DELETE", f"/api/sessions/{quote_segment(session_id)}") | |
| def start(self, session_id: str) -> SessionResponse: | |
| return self._http.request("POST", f"/api/sessions/{quote_segment(session_id)}/start") | |
| def stop(self, session_id: str) -> SessionResponse: | |
| return self._http.request("POST", f"/api/sessions/{quote_segment(session_id)}/stop") | |
| def force_kill(self, session_id: str) -> SessionResponse: | |
| return self._http.request("POST", f"/api/sessions/{quote_segment(session_id)}/force-kill") | |
| def get_qr_code(self, session_id: str) -> QrCodeResponse: | |
| return self._http.request("GET", f"/api/sessions/{quote_segment(session_id)}/qr") | |
| def request_pairing_code(self, session_id: str, body: RequestPairingCodeRequest) -> PairingCodeResponse: | |
| return self._http.request("POST", f"/api/sessions/{quote_segment(session_id)}/pairing-code", body=body) | |
| def stats(self) -> SessionStatsOverview: | |
| return self._http.request("GET", "/api/sessions/stats/overview") | |