Changeset View
Changeset View
Standalone View
Standalone View
src/app/Http/Controllers/API/V4/SkusController.php
Show First 20 Lines • Show All 48 Lines • ▼ Show 20 Lines | class SkusController extends Controller | ||||
/** | /** | ||||
* Get a list of active SKUs. | * Get a list of active SKUs. | ||||
* | * | ||||
* @return \Illuminate\Http\JsonResponse | * @return \Illuminate\Http\JsonResponse | ||||
*/ | */ | ||||
public function index() | public function index() | ||||
{ | { | ||||
// Note: Order by title for consistent ordering in tests | // Note: Order by title for consistent ordering in tests | ||||
$skus = Sku::withEnvTenant()->where('active', true)->orderBy('title')->get(); | $skus = Sku::withSubjectTenantContext()->where('active', true)->orderBy('title')->get(); | ||||
$response = []; | $response = []; | ||||
foreach ($skus as $sku) { | foreach ($skus as $sku) { | ||||
if ($data = $this->skuElement($sku)) { | if ($data = $this->skuElement($sku)) { | ||||
$response[] = $data; | $response[] = $data; | ||||
} | } | ||||
} | } | ||||
▲ Show 20 Lines • Show All 49 Lines • ▼ Show 20 Lines | class SkusController extends Controller | ||||
* Get a list of SKUs available to the user. | * Get a list of SKUs available to the user. | ||||
* | * | ||||
* @param int $id User identifier | * @param int $id User identifier | ||||
* | * | ||||
* @return \Illuminate\Http\JsonResponse | * @return \Illuminate\Http\JsonResponse | ||||
*/ | */ | ||||
public function userSkus($id) | public function userSkus($id) | ||||
{ | { | ||||
$user = \App\User::withEnvTenant()->find($id); | $user = \App\User::withSubjectTenantContext()->find($id); | ||||
if (empty($user)) { | if (empty($user)) { | ||||
return $this->errorResponse(404); | return $this->errorResponse(404); | ||||
} | } | ||||
if (!Auth::guard()->user()->canRead($user)) { | if (!Auth::guard()->user()->canRead($user)) { | ||||
return $this->errorResponse(403); | return $this->errorResponse(403); | ||||
} | } | ||||
$type = request()->input('type'); | $type = request()->input('type'); | ||||
$response = []; | $response = []; | ||||
// Note: Order by title for consistent ordering in tests | // Note: Order by title for consistent ordering in tests | ||||
$skus = Sku::withEnvTenant()->orderBy('title')->get(); | $skus = Sku::withObjectTenantContext($user)->orderBy('title')->get(); | ||||
foreach ($skus as $sku) { | foreach ($skus as $sku) { | ||||
if (!class_exists($sku->handler_class)) { | if (!class_exists($sku->handler_class)) { | ||||
continue; | continue; | ||||
} | } | ||||
if (!$sku->handler_class::isAvailable($sku, $user)) { | if (!$sku->handler_class::isAvailable($sku, $user)) { | ||||
continue; | continue; | ||||
▲ Show 20 Lines • Show All 48 Lines • Show Last 20 Lines |