added it_check_if_user_exist_and_return_name_with_avatar, it_check_non_existed_user_and_return_not_found test

This commit is contained in:
Peter Papp
2021-03-14 10:56:50 +01:00
parent 9c3c044623
commit 5778de20f2
6 changed files with 88 additions and 106 deletions

View File

@@ -24,100 +24,16 @@ class AuthController extends Controller
public function check_account(CheckAccountRequest $request)
{
// Get User
$user = User::where('email', $request->input('email'))->select(['name', 'avatar'])->first();
$user = User::whereEmail($request->email)
->first();
// Return user info
if ($user) return [
'name' => $user->name,
'avatar' => $user->avatar,
if (! $user) {
return response(__('vuefilemanager.user_not_fount'), 404);
}
return [
'name' => $user->settings->name,
'avatar' => $user->settings->avatar,
];
// Abort with 404, user not found
return abort('404', __('vuefilemanager.user_not_fount'));
}
/**
* Login user
*
* @param Request $request
* @return mixed
*/
public function login(Request $request)
{
$response = Route::dispatch(self::make_login_request($request));
if ($response->isSuccessful()) {
$data = json_decode($response->content(), true);
return response('Login Successfull!', 200)->cookie('access_token', $data['access_token'], 43200);
}
return $response;
}
/**
* Register user
*
* @param Request $request
* @return mixed
*/
public function register(Request $request)
{
$settings = Setting::whereIn('name', ['storage_default', 'registration'])->pluck('value', 'name');
// Check if account registration is enabled
if (! intval($settings['registration'])) abort(401);
// Validate request
$request->validate([
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:6', 'confirmed'],
]);
// Create user
$user = User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password),
]);
// Create settings
UserSettings::forceCreate([
'user_id' => $user->id,
'storage_capacity' => $settings['storage_default'],
]);
$response = Route::dispatch(self::make_login_request($request));
if ($response->isSuccessful()) {
$data = json_decode($response->content(), true);
return response('Register Successfull!', 200)->cookie('access_token', $data['access_token'], 43200);
}
return $response;
}
/**
* Make login request for get access token
*
* @param Request $request
* @return Request
*/
private static function make_login_request($request)
{
$request->request->add([
'grant_type' => 'password',
'client_id' => config('services.passport.client_id'),
'client_secret' => config('services.passport.client_secret'),
'username' => $request->email,
'password' => $request->password,
'scope' => 'master',
]);
return Request::create(url('/oauth/token'), 'POST', $request->all());
}
}