Advertisement
fahmihilmansyah

contact.router.php

Jul 13th, 2018
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.79 KB | None | 0 0
  1. <?php
  2. // use lib\Logic;
  3. use Slim\Http\Request;
  4. use Slim\Http\Response;
  5. use Firebase\JWT\JWT;
  6. use Tuupola\Base62;
  7. use Rakit\Validation\Validator;
  8. use PDO\PDOException;
  9.  
  10. $app->get('/contact',  function ($request, $response, $args) use ($app)
  11. {          
  12.     try {
  13.  
  14.         $model  = new Model\Contact();
  15.         $data   = $model->getContact($this->jwt->user);
  16.        
  17.         if(!empty($data)){
  18.             $status = 'success';
  19.             $message = 'data ditemukan';       
  20.         }else{
  21.             $status = 'failed';
  22.             $message = 'data tidak ditemukan';
  23.         }
  24.  
  25.         $result = array('status' => $status, 'message' => $message, 'data' => $data);
  26.         return $response->withStatus(200)
  27.         ->withHeader("Content-Type", "application/json")
  28.         ->write(json_encode($result, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));
  29.  
  30.     } catch (PDOException $e) {    
  31.         $app->response()->status(400);
  32.         $app->response()->header('X-Status-Reason', $e->getMessage());
  33.     }
  34.    
  35. });
  36.  
  37. $app->put('/contact',  function ($request, $response, $args) use ($app)
  38. {          
  39.     try {
  40.         $validator = new Validator();
  41.  
  42.         $validation = $validator->validate(!empty($request->getParams()) ? $request->getParams() : [], [
  43.             'id'    => 'required'
  44.         ]);
  45.  
  46.         if ($validation->fails()) {
  47.  
  48.             $result = array(
  49.                 'status' => 'failed' ,
  50.                 'message'=> $validation->errors()->firstOfAll()
  51.             );
  52.  
  53.         }else{
  54.             $model  = new Model\Contact();
  55.             $result = $model->updateContact($request);
  56.         }
  57.  
  58.         return $response->withStatus(200)
  59.         ->withHeader("Content-Type", "application/json")
  60.         ->write(json_encode($result, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));
  61.  
  62.     } catch (PDOException $e) {    
  63.         $app->response()->status(400);
  64.         $app->response()->header('X-Status-Reason', $e->getMessage());
  65.     }
  66.    
  67. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement