32 lines
998 B
PHP
32 lines
998 B
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Api;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Services\PriceCalculatorService;
|
|
use Illuminate\Http\Request;
|
|
|
|
class PricingController extends Controller
|
|
{
|
|
public function calculate(Request $request)
|
|
{
|
|
$validated = $request->validate([
|
|
'direction' => 'required|in:import,export',
|
|
'type' => 'required|in:DOCUMENT,NON DOC',
|
|
'origin_country_id' => 'required|exists:countries,id',
|
|
'destination_country_id' => 'required|exists:countries,id',
|
|
'weight' => 'required|numeric|min:0.1',
|
|
'length' => 'required|numeric|min:1',
|
|
'width' => 'required|numeric|min:1',
|
|
'height' => 'required|numeric|min:1',
|
|
]);
|
|
|
|
$service = new PriceCalculatorService();
|
|
$result = $service->calculate($validated);
|
|
|
|
return response()->json([
|
|
'success' => $result['status'] === 'success',
|
|
'data' => $result
|
|
]);
|
|
}
|
|
} |