Source code for zapi
from .infrastructure.http.client import HttpClient
from .infrastructure.http.auth import oauth_headers, api_token_headers
from .infrastructure.api_clients.ticket_field_api_client import TicketFieldApiClient
from .application.services.ticket_fields_service import TicketFieldsService
[docs]
class Zapi:
def __init__(self, base_url: str, oauth_token: str | None = None, email: str | None = None, api_token: str | None = None):
if oauth_token:
headers = oauth_headers(oauth_token)
elif email and api_token:
headers = api_token_headers(email, api_token)
else:
raise ValueError("Provide oauth_token or email+api_token")
http = HttpClient(base_url, headers=headers)
client = TicketFieldApiClient(http)
self.ticket_fields = TicketFieldsService(client)