diff --git a/app/Http/Controllers/Api/TanamanController.php b/app/Http/Controllers/Api/TanamanController.php index 7aa45e7..0709be8 100644 --- a/app/Http/Controllers/Api/TanamanController.php +++ b/app/Http/Controllers/Api/TanamanController.php @@ -96,42 +96,34 @@ class TanamanController extends Controller } $user = Auth::user(); - $profile = $user->profile; - $profileId = $user->role === 'petani' ? $profile->id : $request->profile_id; + $profileId = $user->role === 'petani' ? $user->profile->id : $request->profile_id; $lahanId = $request->input('lahan_id') ?? $request->input('land_id') ?? $request->input('lahan.id'); $request->merge([ 'komoditas_id' => $request->input('komoditas.id') ?? $request->input('komoditas_id'), 'lahan_id' => $lahanId, 'profile_id' => $profileId, - 'uid' => $request->input('uid') + 'uid' => $request->input('uid') ]); - $validated = $request->validate([ - 'nama' => ['required', 'string', 'max:255'], - 'komoditas_id' => ['required', 'exists:master_komoditas,id'], - 'lahan_id' => ['required', 'exists:map_lahan,id'], - // [ - // 'required', - // Rule::exists('map_lahan', 'id')->where(function ($query) use ($profileId) { - // $query->where('profile_id', $profileId) - // ->whereNull('deleted_at'); - // }), - // ], - 'latitude' => ['nullable', 'numeric', 'between:-90,90', 'required_with:longitude'], - 'longitude' => ['nullable', 'numeric', 'between:-180,180', 'required_with:latitude'], - 'kondisi_tanaman' => ['nullable', 'string', new Enum(KondisiTanaman::class)], - 'uid' => ['required', 'string'], + 'nama' => ['required', 'string', 'max:255'], + 'komoditas_id' => ['required', 'exists:master_komoditas,id'], + 'lahan_id' => ['required', 'exists:map_lahan,id'], + 'profile_id' => ['required', 'exists:profiles,id'], + 'latitude' => ['nullable', 'numeric', 'between:-90,90', 'required_with:longitude'], + 'longitude' => ['nullable', 'numeric', 'between:-180,180', 'required_with:latitude'], + 'kondisi_tanaman' => ['nullable', 'string', new Enum(KondisiTanaman::class)], + 'uid' => ['required', 'string'], 'jenis_komoditas_id' => ['nullable', 'exists:jenis_komoditas,id'], - 'komoditas_kode' => ['nullable', 'string', 'max:255'], + 'komoditas_kode' => ['nullable', 'string', 'max:255'], ]); $tanaman = Tanaman::create([ ...$validated, - 'profile_id' => $profileId, - 'uid' => $tanamanUID, - 'komoditas_kode' => $validated['komoditas_kode'] ?? $request->input('komoditas_kode'), - 'jenis_komoditas_id' => $validated['jenis_komoditas_id'] ?? $request->input('jenis_komoditas_id'), + 'profile_id' => $profileId, + 'uid' => $validated['uid'], + 'komoditas_kode' => $validated['komoditas_kode'] ?? null, + 'jenis_komoditas_id' => $validated['jenis_komoditas_id'] ?? null, ]); return (new TanamanResource($tanaman))