filled('key')) { $query->where('key', $request->query('key')); } $settings = $query->get()->map(fn (Setting $setting) => [ 'id' => $setting->id, 'key' => $setting->key, 'value' => $setting->value, ]); return response()->json($settings); } public function store(Request $request): JsonResponse { $user = $request->user(); if (!$user || !$user->roles()->where('name', 'ROLE_ADMIN')->exists()) { return response()->json(['message' => 'Forbidden'], 403); } $data = $request->validate([ 'key' => ['required', 'string', 'max:191'], 'value' => ['nullable', 'string'], ]); $value = $data['value'] ?? ''; $setting = Setting::updateOrCreate( ['key' => $data['key']], ['value' => $value] ); return response()->json([ 'id' => $setting->id, 'key' => $setting->key, 'value' => $setting->value, ]); } }