Files
rkm-conectasus-ci-sandbox/api/app/Http/Controllers/Geral/ImcController.php
Antonio Lopes dos Santos afec302c3e
All checks were successful
build-api-image / build (push) Successful in 51s
init commit
2026-08-04 16:52:02 -03:00

40 lines
1.1 KiB
PHP

<?php
namespace App\Http\Controllers\Geral;
use App\Enums\Cadastro\UnidadeMedida;
use App\Http\Controllers\Controller;
use App\Services\Geral\ImcService;
use Illuminate\Http\Response;
class ImcController extends Controller
{
public function calc($unidadeMedidaMassaId, $massa, $unidadeMedidaAlturaId, $altura)
{
$errors = [];
if ($unidadeMedidaMassaId != UnidadeMedida::QUILOGRAMAS
&& $unidadeMedidaMassaId != UnidadeMedida::GRAMAS
) {
$errors[] = 'A unidade de medida da massa deve ser gramas ou quilogramas.';
}
if ($unidadeMedidaAlturaId != UnidadeMedida::METROS
&& $unidadeMedidaAlturaId != UnidadeMedida::CENTIMETROS
) {
$errors[] = 'A unidade de medida da massa deve ser centímetros ou metros.';
}
if (!empty($errors)) {
return response()->json($errors, Response::HTTP_BAD_REQUEST);
}
$imc = ImcService::calculate($unidadeMedidaMassaId, $massa, $unidadeMedidaAlturaId, $altura);
return response()->json($imc, Response::HTTP_OK);
}
}