This commit is contained in:
Manish Verma
2016-12-13 18:18:25 +05:30
parent fc98add11c
commit 2d8e640e9b
2314 changed files with 97798 additions and 75664 deletions

View File

@@ -2,10 +2,9 @@
namespace App\Http\Controllers\Api\v1;
use App\Http\Controllers\Agent\helpdesk\TicketController as CoreTicketController;
use App\Http\Controllers\Controller;
//use Illuminate\Support\Facades\Request as Value;
use App\Http\Requests\helpdesk\TicketRequest;
//use Illuminate\Support\Facades\Request as Value;
use App\Model\helpdesk\Agent\Department;
use App\Model\helpdesk\Agent\Teams;
use App\Model\helpdesk\Manage\Help_topic;
@@ -21,6 +20,7 @@ use Exception;
use Illuminate\Http\Request;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Support\Collection;
use App\Http\Controllers\Agent\helpdesk\TicketController as CoreTicketController;
/**
* -----------------------------------------------------------------------------
@@ -34,8 +34,8 @@ use Illuminate\Support\Collection;
*
* @version v1
*/
class ApiController extends Controller
{
class ApiController extends Controller {
public $user;
public $request;
public $ticket;
@@ -55,8 +55,7 @@ class ApiController extends Controller
/**
* @param Request $request
*/
public function __construct(Request $request)
{
public function __construct(Request $request) {
$this->request = $request;
$this->middleware('jwt.auth');
@@ -65,7 +64,9 @@ class ApiController extends Controller
$user = \JWTAuth::parseToken()->authenticate();
$this->user = $user;
} catch (\Tymon\JWTAuth\Exceptions\TokenExpiredException $e) {
} catch (\Tymon\JWTAuth\Exceptions\JWTException $e) {
}
$ticket = new TicketController();
@@ -120,8 +121,7 @@ class ApiController extends Controller
*
* @return json
*/
public function createTicket(\App\Http\Requests\helpdesk\CreateTicketRequest $request, \App\Model\helpdesk\Utility\CountryCode $code)
{
public function createTicket(\App\Http\Requests\helpdesk\CreateTicketRequest $request, \App\Model\helpdesk\Utility\CountryCode $code) {
try {
$user_id = $this->request->input('user_id');
@@ -148,7 +148,7 @@ class ApiController extends Controller
$PhpMailController = new \App\Http\Controllers\Common\PhpMailController();
$NotificationController = new \App\Http\Controllers\Common\NotificationController();
$core = new CoreTicketController($PhpMailController, $NotificationController);
$response = $core->post_newticket($request, $code, true);
$response = $core->post_newticket($request, $code,true);
//$response = $this->ticket->createTicket($user_id, $subject, $body, $helptopic, $sla, $priority, $source, $headers, $dept, $assignto, $form_data, $attach);
//return $response;
/*
@@ -179,12 +179,11 @@ class ApiController extends Controller
*
* @return json
*/
public function ticketReply()
{
public function ticketReply() {
//dd($this->request->all());
try {
$v = \Validator::make($this->request->all(), [
'ticket_ID' => 'required|exists:tickets,id',
'ticket_ID' => 'required|exists:tickets,id',
'reply_content' => 'required',
]);
if ($v->fails()) {
@@ -194,7 +193,9 @@ class ApiController extends Controller
}
$attach = $this->request->input('attachments');
$result = $this->ticket->reply($this->thread, $this->request, $this->attach, $attach);
$result = $result->join('users','ticket_thread.user_id','=','users.id')
->select('ticket_thread.*','users.first_name as first_name')
->first();
return response()->json(compact('result'));
} catch (\Exception $e) {
$error = $e->getMessage();
@@ -214,15 +215,14 @@ class ApiController extends Controller
*
* @return json
*/
public function editTicket()
{
public function editTicket() {
try {
$v = \Validator::make($this->request->all(), [
'ticket_id' => 'required|exists:tickets,id',
'subject' => 'required',
'sla_plan' => 'required|exists:sla_plan,id',
'help_topic' => 'required|exists:help_topic,id',
'ticket_source' => 'required|exists:ticket_source,id',
'ticket_id' => 'required|exists:tickets,id',
'subject' => 'required',
'sla_plan' => 'required|exists:sla_plan,id',
'help_topic' => 'required|exists:help_topic,id',
'ticket_source' => 'required|exists:ticket_source,id',
'ticket_priority' => 'required|exists:ticket_priority,priority_id',
]);
if ($v->fails()) {
@@ -252,8 +252,7 @@ class ApiController extends Controller
*
* @return json
*/
public function deleteTicket()
{
public function deleteTicket() {
try {
$v = \Validator::make($this->request->all(), [
'ticket_id' => 'required|exists:tickets,id',
@@ -286,16 +285,15 @@ class ApiController extends Controller
*
* @return json
*/
public function openedTickets()
{
public function openedTickets() {
try {
// $result = $this->model->where('status', '=', 1)->where('isanswered', '=', 0)->where('assigned_to', '=', null)->orderBy('id', 'DESC')->get();
// return response()->json(compact('result'));
$result = $this->user->join('tickets', function ($join) {
$join->on('users.id', '=', 'tickets.user_id')
$join->on('users.id', '=', 'tickets.user_id')
->where('isanswered', '=', 0)->where('status', '=', 1)->whereNull('assigned_to');
})
})
->join('department', 'department.id', '=', 'tickets.dept_id')
->join('ticket_priority', 'ticket_priority.priority_id', '=', 'tickets.priority_id')
->join('sla_plan', 'sla_plan.id', '=', 'tickets.sla')
@@ -331,17 +329,16 @@ class ApiController extends Controller
*
* @return json
*/
public function unassignedTickets()
{
public function unassignedTickets() {
try {
//dd('sdhjbc');
// $result = $this->model->where('assigned_to', '=', null)->where('status', '1')->orderBy('id', 'DESC')->get();
// return response()->json(compact('result'));
$user = \JWTAuth::parseToken()->authenticate();
$unassigned = $this->user->join('tickets', function ($join) {
$join->on('users.id', '=', 'tickets.user_id')
$join->on('users.id', '=', 'tickets.user_id')
->whereNull('assigned_to')->where('status', '=', 1);
})
})
->join('department', 'department.id', '=', 'tickets.dept_id')
->join('ticket_priority', 'ticket_priority.priority_id', '=', 'tickets.priority_id')
->join('sla_plan', 'sla_plan.id', '=', 'tickets.sla')
@@ -352,7 +349,7 @@ class ApiController extends Controller
->whereNotNull('title');
})
->select(\DB::raw('max(ticket_thread.updated_at) as updated_at'), 'user_name', 'first_name', 'last_name', 'email', 'profile_pic', 'ticket_number', 'tickets.id', 'title', 'tickets.created_at', 'department.name as department_name', 'ticket_priority.priority as priotity_name', 'sla_plan.name as sla_plan_name', 'help_topic.topic as help_topic_name', 'ticket_status.name as ticket_status_name')
->where(function ($query) use ($user) {
->where(function($query) use($user) {
if ($user->role != 'admin') {
$query->where('tickets.dept_id', '=', $user->primary_dpt);
}
@@ -382,16 +379,15 @@ class ApiController extends Controller
*
* @return json
*/
public function closeTickets()
{
public function closeTickets() {
try {
// $result = $this->model->where('status', '>', 1)->where('status', '<', 4)->orderBy('id', 'DESC')->get();
// return response()->json(compact('result'));
$user = \JWTAuth::parseToken()->authenticate();
$result = $this->user->join('tickets', function ($join) {
$join->on('users.id', '=', 'tickets.user_id')
$join->on('users.id', '=', 'tickets.user_id')
->where('status', '=', 3)->orWhere('status', '=', 2);
})
})
->join('department', 'department.id', '=', 'tickets.dept_id')
->join('ticket_priority', 'ticket_priority.priority_id', '=', 'tickets.priority_id')
->join('sla_plan', 'sla_plan.id', '=', 'tickets.sla')
@@ -402,7 +398,7 @@ class ApiController extends Controller
->whereNotNull('title');
})
->select(\DB::raw('max(ticket_thread.updated_at) as updated_at'), 'user_name', 'first_name', 'last_name', 'email', 'profile_pic', 'ticket_number', 'tickets.id', 'title', 'tickets.created_at', 'department.name as department_name', 'ticket_priority.priority as priotity_name', 'sla_plan.name as sla_plan_name', 'help_topic.topic as help_topic_name', 'ticket_status.name as ticket_status_name')
->where(function ($query) use ($user) {
->where(function($query) use($user) {
if ($user->role != 'admin') {
$query->where('tickets.dept_id', '=', $user->primary_dpt);
}
@@ -432,8 +428,7 @@ class ApiController extends Controller
*
* @return json
*/
public function getAgents()
{
public function getAgents() {
try {
$result = $this->faveoUser->where('role', 'agent')->orWhere('role', 'admin')->where('active', 1)->get();
@@ -456,8 +451,7 @@ class ApiController extends Controller
*
* @return json
*/
public function getTeams()
{
public function getTeams() {
try {
$result = $this->team->get();
@@ -480,12 +474,11 @@ class ApiController extends Controller
*
* @return json
*/
public function assignTicket()
{
public function assignTicket() {
try {
$v = \Validator::make($this->request->all(), [
'ticket_id' => 'required',
'user' => 'required',
'user' => 'required',
]);
if ($v->fails()) {
$error = $v->errors();
@@ -519,8 +512,7 @@ class ApiController extends Controller
*
* @return json
*/
public function getCustomers()
{
public function getCustomers() {
try {
$v = \Validator::make($this->request->all(), [
'search' => 'required',
@@ -531,7 +523,7 @@ class ApiController extends Controller
return response()->json(compact('error'));
}
$search = $this->request->input('search');
$result = $this->faveoUser->where('first_name', 'like', '%'.$search.'%')->orWhere('last_name', 'like', '%'.$search.'%')->orWhere('user_name', 'like', '%'.$search.'%')->orWhere('email', 'like', '%'.$search.'%')->get();
$result = $this->faveoUser->where('first_name', 'like', '%' . $search . '%')->orWhere('last_name', 'like', '%' . $search . '%')->orWhere('user_name', 'like', '%' . $search . '%')->orWhere('email', 'like', '%' . $search . '%')->get();
return response()->json(compact('result'))
->header('X-Header-One', 'Header Value');
@@ -554,8 +546,7 @@ class ApiController extends Controller
*
* @return json
*/
public function getCustomersWith()
{
public function getCustomersWith() {
try {
$users = $this->user
->leftJoin('user_assign_organization', 'user_assign_organization.user_id', '=', 'users.id')
@@ -586,8 +577,7 @@ class ApiController extends Controller
*
* @return json
*/
public function getCustomer()
{
public function getCustomer() {
try {
$v = \Validator::make($this->request->all(), [
'user_id' => 'required',
@@ -619,8 +609,7 @@ class ApiController extends Controller
*
* @return json
*/
public function searchTicket()
{
public function searchTicket() {
try {
$v = \Validator::make($this->request->all(), [
'search' => 'required',
@@ -631,7 +620,7 @@ class ApiController extends Controller
return response()->json(compact('error'));
}
$search = $this->request->input('search');
$result = $this->thread->select('ticket_id')->where('title', 'like', '%'.$search.'%')->orWhere('body', 'like', '%'.$search.'%')->get();
$result = $this->thread->select('ticket_id')->where('title', 'like', '%' . $search . '%')->orWhere('body', 'like', '%' . $search . '%')->get();
return response()->json(compact('result'));
} catch (Exception $e) {
@@ -652,8 +641,7 @@ class ApiController extends Controller
*
* @return json
*/
public function ticketThreads()
{
public function ticketThreads() {
try {
$v = \Validator::make($this->request->all(), [
'id' => 'required',
@@ -690,8 +678,7 @@ class ApiController extends Controller
*
* @return json
*/
public function checkUrl()
{
public function checkUrl() {
//dd($this->request);
try {
$v = \Validator::make($this->request->all(), [
@@ -708,7 +695,7 @@ class ApiController extends Controller
$url = str_finish($url, '/');
}
$url = $url.'/api/v1/helpdesk/check-url?api_key='.$this->request->input('api_key').'&token='.\Config::get('app.token');
$url = $url . '/api/v1/helpdesk/check-url?api_key=' . $this->request->input('api_key') . '&token=' . \Config::get('app.token');
$result = $this->CallGetApi($url);
//dd($result);
return response()->json(compact('result'));
@@ -728,8 +715,7 @@ class ApiController extends Controller
*
* @return string
*/
public function urlResult()
{
public function urlResult() {
return 'success';
}
@@ -740,8 +726,7 @@ class ApiController extends Controller
*
* @return type int|string|json
*/
public function callGetApi($url)
{
public function callGetApi($url) {
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_URL, $url);
@@ -750,7 +735,7 @@ class ApiController extends Controller
$response = curl_exec($curl);
if (curl_errno($curl)) {
echo 'error:'.curl_error($curl);
echo 'error:' . curl_error($curl);
}
return $response;
@@ -765,8 +750,7 @@ class ApiController extends Controller
*
* @return type int|string|json
*/
public function callPostApi($url, $data)
{
public function callPostApi($url, $data) {
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_URL, $url);
@@ -776,7 +760,7 @@ class ApiController extends Controller
$response = curl_exec($curl);
if (curl_errno($curl)) {
echo 'error:'.curl_error($curl);
echo 'error:' . curl_error($curl);
}
return $response;
@@ -788,8 +772,7 @@ class ApiController extends Controller
*
* @return type | json
*/
public function generateApiKey()
{
public function generateApiKey() {
try {
$set = $this->setting->where('id', '1')->first();
//dd($set);
@@ -823,8 +806,7 @@ class ApiController extends Controller
*
* @return json
*/
public function getHelpTopic()
{
public function getHelpTopic() {
try {
$result = $this->helptopic->get();
@@ -847,8 +829,7 @@ class ApiController extends Controller
*
* @return json
*/
public function getSlaPlan()
{
public function getSlaPlan() {
try {
$result = $this->slaPlan->get();
@@ -871,8 +852,7 @@ class ApiController extends Controller
*
* @return json
*/
public function getPriority()
{
public function getPriority() {
try {
$result = $this->priority->get();
@@ -895,8 +875,7 @@ class ApiController extends Controller
*
* @return json
*/
public function getDepartment()
{
public function getDepartment() {
try {
$result = $this->department->get();
@@ -919,8 +898,7 @@ class ApiController extends Controller
*
* @return type json
*/
public function getTickets()
{
public function getTickets() {
try {
$tickets = $this->model->orderBy('created_at', 'desc')->paginate(10);
$tickets->toJson();
@@ -944,14 +922,13 @@ class ApiController extends Controller
*
* @return type json
*/
public function inbox()
{
public function inbox() {
try {
$user = \JWTAuth::parseToken()->authenticate();
$inbox = $this->user->join('tickets', function ($join) {
$join->on('users.id', '=', 'tickets.user_id')
$join->on('users.id', '=', 'tickets.user_id')
->where('status', '=', 1);
})
})
->join('department', 'department.id', '=', 'tickets.dept_id')
->join('ticket_priority', 'ticket_priority.priority_id', '=', 'tickets.priority_id')
->join('sla_plan', 'sla_plan.id', '=', 'tickets.sla')
@@ -962,7 +939,7 @@ class ApiController extends Controller
->whereNotNull('ticket_thread.title');
})
->select(\DB::raw('max(ticket_thread.updated_at) as updated_at'), 'user_name', 'first_name', 'last_name', 'email', 'profile_pic', 'ticket_number', 'tickets.id', 'ticket_thread.title', 'tickets.created_at', 'department.name as department_name', 'ticket_priority.priority as priotity_name', 'sla_plan.name as sla_plan_name', 'help_topic.topic as help_topic_name', 'ticket_status.name as ticket_status_name', 'department.id as department_id', 'users.primary_dpt as user_dpt')
->where(function ($query) use ($user) {
->where(function($query) use($user) {
if ($user->role != 'admin') {
$query->where('tickets.dept_id', '=', $user->primary_dpt);
}
@@ -972,7 +949,6 @@ class ApiController extends Controller
->distinct()
->paginate(10)
->toJson();
return $inbox;
} catch (\Exception $ex) {
$error = $ex->getMessage();
@@ -992,13 +968,12 @@ class ApiController extends Controller
*
* @return type json
*/
public function internalNote()
{
public function internalNote() {
try {
$v = \Validator::make($this->request->all(), [
'userid' => 'required|exists:users,id',
'userid' => 'required|exists:users,id',
'ticketid' => 'required|exists:tickets,id',
'body' => 'required',
'body' => 'required',
]);
if ($v->fails()) {
$error = $v->errors();
@@ -1025,14 +1000,13 @@ class ApiController extends Controller
}
}
public function getTrash()
{
public function getTrash() {
try {
$user = \JWTAuth::parseToken()->authenticate();
$trash = $this->user->join('tickets', function ($join) {
$join->on('users.id', '=', 'tickets.user_id')
$join->on('users.id', '=', 'tickets.user_id')
->where('status', '=', 5);
})
})
->join('department', 'department.id', '=', 'tickets.dept_id')
->join('ticket_priority', 'ticket_priority.priority_id', '=', 'tickets.priority_id')
->join('sla_plan', 'sla_plan.id', '=', 'tickets.sla')
@@ -1043,7 +1017,7 @@ class ApiController extends Controller
->whereNotNull('title');
})
->select(\DB::raw('max(ticket_thread.updated_at) as updated_at'), 'user_name', 'first_name', 'last_name', 'email', 'profile_pic', 'ticket_number', 'tickets.id', 'title', 'tickets.created_at', 'department.name as department_name', 'ticket_priority.priority as priotity_name', 'sla_plan.name as sla_plan_name', 'help_topic.topic as help_topic_name', 'ticket_status.name as ticket_status_name')
->where(function ($query) use ($user) {
->where(function($query) use($user) {
if ($user->role != 'admin') {
$query->where('tickets.dept_id', '=', $user->primary_dpt);
}
@@ -1068,8 +1042,7 @@ class ApiController extends Controller
}
}
public function getMyTicketsAgent()
{
public function getMyTicketsAgent() {
try {
$v = \Validator::make($this->request->all(), [
'user_id' => 'required|exists:users,id',
@@ -1087,10 +1060,10 @@ class ApiController extends Controller
}
//$user = \JWTAuth::parseToken()->authenticate();
$result = $this->user->join('tickets', function ($join) use ($id) {
$join->on('users.id', '=', 'tickets.assigned_to')
$join->on('users.id', '=', 'tickets.assigned_to')
->where('status', '=', 1);
//->where('user_id', '=', $id);
})
})
->join('department', 'department.id', '=', 'tickets.dept_id')
->join('ticket_priority', 'ticket_priority.priority_id', '=', 'tickets.priority_id')
->join('sla_plan', 'sla_plan.id', '=', 'tickets.sla')
@@ -1127,8 +1100,7 @@ class ApiController extends Controller
}
}
public function getMyTicketsUser()
{
public function getMyTicketsUser() {
try {
$v = \Validator::make($this->request->all(), [
'user_id' => 'required|exists:users,id',
@@ -1145,9 +1117,9 @@ class ApiController extends Controller
return response()->json(compact('error'));
}
$result = $this->user->join('tickets', function ($join) use ($id) {
$join->on('users.id', '=', 'tickets.user_id')
$join->on('users.id', '=', 'tickets.user_id')
->where('user_id', '=', $id);
})
})
->join('department', 'department.id', '=', 'tickets.dept_id')
->join('ticket_priority', 'ticket_priority.priority_id', '=', 'tickets.priority_id')
->join('sla_plan', 'sla_plan.id', '=', 'tickets.sla')
@@ -1179,8 +1151,7 @@ class ApiController extends Controller
}
}
public function getTicketById()
{
public function getTicketById() {
try {
$v = \Validator::make($this->request->all(), [
'id' => 'required|exists:tickets,id',
@@ -1192,7 +1163,7 @@ class ApiController extends Controller
}
$id = $this->request->input('id');
if (!$this->model->where('id', $id)->first()) {
$error = 'There is no Ticket as ticket id: '.$id;
$error = 'There is no Ticket as ticket id: ' . $id;
return response()->json(compact('error'));
}
@@ -1200,10 +1171,45 @@ class ApiController extends Controller
$join->on('users.id', '=', 'tickets.user_id')
->where('tickets.id', '=', $id);
});
$response = $this->differenciateHelpTopic($query);
$response = $this->differenciateHelpTopic($query)
->leftJoin('department','tickets.dept_id','=',"department.id")
->leftJoin('ticket_priority','tickets.priority_id','=','ticket_priority.priority_id')
->leftJoin('ticket_status','tickets.status','=','ticket_status.id')
->leftJoin('sla_plan','tickets.sla','=','sla_plan.id')
->leftJoin('ticket_source','tickets.source','=','ticket_source.id');
//$select = 'users.email','users.user_name','users.first_name','users.last_name','tickets.id','ticket_number','num_sequence','user_id','priority_id','sla','max_open_ticket','captcha','status','lock_by','lock_at','source','isoverdue','reopened','isanswered','is_deleted', 'closed','is_transfer','transfer_at','reopened_at','duedate','closed_at','last_message_at';
$result = $response->addSelect('users.email', 'users.user_name', 'users.first_name', 'users.last_name', 'tickets.id', 'ticket_number', 'user_id', 'priority_id', 'sla', 'status', 'lock_by', 'lock_at', 'source', 'isoverdue', 'reopened', 'isanswered', 'is_deleted', 'closed', 'reopened_at', 'duedate', 'closed_at', 'tickets.created_at', 'tickets.updated_at')->first();
$result = $response->addSelect(
'users.email',
'users.user_name',
'users.first_name',
'users.last_name',
'tickets.id',
'ticket_number',
'user_id',
'ticket_priority.priority_id',
'ticket_priority.priority as priority_name',
'department.name as dept_name',
'ticket_status.name as status_name',
'sla_plan.name as sla_name',
'ticket_source.name as source_name',
'sla_plan.id as sla',
'ticket_status.id as status',
'lock_by',
'lock_at',
'ticket_source.id as source',
'isoverdue',
'reopened',
'isanswered',
'is_deleted',
'closed',
'reopened_at',
'duedate',
'closed_at',
'tickets.created_at',
'tickets.updated_at')->first();
return response()->json(compact('result'));
} catch (\Exception $e) {
@@ -1219,8 +1225,7 @@ class ApiController extends Controller
}
}
public function createPagination($array, $perPage)
{
public function createPagination($array, $perPage) {
try {
//Get current page form url e.g. &page=6
$currentPage = LengthAwarePaginator::resolveCurrentPage();
@@ -1248,8 +1253,7 @@ class ApiController extends Controller
}
}
public function collaboratorSearch()
{
public function collaboratorSearch() {
$this->validate($this->request, ['term' => 'required']);
try {
$emails = $this->ticket->autosearch();
@@ -1259,7 +1263,7 @@ class ApiController extends Controller
foreach ($emails as $key => $email) {
$user_model = $user->where('email', $email)->first();
//return $user_model;
$users[$key]['name'] = $user_model->first_name.' '.$user_model->last_name;
$users[$key]['name'] = $user_model->first_name . ' ' . $user_model->last_name;
$users[$key]['email'] = $email;
$users[$key]['avatar'] = $this->avatarUrl($email);
}
@@ -1276,13 +1280,12 @@ class ApiController extends Controller
}
}
public function avatarUrl($email)
{
public function avatarUrl($email) {
try {
$user = new User();
$user = $user->where('email', $email)->first();
if ($user->profile_pic) {
$url = url('uploads/profilepic/'.$user->profile_pic);
$url = url('uploads/profilepic/' . $user->profile_pic);
} else {
$url = \Gravatar::src($email);
}
@@ -1294,11 +1297,10 @@ class ApiController extends Controller
}
}
public function addCollaboratorForTicket()
{
public function addCollaboratorForTicket() {
try {
$v = \Validator::make(\Input::get(), [
'email' => 'required|email|unique:users',
'email' => 'required|email|unique:users',
'ticket_id' => 'required',
]
);
@@ -1325,8 +1327,7 @@ class ApiController extends Controller
}
}
public function getCollaboratorForTicket()
{
public function getCollaboratorForTicket() {
try {
$v = \Validator::make(\Input::get(), [
'ticket_id' => 'required',
@@ -1355,12 +1356,11 @@ class ApiController extends Controller
}
}
public function deleteCollaborator()
{
public function deleteCollaborator() {
try {
$v = \Validator::make(\Input::get(), [
'ticketid' => 'required',
'email' => 'required',
'email' => 'required',
]
);
if ($v->fails()) {
@@ -1380,8 +1380,7 @@ class ApiController extends Controller
}
}
public function dependency()
{
public function dependency() {
try {
$department = $this->department->select('name', 'id')->get()->toArray();
$sla = $this->slaPlan->select('name', 'id')->get()->toArray();
@@ -1392,7 +1391,7 @@ class ApiController extends Controller
$status = \DB::table('ticket_status')->select('name', 'id')->get();
$source = \DB::table('ticket_source')->select('name', 'id')->get();
$result = ['departments' => $department, 'sla' => $sla, 'staffs' => $staff, 'teams' => $team,
'priorities' => $priority, 'helptopics' => $helptopic, 'status' => $status, 'sources' => $source, ];
'priorities' => $priority, 'helptopics' => $helptopic, 'status' => $status, 'sources' => $source,];
return response()->json(compact('result'));
} catch (\Exception $e) {
@@ -1404,8 +1403,7 @@ class ApiController extends Controller
}
}
public function differenciateHelpTopic($query)
{
public function differenciateHelpTopic($query) {
$ticket = $query->first();
$check = 'department';
if ($ticket) {
@@ -1419,16 +1417,16 @@ class ApiController extends Controller
return $query->select('tickets.dept_id');
}
}
return $query;
}
public function getSystem($check, $query)
{
public function getSystem($check, $query) {
switch ($check) {
case 'department':
return $query->select('tickets.dept_id');
case 'helpTopic':
return $query->select('tickets.help_topic_id');
default:
default :
return $query->select('tickets.dept_id');
}
}
@@ -1440,11 +1438,10 @@ class ApiController extends Controller
*
* @return type json
*/
public function register(Request $request)
{
public function register(Request $request) {
try {
$v = \Validator::make($request->all(), [
'email' => 'required|email|unique:users',
'email' => 'required|email|unique:users',
'password' => 'required|min:6',
]);
if ($v->fails()) {
@@ -1458,7 +1455,7 @@ class ApiController extends Controller
$password = \Hash::make($request->input('password'));
$role = $request->input('role');
if ($auth->role == 'agent') {
$role = 'user';
$role = "user";
}
$user = new User();
$user->password = $password;
@@ -1466,7 +1463,6 @@ class ApiController extends Controller
$user->email = $email;
$user->role = $role;
$user->save();
return response()->json(compact('user'));
} catch (\Exception $e) {
$error = $e->getMessage();
@@ -1474,4 +1470,5 @@ class ApiController extends Controller
return response()->json(compact('error'));
}
}
}

View File

@@ -98,7 +98,7 @@ class InstallerApiController extends Controller
$ENV['QUEUE_DRIVER'] = 'sync';
$config = '';
foreach ($ENV as $key => $val) {
$config .= "{$key}={$val}\n";
}

View File

@@ -1,491 +0,0 @@
<?php
namespace App\Http\Controllers\Api\v1;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class TestController extends Controller
{
public $server;
public function __construct()
{
$server = new Request();
$url = $_SERVER['REQUEST_URI'];
$server = parse_url($url);
$server['path'] = dirname($server['path']);
$server = parse_url($server['path']);
$server['path'] = dirname($server['path']);
$this->server = 'http://'.$_SERVER['HTTP_HOST'].$server['path'].'/';
}
public static function callGetApi($url)
{
//dd($url);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
if (curl_errno($curl)) {
echo 'error:'.curl_error($curl);
}
return $response;
curl_close($curl);
}
public static function callPostApi($url, $data)
{
//dd($url);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($curl);
if (curl_errno($curl)) {
echo 'error:'.curl_error($curl);
}
return $response;
curl_close($curl);
}
public function ticketReply()
{
//$file = file_get_contents(base_path() . '/../lb-faveo/Img/Ladybird.png');
$data = [
'ticket_ID' => '1',
'reply_content' => 'reply for the ticket id',
'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
// 'attachments' => [
// [
// 'name' => 'ladybird',
// 'size' => '26398',
// 'type' => 'png',
// 'file' => $file,
// ],
// [
// 'name' => 'ladybird',
// 'size' => '26398',
// 'type' => 'png',
// 'file' => $file,
// ]
// ],
];
$data = http_build_query($data, '', '&');
$url = $this->server.'helpdesk/reply?token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callPostApi($url, $data);
return $respose;
}
public function createTicket()
{
//$file = file_get_contents(base_path() . '/../lb-faveo/Img/Ladybird.png');
$data = [
'user_id' => 1,
'subject' => 'Api create via faveo api',
'body' => 'Test me when call api',
'helptopic' => '1',
'sla' => '1',
'priority' => '1',
'headers' => [0 => 'vijaycodename47@gmail.com'],
'dept' => '1',
'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
/* if attachment */
// 'attachments' => [
// [
// 'name' => 'ladybird',
// 'size' => '26398',
// 'type' => 'png',
// 'file' => $file,
// ],
// [
// 'name' => 'ladybird',
// 'size' => '26398',
// 'type' => 'png',
// 'file' => $file,
// ]
// ],
];
$data = http_build_query($data, '', '&');
$url = $this->server.'helpdesk/create?token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callPostApi($url, $data);
return $respose;
}
public function generateToken()
{
$data = [
//'email'=>'vijaycodename47@gmail.com',
'username' => 'vijay',
'password' => 'manjapra',
'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
];
$data = http_build_query($data, '', '&');
$url = $this->server.'authenticate';
//dd($url);
$_this = new self();
$respose = $_this->callPostApi($url, $data);
return $respose;
}
public function createUser()
{
$data = [
'email' => 'vijaycodename@gmail.com',
'password' => 'manjapra',
'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
];
$data = http_build_query($data, '', '&');
$url = $this->server.'register';
$_this = new self();
$respose = $_this->callPostApi($url, $data);
return $respose;
}
public function getAuthUser()
{
$url = $this->server.'authenticate/user?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
}
public function editTicket()
{
$data = [
'ticket_id' => '13',
'subject' => 'Api editing ticket via faveo api',
'sla_plan' => '2',
'help_topic' => '2',
'ticket_source' => '2',
'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
'ticket_priority' => '2',
];
$data = http_build_query($data, '', '&');
$url = $this->server.'helpdesk/edit?token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callPostApi($url, $data);
return $respose;
}
public function deleteTicket()
{
$data = [
'ticket_id' => [11],
'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
];
$data = http_build_query($data, '', '&');
$url = $this->server.'helpdesk/delete?token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callPostApi($url, $data);
return $respose;
}
public function openedTickets()
{
$url = $this->server.'helpdesk/open?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
}
public function unassignedTickets()
{
//dd('dsdf');
$url = $this->server.'helpdesk/unassigned?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callGetApi($url);
//dd($respose);
return $respose;
}
public function closeTickets()
{
$url = $this->server.'helpdesk/closed?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
}
public function getAgents()
{
$url = $this->server.'helpdesk/agents?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
}
public function getTeams()
{
$url = $this->server.'helpdesk/teams?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
}
public function assignTicket()
{
$data = [
'ticket_id' => 1,
'user' => 'vijay.sebastian@ladybirdweb.com',
'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
];
$data = http_build_query($data, '', '&');
$url = $this->server.'helpdesk/assign?token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callPostApi($url, $data);
return $respose;
}
public function getCustomers()
{
$search = [
'search' => 'vij',
'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
];
$data = http_build_query($search, '', '&');
$url = $this->server.'helpdesk/customers?token='.\Config::get('app.token');
$url = $url.'&'.$data;
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
}
public function getCustomer()
{
$search = [
'user_id' => '1',
'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
];
$data = http_build_query($search, '', '&');
$url = $this->server.'helpdesk/customer?token='.\Config::get('app.token');
$url = $url.'&'.$data;
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
}
public function getSearch()
{
$search = [
'search' => 'api',
'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
];
$data = http_build_query($search, '', '&');
$url = $this->server.'helpdesk/ticket-search?token='.\Config::get('app.token');
$url = $url.'&'.$data;
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
}
public function ticketThreads()
{
$search = [
'id' => '1',
'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
];
$data = http_build_query($search, '', '&');
$url = $this->server.'helpdesk/ticket-thread?token='.\Config::get('app.token');
$url = $url.'&'.$data;
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
}
public function url()
{
$search = [
'url' => 'http://localhost/faveo-helpdesk-github/public/',
'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
];
$data = http_build_query($search, '', '&');
$url = $this->server.'helpdesk/url?token='.\Config::get('app.token');
$url = $url.'&'.$data;
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
}
public function generateApiKey()
{
$url = $this->server.'helpdesk/api_key?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
}
public function getHelpTopic()
{
$url = $this->server.'helpdesk/help-topic?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
}
public function getSlaPlan()
{
$url = $this->server.'helpdesk/sla-plan?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
}
public function getPriority()
{
$url = $this->server.'helpdesk/priority?api_key=clYbe1g7BYVEJznBdvCEBR0xDCLDqKgg&token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
}
public function getDepartment()
{
$url = $this->server.'helpdesk/department?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
}
public function getTickets()
{
$url = $this->server.'helpdesk/tickets?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
}
public function inbox()
{
$url = $this->server.'helpdesk/inbox?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
}
public function internalNote()
{
$data = [
'ticketid' => '1',
'userid' => 1,
'body' => 'Testing the api internal note',
'api_key' => '9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN',
];
$data = http_build_query($data, '', '&');
$url = $this->server.'helpdesk/internal-note?token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callPostApi($url, $data);
return $respose;
}
public function trash()
{
$url = $this->server.'helpdesk/trash?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
}
public function myTickets()
{
try {
$url = $this->server.'helpdesk/my-tickets?user_id=1&api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
} catch (\Exception $e) {
$error = $e->getMessage();
$line = $e->getLine();
$file = $e->getFile();
return response()->json(compact('error', 'file', 'line'));
}
}
public function getTicketById()
{
try {
$url = $this->server.'helpdesk/my-tickets?id=1&api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callGetApi($url);
return $respose;
} catch (\Exception $e) {
$error = $e->getMessage();
$line = $e->getLine();
$file = $e->getFile();
return response()->json(compact('error', 'file', 'line'));
}
}
public function getCustomersWith()
{
try {
//dd($this->server);
$url = $this->server.'helpdesk/customers-custom?api_key=9p41T2XFZ34YRZJUNQAdmM7iV0Rr1CjN&token='.\Config::get('app.token');
$_this = new self();
$respose = $_this->callGetApi($url);
dd($respose);
return $respose;
} catch (\Exception $e) {
$error = $e->getMessage();
$line = $e->getLine();
$file = $e->getFile();
return response()->json(compact('error', 'file', 'line'));
}
}
}

View File

@@ -50,7 +50,7 @@ class TokenAuthController extends Controller
//$credentials = $request->only('email', 'password');
try {
if (!$token = JWTAuth::attempt([$field => $usernameinput, 'password' => $password, 'active' => 1])) {
if (!$token = JWTAuth::attempt([$field => $usernameinput, 'password' => $password,'active'=>1])) {
return response()->json(['error' => 'invalid_credentials', 'status_code' => 401]);
}
} catch (JWTException $e) {