Blame view
api/app/Http/Controllers/V1/Components/MltdController.php
2.8 KB
0d8c0f816 initial commit |
1 2 3 4 5 6 7 8 9 10 |
<?php namespace App\Http\Controllers\V1\Components; use App\Http\Controllers\Controller; use Carbon\Carbon; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Log; |
a6a20feca Check if relation... |
11 |
use Illuminate\Support\Facades\Schema; |
0d8c0f816 initial commit |
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
class MltdController extends Controller { public function start(Request $request) { $data = [ 'model_id' => 1, 'mqtt_host' => config('mqtt.host'), 'mqtt_port' => config('mqtt.port'), 'mqtt_topic' => 'xlsiem/event', 'prediction_threshold' => 0.3, 'report_timedb_host' => env('DB_HOST'), 'report_timedb_port' => env('DB_PORT'), 'report_timedb_username' => env('DB_USERNAME'), 'report_timedb_password' => env('DB_PASSWORD'), 'report_timedb_database' => env('DB_DATABASE'), 'report_timedb_table' => 'mltd', 'report_timedb_ssl' => 'False', 'report_asset_id' => 'server', ]; $url = 'http://' . env('MLTD_HOST') . ':' . env('MLTD_PORT') . '/api/v1.0/mltd/prediction'; $response = Http::withHeaders([ 'Application' => 'application/json' ])->post($url, $data); if (!isset($response->json()['process_id'])) { return response()->json(['error' => 'error'], 504); } $ret = [ 'component' => 'mltd', 'process_id' => $response->json()['process_id'], 'created_at' => Carbon::now() ]; DB::table('running_processes')->insert($ret); return $ret; } public function status(Request $request) { return DB::table('running_processes') ->where('component', '=', 'mltd') ->get()->toArray(); } public function stop(Request $request, $pid) { $url = 'http://' . env('MLTD_HOST') . ':' . env('MLTD_PORT') . '/api/v1.0/mltd/prediction/stop/' . $pid; $response = Http::get($url); DB::table('running_processes') ->where('component', '=', 'mltd') ->where('process_id', '=', $pid)->delete(); return $response; } public function train(Request $request, $train_id, $top) { $url = 'http://' . env('MLTD_HOST') . ':' . env('MLTD_PORT') . '/api/v1.0/mltd/threat-identification/' . $train_id . '/' . $top; $response = Http::get($url); return [ 'important_events' => explode(",", substr($response->json()['important_events'], 1, -1)), 'timeframe' => $response->json()['timeframe'] ]; } |
25df08e6c Merged changes fr... |
82 83 84 |
public function last(Request $request, $x) { |
a6a20feca Check if relation... |
85 86 87 |
if (!Schema::hasTable('mltd')) { return []; } |
25df08e6c Merged changes fr... |
88 89 |
return DB::table('mltd')->orderBy('created_on', 'desc')->limit($x)->get()->toArray(); } |
0d8c0f816 initial commit |
90 |
} |