mirror of
				https://github.com/brygphilomena/pysimplesat.git
				synced 2025-11-04 00:47:28 +00:00 
			
		
		
		
	Implemented endpoints
This commit is contained in:
		
							parent
							
								
									56ce6105ea
								
							
						
					
					
						commit
						c63b4e53f5
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -205,3 +205,4 @@ cython_debug/
 | 
			
		||||
marimo/_static/
 | 
			
		||||
marimo/_lsp/
 | 
			
		||||
__marimo__/
 | 
			
		||||
src/simplesat_scratchpad.py
 | 
			
		||||
 | 
			
		||||
@ -1,19 +1,16 @@
 | 
			
		||||
import typing
 | 
			
		||||
from datetime import datetime, timezone
 | 
			
		||||
import base64
 | 
			
		||||
 | 
			
		||||
from pysimplesat.clients.base_client import SimpleSatClient
 | 
			
		||||
from pysimplesat.config import Config
 | 
			
		||||
 | 
			
		||||
if typing.TYPE_CHECKING:
 | 
			
		||||
    from pysimplesat.endpoints.simplesat.AccountEndpoint import AccountEndpoint
 | 
			
		||||
    from pysimplesat.endpoints.simplesat.ActorEndpoint import ActorEndpoint
 | 
			
		||||
    from pysimplesat.endpoints.simplesat.AgentsEndpoint import AgentsEndpoint
 | 
			
		||||
    from pysimplesat.endpoints.simplesat.BillingreportsEndpoint import BillingreportsEndpoint
 | 
			
		||||
    from pysimplesat.endpoints.simplesat.IncidentreportsEndpoint import IncidentreportsEndpoint
 | 
			
		||||
    from pysimplesat.endpoints.simplesat.OrganizationsEndpoint import OrganizationsEndpoint
 | 
			
		||||
    from pysimplesat.endpoints.simplesat.ReportsEndpoint import ReportsEndpoint
 | 
			
		||||
    from pysimplesat.endpoints.simplesat.SignalsEndpoint import SignalsEndpoint
 | 
			
		||||
    from pysimplesat.endpoints.simplesat.SurveysEndpoint import SurveysEndpoint
 | 
			
		||||
    from pysimplesat.endpoints.simplesat.AnswersEndpoint import AnswersEndpoint
 | 
			
		||||
    from pysimplesat.endpoints.simplesat.CustomersEndpoint import CustomersEndpoint
 | 
			
		||||
    from pysimplesat.endpoints.simplesat.QuestionsEndpoint import QuestionsEndpoint
 | 
			
		||||
    from pysimplesat.endpoints.simplesat.TeamMembersEndpoint import TeamMembersEndpoint
 | 
			
		||||
    from pysimplesat.endpoints.simplesat.ResponsesEndpoint import ResponsesEndpoint
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class SimpleSatAPIClient(SimpleSatClient):
 | 
			
		||||
@ -37,52 +34,41 @@ class SimpleSatAPIClient(SimpleSatClient):
 | 
			
		||||
 | 
			
		||||
    # Initializing endpoints
 | 
			
		||||
    @property
 | 
			
		||||
    def account(self) -> "AccountEndpoint":
 | 
			
		||||
        from pysimplesat.endpoints.simplesat.AccountEndpoint import AccountEndpoint
 | 
			
		||||
    def surveys(self) -> "SurveysEndpoint":
 | 
			
		||||
        from pysimplesat.endpoints.simplesat.SurveysEndpoint import SurveysEndpoint
 | 
			
		||||
 | 
			
		||||
        return AccountEndpoint(self)
 | 
			
		||||
        return SurveysEndpoint(self)
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def actor(self) -> "ActorEndpoint":
 | 
			
		||||
        from pysimplesat.endpoints.simplesat.ActorEndpoint import ActorEndpoint
 | 
			
		||||
    def answers(self) -> "AnswersEndpoint":
 | 
			
		||||
        from pysimplesat.endpoints.simplesat.AnswersEndpoint import AnswersEndpoint
 | 
			
		||||
 | 
			
		||||
        return ActorEndpoint(self)
 | 
			
		||||
        return AnswersEndpoint(self)
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def agents(self) -> "AgentsEndpoint":
 | 
			
		||||
        from pysimplesat.endpoints.simplesat.AgentsEndpoint import AgentsEndpoint
 | 
			
		||||
    def customers(self) -> "CustomersEndpoint":
 | 
			
		||||
        from pysimplesat.endpoints.simplesat.CustomersEndpoint import CustomersEndpoint
 | 
			
		||||
 | 
			
		||||
        return AgentsEndpoint(self)
 | 
			
		||||
        return CustomersEndpoint(self)
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def billing_reports(self) -> "BillingreportsEndpoint":
 | 
			
		||||
        from pysimplesat.endpoints.simplesat.BillingreportsEndpoint import BillingreportsEndpoint
 | 
			
		||||
    def questions(self) -> "QuestionsEndpoint":
 | 
			
		||||
        from pysimplesat.endpoints.simplesat.QuestionsEndpoint import QuestionsEndpoint
 | 
			
		||||
 | 
			
		||||
        return BillingreportsEndpoint(self)
 | 
			
		||||
        return QuestionsEndpoint(self)
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def incident_reports(self) -> "IncidentreportsEndpoint":
 | 
			
		||||
        from pysimplesat.endpoints.simplesat.IncidentreportsEndpoint import IncidentreportsEndpoint
 | 
			
		||||
    def team_members(self) -> "TeamMembersEndpoint":
 | 
			
		||||
        from pysimplesat.endpoints.simplesat.TeamMembersEndpoint import TeamMembersEndpoint
 | 
			
		||||
 | 
			
		||||
        return IncidentreportsEndpoint(self)
 | 
			
		||||
        return TeamMembersEndpoint(self)
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def organizations(self) -> "OrganizationsEndpoint":
 | 
			
		||||
        from pysimplesat.endpoints.simplesat.OrganizationsEndpoint import OrganizationsEndpoint
 | 
			
		||||
    def responses(self) -> "ResponsesEndpoint":
 | 
			
		||||
        from pysimplesat.endpoints.simplesat.ResponsesEndpoint import ResponsesEndpoint
 | 
			
		||||
 | 
			
		||||
        return OrganizationsEndpoint(self)
 | 
			
		||||
        return ResponsesEndpoint(self)
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def reports(self) -> "ReportsEndpoint":
 | 
			
		||||
        from pysimplesat.endpoints.simplesat.ReportsEndpoint import ReportsEndpoint
 | 
			
		||||
 | 
			
		||||
        return ReportsEndpoint(self)
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def signals(self) -> "SignalsEndpoint":
 | 
			
		||||
        from pysimplesat.endpoints.simplesat.SignalsEndpoint import SignalsEndpoint
 | 
			
		||||
 | 
			
		||||
        return SignalsEndpoint(self)
 | 
			
		||||
 | 
			
		||||
    def _get_url(self) -> str:
 | 
			
		||||
        """
 | 
			
		||||
 | 
			
		||||
@ -1,72 +0,0 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPaginateable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Agents
 | 
			
		||||
from pysimplesat.responses.paginated_response import PaginatedResponse
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class AgentsIdEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[Agents, SimpleSatRequestParams],
 | 
			
		||||
    IPaginateable[Agents, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "{id}", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, Agents)
 | 
			
		||||
        IPaginateable.__init__(self, Agents)
 | 
			
		||||
 | 
			
		||||
    def paginated(
 | 
			
		||||
        self,
 | 
			
		||||
        page: int,
 | 
			
		||||
        limit: int,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> PaginatedResponse[Agents]:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /agents endpoint and returns an initialized PaginatedResponse object.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            page (int): The page number to request.
 | 
			
		||||
            limit (int): The number of results to return per page.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            PaginatedResponse[Agents]: The initialized PaginatedResponse object.
 | 
			
		||||
        """
 | 
			
		||||
        if params:
 | 
			
		||||
            params["page"] = page
 | 
			
		||||
            params["limit"] = limit
 | 
			
		||||
        else:
 | 
			
		||||
            params = {"page": page, "limit": limit}
 | 
			
		||||
        return PaginatedResponse(
 | 
			
		||||
            super()._make_request("GET", params=params),
 | 
			
		||||
            Agents,
 | 
			
		||||
            self,
 | 
			
		||||
            "agents",
 | 
			
		||||
            page,
 | 
			
		||||
            limit,
 | 
			
		||||
            params,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Agents:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /agents endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            Agents,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('agent', {}),
 | 
			
		||||
        )
 | 
			
		||||
