22 lines
1.0 KiB
PHP
22 lines
1.0 KiB
PHP
|
|
<?php
|
||
|
|
namespace App\Http\Controllers\Api;
|
||
|
|
|
||
|
|
use App\Http\Controllers\Controller;
|
||
|
|
use App\Models\Cat;
|
||
|
|
use Illuminate\Http\Request;
|
||
|
|
use Illuminate\Support\Facades\DB;
|
||
|
|
use Illuminate\Support\Facades\Gate;
|
||
|
|
|
||
|
|
class WeightController extends Controller
|
||
|
|
{
|
||
|
|
public function index(Cat $cat) { Gate::authorize('check-access', ['cats', 'read']); return response()->json(['data'=>$cat->weightHistories()->orderByDesc('tanggal_timbang')->paginate(30)]); }
|
||
|
|
public function store(Request $request, Cat $cat)
|
||
|
|
{
|
||
|
|
Gate::authorize('check-access', ['cats', 'update']);
|
||
|
|
$data=$request->validate(['berat'=>'required|numeric|min:0.05|max:30','tanggal'=>'nullable|date|before_or_equal:today']);
|
||
|
|
$history=$cat->weightHistories()->create(['berat'=>$data['berat'],'tanggal_timbang'=>$data['tanggal'] ?? today()]);
|
||
|
|
DB::table('cats')->where('id',$cat->id)->update(['berat_badan'=>$data['berat'],'berat_terakhir'=>$data['berat'],'updated_at'=>now()]);
|
||
|
|
return response()->json(['message'=>'Berat badan berhasil disimpan.','data'=>$history],201);
|
||
|
|
}
|
||
|
|
}
|