mirror of
https://gh.wpcy.net/https://github.com/aspirepress/AspireCloud.git
synced 2026-07-18 11:39:23 +08:00
* feat: Changes required on existing files to setup Jetstream * feat: add the Inertia Home and Dashboard * feat: Add all required files and migrations to setup Jetstream * feat: Add the Sanctum middleware to the API endpoints - Added Sanctum to the API endpoints to requiere an API Key - Added a setting to control if the app should use authenticated API or not (see .env.example) - Fix redirection on API routes to the login page when a request was unauthenticated * feat: Users Management and Authication API Keys - Refactor existing tests to make authenticated request is enable - Hide the permissions setting on the UI, for now we only have a read-only API - Add tests to test authenticated and unauthenticated calls
35 lines
1,012 B
PHP
35 lines
1,012 B
PHP
<?php
|
|
|
|
namespace App\Actions\Fortify;
|
|
|
|
use App\Models\User;
|
|
use Illuminate\Support\Facades\Hash;
|
|
use Illuminate\Support\Facades\Validator;
|
|
use Laravel\Fortify\Contracts\CreatesNewUsers;
|
|
use Laravel\Jetstream\Jetstream;
|
|
|
|
class CreateNewUser implements CreatesNewUsers
|
|
{
|
|
use PasswordValidationRules;
|
|
|
|
/**
|
|
* Validate and create a newly registered user.
|
|
*
|
|
* @param array<string, string> $input
|
|
*/
|
|
public function create(array $input): User
|
|
{
|
|
Validator::make($input, [
|
|
'name' => ['required', 'string', 'max:255'],
|
|
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
|
|
'password' => $this->passwordRules(),
|
|
'terms' => Jetstream::hasTermsAndPrivacyPolicyFeature() ? ['accepted', 'required'] : '',
|
|
])->validate();
|
|
|
|
return User::create([
|
|
'name' => $input['name'],
|
|
'email' => $input['email'],
|
|
'password' => Hash::make($input['password']),
|
|
]);
|
|
}
|
|
}
|