@ -1,72 +0,0 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPaginateable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import BillingReports
 | 
			
		||||
from pysimplesat.responses.paginated_response import PaginatedResponse
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class BillingIdreportsEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[BillingReports, SimpleSatRequestParams],
 | 
			
		||||
    IPaginateable[BillingReports, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "{id}", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, BillingReports)
 | 
			
		||||
        IPaginateable.__init__(self, BillingReports)
 | 
			
		||||
 | 
			
		||||
    def paginated(
 | 
			
		||||
        self,
 | 
			
		||||
        page: int,
 | 
			
		||||
        limit: int,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> PaginatedResponse[BillingReports]:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /billing_reports endpoint and returns an initialized PaginatedResponse object.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            page (int): The page number to request.
 | 
			
		||||
            limit (int): The number of results to return per page.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            PaginatedResponse[BillingReports]: The initialized PaginatedResponse object.
 | 
			
		||||
        """
 | 
			
		||||
        if params:
 | 
			
		||||
            params["page"] = page
 | 
			
		||||
            params["limit"] = limit
 | 
			
		||||
        else:
 | 
			
		||||
            params = {"page": page, "limit": limit}
 | 
			
		||||
        return PaginatedResponse(
 | 
			
		||||
            super()._make_request("GET", params=params),
 | 
			
		||||
            BillingReports,
 | 
			
		||||
            self,
 | 
			
		||||
            "billing_reports",
 | 
			
		||||
            page,
 | 
			
		||||
            limit,
 | 
			
		||||
            params,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> BillingReports:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /billing_reports endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            BillingReports,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('billing_report', {}),
 | 
			
		||||
        )
 | 
			
		||||
@ -1,72 +0,0 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPaginateable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import IncidentReports
 | 
			
		||||
from pysimplesat.responses.paginated_response import PaginatedResponse
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class IncidentreportsIdEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[IncidentReports, SimpleSatRequestParams],
 | 
			
		||||
    IPaginateable[IncidentReports, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "{id}", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, IncidentReports)
 | 
			
		||||
        IPaginateable.__init__(self, IncidentReports)
 | 
			
		||||
 | 
			
		||||
    def paginated(
 | 
			
		||||
        self,
 | 
			
		||||
        page: int,
 | 
			
		||||
        limit: int,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> PaginatedResponse[IncidentReports]:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /incident_reports endpoint and returns an initialized PaginatedResponse object.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            page (int): The page number to request.
 | 
			
		||||
            limit (int): The number of results to return per page.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            PaginatedResponse[IncidentReports]: The initialized PaginatedResponse object.
 | 
			
		||||
        """
 | 
			
		||||
        if params:
 | 
			
		||||
            params["page"] = page
 | 
			
		||||
            params["limit"] = limit
 | 
			
		||||
        else:
 | 
			
		||||
            params = {"page": page, "limit": limit}
 | 
			
		||||
        return PaginatedResponse(
 | 
			
		||||
            super()._make_request("GET", params=params),
 | 
			
		||||
            IncidentReports,
 | 
			
		||||
            self,
 | 
			
		||||
            "incident_reports",
 | 
			
		||||
            page,
 | 
			
		||||
            limit,
 | 
			
		||||
            params,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> IncidentReports:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /incident_reports endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            IncidentReports,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('incident_report', {}),
 | 
			
		||||
        )
 | 
			
		||||
@ -1,72 +0,0 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPaginateable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Reports
 | 
			
		||||
from pysimplesat.responses.paginated_response import PaginatedResponse
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ReportsIdEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[Reports, SimpleSatRequestParams],
 | 
			
		||||
    IPaginateable[Reports, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "{id}", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, Reports)
 | 
			
		||||
        IPaginateable.__init__(self, Reports)
 | 
			
		||||
 | 
			
		||||
    def paginated(
 | 
			
		||||
        self,
 | 
			
		||||
        page: int,
 | 
			
		||||
        limit: int,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> PaginatedResponse[Reports]:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /reports endpoint and returns an initialized PaginatedResponse object.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            page (int): The page number to request.
 | 
			
		||||
            limit (int): The number of results to return per page.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            PaginatedResponse[Reports]: The initialized PaginatedResponse object.
 | 
			
		||||
        """
 | 
			
		||||
        if params:
 | 
			
		||||
            params["page"] = page
 | 
			
		||||
            params["limit"] = limit
 | 
			
		||||
        else:
 | 
			
		||||
            params = {"page": page, "limit": limit}
 | 
			
		||||
        return PaginatedResponse(
 | 
			
		||||
            super()._make_request("GET", params=params),
 | 
			
		||||
            Reports,
 | 
			
		||||
            self,
 | 
			
		||||
            "reports",
 | 
			
		||||
            page,
 | 
			
		||||
            limit,
 | 
			
		||||
            params,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Reports:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /reports endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            Reports,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('report', {}),
 | 
			
		||||
        )
 | 
			
		||||
@ -1,72 +0,0 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPaginateable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Signals
 | 
			
		||||
from pysimplesat.responses.paginated_response import PaginatedResponse
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class SignalsIdEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[Signals, SimpleSatRequestParams],
 | 
			
		||||
    IPaginateable[Signals, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "{id}", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, Signals)
 | 
			
		||||
        IPaginateable.__init__(self, Signals)
 | 
			
		||||
 | 
			
		||||
    def paginated(
 | 
			
		||||
        self,
 | 
			
		||||
        page: int,
 | 
			
		||||
        limit: int,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> PaginatedResponse[Signals]:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /signals endpoint and returns an initialized PaginatedResponse object.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            page (int): The page number to request.
 | 
			
		||||
            limit (int): The number of results to return per page.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            PaginatedResponse[Signals]: The initialized PaginatedResponse object.
 | 
			
		||||
        """
 | 
			
		||||
        if params:
 | 
			
		||||
            params["page"] = page
 | 
			
		||||
            params["limit"] = limit
 | 
			
		||||
        else:
 | 
			
		||||
            params = {"page": page, "limit": limit}
 | 
			
		||||
        return PaginatedResponse(
 | 
			
		||||
            super()._make_request("GET", params=params),
 | 
			
		||||
            Signals,
 | 
			
		||||
            self,
 | 
			
		||||
            "signals",
 | 
			
		||||
            page,
 | 
			
		||||
            limit,
 | 
			
		||||
            params,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Signals:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /signals endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            Signals,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('signal', {}),
 | 
			
		||||
        )
 | 
			
		||||
@ -1,37 +0,0 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import BaseEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Account
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class AccountEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[Account, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "account", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, Account)
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Account:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /account endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            Account,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('account', {}),
 | 
			
		||||
        )
 | 
			
		||||
@ -1,37 +0,0 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import ActorResponse
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ActorEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[ActorResponse, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "actor", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, ActorResponse)
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> ActorResponse:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /Actor endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            ActorResponse,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json(),
 | 
			
		||||
        )
 | 
			
		||||
