ShadowsocksController.php 2.2 KB

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