mirror of
https://github.com/ProxyPanel/ProxyPanel.git
synced 2026-04-03 11:09:27 +00:00
Fix #98 ; Fix some missing class errors; Finished the validation for configs & simplify the store/update process; Combined the User node info & subscribe node info as one unit;
62 lines
1.8 KiB
PHP
62 lines
1.8 KiB
PHP
<?php
|
||
|
||
namespace App\Http\Controllers\Admin\Config;
|
||
|
||
use App\Http\Controllers\Controller;
|
||
use App\Models\SsConfig;
|
||
use Exception;
|
||
use Illuminate\Http\Request;
|
||
use Log;
|
||
use Response;
|
||
use Validator;
|
||
|
||
class SsConfigController extends Controller
|
||
{
|
||
// 添加SS配置
|
||
public function store(Request $request)
|
||
{
|
||
$validator = Validator::make($request->all(), [
|
||
'name' => 'required|string|unique:ss_config,name',
|
||
'type' => 'required|numeric|between:1,3',
|
||
]);
|
||
|
||
if ($validator->fails()) {
|
||
return Response::json(['status' => 'fail', 'message' => $validator->errors()->all()]);
|
||
}
|
||
|
||
if (SsConfig::create($validator->validated())) {
|
||
return Response::json(['status' => 'success', 'message' => '添加成功']);
|
||
}
|
||
|
||
return Response::json(['status' => 'fail', 'message' => '添加失败']);
|
||
}
|
||
|
||
// 设置SS默认配置
|
||
public function update(SsConfig $ss)
|
||
{
|
||
// 去除该配置所属类型的默认值
|
||
SsConfig::default()->type($ss->type)->update(['is_default' => 0]);
|
||
|
||
// 将该ID对应记录值置为默认值
|
||
$ss->update(['is_default' => 1]);
|
||
|
||
return Response::json(['status' => 'success', 'message' => '操作成功']);
|
||
}
|
||
|
||
// 删除SS配置
|
||
public function destroy(SsConfig $ss)
|
||
{
|
||
try {
|
||
if ($ss->delete()) {
|
||
return Response::json(['status' => 'success', 'message' => '删除成功']);
|
||
}
|
||
} catch (Exception $e) {
|
||
Log::error('删除SS配置时失败:'.$e->getMessage());
|
||
|
||
return Response::json(['status' => 'fail', 'message' => '删除失败:'.$e->getMessage()]);
|
||
}
|
||
|
||
return Response::json(['status' => 'fail', 'message' => '删除失败']);
|
||
}
|
||
}
|