@ -1,86 +0,0 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.endpoints.simplesat.AgentsIdEndpoint import AgentsIdEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPaginateable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Agents
 | 
			
		||||
from pysimplesat.responses.paginated_response import PaginatedResponse
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class AgentsEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[Agents, SimpleSatRequestParams],
 | 
			
		||||
    IPaginateable[Agents, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "agents", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, Agents)
 | 
			
		||||
        IPaginateable.__init__(self, Agents)
 | 
			
		||||
 | 
			
		||||
    def id(self, id: int) -> AgentsIdEndpoint:
 | 
			
		||||
        """
 | 
			
		||||
        Sets the ID for this endpoint and returns an initialized AgentsIdEndpoint object to move down the chain.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            id (int): The ID to set.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AgentsIdEndpoint: The initialized AgentsIdEndpoint object.
 | 
			
		||||
        """
 | 
			
		||||
        child = AgentsIdEndpoint(self.client, parent_endpoint=self)
 | 
			
		||||
        child._id = id
 | 
			
		||||
        return child
 | 
			
		||||
 | 
			
		||||
    def paginated(
 | 
			
		||||
        self,
 | 
			
		||||
        page: int,
 | 
			
		||||
        limit: int,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> PaginatedResponse[Agents]:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /agents endpoint and returns an initialized PaginatedResponse object.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            page (int): The page number to request.
 | 
			
		||||
            limit (int): The number of results to return per page.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            PaginatedResponse[Agents]: The initialized PaginatedResponse object.
 | 
			
		||||
        """
 | 
			
		||||
        if params:
 | 
			
		||||
            params["page"] = page
 | 
			
		||||
            params["limit"] = limit
 | 
			
		||||
        else:
 | 
			
		||||
            params = {"page": page, "limit": limit}
 | 
			
		||||
        return PaginatedResponse(
 | 
			
		||||
            super()._make_request("GET", params=params),
 | 
			
		||||
            Agents,
 | 
			
		||||
            self,
 | 
			
		||||
            "agents",
 | 
			
		||||
            page,
 | 
			
		||||
            limit,
 | 
			
		||||
            params,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Agents:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /agents endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_many(
 | 
			
		||||
            Agents,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('agents', {}),
 | 
			
		||||
        )
 | 
			
		||||
@ -1,72 +0,0 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPaginateable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Agents
 | 
			
		||||
from pysimplesat.responses.paginated_response import PaginatedResponse
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class AgentsIdEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[Agents, SimpleSatRequestParams],
 | 
			
		||||
    IPaginateable[Agents, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "{id}", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, Agents)
 | 
			
		||||
        IPaginateable.__init__(self, Agents)
 | 
			
		||||
 | 
			
		||||
    def paginated(
 | 
			
		||||
        self,
 | 
			
		||||
        page: int,
 | 
			
		||||
        limit: int,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> PaginatedResponse[Agents]:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /agents endpoint and returns an initialized PaginatedResponse object.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            page (int): The page number to request.
 | 
			
		||||
            limit (int): The number of results to return per page.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            PaginatedResponse[Agents]: The initialized PaginatedResponse object.
 | 
			
		||||
        """
 | 
			
		||||
        if params:
 | 
			
		||||
            params["page"] = page
 | 
			
		||||
            params["limit"] = limit
 | 
			
		||||
        else:
 | 
			
		||||
            params = {"page": page, "limit": limit}
 | 
			
		||||
        return PaginatedResponse(
 | 
			
		||||
            super()._make_request("GET", params=params),
 | 
			
		||||
            Agents,
 | 
			
		||||
            self,
 | 
			
		||||
            "agents",
 | 
			
		||||
            page,
 | 
			
		||||
            limit,
 | 
			
		||||
            params,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Agents:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /agents endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            Agents,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('agent', {}),
 | 
			
		||||
        )
 | 
			
		||||
							
								
								
									
										24
									
								
								src/pysimplesat/endpoints/simplesat/AnswersEndpoint.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								src/pysimplesat/endpoints/simplesat/AnswersEndpoint.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.endpoints.simplesat.AnswersIdEndpoint import AnswersIdEndpoint
 | 
			
		||||
from pysimplesat.endpoints.simplesat.AnswersSearchEndpoint import AnswersSearchEndpoint
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class AnswersEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "answers", parent_endpoint=parent_endpoint)
 | 
			
		||||
        self.search = self._register_child_endpoint(AnswersSearchEndpoint(client, parent_endpoint=self))
 | 
			
		||||
 | 
			
		||||
    def id(self, id: int) -> AnswersIdEndpoint:
 | 
			
		||||
        """
 | 
			
		||||
        Sets the ID for this endpoint and returns an initialized AnswersIdEndpoint object to move down the chain.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            id (int): The ID to set.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AnswersIdEndpoint: The initialized AnswersIdEndpoint object.
 | 
			
		||||
        """
 | 
			
		||||
        child = AnswersIdEndpoint(self.client, parent_endpoint=self)
 | 
			
		||||
        child._id = id
 | 
			
		||||
        return child
 | 
			
		||||
							
								
								
									
										59
									
								
								src/pysimplesat/endpoints/simplesat/AnswersIdEndpoint.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								src/pysimplesat/endpoints/simplesat/AnswersIdEndpoint.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,59 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPuttable
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Answer
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class AnswersIdEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[Answer, SimpleSatRequestParams],
 | 
			
		||||
    IPuttable[Answer, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "{id}", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, Answer)
 | 
			
		||||
        IPuttable.__init__(self, Answer)
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Answer:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /answers/{id} endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            Answer,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json(),
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def put(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Answer:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a PUT request against the /answers/{id} endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            Answer: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            Answer,
 | 
			
		||||
            super()._make_request("PUT", data=data, params=params).json(),
 | 
			
		||||
        )
 | 
			
		||||
							
								
								
									
										32
									
								
								src/pysimplesat/endpoints/simplesat/AnswersSearchEndpoint.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								src/pysimplesat/endpoints/simplesat/AnswersSearchEndpoint.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,32 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IPostable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Answer
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class AnswersSearchEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IPostable[Answer, SimpleSatRequestParams],
 | 
			
		||||
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "search", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IPostable.__init__(self, Answer)
 | 
			
		||||
 | 
			
		||||
    #TODO: How do I paginate a post?
 | 
			
		||||
    def post(self, data: JSON | None = None, params: SimpleSatRequestParams | None = None) -> Answer:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a POST request against the /answers/search endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            Survey: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_many(Answer, super()._make_request("POST", data=data, params=params).json().get('answers', {}))
 | 
			
		||||
