diff --git a/app/Http/Controllers/UserToProyekController.php b/app/Http/Controllers/UserToProyekController.php index 25cb2ce..fecdfec 100644 --- a/app/Http/Controllers/UserToProyekController.php +++ b/app/Http/Controllers/UserToProyekController.php @@ -59,8 +59,8 @@ class UserToProyekController extends Controller return response()->json(['status'=>'failed','message'=>'data assign hr to proyek not found!','code'=>400], 400); die(); } - - + + if($result){ return response()->json(['status'=>'success','message'=>'data assign hr to proyek successfully updated!','code'=>200], 200); }else{ @@ -82,7 +82,7 @@ class UserToProyekController extends Controller return response()->json(['status'=>'failed','message'=>'data assign hr to proyek not found!','code'=>400], 400); die(); } - + if($delete){ return response()->json(['status'=>'success','message'=>'data assign hr to proyek successfully deleted!','code'=>200], 200); @@ -166,4 +166,49 @@ class UserToProyekController extends Controller return response()->json($data); } + + private function curlReq($url, $token){ + $ch = curl_init(); + $headers = [ + 'Authorization: '.$token + ]; + curl_setopt($ch, CURLOPT_URL, $url); + curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + + $response = curl_exec($ch); + if ($response === false) + $response = curl_error($ch); + curl_close($ch); + + return json_decode($response); + } + + public function getEmployeeIntegration(Request $request) { + $search = urlencode($request->name); + if(empty($search)) + return response()->json(['status'=>'error', 'message'=>'Empty query string!'], 400); + $url = str_replace("SEARCH", $search, config('api.adw').'/employees?emp_name=SEARCH'); + $token = config('api.adw_token'); + $firstResponse = $this->curlReq($url, $token); + + if($firstResponse->total == 0) + return response()->json(['status'=>'error', 'message' => 'Data not found!', 'code'=>404], 404); + + $data = $firstResponse->data; + return response()->json([$data]); + $currentPage = 1; + + if($firstResponse->last_page > 0) { + do { + $currentPage++; + $response = $this->curlReq($url.'&page='.$currentPage, $token); + foreach($response->data as $d){ + array_push($data, $d); + } + } while ($currentPage < $firstResponse->last_page); + } + + return response()->json(['status'=>'success', 'data'=> $data, 'total' => count($data), 'code'=>200], 200); + } } diff --git a/routes/web.php b/routes/web.php index 92113f4..16d4786 100644 --- a/routes/web.php +++ b/routes/web.php @@ -359,6 +359,7 @@ $router->group(['prefix'=>'api', 'middleware' => 'cors'], function () use ($rout $router->delete('/user-to-proyek/delete/{id}', 'UserToProyekController@delete'); $router->get('/user-to-proyek/list', 'UserToProyekController@list'); $router->get('/user-to-proyek/select', 'UserToProyekController@select'); + $router->get('/user-to-proyek/get-employee-integration', 'UserToProyekController@getEmployeeIntegration'); $router->post('/folder-document-proyek/add', 'FolderDocumentProyekController@add'); $router->get('/folder-document-proyek/edit/{id}', 'FolderDocumentProyekController@edit');