コード例 #1
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update(Request $request)
 {
     // Validate the request...
     $updateAPI = ApiModel::where('uuid', $request->uuid)->update(['server_id' => $request->server_id, 'name' => $request->name, 'type' => $request->type, 'address' => $request->address]);
     return redirect("/apis");
 }
コード例 #2
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     //Perintah untuk melakukan parsing
     $this->info('Sibankum API Parser is Running');
     $this->info('mengambil data API dari database');
     $this->info('=======================');
     $this->info('');
     // Ambil data url address API dari database tabel api
     $apis = ApiModel::all();
     $output = date("Y-m-d H:i:s") . "\n";
     // loop row data api
     foreach ($apis as $api) {
         $url = $api['address'];
         $id = $api['id'];
         $instansi_id = $api->server->instansi_id;
         $output .= $url . "\n";
         $db_last_modified = $api['last_modified'];
         $this->info('');
         $this->info('Memeriksa file API di tujuan');
         // Ambil data last modified dari remote file
         $last_modified = SibankumParser::curl_get_last_modified($url);
         // Tampilkan informasi last modified dari database dan dari remote file
         $output .= "Database Last Modified : " . $db_last_modified . "\n";
         $this->info('');
         $output .= "Remote File Last Modified : " . $last_modified . "\n";
         $this->info('');
         if ($last_modified === "Error") {
             $output .= "Error : unable retrieve remote file information" . "\n";
         } else {
             // Jika http code 200 (OK)
             // Compare antara last modified di database dengan last modified remote file
             if ($db_last_modified === $last_modified) {
                 $output .= "Do Nothing" . "\n";
             } else {
                 // Jika last modified berbeda, ambil data dari remote file lalu simpan di local
                 $contents = SibankumParser::curl_get_data($url);
                 Storage::disk('local')->append('sibankum/temp/api.csv', $contents);
                 // Parsing file csv lokal
                 $csvfile = storage_path() . '\\app\\sibankum\\temp\\api.csv';
                 // hapus dulu data yang didapat dari api lama dari database
                 // $deletedRows = DataModel::where('api_id', '=', $id)->delete();
                 // Populasi table data dengan isi dari manifest api
                 $csv = SibankumParser::importCSV($csvfile, $id, $instansi_id);
                 $output .= $csv . "\n";
                 // Parsing file remote xls
                 //$xlsfile = $url;
                 //$xlslokal = storage_path().'\app\sibankum\temp\tutorial.xls';
                 //SibankumParser::downloadAPIFile($url, $xlslokal);
                 // hapus dulu data yang didapat dari api lama dari database
                 //$deletedRows = DataModel::where('api_id', '=', $id)->delete();
                 // Populasi table data dengan isi dari manifest api
                 //$csv = SibankumParser::importCSV($xlslokal, $id);
                 //$xls = SibankumParser::importXLS($xlslokal, $id);
                 //$output .= $xls."\n";
                 // Update Last Modified menjadi sesuai dengan remote file
                 $apidata = ApiModel::find($id);
                 $apidata->last_modified = $last_modified;
                 $apidata->save();
                 // hapus api.csv temporary file
                 Storage::delete('sibankum/temp/api.csv');
                 $output .= "Do Something" . "\n";
             }
         }
         $output .= "=======================" . "\n";
     }
     Storage::disk('local')->append('sibankum/logs/' . date('Y') . '/' . date('m') . '/' . date('d') . '-parser.log', $output);
     return $output;
 }