From 0a9d085e1010045b184b06f45c660a4596735482 Mon Sep 17 00:00:00 2001 From: hyh123a Date: Wed, 20 Apr 2022 23:24:47 +0800 Subject: [PATCH] add the agent ticket api --- myems-api/app.py | 11 +++++ myems-api/reports/ticket.py | 84 ++++++++++++++++++++++++++++++++++++- 2 files changed, 93 insertions(+), 2 deletions(-) diff --git a/myems-api/app.py b/myems-api/app.py index 7e09aa1b..46e107c7 100644 --- a/myems-api/app.py +++ b/myems-api/app.py @@ -127,6 +127,17 @@ api.add_route('/ticket/list/intervention', # My Application: Get Ticket Status api.add_route('/ticket/status/{id_}', ticket.TicketStatusItem()) + +api.add_route('/ticket/fields/{id_}', + ticket.TicketFieldItem()) + +api.add_route('/ticket/transition/{id_}', + ticket.TicketTransitionItem()) + +# Patch the agent ticket +api.add_route('/ticket/agent/{id_}', + ticket.TicketAgentItem()) + ######################################################################################################################## # Routes for System Core ######################################################################################################################## diff --git a/myems-api/reports/ticket.py b/myems-api/reports/ticket.py index 7dea36ad..9b8d6c07 100644 --- a/myems-api/reports/ticket.py +++ b/myems-api/reports/ticket.py @@ -7,8 +7,8 @@ import re from core.useractivity import user_logger, access_control import requests -BASE_API = 'http://172.16.203.116/' -# BASE_API = 'http://192.168.1.4/' +# BASE_API = 'http://172.16.203.116/' +BASE_API = 'http://192.168.1.4/' def login(): @@ -745,6 +745,86 @@ class TicketStatusItem: resp.location = '/tickets/' + str(new_ticket_id) +class TicketFieldItem: + @staticmethod + def __init__(): + """"Initializes ContactCollection""" + pass + + @staticmethod + def on_options(req, resp, id_): + resp.status = falcon.HTTP_200 + + @staticmethod + def on_get(req, resp, id_): + if not id_.isdigit() or int(id_) <= 0: + raise falcon.HTTPError(falcon.HTTP_400, '400 Bad Request') + + ticket_id = int(id_) + session = login() + url = BASE_API + "api/v1.0/tickets/" + id_ + headers = { + 'Content-Type': 'application/json', + } + get_resp = session.get(url, headers=headers) + content = json.loads(get_resp.text) + print("TicketFieldItem content", content) + resp.text = json.dumps(content) + + +class TicketTransitionItem: + @staticmethod + def __init__(): + """"Initializes ContactCollection""" + pass + + @staticmethod + def on_options(req, resp, id_): + resp.status = falcon.HTTP_200 + + @staticmethod + def on_get(req, resp, id_): + if not id_.isdigit() or int(id_) <= 0: + raise falcon.HTTPError(falcon.HTTP_400, '400 Bad Request') + + ticket_id = int(id_) + session = login() + url = BASE_API + "api/v1.0/tickets/" + id_ + "/transitions" + headers = { + 'Content-Type': 'application/json', + } + get_resp = session.get(url, headers=headers) + content = json.loads(get_resp.text) + print("TicketFieldItem content", content) + resp.text = json.dumps(content) + + +class TicketAgentItem: + @staticmethod + def __init__(): + """"Initializes ContactCollection""" + pass + + @staticmethod + def on_options(req, resp, id_): + resp.status = falcon.HTTP_200 + + @staticmethod + def on_patch(req, resp, id_): + if not id_.isdigit() or int(id_) <= 0: + raise falcon.HTTPError(falcon.HTTP_400, '400 Bad Request') + + ticket_id = int(id_) + session = login() + url = BASE_API + "api/v1.0/tickets/" + id_ + headers = { + 'Content-Type': 'application/json', + } + get_resp = session.patch(url, headers=headers) + content = json.loads(get_resp.text) + print("TicketAgentItem content", content) + resp.text = json.dumps(content) + class ContactItem: @staticmethod def __init__():