/** * Display the specified resource. * * @param int $id * @return Response */ public function show($id) { $dataset = DataSet::where('id', $id)->first(); if (!empty($dataset)) { return response()->json(['error' => false, 'data' => $dataset]); } else { return response()->json(["error" => "Data not found", "status" => 404]); } }
/** * @param $computationId * @param $datasetId * @return JSON {error,data} */ public function compute($computationId, $datasetId) { $result = response()->json(["error" => true, "status" => 400, "data" => "Data not found"]); $computation = Computation::where('id', $computationId)->first(); $dataset = DataSet::where('id', $datasetId)->first(); if (empty($computation) || empty($dataset)) { return $result; } try { // load data $data = Storage::disk("local")->get($dataset->name); $lines = explode("\n", $data); $fullclass = $computation->namespace . $computation->classname; $computer = new $fullclass(); // call computation here $result = $computer->compute($lines); return response()->json(["error" => false, "data" => $result]); } catch (Exception $e) { return response()->json(["error" => true, "status" => 500, "data" => "Bio computation error"]); } }