Changeset View
Changeset View
Standalone View
Standalone View
src/app/Http/Controllers/API/V4/UsersController.php
<?php | <?php | ||||
namespace App\Http\Controllers\API\V4; | namespace App\Http\Controllers\API\V4; | ||||
use App\Http\Controllers\Controller; | use App\Http\Controllers\Controller; | ||||
use App\Domain; | use App\Domain; | ||||
use App\Group; | use App\Group; | ||||
use App\Rules\UserEmailDomain; | use App\Rules\UserEmailDomain; | ||||
use App\Rules\UserEmailLocal; | use App\Rules\UserEmailLocal; | ||||
use App\Sku; | use App\Sku; | ||||
use App\User; | use App\User; | ||||
use Carbon\Carbon; | use Carbon\Carbon; | ||||
use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||
use Illuminate\Support\Facades\Auth; | |||||
use Illuminate\Support\Facades\DB; | use Illuminate\Support\Facades\DB; | ||||
use Illuminate\Support\Facades\Validator; | use Illuminate\Support\Facades\Validator; | ||||
use Illuminate\Support\Str; | use Illuminate\Support\Str; | ||||
class UsersController extends Controller | class UsersController extends Controller | ||||
{ | { | ||||
/** @const array List of user setting keys available for modification in UI */ | /** @const array List of user setting keys available for modification in UI */ | ||||
public const USER_SETTINGS = [ | public const USER_SETTINGS = [ | ||||
▲ Show 20 Lines • Show All 230 Lines • ▼ Show 20 Lines | public static function statusInfo(User $user): array | ||||
->unique() | ->unique() | ||||
->values() | ->values() | ||||
->all(); | ->all(); | ||||
return [ | return [ | ||||
'skus' => $skus, | 'skus' => $skus, | ||||
// TODO: This will change when we enable all users to create domains | // TODO: This will change when we enable all users to create domains | ||||
'enableDomains' => $isController && $hasCustomDomain, | 'enableDomains' => $isController && $hasCustomDomain, | ||||
// TODO: Make 'enableDistlists' working for wallet controllers that aren't account owners | |||||
'enableDistlists' => $isController && $hasCustomDomain && in_array('distlist', $skus), | |||||
'enableUsers' => $isController, | 'enableUsers' => $isController, | ||||
'enableWallets' => $isController, | 'enableWallets' => $isController, | ||||
'process' => $process, | 'process' => $process, | ||||
'processState' => $state, | 'processState' => $state, | ||||
'isReady' => $all === $checked, | 'isReady' => $all === $checked, | ||||
]; | ]; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 124 Lines • ▼ Show 20 Lines | public function update(Request $request, $id) | ||||
if ($user->id == $current_user->id) { | if ($user->id == $current_user->id) { | ||||
$response['statusInfo'] = self::statusInfo($user); | $response['statusInfo'] = self::statusInfo($user); | ||||
} | } | ||||
return response()->json($response); | return response()->json($response); | ||||
} | } | ||||
/** | /** | ||||
* Get the guard to be used during authentication. | |||||
* | |||||
* @return \Illuminate\Contracts\Auth\Guard | |||||
*/ | |||||
public function guard() | |||||
{ | |||||
return Auth::guard(); | |||||
} | |||||
/** | |||||
* Update user entitlements. | * Update user entitlements. | ||||
* | * | ||||
* @param \App\User $user The user | * @param \App\User $user The user | ||||
* @param array $rSkus List of SKU IDs requested for the user in the form [id=>qty] | * @param array $rSkus List of SKU IDs requested for the user in the form [id=>qty] | ||||
*/ | */ | ||||
protected function updateEntitlements(User $user, $rSkus) | protected function updateEntitlements(User $user, $rSkus) | ||||
{ | { | ||||
if (!is_array($rSkus)) { | if (!is_array($rSkus)) { | ||||
▲ Show 20 Lines • Show All 404 Lines • Show Last 20 Lines |