52 lines
1.3 KiB
PHP
52 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Api;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
|
|
use App\Models\StockRack;
|
|
use Illuminate\Http\Request;
|
|
|
|
class StockRackController extends Controller
|
|
{
|
|
public function store(Request $request)
|
|
{
|
|
$data = $request->validate([
|
|
'line_id' => 'required|exists:stock_line,line_id',
|
|
'rack_symbol' => 'required|string|max:50',
|
|
'rack_name' => 'required|string|max:100',
|
|
]);
|
|
|
|
$rack = StockRack::create($data);
|
|
|
|
return response()->json($rack, 201);
|
|
}
|
|
|
|
public function show(Request $request, int $id)
|
|
{
|
|
$rack = StockRack::with(['line', 'shelves.positions.sections'])->findOrFail($id);
|
|
|
|
return response()->json($rack, 201);
|
|
}
|
|
|
|
public function update(Request $request, StockRack $rack)
|
|
{
|
|
$data = $request->validate([
|
|
'line_id' => 'sometimes|required|exists:stock_line,line_id',
|
|
'rack_symbol' => 'sometimes|required|string|max:50',
|
|
'rack_name' => 'sometimes|required|string|max:100',
|
|
]);
|
|
|
|
$rack->update($data);
|
|
|
|
return response()->json($rack);
|
|
|
|
}
|
|
|
|
public function destroy(StockRack $rack)
|
|
{
|
|
$rack->delete();
|
|
return response()->json(null, 204);
|
|
}
|
|
}
|