mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-20 09:30:49 +08:00
userModifyLog filter + api checkUserStatus
This commit is contained in:
@@ -46,15 +46,44 @@ class UserModifyLogResource extends Resource
|
||||
return $table
|
||||
->columns([
|
||||
Tables\Columns\TextColumn::make('id'),
|
||||
Tables\Columns\TextColumn::make('user_id')
|
||||
Tables\Columns\TextColumn::make('user_id')->label('UID'),
|
||||
Tables\Columns\TextColumn::make('user.username')
|
||||
->label(nexus_trans("label.username"))
|
||||
->formatStateUsing(fn ($state) => username_for_admin($state))
|
||||
->formatStateUsing(fn ($record) => username_for_admin($record->user_id))
|
||||
,
|
||||
Tables\Columns\TextColumn::make('content')->label(nexus_trans("user-modify-log.content")),
|
||||
Tables\Columns\TextColumn::make('created_at')->label(nexus_trans("label.created_at")),
|
||||
])
|
||||
->filters([
|
||||
//
|
||||
Tables\Filters\Filter::make('user_id')
|
||||
->form([
|
||||
Forms\Components\TextInput::make('user_id')
|
||||
->label(__('UID'))
|
||||
,
|
||||
])->query(function (Builder $query, array $data) {
|
||||
return $query->when($data['user_id'], fn (Builder $query, $value) => $query->where("user_id", $value));
|
||||
})
|
||||
,
|
||||
Tables\Filters\Filter::make('user')
|
||||
->form([
|
||||
Forms\Components\TextInput::make('username')
|
||||
->label(__('label.username'))
|
||||
,
|
||||
])->query(function (Builder $query, array $data) {
|
||||
return $query->when($data['username'], fn (Builder $query, $value) => $query->whereHas("user", function (Builder $query) use ($value) {
|
||||
$query->where("username", $value);
|
||||
}));
|
||||
})
|
||||
,
|
||||
Tables\Filters\Filter::make('content')
|
||||
->form([
|
||||
Forms\Components\TextInput::make('content')
|
||||
->label(__('user-modify-log.content'))
|
||||
,
|
||||
])->query(function (Builder $query, array $data) {
|
||||
return $query->when($data['content'], fn (Builder $query, $value) => $query->where("content", "like", "%{$data['content']}%"));
|
||||
})
|
||||
,
|
||||
])
|
||||
->defaultSort('id', 'desc')
|
||||
->actions([
|
||||
|
||||
+1
-1
@@ -76,7 +76,7 @@ class Kernel extends HttpKernel
|
||||
'permission' => \App\Http\Middleware\Permission::class,
|
||||
'admin' => \App\Http\Middleware\Admin::class,
|
||||
'locale' => \App\Http\Middleware\Locale::class,
|
||||
'user' => \App\Http\Middleware\User::class,
|
||||
'checkUserStatus' => \App\Http\Middleware\CheckUserStatus::class,
|
||||
];
|
||||
|
||||
protected $middlewareAliases = [
|
||||
|
||||
@@ -18,7 +18,7 @@ class Admin
|
||||
*/
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
/** @var User $user */
|
||||
/** @var CheckUserStatus $user */
|
||||
$user = $request->user();
|
||||
if (!$user || !$user->canAccessAdmin()) {
|
||||
do_log("denied!");
|
||||
|
||||
@@ -2,11 +2,12 @@
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use App\Models\User;
|
||||
use Carbon\Carbon;
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class User
|
||||
class CheckUserStatus
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
@@ -17,6 +18,9 @@ class User
|
||||
*/
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
/** @var User $user */
|
||||
$user = $request->user();
|
||||
$user->checkIsNormal();
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
@@ -29,12 +33,7 @@ class User
|
||||
*/
|
||||
public function terminate($request, $response)
|
||||
{
|
||||
$user = $request->user();
|
||||
$update = [
|
||||
'last_access' => Carbon::now()
|
||||
];
|
||||
do_log("[ACTIVE] {$user->id}: " . nexus_json_encode($update));
|
||||
$user->update($update);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -18,7 +18,7 @@ class Permission
|
||||
*/
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
/** @var User $user */
|
||||
/** @var CheckUserStatus $user */
|
||||
$user = $request->user();
|
||||
if (!$user || (nexus()->isPlatformAdmin() && !$user->canAccessAdmin())) {
|
||||
do_log("denied!");
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
defined('VERSION_NUMBER') || define('VERSION_NUMBER', '1.9.0');
|
||||
defined('RELEASE_DATE') || define('RELEASE_DATE', '2025-05-04');
|
||||
defined('RELEASE_DATE') || define('RELEASE_DATE', '2025-05-08');
|
||||
defined('IN_TRACKER') || define('IN_TRACKER', false);
|
||||
defined('PROJECTNAME') || define("PROJECTNAME","NexusPHP");
|
||||
defined('NEXUSPHPURL') || define("NEXUSPHPURL","https://nexusphp.org");
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ use App\Enums\Permission\RoutePermissionEnum;
|
||||
|
||||
Route::group(['middleware' => ['auth:sanctum']], function () {
|
||||
|
||||
Route::group(['middleware' => []], function () {
|
||||
Route::group(['middleware' => ['checkUserStatus']], function () {
|
||||
// Route::post('logout', [\App\Http\Controllers\AuthenticateController::class, 'logout']);
|
||||
|
||||
// Route::get('user-me',[\App\Http\Controllers\UserController::class, 'me'])->name('user.me');
|
||||
|
||||
Reference in New Issue
Block a user