ifnex/04_Laravel/app/Http/Controllers/Api/PricingController.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
]);
}
}