GroupsMetaController.php 776 B

12345678910111213141516171819202122232425262728293031
  1. <?php
  2. namespace App\Http\Controllers\Groups;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request;
  5. use App\Services\GroupService;
  6. use App\Models\Group;
  7. class GroupsMetaController extends Controller
  8. {
  9. public function __construct()
  10. {
  11. $this->middleware('auth');
  12. }
  13. public function deleteGroup(Request $request)
  14. {
  15. abort_if(!$request->user(), 404);
  16. $id = $request->input('gid');
  17. $group = Group::findOrFail($id);
  18. $pid = $request->user()->profile_id;
  19. abort_if(!$group->isMember($pid), 404);
  20. abort_if(!in_array($group->selfRole($pid), ['founder', 'admin']), 404);
  21. $group->status = "delete";
  22. $group->save();
  23. GroupService::del($group->id);
  24. return [200];
  25. }
  26. }