access-controller/main/requester.py
2021-04-23 00:31:43 +03:00

29 lines
981 B
Python

import requests
from zenpy import TicketApi
from zenpy.lib.api_objects import Ticket
from main.zendesk_admin import zenpy
class TicketListRequester:
def __init__(self):
self.email = zenpy.credentials['email']
if zenpy.credentials.get('token'):
self.token_or_password = zenpy.credentials.get('token')
self.email += '/token'
else:
self.token_or_password = zenpy.credentials.get('password')
def get_tickets_list_for_user(self, zendesk_user):
url = f'https://ngenix1612197338.zendesk.com/api/v2/users/{zendesk_user.id}/tickets/assigned'
return self._get_tickets(url)
def _get_tickets(self, url):
response = requests.get(url, auth=(self.email, self.token_or_password))
tickets = []
if response.status_code!=200:
return None
for ticket in response.json()['tickets']:
tickets.append(Ticket(api=TicketApi, **ticket))
return tickets