feat: system tools and admin enhancements
This commit is contained in:
@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
|
||||
use App\Actions\Fortify\CreateNewUser;
|
||||
use App\Actions\Fortify\PasswordValidationRules;
|
||||
use App\Models\User;
|
||||
use App\Services\AuditLogger;
|
||||
use Illuminate\Auth\Events\Verified;
|
||||
use Illuminate\Auth\Events\PasswordReset;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
@@ -32,6 +33,9 @@ class AuthController extends Controller
|
||||
$user = $creator->create(input: $input);
|
||||
|
||||
$user->sendEmailVerificationNotification();
|
||||
app(AuditLogger::class)->log($request, 'user.registered', $user, [
|
||||
'email' => $user->email,
|
||||
], $user);
|
||||
|
||||
return response()->json(data: [
|
||||
'user_id' => $user->id,
|
||||
@@ -77,6 +81,10 @@ class AuthController extends Controller
|
||||
|
||||
$token = $user->createToken(name: 'api')->plainTextToken;
|
||||
|
||||
app(AuditLogger::class)->log($request, 'user.login', $user, [
|
||||
'login' => $login,
|
||||
], $user);
|
||||
|
||||
return response()->json(data: [
|
||||
'token' => $token,
|
||||
'user_id' => $user->id,
|
||||
@@ -130,13 +138,14 @@ class AuthController extends Controller
|
||||
|
||||
$status = Password::reset(
|
||||
$request->only('email', 'password', 'password_confirmation', 'token'),
|
||||
function (User $user, string $password) {
|
||||
function (User $user, string $password) use ($request) {
|
||||
$user->forceFill(attributes: [
|
||||
'password' => Hash::make(value: $password),
|
||||
'remember_token' => Str::random(length: 60),
|
||||
])->save();
|
||||
|
||||
event(new PasswordReset(user: $user));
|
||||
app(AuditLogger::class)->log($request, 'user.password_reset', $user, [], $user);
|
||||
}
|
||||
);
|
||||
|
||||
@@ -169,11 +178,14 @@ class AuthController extends Controller
|
||||
'remember_token' => Str::random(length: 60),
|
||||
])->save();
|
||||
|
||||
app(AuditLogger::class)->log($request, 'user.password_changed', $user, [], $user);
|
||||
|
||||
return response()->json(data: ['message' => 'Password updated.']);
|
||||
}
|
||||
|
||||
public function logout(Request $request): JsonResponse
|
||||
{
|
||||
app(AuditLogger::class)->log($request, 'user.logout', $request->user());
|
||||
$request->user()?->currentAccessToken()?->delete();
|
||||
|
||||
return response()->json(data: null, status: 204);
|
||||
|
||||
Reference in New Issue
Block a user