Changeset View
Changeset View
Standalone View
Standalone View
src/app/Http/Controllers/API/V4/Admin/GroupsController.php
Show All 14 Lines | class GroupsController extends \App\Http\Controllers\API\V4\GroupsController | ||||
*/ | */ | ||||
public function index() | public function index() | ||||
{ | { | ||||
$search = trim(request()->input('search')); | $search = trim(request()->input('search')); | ||||
$owner = trim(request()->input('owner')); | $owner = trim(request()->input('owner')); | ||||
$result = collect([]); | $result = collect([]); | ||||
if ($owner) { | if ($owner) { | ||||
if ($owner = User::withEnvTenant()->find($owner)) { | if ($owner = User::find($owner)) { | ||||
foreach ($owner->wallets as $wallet) { | foreach ($owner->wallets as $wallet) { | ||||
$wallet->entitlements()->where('entitleable_type', Group::class)->get() | $wallet->entitlements()->where('entitleable_type', Group::class)->get() | ||||
->each(function ($entitlement) use ($result) { | ->each(function ($entitlement) use ($result) { | ||||
$result->push($entitlement->entitleable); | $result->push($entitlement->entitleable); | ||||
}); | }); | ||||
} | } | ||||
$result = $result->sortBy('namespace')->values(); | $result = $result->sortBy('namespace')->values(); | ||||
} | } | ||||
} elseif (!empty($search)) { | } elseif (!empty($search)) { | ||||
if ($group = Group::withEnvTenant()->where('email', $search)->first()) { | if ($group = Group::where('email', $search)->first()) { | ||||
$result->push($group); | $result->push($group); | ||||
} | } | ||||
} | } | ||||
// Process the result | // Process the result | ||||
$result = $result->map(function ($group) { | $result = $result->map(function ($group) { | ||||
$data = [ | $data = [ | ||||
'id' => $group->id, | 'id' => $group->id, | ||||
Show All 30 Lines | class GroupsController extends \App\Http\Controllers\API\V4\GroupsController | ||||
* | * | ||||
* @param \Illuminate\Http\Request $request The API request. | * @param \Illuminate\Http\Request $request The API request. | ||||
* @param string $id Group identifier | * @param string $id Group identifier | ||||
* | * | ||||
* @return \Illuminate\Http\JsonResponse The response | * @return \Illuminate\Http\JsonResponse The response | ||||
*/ | */ | ||||
public function suspend(Request $request, $id) | public function suspend(Request $request, $id) | ||||
{ | { | ||||
$group = Group::withEnvTenant()->find($id); | $group = Group::find($id); | ||||
if (empty($group)) { | if (!$this->checkTenant($group)) { | ||||
return $this->errorResponse(404); | return $this->errorResponse(404); | ||||
} | } | ||||
$group->suspend(); | $group->suspend(); | ||||
return response()->json([ | return response()->json([ | ||||
'status' => 'success', | 'status' => 'success', | ||||
'message' => __('app.distlist-suspend-success'), | 'message' => __('app.distlist-suspend-success'), | ||||
]); | ]); | ||||
} | } | ||||
/** | /** | ||||
* Un-Suspend a group | * Un-Suspend a group | ||||
* | * | ||||
* @param \Illuminate\Http\Request $request The API request. | * @param \Illuminate\Http\Request $request The API request. | ||||
* @param string $id Group identifier | * @param string $id Group identifier | ||||
* | * | ||||
* @return \Illuminate\Http\JsonResponse The response | * @return \Illuminate\Http\JsonResponse The response | ||||
*/ | */ | ||||
public function unsuspend(Request $request, $id) | public function unsuspend(Request $request, $id) | ||||
{ | { | ||||
$group = Group::withEnvTenant()->find($id); | $group = Group::find($id); | ||||
if (empty($group)) { | if (!$this->checkTenant($group)) { | ||||
return $this->errorResponse(404); | return $this->errorResponse(404); | ||||
} | } | ||||
$group->unsuspend(); | $group->unsuspend(); | ||||
return response()->json([ | return response()->json([ | ||||
'status' => 'success', | 'status' => 'success', | ||||
'message' => __('app.distlist-unsuspend-success'), | 'message' => __('app.distlist-unsuspend-success'), | ||||
]); | ]); | ||||
} | } | ||||
} | } |