Files
Caramel-CRM/app/Http/Controllers/SettingController.php
T

35 lines
1.2 KiB
PHP
Raw Normal View History

2025-10-20 08:57:51 +02:00
<?php
namespace App\Http\Controllers;
use App\Models\Setting;
use Illuminate\Http\Request;
class SettingController extends Controller
{
public function index()
{
return response()->json(Setting::allKeyValue());
2025-10-20 08:57:51 +02:00
}
public function update(Request $request)
{
// Batch: {"settings": {"invoice_number_start": 2, "foo": "bar"}}
if ($request->has('settings') && is_array($request->input('settings'))) {
foreach ($request->input('settings') as $k => $v) {
Setting::updateOrCreate(['key' => $k], ['value' => is_scalar($v) ? (string)$v : json_encode($v)]);
}
return response()->json(Setting::allKeyValue());
}
// Single: {"key":"invoice_number_start","value":2}
$validated = $request->validate([
'key' => 'required|string',
'value' => 'nullable',
2025-10-20 08:57:51 +02:00
]);
Setting::updateOrCreate(['key' => $validated['key']], ['value' => isset($validated['value']) && !is_scalar($validated['value']) ? json_encode($validated['value']) : (string)($validated['value'] ?? null)]);
2025-10-20 08:57:51 +02:00
return response()->json(Setting::allKeyValue());
2025-10-20 08:57:51 +02:00
}
}