Only allow getTicketById
This commit is contained in:
parent
d7876bfe50
commit
1a502e7a1e
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
require('/../models/ticket.php');
|
require(__DIR__ . '/../models/ticket.php');
|
||||||
|
|
||||||
|
|
||||||
class TicketRepository {
|
class TicketRepository {
|
||||||
@ -9,8 +9,8 @@ class TicketRepository {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static function getTicketForId($id, $settings) {
|
public static function getTicketForId($id, $settings) {
|
||||||
|
|
||||||
$connection = new mysqli($settings['db_host'], $settings['db_user'], $settings['db_pass'], $settings['db_name']);
|
$connection = new mysqli($settings['db_host'], $settings['db_user'], $settings['db_pass'], $settings['db_name']);
|
||||||
|
|
||||||
if ($connection->connect_error)
|
if ($connection->connect_error)
|
||||||
{
|
{
|
||||||
return ('An error occurred when establishing a connection to the database.');
|
return ('An error occurred when establishing a connection to the database.');
|
||||||
@ -26,35 +26,6 @@ class TicketRepository {
|
|||||||
return self::generateTicketModel($result);
|
return self::generateTicketModel($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getTicketForTrackingId($id, $settings)
|
|
||||||
{
|
|
||||||
$connection = new mysqli($settings['db_host'], $settings['db_user'], $settings['db_pass'], $settings['db_name']);
|
|
||||||
if ($connection->connect_error)
|
|
||||||
{
|
|
||||||
return ('An error occurred when establishing a connection to the database.');
|
|
||||||
}
|
|
||||||
|
|
||||||
$sql = self::getDefaultSql($settings).
|
|
||||||
'WHERE T.trackid = '.$id;
|
|
||||||
$results = $connection->query($sql);
|
|
||||||
|
|
||||||
//-- There should only be one result as Tracking IDs should be unique. If there are two, return a 422 response.
|
|
||||||
if ($results->num_rows > 1)
|
|
||||||
{
|
|
||||||
header(http_response_code(422));
|
|
||||||
return;
|
|
||||||
} elseif ($results->num_rows == 0)
|
|
||||||
{
|
|
||||||
//-- No ticket found. Return a 404.
|
|
||||||
header(http_response_code(404));
|
|
||||||
return;
|
|
||||||
} else {
|
|
||||||
$result = $results->fetch_assoc();
|
|
||||||
$connection->close();
|
|
||||||
return self::generateTicketModel($result);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static function generateTicketModel($result) {
|
private static function generateTicketModel($result) {
|
||||||
$ticket = new Ticket();
|
$ticket = new Ticket();
|
||||||
|
|
||||||
|
@ -3,21 +3,16 @@
|
|||||||
//-- This service will return ticket information for a specific ticket ID (NOT TRACKING ID)
|
//-- This service will return ticket information for a specific ticket ID (NOT TRACKING ID)
|
||||||
header('Content-Type: application/json');
|
header('Content-Type: application/json');
|
||||||
define('IN_SCRIPT',1);
|
define('IN_SCRIPT',1);
|
||||||
define('HESK_PATH','/../../');
|
define('HESK_PATH','../../');
|
||||||
|
|
||||||
require(HESK_PATH . 'hesk_settings.inc.php');
|
include(HESK_PATH . 'hesk_settings.inc.php');
|
||||||
include('/../repositories/ticketRepository.php');
|
include(__DIR__ . '/../repositories/ticketRepository.php');
|
||||||
|
|
||||||
if(isset($_GET['id']))
|
if(isset($_GET['id']))
|
||||||
{
|
{
|
||||||
$ticket = TicketRepository::getTicketForId($_GET['id'], $hesk_settings);
|
$ticket = TicketRepository::getTicketForId($_GET['id'], $hesk_settings);
|
||||||
echo json_encode($ticket);
|
echo json_encode($ticket);
|
||||||
}
|
}
|
||||||
elseif (isset($_GET['trackingid']))
|
|
||||||
{
|
|
||||||
$ticket = TicketRepository::getTicketForTrackingId($_GET['trackingid'], $hesk_settings);
|
|
||||||
echo json_encode($ticket);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
header(http_response_code(400));
|
header(http_response_code(400));
|
Loading…
x
Reference in New Issue
Block a user