52 lines
1.5 KiB
PHP
52 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Setting;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Artisan;
|
|
|
|
class SettingsController extends Controller
|
|
{
|
|
public function index(){
|
|
$Setting = Setting::where('can_edit', 1)
|
|
->select(Setting::adminSelectColumns())
|
|
->get();
|
|
|
|
return response()->json($Setting);
|
|
}
|
|
public function edit(Request $request)
|
|
{
|
|
// Check if the setting exists
|
|
$setting = Setting::where('key', $request->key)->first();
|
|
|
|
if ($setting) {
|
|
$setting->value = $request->value;
|
|
$setting->description = $request->description;
|
|
$setting->is_active = $request->is_active;
|
|
$setting->title_fa = $request->title_fa ?? '';
|
|
if (Setting::hasTypeColumn()) {
|
|
$setting->type = $request->type ?? '';
|
|
}
|
|
$setting->save();
|
|
} else {
|
|
$setting = new Setting();
|
|
$setting->key = $request->key;
|
|
$setting->title_fa = $request->title_fa ?? '';
|
|
$setting->value = $request->value;
|
|
$setting->description = $request->description;
|
|
$setting->is_active = $request->is_active;
|
|
$setting->can_edit = 1;
|
|
if (Setting::hasTypeColumn()) {
|
|
$setting->type = $request->type ?? '';
|
|
}
|
|
$setting->save();
|
|
}
|
|
|
|
// Return the setting as a JSON response
|
|
return response()->json($setting);
|
|
}
|
|
|
|
}
|