@ -1,86 +0,0 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.endpoints.simplesat.BillingreportsIdEndpoint import BillingIdreportsEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPaginateable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import BillingReports
 | 
			
		||||
from pysimplesat.responses.paginated_response import PaginatedResponse
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class BillingreportsEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[BillingReports, SimpleSatRequestParams],
 | 
			
		||||
    IPaginateable[BillingReports, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "billing_reports", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, BillingReports)
 | 
			
		||||
        IPaginateable.__init__(self, BillingReports)
 | 
			
		||||
 | 
			
		||||
    def id(self, id: int) -> BillingIdreportsEndpoint:
 | 
			
		||||
        """
 | 
			
		||||
        Sets the ID for this endpoint and returns an initialized BillingIdreportsEndpoint object to move down the chain.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            id (int): The ID to set.
 | 
			
		||||
        Returns:
 | 
			
		||||
            BillingIdreportsEndpoint: The initialized BillingIdreportsEndpoint object.
 | 
			
		||||
        """
 | 
			
		||||
        child = BillingIdreportsEndpoint(self.client, parent_endpoint=self)
 | 
			
		||||
        child._id = id
 | 
			
		||||
        return child
 | 
			
		||||
 | 
			
		||||
    def paginated(
 | 
			
		||||
        self,
 | 
			
		||||
        page: int,
 | 
			
		||||
        limit: int,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> PaginatedResponse[BillingReports]:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /billing_reports endpoint and returns an initialized PaginatedResponse object.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            page (int): The page number to request.
 | 
			
		||||
            limit (int): The number of results to return per page.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            PaginatedResponse[BillingReports]: The initialized PaginatedResponse object.
 | 
			
		||||
        """
 | 
			
		||||
        if params:
 | 
			
		||||
            params["page"] = page
 | 
			
		||||
            params["limit"] = limit
 | 
			
		||||
        else:
 | 
			
		||||
            params = {"page": page, "limit": limit}
 | 
			
		||||
        return PaginatedResponse(
 | 
			
		||||
            super()._make_request("GET", params=params),
 | 
			
		||||
            BillingReports,
 | 
			
		||||
            self,
 | 
			
		||||
            "billing_reports",
 | 
			
		||||
            page,
 | 
			
		||||
            limit,
 | 
			
		||||
            params,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> BillingReports:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /billing_reports endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_many(
 | 
			
		||||
            BillingReports,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('billing_reports', {}),
 | 
			
		||||
        )
 | 
			
		||||
@ -1,72 +0,0 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPaginateable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import BillingReports
 | 
			
		||||
from pysimplesat.responses.paginated_response import PaginatedResponse
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class BillingIdreportsEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[BillingReports, SimpleSatRequestParams],
 | 
			
		||||
    IPaginateable[BillingReports, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "{id}", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, BillingReports)
 | 
			
		||||
        IPaginateable.__init__(self, BillingReports)
 | 
			
		||||
 | 
			
		||||
    def paginated(
 | 
			
		||||
        self,
 | 
			
		||||
        page: int,
 | 
			
		||||
        limit: int,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> PaginatedResponse[BillingReports]:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /billing_reports endpoint and returns an initialized PaginatedResponse object.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            page (int): The page number to request.
 | 
			
		||||
            limit (int): The number of results to return per page.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            PaginatedResponse[BillingReports]: The initialized PaginatedResponse object.
 | 
			
		||||
        """
 | 
			
		||||
        if params:
 | 
			
		||||
            params["page"] = page
 | 
			
		||||
            params["limit"] = limit
 | 
			
		||||
        else:
 | 
			
		||||
            params = {"page": page, "limit": limit}
 | 
			
		||||
        return PaginatedResponse(
 | 
			
		||||
            super()._make_request("GET", params=params),
 | 
			
		||||
            BillingReports,
 | 
			
		||||
            self,
 | 
			
		||||
            "billing_reports",
 | 
			
		||||
            page,
 | 
			
		||||
            limit,
 | 
			
		||||
            params,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> BillingReports:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /billing_reports endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            BillingReports,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('billing_report', {}),
 | 
			
		||||
        )
 | 
			
		||||
							
								
								
									
										31
									
								
								src/pysimplesat/endpoints/simplesat/CustomersBulkEndpoint.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								src/pysimplesat/endpoints/simplesat/CustomersBulkEndpoint.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,31 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IPostable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import CustomerBulk
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class CustomersBulkEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IPostable[CustomerBulk, SimpleSatRequestParams],
 | 
			
		||||
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "bulk", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IPostable.__init__(self, CustomerBulk)
 | 
			
		||||
 | 
			
		||||
    def post(self, data: JSON | None = None, params: SimpleSatRequestParams | None = None) -> CustomerBulk:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a POST request against the /customers/bulk endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            Survey: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(CustomerBulk, super()._make_request("POST", data=data, params=params).json())
 | 
			
		||||
							
								
								
									
										46
									
								
								src/pysimplesat/endpoints/simplesat/CustomersEndpoint.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								src/pysimplesat/endpoints/simplesat/CustomersEndpoint.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,46 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.endpoints.simplesat.CustomersIdEndpoint import CustomersIdEndpoint
 | 
			
		||||
from pysimplesat.endpoints.simplesat.CustomersBulkEndpoint import CustomersBulkEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IPostable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Customer
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class CustomersEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IPostable[Customer, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "customers", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IPostable.__init__(self, Customer)
 | 
			
		||||
        self.bulk = self._register_child_endpoint(CustomersBulkEndpoint(client, parent_endpoint=self))
 | 
			
		||||
 | 
			
		||||
    def id(self, id: int) -> CustomersIdEndpoint:
 | 
			
		||||
        """
 | 
			
		||||
        Sets the ID for this endpoint and returns an initialized CustomersIdEndpoint object to move down the chain.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            id (int): The ID to set.
 | 
			
		||||
        Returns:
 | 
			
		||||
            CustomersIdEndpoint: The initialized CustomersIdEndpoint object.
 | 
			
		||||
        """
 | 
			
		||||
        child = CustomersIdEndpoint(self.client, parent_endpoint=self)
 | 
			
		||||
        child._id = id
 | 
			
		||||
        return child
 | 
			
		||||
 | 
			
		||||
    def post(self, data: JSON | None = None, params: SimpleSatRequestParams | None = None) -> Customer:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a POST request against the /customers endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            Customer: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(Customer, super()._make_request("POST", data=data, params=params).json())
 | 
			
		||||
							
								
								
									
										59
									
								
								src/pysimplesat/endpoints/simplesat/CustomersIdEndpoint.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								src/pysimplesat/endpoints/simplesat/CustomersIdEndpoint.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,59 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPuttable
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Customer
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class CustomersIdEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[Customer, SimpleSatRequestParams],
 | 
			
		||||
    IPuttable[Customer, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "{id}", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, Customer)
 | 
			
		||||
        IPuttable.__init__(self, Customer)
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Customer:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /customers/{id} endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            Customer,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json(),
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def put(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Customer:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a PUT request against the /customers/{id} endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            Customer: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            Customer,
 | 
			
		||||
            super()._make_request("PUT", data=data, params=params).json(),
 | 
			
		||||
        )
 | 
			
		||||
@ -1,86 +0,0 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.endpoints.simplesat.IncidentreportsIdEndpoint import IncidentreportsIdEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPaginateable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import IncidentReports
 | 
			
		||||
from pysimplesat.responses.paginated_response import PaginatedResponse
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class IncidentreportsEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[IncidentReports, SimpleSatRequestParams],
 | 
			
		||||
    IPaginateable[IncidentReports, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "incident_reports", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, IncidentReports)
 | 
			
		||||
        IPaginateable.__init__(self, IncidentReports)
 | 
			
		||||
 | 
			
		||||
    def id(self, id: int) -> IncidentreportsIdEndpoint:
 | 
			
		||||
        """
 | 
			
		||||
        Sets the ID for this endpoint and returns an initialized IncidentreportsIdEndpoint object to move down the chain.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            id (int): The ID to set.
 | 
			
		||||
        Returns:
 | 
			
		||||
            IncidentreportsIdEndpoint: The initialized IncidentreportsIdEndpoint object.
 | 
			
		||||
        """
 | 
			
		||||
        child = IncidentreportsIdEndpoint(self.client, parent_endpoint=self)
 | 
			
		||||
        child._id = id
 | 
			
		||||
        return child
 | 
			
		||||
 | 
			
		||||
    def paginated(
 | 
			
		||||
        self,
 | 
			
		||||
        page: int,
 | 
			
		||||
        limit: int,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> PaginatedResponse[IncidentReports]:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /incident_reports endpoint and returns an initialized PaginatedResponse object.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            page (int): The page number to request.
 | 
			
		||||
            limit (int): The number of results to return per page.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            PaginatedResponse[IncidentReports]: The initialized PaginatedResponse object.
 | 
			
		||||
        """
 | 
			
		||||
        if params:
 | 
			
		||||
            params["page"] = page
 | 
			
		||||
            params["limit"] = limit
 | 
			
		||||
        else:
 | 
			
		||||
            params = {"page": page, "limit": limit}
 | 
			
		||||
        return PaginatedResponse(
 | 
			
		||||
            super()._make_request("GET", params=params),
 | 
			
		||||
            IncidentReports,
 | 
			
		||||
            self,
 | 
			
		||||
            "incident_reports",
 | 
			
		||||
            page,
 | 
			
		||||
            limit,
 | 
			
		||||
            params,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> IncidentReports:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /incident_reports endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_many(
 | 
			
		||||
            IncidentReports,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('incident_reports', {}),
 | 
			
		||||
        )
 | 
			
		||||
@ -1,72 +0,0 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPaginateable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import IncidentReports
 | 
			
		||||
from pysimplesat.responses.paginated_response import PaginatedResponse
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class IncidentreportsIdEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[IncidentReports, SimpleSatRequestParams],
 | 
			
		||||
    IPaginateable[IncidentReports, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "{id}", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, IncidentReports)
 | 
			
		||||
        IPaginateable.__init__(self, IncidentReports)
 | 
			
		||||
 | 
			
		||||
    def paginated(
 | 
			
		||||
        self,
 | 
			
		||||
        page: int,
 | 
			
		||||
        limit: int,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> PaginatedResponse[IncidentReports]:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /incident_reports endpoint and returns an initialized PaginatedResponse object.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            page (int): The page number to request.
 | 
			
		||||
            limit (int): The number of results to return per page.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            PaginatedResponse[IncidentReports]: The initialized PaginatedResponse object.
 | 
			
		||||
        """
 | 
			
		||||
        if params:
 | 
			
		||||
            params["page"] = page
 | 
			
		||||
            params["limit"] = limit
 | 
			
		||||
        else:
 | 
			
		||||
            params = {"page": page, "limit": limit}
 | 
			
		||||
        return PaginatedResponse(
 | 
			
		||||
            super()._make_request("GET", params=params),
 | 
			
		||||
            IncidentReports,
 | 
			
		||||
            self,
 | 
			
		||||
            "incident_reports",
 | 
			
		||||
            page,
 | 
			
		||||
            limit,
 | 
			
		||||
            params,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> IncidentReports:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /incident_reports endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            IncidentReports,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('incident_report', {}),
 | 
			
		||||
        )
 | 
			
		||||
@ -1,86 +0,0 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.endpoints.simplesat.OrganizationsIdEndpoint import OrganizationsIdEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPaginateable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Organizations
 | 
			
		||||
from pysimplesat.responses.paginated_response import PaginatedResponse
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class OrganizationsEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[Organizations, SimpleSatRequestParams],
 | 
			
		||||
    IPaginateable[Organizations, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "organizations", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, Organizations)
 | 
			
		||||
        IPaginateable.__init__(self, Organizations)
 | 
			
		||||
 | 
			
		||||
    def id(self, id: int) -> OrganizationsIdEndpoint:
 | 
			
		||||
        """
 | 
			
		||||
        Sets the ID for this endpoint and returns an initialized OrganizationsIdEndpoint object to move down the chain.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            id (int): The ID to set.
 | 
			
		||||
        Returns:
 | 
			
		||||
            OrganizationsIdEndpoint: The initialized OrganizationsIdEndpoint object.
 | 
			
		||||
        """
 | 
			
		||||
        child = OrganizationsIdEndpoint(self.client, parent_endpoint=self)
 | 
			
		||||
        child._id = id
 | 
			
		||||
        return child
 | 
			
		||||
 | 
			
		||||
    def paginated(
 | 
			
		||||
        self,
 | 
			
		||||
        page: int,
 | 
			
		||||
        limit: int,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> PaginatedResponse[Organizations]:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /organizations endpoint and returns an initialized PaginatedResponse object.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            page (int): The page number to request.
 | 
			
		||||
            limit (int): The number of results to return per page.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            PaginatedResponse[Organizations]: The initialized PaginatedResponse object.
 | 
			
		||||
        """
 | 
			
		||||
        if params:
 | 
			
		||||
            params["page"] = page
 | 
			
		||||
            params["limit"] = limit
 | 
			
		||||
        else:
 | 
			
		||||
            params = {"page": page, "limit": limit}
 | 
			
		||||
        return PaginatedResponse(
 | 
			
		||||
            super()._make_request("GET", params=params),
 | 
			
		||||
            Organizations,
 | 
			
		||||
            self,
 | 
			
		||||
            "organizations",
 | 
			
		||||
            page,
 | 
			
		||||
            limit,
 | 
			
		||||
            params,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Organizations:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /Organizations endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_many(
 | 
			
		||||
            Organizations,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('organizations', {}),
 | 
			
		||||
        )
 | 
			
		||||
@ -2,36 +2,37 @@ from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Account
 | 
			
		||||
from pysimplesat.models.simplesat import Question
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class AccountEndpoint(
 | 
			
		||||
class QuestionsEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[Account, SimpleSatRequestParams],
 | 
			
		||||
    IGettable[Question, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "account", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, Account)
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "questions", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, Question)
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Account:
 | 
			
		||||
    ) -> Question:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /account endpoint.
 | 
			
		||||
        Performs a GET request against the /questions endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
            Question: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            Account,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('account', {}),
 | 
			
		||||
        print("get")
 | 
			
		||||
        return self._parse_many(
 | 
			
		||||
            Question,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('questions', {}),
 | 
			
		||||
        )
 | 
			
		||||
@ -1,86 +0,0 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.endpoints.simplesat.ReportsIdEndpoint import ReportsIdEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPaginateable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Reports
 | 
			
		||||
from pysimplesat.responses.paginated_response import PaginatedResponse
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ReportsEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[Reports, SimpleSatRequestParams],
 | 
			
		||||
    IPaginateable[Reports, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "reports", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, Reports)
 | 
			
		||||
        IPaginateable.__init__(self, Reports)
 | 
			
		||||
 | 
			
		||||
    def id(self, id: int) -> ReportsIdEndpoint:
 | 
			
		||||
        """
 | 
			
		||||
        Sets the ID for this endpoint and returns an initialized ReportsIdEndpoint object to move down the chain.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            id (int): The ID to set.
 | 
			
		||||
        Returns:
 | 
			
		||||
            ReportsIdEndpoint: The initialized ReportsIdEndpoint object.
 | 
			
		||||
        """
 | 
			
		||||
        child = ReportsIdEndpoint(self.client, parent_endpoint=self)
 | 
			
		||||
        child._id = id
 | 
			
		||||
        return child
 | 
			
		||||
 | 
			
		||||
    def paginated(
 | 
			
		||||
        self,
 | 
			
		||||
        page: int,
 | 
			
		||||
        limit: int,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> PaginatedResponse[Reports]:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /reports endpoint and returns an initialized PaginatedResponse object.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            page (int): The page number to request.
 | 
			
		||||
            limit (int): The number of results to return per page.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            PaginatedResponse[Reports]: The initialized PaginatedResponse object.
 | 
			
		||||
        """
 | 
			
		||||
        if params:
 | 
			
		||||
            params["page"] = page
 | 
			
		||||
            params["limit"] = limit
 | 
			
		||||
        else:
 | 
			
		||||
            params = {"page": page, "limit": limit}
 | 
			
		||||
        return PaginatedResponse(
 | 
			
		||||
            super()._make_request("GET", params=params),
 | 
			
		||||
            Reports,
 | 
			
		||||
            self,
 | 
			
		||||
            "reports",
 | 
			
		||||
            page,
 | 
			
		||||
            limit,
 | 
			
		||||
            params,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Reports:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /reports endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_many(
 | 
			
		||||
            Reports,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('reports', {}),
 | 
			
		||||
        )
 | 
			
		||||
@ -1,72 +0,0 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPaginateable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Reports
 | 
			
		||||
from pysimplesat.responses.paginated_response import PaginatedResponse
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ReportsIdEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[Reports, SimpleSatRequestParams],
 | 
			
		||||
    IPaginateable[Reports, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "{id}", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, Reports)
 | 
			
		||||
        IPaginateable.__init__(self, Reports)
 | 
			
		||||
 | 
			
		||||
    def paginated(
 | 
			
		||||
        self,
 | 
			
		||||
        page: int,
 | 
			
		||||
        limit: int,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> PaginatedResponse[Reports]:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /reports endpoint and returns an initialized PaginatedResponse object.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            page (int): The page number to request.
 | 
			
		||||
            limit (int): The number of results to return per page.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            PaginatedResponse[Reports]: The initialized PaginatedResponse object.
 | 
			
		||||
        """
 | 
			
		||||
        if params:
 | 
			
		||||
            params["page"] = page
 | 
			
		||||
            params["limit"] = limit
 | 
			
		||||
        else:
 | 
			
		||||
            params = {"page": page, "limit": limit}
 | 
			
		||||
        return PaginatedResponse(
 | 
			
		||||
            super()._make_request("GET", params=params),
 | 
			
		||||
            Reports,
 | 
			
		||||
            self,
 | 
			
		||||
            "reports",
 | 
			
		||||
            page,
 | 
			
		||||
            limit,
 | 
			
		||||
            params,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Reports:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /reports endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            Reports,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('report', {}),
 | 
			
		||||
        )
 | 
			
		||||
@ -0,0 +1,31 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IPostable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Response
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ResponsesCreateOrUpdateEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IPostable[Response, SimpleSatRequestParams],
 | 
			
		||||
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "create-or-update", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IPostable.__init__(self, Response)
 | 
			
		||||
 | 
			
		||||
    def post(self, data: JSON | None = None, params: SimpleSatRequestParams | None = None) -> Response:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a POST request against the /responses/create-or-update endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            Survey: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(Response, super()._make_request("POST", data=data, params=params).json())
 | 
			
		||||
							
								
								
									
										26
									
								
								src/pysimplesat/endpoints/simplesat/ResponsesEndpoint.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								src/pysimplesat/endpoints/simplesat/ResponsesEndpoint.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,26 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.endpoints.simplesat.ResponsesIdEndpoint import ResponsesIdEndpoint
 | 
			
		||||
from pysimplesat.endpoints.simplesat.ResponsesSearchEndpoint import ResponsesSearchEndpoint
 | 
			
		||||
from pysimplesat.endpoints.simplesat.ResponsesCreateOrUpdateEndpoint import ResponsesCreateOrUpdateEndpoint
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ResponsesEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "responses", parent_endpoint=parent_endpoint)
 | 
			
		||||
        self.search = self._register_child_endpoint(ResponsesSearchEndpoint(client, parent_endpoint=self))
 | 
			
		||||
        self.createorupdate = self._register_child_endpoint(ResponsesCreateOrUpdateEndpoint(client, parent_endpoint=self))
 | 
			
		||||
 | 
			
		||||
    def id(self, id: int) -> ResponsesIdEndpoint:
 | 
			
		||||
        """
 | 
			
		||||
        Sets the ID for this endpoint and returns an initialized ResponsesIdEndpoint object to move down the chain.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            id (int): The ID to set.
 | 
			
		||||
        Returns:
 | 
			
		||||
            ResponsesIdEndpoint: The initialized ResponsesIdEndpoint object.
 | 
			
		||||
        """
 | 
			
		||||
        child = ResponsesIdEndpoint(self.client, parent_endpoint=self)
 | 
			
		||||
        child._id = id
 | 
			
		||||
        return child
 | 
			
		||||
@ -2,28 +2,28 @@ from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Organizations
 | 
			
		||||
from pysimplesat.models.simplesat import Response
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class OrganizationsIdEndpoint(
 | 
			
		||||
class ResponsesIdEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[Organizations, SimpleSatRequestParams],
 | 
			
		||||
    IGettable[Response, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "{id}", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, Organizations)
 | 
			
		||||
        IGettable.__init__(self, Response)
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Organizations:
 | 
			
		||||
    ) -> Response:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /organizations/{id} endpoint.
 | 
			
		||||
        Performs a GET request against the /responses/{id} endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
@ -32,6 +32,6 @@ class OrganizationsIdEndpoint(
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            Organizations,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('organization', {}),
 | 
			
		||||
            Response,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json(),
 | 
			
		||||
        )
 | 
			
		||||
@ -1,37 +1,37 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPuttable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import ActorResponse
 | 
			
		||||
from pysimplesat.models.simplesat import Response
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ActorEndpoint(
 | 
			
		||||
class ResponsesIdUpdateEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[ActorResponse, SimpleSatRequestParams],
 | 
			
		||||
    IPuttable[Response, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "actor", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, ActorResponse)
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "{id}", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IPuttable.__init__(self, Response)
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
    def put(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> ActorResponse:
 | 
			
		||||
    ) -> Response:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /Actor endpoint.
 | 
			
		||||
        Performs a PUT request against the /responses/{id}/update endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
            Response: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            ActorResponse,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json(),
 | 
			
		||||
            Response,
 | 
			
		||||
            super()._make_request("PUT", data=data, params=params).json(),
 | 
			
		||||
        )
 | 
			
		||||
@ -0,0 +1,32 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IPostable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Response
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ResponsesSearchEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IPostable[Response, SimpleSatRequestParams],
 | 
			
		||||
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "search", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IPostable.__init__(self, Response)
 | 
			
		||||
 | 
			
		||||
    #TODO: How do I paginate a post?
 | 
			
		||||
    def post(self, data: JSON | None = None, params: SimpleSatRequestParams | None = None) -> Response:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a POST request against the /responses/search endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            Survey: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_many(Response, super()._make_request("POST", data=data, params=params).json().get('responses', {}))
 | 
			
		||||
@ -1,86 +0,0 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.endpoints.simplesat.SignalsIdEndpoint import SignalsIdEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPaginateable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Signals
 | 
			
		||||
from pysimplesat.responses.paginated_response import PaginatedResponse
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class SignalsEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[Signals, SimpleSatRequestParams],
 | 
			
		||||
    IPaginateable[Signals, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "signals", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, Signals)
 | 
			
		||||
        IPaginateable.__init__(self, Signals)
 | 
			
		||||
 | 
			
		||||
    def id(self, id: int) -> SignalsIdEndpoint:
 | 
			
		||||
        """
 | 
			
		||||
        Sets the ID for this endpoint and returns an initialized SignalsIdEndpoint object to move down the chain.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            id (int): The ID to set.
 | 
			
		||||
        Returns:
 | 
			
		||||
            SignalsIdEndpoint: The initialized SignalsIdEndpoint object.
 | 
			
		||||
        """
 | 
			
		||||
        child = SignalsIdEndpoint(self.client, parent_endpoint=self)
 | 
			
		||||
        child._id = id
 | 
			
		||||
        return child
 | 
			
		||||
 | 
			
		||||
    def paginated(
 | 
			
		||||
        self,
 | 
			
		||||
        page: int,
 | 
			
		||||
        limit: int,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> PaginatedResponse[Signals]:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /signals endpoint and returns an initialized PaginatedResponse object.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            page (int): The page number to request.
 | 
			
		||||
            limit (int): The number of results to return per page.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            PaginatedResponse[Signals]: The initialized PaginatedResponse object.
 | 
			
		||||
        """
 | 
			
		||||
        if params:
 | 
			
		||||
            params["page"] = page
 | 
			
		||||
            params["limit"] = limit
 | 
			
		||||
        else:
 | 
			
		||||
            params = {"page": page, "limit": limit}
 | 
			
		||||
        return PaginatedResponse(
 | 
			
		||||
            super()._make_request("GET", params=params),
 | 
			
		||||
            Signals,
 | 
			
		||||
            self,
 | 
			
		||||
            "signals",
 | 
			
		||||
            page,
 | 
			
		||||
            limit,
 | 
			
		||||
            params,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Signals:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /signals endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_many(
 | 
			
		||||
            Signals,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('signals', {}),
 | 
			
		||||
        )
 | 
			
		||||
@ -1,72 +0,0 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
    IPaginateable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Signals
 | 
			
		||||
from pysimplesat.responses.paginated_response import PaginatedResponse
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class SignalsIdEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[Signals, SimpleSatRequestParams],
 | 
			
		||||
    IPaginateable[Signals, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "{id}", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, Signals)
 | 
			
		||||
        IPaginateable.__init__(self, Signals)
 | 
			
		||||
 | 
			
		||||
    def paginated(
 | 
			
		||||
        self,
 | 
			
		||||
        page: int,
 | 
			
		||||
        limit: int,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> PaginatedResponse[Signals]:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /signals endpoint and returns an initialized PaginatedResponse object.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            page (int): The page number to request.
 | 
			
		||||
            limit (int): The number of results to return per page.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            PaginatedResponse[Signals]: The initialized PaginatedResponse object.
 | 
			
		||||
        """
 | 
			
		||||
        if params:
 | 
			
		||||
            params["page"] = page
 | 
			
		||||
            params["limit"] = limit
 | 
			
		||||
        else:
 | 
			
		||||
            params = {"page": page, "limit": limit}
 | 
			
		||||
        return PaginatedResponse(
 | 
			
		||||
            super()._make_request("GET", params=params),
 | 
			
		||||
            Signals,
 | 
			
		||||
            self,
 | 
			
		||||
            "signals",
 | 
			
		||||
            page,
 | 
			
		||||
            limit,
 | 
			
		||||
            params,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Signals:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /signals endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            Signals,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('signal', {}),
 | 
			
		||||
        )
 | 
			
		||||
							
								
								
									
										52
									
								
								src/pysimplesat/endpoints/simplesat/SurveysEndpoint.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								src/pysimplesat/endpoints/simplesat/SurveysEndpoint.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,52 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.endpoints.simplesat.SurveysIdEndpoint import SurveysIdEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Survey
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class SurveysEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[Survey, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "surveys", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, Survey)
 | 
			
		||||
 | 
			
		||||
    def id(self, id: int) -> SurveysIdEndpoint:
 | 
			
		||||
        """
 | 
			
		||||
        Sets the ID for this endpoint and returns an initialized SurveysIdEndpoint object to move down the chain.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            id (int): The ID to set.
 | 
			
		||||
        Returns:
 | 
			
		||||
            SurveysIdEndpoint: The initialized SurveysIdEndpoint object.
 | 
			
		||||
        """
 | 
			
		||||
        child = SurveysIdEndpoint(self.client, parent_endpoint=self)
 | 
			
		||||
        child._id = id
 | 
			
		||||
        return child
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Survey:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /surveys endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            Survey: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        print("get")
 | 
			
		||||
        return self._parse_many(
 | 
			
		||||
            Survey,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('surveys', {}),
 | 
			
		||||
        )
 | 
			
		||||
@ -0,0 +1,31 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IPostable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import SurveyEmail
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class SurveysIdEmailEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IPostable[SurveyEmail, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "email", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IPostable.__init__(self, SurveyEmail)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def post(self, data: JSON | None = None, params: SimpleSatRequestParams | None = None) -> SurveyEmail:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a POST request against the /surveys/{id}/email endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            SurveyEmail: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(SurveyEmail, super()._make_request("POST", data=data, params=params).json())
 | 
			
		||||
							
								
								
									
										10
									
								
								src/pysimplesat/endpoints/simplesat/SurveysIdEndpoint.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								src/pysimplesat/endpoints/simplesat/SurveysIdEndpoint.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.endpoints.simplesat.SurveysIdEmailEndpoint import SurveysIdEmailEndpoint
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class SurveysIdEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "{id}", parent_endpoint=parent_endpoint)
 | 
			
		||||
        self.email = self._register_child_endpoint(SurveysIdEmailEndpoint(client, parent_endpoint=self))
 | 
			
		||||
							
								
								
									
										44
									
								
								src/pysimplesat/endpoints/simplesat/TeamMembersEndpoint.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								src/pysimplesat/endpoints/simplesat/TeamMembersEndpoint.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,44 @@
 | 
			
		||||
from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.endpoints.simplesat.TeamMembersIdEndpoint import TeamMembersIdEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IPostable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import TeamMember
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TeamMembersEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IPostable[TeamMember, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "team-members", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IPostable.__init__(self, TeamMember)
 | 
			
		||||
 | 
			
		||||
    def id(self, id: int) -> TeamMembersIdEndpoint:
 | 
			
		||||
        """
 | 
			
		||||
        Sets the ID for this endpoint and returns an initialized TeamMembersIdEndpoint object to move down the chain.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            id (int): The ID to set.
 | 
			
		||||
        Returns:
 | 
			
		||||
            TeamMembersIdEndpoint: The initialized TeamMembersIdEndpoint object.
 | 
			
		||||
        """
 | 
			
		||||
        child = TeamMembersIdEndpoint(self.client, parent_endpoint=self)
 | 
			
		||||
        child._id = id
 | 
			
		||||
        return child
 | 
			
		||||
 | 
			
		||||
    def post(self, data: JSON | None = None, params: SimpleSatRequestParams | None = None) -> TeamMember:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a POST request against the /team-members endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
            params (dict[str, int | str]): The parameters to send in the request query string.
 | 
			
		||||
        Returns:
 | 
			
		||||
            TeamMember: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(TeamMember, super()._make_request("POST", data=data, params=params).json())
 | 
			
		||||
@ -2,28 +2,28 @@ from pysimplesat.endpoints.base.base_endpoint import SimpleSatEndpoint
 | 
			
		||||
from pysimplesat.interfaces import (
 | 
			
		||||
    IGettable,
 | 
			
		||||
)
 | 
			
		||||
from pysimplesat.models.simplesat import Organizations
 | 
			
		||||
from pysimplesat.models.simplesat import TeamMember
 | 
			
		||||
from pysimplesat.types import (
 | 
			
		||||
    JSON,
 | 
			
		||||
    SimpleSatRequestParams,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class OrganizationsIdEndpoint(
 | 
			
		||||
class TeamMembersIdEndpoint(
 | 
			
		||||
    SimpleSatEndpoint,
 | 
			
		||||
    IGettable[Organizations, SimpleSatRequestParams],
 | 
			
		||||
    IGettable[TeamMember, SimpleSatRequestParams],
 | 
			
		||||
):
 | 
			
		||||
    def __init__(self, client, parent_endpoint=None) -> None:
 | 
			
		||||
        SimpleSatEndpoint.__init__(self, client, "{id}", parent_endpoint=parent_endpoint)
 | 
			
		||||
        IGettable.__init__(self, Organizations)
 | 
			
		||||
        IGettable.__init__(self, TeamMember)
 | 
			
		||||
 | 
			
		||||
    def get(
 | 
			
		||||
        self,
 | 
			
		||||
        data: JSON | None = None,
 | 
			
		||||
        params: SimpleSatRequestParams | None = None,
 | 
			
		||||
    ) -> Organizations:
 | 
			
		||||
    ) -> TeamMember:
 | 
			
		||||
        """
 | 
			
		||||
        Performs a GET request against the /organizations/{id} endpoint.
 | 
			
		||||
        Performs a GET request against the /team-members/{id} endpoint.
 | 
			
		||||
 | 
			
		||||
        Parameters:
 | 
			
		||||
            data (dict[str, Any]): The data to send in the request body.
 | 
			
		||||
@ -32,6 +32,6 @@ class OrganizationsIdEndpoint(
 | 
			
		||||
            AuthInformation: The parsed response data.
 | 
			
		||||
        """
 | 
			
		||||
        return self._parse_one(
 | 
			
		||||
            Organizations,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json().get('organization', {}),
 | 
			
		||||
            TeamMember,
 | 
			
		||||
            super()._make_request("GET", data=data, params=params).json(),
 | 
			
		||||
        )
 | 
			
		||||
@ -33,7 +33,7 @@ class Answer(SimpleSatModel):
 | 
			
		||||
    published_as_testimonial: bool | None = Field(default=None, alias="PublishedAsTestimonial")
 | 
			
		||||
    response_id: int | None = Field(default=None, alias="ResponseId")
 | 
			
		||||
 | 
			
		||||
class Answer(SimpleSatModel):
 | 
			
		||||
class Customer(SimpleSatModel):
 | 
			
		||||
    id: int | None = Field(default=None, alias="Id")
 | 
			
		||||
    external_id: str | None = Field(default=None, alias="ExternalId")
 | 
			
		||||
    created: datetime | None = Field(default=None, alias="Created")
 | 
			
		||||
@ -59,3 +59,18 @@ class Response(SimpleSatModel):
 | 
			
		||||
    team_members: dict[str, Any] | None = Field(default=None, alias="TeamMembers")
 | 
			
		||||
    ticket: dict[str, Any] | None = Field(default=None, alias="Ticket")
 | 
			
		||||
    customer: dict[str, Any] | None = Field(default=None, alias="Customer")
 | 
			
		||||
 | 
			
		||||
class Survey(SimpleSatModel):
 | 
			
		||||
    id: int | None = Field(default=None, alias="Id")
 | 
			
		||||
    name: str | None = Field(default=None, alias="Name")
 | 
			
		||||
    metric: str | None = Field(default=None, alias="Metric")
 | 
			
		||||
    survey_token: str | None = Field(default=None, alias="SurveyToken")
 | 
			
		||||
    survey_type: str | None = Field(default=None, alias="SurveyType")
 | 
			
		||||
    brand_name: str | None = Field(default=None, alias="BrandName")
 | 
			
		||||
 | 
			
		||||
class CustomerBulk(SimpleSatModel):
 | 
			
		||||
    request_id: str | None = Field(default=None, alias="RequestId")
 | 
			
		||||
    detail: str | None = Field(default=None, alias="Detail")
 | 
			
		||||
    
 | 
			
		||||
class SurveyEmail(SimpleSatModel):
 | 
			
		||||
    detail: str | None = Field(default=None, alias="Detail")
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user