separate route permission + token manage

This commit is contained in:
xiaomlove
2025-04-17 18:59:03 +07:00
parent 263901bc54
commit 432c57f886
27 changed files with 203 additions and 54 deletions
+6 -6
View File
@@ -1,22 +1,22 @@
<?php
namespace App\Repositories;
use App\Enums\Permission\PermissionEnum;
use App\Enums\Permission\RoutePermissionEnum;
class TokenRepository extends BaseRepository
{
private static array $userTokenPermissions = [
PermissionEnum::TORRENT_LIST,
PermissionEnum::TORRENT_VIEW,
PermissionEnum::UPLOAD,
PermissionEnum::USER_VIEW,
RoutePermissionEnum::TORRENT_LIST,
RoutePermissionEnum::TORRENT_VIEW,
RoutePermissionEnum::TORRENT_UPLOAD,
RoutePermissionEnum::USER_VIEW,
];
public function listUserTokenPermissions(): array
{
$result = [];
foreach (self::$userTokenPermissions as $permission) {
$result[$permission->value] = nexus_trans("permission.{$permission->value}.text");
$result[$permission->value] = nexus_trans("route-permission.{$permission->value}.text");
}
return $result;
}
+4 -1
View File
@@ -26,6 +26,7 @@ use Illuminate\Support\Arr;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Gate;
use Illuminate\Support\Str;
use Nexus\Database\NexusDB;
@@ -69,7 +70,9 @@ class UserRepository extends BaseRepository
->allowIncludeCounts($allowIncludeCounts)
->allowIncludeFields($allowIncludeFields)
;
$user = $apiQueryBuilder->build()->findOrFail($id);
$query = $apiQueryBuilder->build();
$user = $query->findOrFail($id);
Gate::authorize('view', $user);
return $this->appendIncludeFields($apiQueryBuilder, $currentUser, $user);
}