mirror of
https://github.com/Bubka/2FAuth.git
synced 2025-06-20 11:47:53 +02:00
Enable creation of multiple users
This commit is contained in:
parent
46508fda75
commit
3c3d35bff5
@ -24,7 +24,7 @@ class UserStoreRequest extends FormRequest
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
'name' => [new \App\Rules\FirstUser, 'required', 'string', 'max:255'],
|
||||
'name' => 'required|string|max:255',
|
||||
'email' => 'required|string|email|max:255',
|
||||
'password' => 'required|string|min:8|confirmed',
|
||||
];
|
||||
|
@ -1,41 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Rules;
|
||||
|
||||
use Illuminate\Contracts\Validation\Rule;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class FirstUser implements Rule
|
||||
{
|
||||
/**
|
||||
* Create a new rule instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if the validation rule passes.
|
||||
*
|
||||
* @param string $attribute
|
||||
* @param mixed $value
|
||||
* @return bool
|
||||
*/
|
||||
public function passes($attribute, $value)
|
||||
{
|
||||
return DB::table('users')->count() === 0 ? true : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation error message.
|
||||
*
|
||||
* @return array|string
|
||||
*/
|
||||
public function message()
|
||||
{
|
||||
return trans('validation.custom.name.firstUser');
|
||||
}
|
||||
}
|
1
resources/js/routes.js
vendored
1
resources/js/routes.js
vendored
@ -62,7 +62,6 @@ const router = new Router({
|
||||
{ path: '/webauthn/recover', name: 'webauthn.recover', component: WebauthnRecover, meta: { disabledWithAuthProxy: true, showAbout: true } },
|
||||
|
||||
{ path: '/about', name: 'about',component: About, meta: { showAbout: true } },
|
||||
{ path: '/flooded', name: 'flooded',component: Errors, props: true },
|
||||
{ path: '/error', name: 'genericError',component: Errors, props: true },
|
||||
{ path: '/404', name: '404',component: Errors, props: true },
|
||||
{ path: '*', redirect: { name: '404' } }
|
||||
|
@ -6,14 +6,6 @@
|
||||
<p>{{ $t('errors.resource_not_found') }}</p>
|
||||
<p class=""><router-link :to="{ name: 'accounts' }" class="is-text">{{ $t('errors.refresh') }}</router-link></p>
|
||||
</div>
|
||||
<div v-else-if="$route.name == 'flooded'">
|
||||
<p class="error-generic"></p>
|
||||
<p>
|
||||
{{ $t('errors.already_one_user_registered') }}<br>
|
||||
{{ $t('errors.cannot_register_more_user') }}
|
||||
</p>
|
||||
<p><router-link :to="{ name: 'accounts' }" class="is-text">{{ $t('auth.sign_in') }}</router-link></p>
|
||||
</div>
|
||||
<div v-else>
|
||||
<p class="error-generic"></p>
|
||||
<p>{{ $t('errors.error_occured') }} </p>
|
||||
|
@ -74,11 +74,7 @@
|
||||
this.showWebauthnRegistration = true
|
||||
})
|
||||
.catch(error => {
|
||||
if( error.response.status === 422 && error.response.data.errors.name.includes(this.$t('validation.custom.name.firstUser')) ) {
|
||||
|
||||
this.$notify({ type: 'is-danger', text: this.$t('errors.cannot_register_more_user'), duration:-1 })
|
||||
}
|
||||
else if( error.response.status !== 422 ) {
|
||||
if( error.response.status !== 422 ) {
|
||||
|
||||
this.$router.push({ name: 'genericError', params: { err: error.response } });
|
||||
}
|
||||
|
@ -15,7 +15,6 @@ return [
|
||||
|
||||
'resource_not_found' => 'Resource not found',
|
||||
'error_occured' => 'An error occured:',
|
||||
'cannot_register_more_user' => 'You cannot register more than one user.',
|
||||
'refresh' => 'Refresh',
|
||||
'no_valid_otp' => 'No valid OTP resource in this QR code',
|
||||
'something_wrong_with_server' => 'Something is wrong with your server',
|
||||
|
@ -185,9 +185,6 @@ return [
|
||||
],
|
||||
'ids' => [
|
||||
'regex' => 'IDs must be comma separated, without trailing comma.',
|
||||
],
|
||||
'name' => [
|
||||
'firstUser' => 'There is already a registered user',
|
||||
]
|
||||
],
|
||||
|
||||
|
@ -48,25 +48,6 @@ class RegisterControllerTest extends FeatureTestCase
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @test
|
||||
*
|
||||
* @covers \App\Rules\FirstUser
|
||||
*/
|
||||
public function test_register_returns_already_an_existing_user()
|
||||
{
|
||||
DB::table('users')->delete();
|
||||
$user = User::factory()->create();
|
||||
|
||||
$response = $this->json('POST', '/user', [
|
||||
'name' => self::USERNAME,
|
||||
'email' => self::EMAIL,
|
||||
'password' => self::PASSWORD,
|
||||
'password_confirmation' => self::PASSWORD,
|
||||
])
|
||||
->assertJsonValidationErrorFor('name');
|
||||
}
|
||||
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user