diff --git a/src/Controller/CustomerAppAPI/InsuranceController.php b/src/Controller/CustomerAppAPI/InsuranceController.php index a32e67c0..168f572a 100644 --- a/src/Controller/CustomerAppAPI/InsuranceController.php +++ b/src/Controller/CustomerAppAPI/InsuranceController.php @@ -72,13 +72,28 @@ class InsuranceController extends ApiController //'orcr_file', // this is a file // mv_type_id specific fields - 'vehicle_use_type', // accepted values are: 'commercial', 'private' + //'vehicle_use_type', // not required, only show field if mv_type_id is not in [4, 13]. accepted values are: 'commercial', 'private' ]); if (!$validity['is_valid']) { return new ApiResponse(false, $validity['error']); } + // conditionally require is_public or vehicle_use_type + switch ($req->request->get('mv_type_id')) { + case 4: + case 13: + if (empty($req->request->get('is_public'))) { + return new ApiResponse(false, 'Missing required parameter(s): is_public is required when mv_type_id is in [4, 13]'); + } + break; + default: + if (empty($req->request->get('vehicle_use_type'))) { + return new ApiResponse(false, 'Missing required parameter(s): vehicle_use_type is required when mv_type_id is not in [4, 13]'); + } + break; + } + // require the orcr file if ($req->files->get('orcr_file') === null) { return new ApiResponse(false, 'Missing required file: orcr_file');