This commit is contained in:
Čarodej
2022-01-10 08:31:44 +01:00
parent 8a64fe070b
commit ead4f65e1a
23 changed files with 413 additions and 1176 deletions

View File

@@ -2,13 +2,9 @@
namespace App\Users\Actions;
use App\Users\Models\User;
use Illuminate\Http\Response;
use App\Users\Models\UserSettings;
use App\Http\Controllers\Controller;
use Illuminate\Auth\Events\Registered;
use Illuminate\Contracts\Auth\StatefulGuard;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\Routing\ResponseFactory;
class CreateNewUserAction extends Controller
{
@@ -23,11 +19,9 @@ class CreateNewUserAction extends Controller
public function __invoke($data)
{
$settings = get_settings([
'storage_default', 'registration', 'user_verification',
'registration', 'user_verification',
]);
$is_socialite = is_null($data->password);
// Check if account registration is enabled
if (! intval($settings['registration'])) {
abort(401);
@@ -35,32 +29,27 @@ class CreateNewUserAction extends Controller
// Create user
$user = User::create([
'password' => $is_socialite ? null : bcrypt($data->password),
'password' => $data->password ? bcrypt($data->password) : null,
'oauth_provider' => $data->oauth_provider,
'email' => $data->email,
]);
UserSettings::unguard();
$user
->settings()
->create([
'name' => $data->name,
'storage_capacity' => $settings['storage_default'],
'avatar' => $data->avatar,
'name' => $data->name,
'avatar' => $data->avatar,
]);
UserSettings::reguard();
// Mark as verified if verification is disabled
if ($is_socialite || ! intval($settings['user_verification'])) {
if (! $data->password || ! intval($settings['user_verification'])) {
$user->markEmailAsVerified();
}
event(new Registered($user));
// Log in if verification is disabled
if ($is_socialite || ! intval($settings['user_verification'])) {
if (! $data->password || ! intval($settings['user_verification'])) {
$this->guard->login($user);
}
}