Reworked how test results get submitted

This commit is contained in:
Gregory Ballantine
2024-06-03 10:36:18 -04:00
parent de8e523c2c
commit 05b1374d1d
8 changed files with 56 additions and 123 deletions

View File

@ -11,24 +11,6 @@ use BitGoblin\Colossus\Models\Test;
class ResultController extends Controller {
public function getList(Request $request, Response $response): Response {
$results = Result::orderByDesc('updated_at')->get();
$view = Twig::fromRequest($request);
return $view->render($response, 'result/list.twig', [
'results' => $results,
]);
}
public function getAdd(Request $request, Response $response): Response {
$tests = Test::all();
$view = Twig::fromRequest($request);
return $view->render($response, 'result/add.twig', [
'tests' => $tests,
]);
}
public function postAdd(Request $request, Response $response): Response {
$params = (array)$request->getParsedBody();
@ -36,10 +18,9 @@ class ResultController extends Controller {
$result->test_id = $params['result_test'];
$result->component = $params['result_component'];
$result->benchmark = $params['result_benchmark'];
$result->type = $params['result_type'];
$result->average = $params['result_avg'];
$result->minimum = $params['result_min'];
$result->maximum = $params['result_max'];
$result->minimum = $params['result_min'] ?? null;
$result->maximum = $params['result_max'] ?? null;
$result->save();

View File

@ -16,4 +16,8 @@ class Benchmark extends Model {
return $this->belongsToMany(Test::class);
}
public function results() {
return $this->hasMany(Result::class):
}
}

View File

@ -15,4 +15,8 @@ class Component extends Model {
return $this->hasMany(Test::class);
}
}
public function results() {
return $this->hasMany(Result::class):
}
}

View File

@ -17,4 +17,12 @@ class Result extends Model {
return $this->belongsTo(Test::class);
}
}
public function component() {
return $this->belongsTo(Component::class):
}
public function benchmark() {
return $this->belongsTo(Benchmark::class);
}
}

View File

@ -28,7 +28,5 @@ $app->group('/test', function(RouteCollectorProxy $group) {
});
$app->group('/result', function(RouteCollectorProxy $group) {
$group->get('', '\\BitGoblin\\Colossus\\Controllers\\ResultController:getList')->setName('result.list');
$group->get('/add', '\\BitGoblin\\Colossus\\Controllers\\ResultController:getAdd')->setName('result.add');
$group->post('/add', '\\BitGoblin\\Colossus\\Controllers\\ResultController:postAdd');
$group->post('/add', '\\BitGoblin\\Colossus\\Controllers\\ResultController:postAdd')->setName('result.add');
});