ShadowsocksController.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. namespace App\Http\Controllers\Admin\Server;
  3. use App\Http\Requests\Admin\ServerShadowsocksSave;
  4. use App\Http\Requests\Admin\ServerShadowsocksUpdate;
  5. use App\Models\ServerShadowsocks;
  6. use App\Services\ServerService;
  7. use Illuminate\Http\Request;
  8. use App\Http\Controllers\Controller;
  9. class ShadowsocksController extends Controller
  10. {
  11. public function save(ServerShadowsocksSave $request)
  12. {
  13. $params = $request->validated();
  14. if ($request->input('id')) {
  15. $server = ServerShadowsocks::find($request->input('id'));
  16. if (!$server) {
  17. abort(500, '服务器不存在');
  18. }
  19. try {
  20. $server->update($params);
  21. } catch (\Exception $e) {
  22. abort(500, '保存失败');
  23. }
  24. return response([
  25. 'data' => true
  26. ]);
  27. }
  28. if (!ServerShadowsocks::create($params)) {
  29. abort(500, '创建失败');
  30. }
  31. return response([
  32. 'data' => true
  33. ]);
  34. }
  35. public function drop(Request $request)
  36. {
  37. if ($request->input('id')) {
  38. $server = ServerShadowsocks::find($request->input('id'));
  39. if (!$server) {
  40. abort(500, '节点ID不存在');
  41. }
  42. }
  43. return response([
  44. 'data' => $server->delete()
  45. ]);
  46. }
  47. public function update(ServerShadowsocksUpdate $request)
  48. {
  49. $params = $request->only([
  50. 'show',
  51. ]);
  52. $server = ServerShadowsocks::find($request->input('id'));
  53. if (!$server) {
  54. abort(500, '该服务器不存在');
  55. }
  56. try {
  57. $server->update($params);
  58. } catch (\Exception $e) {
  59. abort(500, '保存失败');
  60. }
  61. return response([
  62. 'data' => true
  63. ]);
  64. }
  65. public function copy(Request $request)
  66. {
  67. $server = ServerShadowsocks::find($request->input('id'));
  68. $server->show = 0;
  69. if (!$server) {
  70. abort(500, '服务器不存在');
  71. }
  72. if (!ServerShadowsocks::create($server->toArray())) {
  73. abort(500, '复制失败');
  74. }
  75. return response([
  76. 'data' => true
  77. ]);
  78. }
  79. }