public function authenticate(Request $request) { // \Cache::flush(); // grab credentials from the request $credentials = $request->only('name', 'password'); try { // attempt to verify the credentials and create a token for the user if (!($token = JWTAuth::attempt($credentials))) { return response()->json(['message' => 'invalid_credentials'], 401); } } catch (JWTException $e) { // something went wrong whilst attempting to encode the token return response()->json(['message' => 'could_not_create_token'], 500); } //cek double login $token = compact('token'); Input::merge(['token' => $token['token']]); $this->model = $this->model->where('name', $credentials['name'])->first(); if ($request->get('name') != 'admin') { //user is login $tempStorage = app('\\App\\Http\\Controllers\\TEMPStorage\\UserTempStorage'); if (!empty($tempStorage->get('id_company', $this->model->id))) { return response()->json(['message' => trans('user_already_login')], 500); } } // all good so return the token $this->model->update(['login' => 1]); $data = json_decode($this->item($this->model, $this->transformer)->morph()->getContent(), true) + $token; return $this->response->array($data)->withHeader('Content-Type', 'application/json'); // return response()->json(compact('token')); }
/** * [fungsi untuk memanggil/consume api] * @param [alamat route] * @param [method] * @return [return] */ public function call($route, $method, $credential) { if (Session::has('token')) { Request::merge(['token' => Session::get('token')]); } $url = url('/'); $body = Request::all(); $options = ['params' => $body]; try { $client = new \GuzzleHttp\Client(); $response = $client->request($method, $url . $route, ['form_params' => Request::all(), 'query' => Request::all(), 'headers' => ['credential' => $credential]]); $headers = $response->getHeaders(); $withToken = []; if (isset($headers['Authorization']['0'])) { $newToken = str_replace('Bearer ', '', $headers['Authorization']['0']); Session::put('token', $newToken); $withToken = ['newToken' => $newToken]; } $content = $response->getBody(); $content = json_decode((new Response($content))->getContent(), true); $status = $response->getStatusCode(); $result = ['content' => $content, 'status' => $status] + $withToken; Logs::Logging($url . $route, $method, Request::all(), $result); return $result; // return (new Response($content, $status))->header('Content-Type', 'application/json'); } catch (\GuzzleHttp\Exception\RequestException $e) { $content = $e->getResponse()->getBody(); $content = json_decode((new Response($content))->getContent(), true); $status = $e->getResponse()->getStatusCode(); $result = ['content' => $content, 'status' => $status]; Logs::Logging($url . $route, $method, Request::all(), $result); return $result; } }
public function updateToitem($data) { if (Request::has('detail')) { if (isset(Request::get('detail')['id_detail'])) { Request::merge(Request::get('detail')); $soItem = new $this->detailClass(); $soItem->putUpdate(Request::get('detail')['id_detail']); } } }
/** * @param \Illuminate\Database\Query\Builder $query * @param array|null $defaultSortParameters * * @return \Illuminate\Database\Query\Builder */ public function scopeSortable($query, $defaultSortParameters = null) { if (Request::has('sort') && Request::has('order')) { return $this->queryOrderBuilder($query, Request::only(['sort', 'order'])); } elseif (!is_null($defaultSortParameters)) { $defaultSortArray = $this->formatToSortParameters($defaultSortParameters); if (Config::get('columnsortable.allow_request_modification', true) && !empty($defaultSortArray)) { Request::merge($defaultSortArray); } return $this->queryOrderBuilder($query, $defaultSortArray); } else { return $query; } }
protected function filtersMapping() { if (Request::has('searchText') && Request::has('searchCol')) { if (strtolower(Request::get('searchCol')) == 'login') { if (strtolower(Request::get('searchText')) == 'online') { Request::merge(['searchText' => '1']); } else { if (strtolower(Request::get('searchText')) == 'offline') { Request::merge(['searchText' => '0']); } } } } }
protected function filtersMapping() { if (Request::has('searchText') && Request::has('searchCol')) { if (strtolower(Request::get('searchCol')) == 'status') { if (strtolower(Request::get('searchText')) == 'confirm') { Request::merge(['searchText' => '1']); } else { if (strtolower(Request::get('searchText')) == 'open') { Request::merge(['searchText' => '0']); } else { if (strtolower(Request::get('searchText')) == 'void') { Request::merge(['searchText' => '2']); } } } } } }
/** * [postKonversi description] * @return view konversi form */ public function putKonversi() { if (!Request::has('id_unit')) { Request::merge(['id_unit' => '0']); } $response = $this->call('/api/' . $this->url . '/' . Request::get('id'), 'put'); if ($response['status'] == 201) { $data = !empty($response['content']['data']) ? $response['content']['data'] : ''; } else { $data = Request::all(); } $data = ['data' => $data, 'label' => $this->label, 'url' => $this->url, 'view' => $this->view]; if (method_exists($this, 'formApi')) { $data += $this->formApi(); } $this->setflashSuccess($response); return redirect('/master/items/konversi/' . Request::get('id')); }
/** * get index * * @param array $data * @return \Illuminate\Contracts\Validation\Validator */ public function getIndex() { // set default limit if (Request::has('length')) { $this->length = Request::get('length'); } else { if (Session::has('length')) { $this->length = Session::get('length'); } else { $this->length = 10; } } Session::put('length', $this->length); Request::merge(['limit' => $this->length]); $response = $this->call('/api/' . $this->url, 'get'); // echo \DNS1D::getBarcodeSVG("4445645656", "PHARMA2T");die(); // return \PDF::loadFile('http://www.github.com')->stream('github.pdf'); return view('web.' . $this->view . '.index', ['data' => !empty($response['content']['data']) ? $response['content']['data'] : '', 'label' => $this->label, 'url' => $this->url, 'view' => $this->view, 'menuPermission' => Session::get('rolePermission')['/' . $this->url][0], 'length' => !empty($response['content']['meta']['pagination']['per_page']) ? $response['content']['meta']['pagination']['per_page'] : ''])->with(['paginated' => $this->paginate($response['content'])]); }
/** * Store a new data in the database. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function postStore() { if (!$this->apiHelper) { $this->authorize('add'); } DB::beginTransaction(); if (method_exists($this, 'beforeStore')) { $this->beforeStore(); } $v = Validator::make(Input::all(), $this->postStoreRules); if ($v->fails()) { throw new \Dingo\Api\Exception\StoreResourceFailedException(trans('response.unprocessable'), $v->errors()); } //set dynamic transformer if (!empty($this->transformerStore)) { $this->transformer = new $this->transformerStore(); } if ($this->apiCompany) { if (empty($this->tempStorage)) { $this->invalidateToken(); throw $this->response->errorNotFound(trans('response.no_company_chosen')); } Input::merge(['id_company' => $this->tempStorage->get('id_company')]); } if ($data = $this->model->create(Input::all())) { if (method_exists($this, 'afterStore')) { $this->afterStore($data); } DB::commit(); return $this->response->created()->setContent($this->item($data, $this->transformer)->morph()->getContent())->withHeader('Content-Type', 'application/json'); } else { DB::rollback(); throw $this->response->error(trans('response.save_failed'), 404); } }
/** * Convert an attribute value to current user IP address (e.g: 127.0.0.1) * * @param string $attribute * @param mixed $value * @return bool */ protected function validateCurrentIp($attribute, $value) { Request::merge([$attribute => (string) _current_ip()]); return true; }