Changeset View
Changeset View
Standalone View
Standalone View
src/app/Http/Controllers/API/V4/Admin/UsersController.php
<?php | <?php | ||||
namespace App\Http\Controllers\API\V4\Admin; | namespace App\Http\Controllers\API\V4\Admin; | ||||
use App\Domain; | use App\Domain; | ||||
use App\User; | use App\User; | ||||
use App\UserSetting; | use App\UserSetting; | ||||
use Illuminate\Http\Request; | |||||
use Illuminate\Support\Facades\Validator; | |||||
class UsersController extends \App\Http\Controllers\API\V4\UsersController | class UsersController extends \App\Http\Controllers\API\V4\UsersController | ||||
{ | { | ||||
/** | /** | ||||
* Searching of user accounts. | * Searching of user accounts. | ||||
* | * | ||||
* @return \Illuminate\Http\JsonResponse | * @return \Illuminate\Http\JsonResponse | ||||
*/ | */ | ||||
▲ Show 20 Lines • Show All 44 Lines • ▼ Show 20 Lines | public function index() | ||||
$result = [ | $result = [ | ||||
'list' => $result, | 'list' => $result, | ||||
'count' => count($result), | 'count' => count($result), | ||||
'message' => \trans('app.search-foundxusers', ['x' => count($result)]), | 'message' => \trans('app.search-foundxusers', ['x' => count($result)]), | ||||
]; | ]; | ||||
return response()->json($result); | return response()->json($result); | ||||
} | } | ||||
/** | |||||
* Update user data. | |||||
* | |||||
* @param \Illuminate\Http\Request $request The API request. | |||||
* @params string $id User identifier | |||||
* | |||||
* @return \Illuminate\Http\JsonResponse The response | |||||
*/ | |||||
public function update(Request $request, $id) | |||||
{ | |||||
$user = User::find($id); | |||||
if (empty($user)) { | |||||
return $this->errorResponse(404); | |||||
} | |||||
// For now admins can change only user external email address | |||||
$rules = []; | |||||
if (array_key_exists('external_email', $request->input())) { | |||||
$rules['external_email'] = 'email'; | |||||
} | |||||
// Validate input | |||||
$v = Validator::make($request->all(), $rules); | |||||
if ($v->fails()) { | |||||
return response()->json(['status' => 'error', 'errors' => $v->errors()], 422); | |||||
} | |||||
// Update user settings | |||||
$settings = $request->only(array_keys($rules)); | |||||
if (!empty($settings)) { | |||||
$user->setSettings($settings); | |||||
} | |||||
return response()->json([ | |||||
'status' => 'success', | |||||
'message' => __('app.user-update-success'), | |||||
]); | |||||
} | |||||
} | } |