user token permission configurable

This commit is contained in:
xiaomlove
2025-05-02 23:27:16 +07:00
parent 7ef23bcc6b
commit 43b241d617
7 changed files with 61 additions and 9 deletions

View File

@@ -2,21 +2,32 @@
namespace App\Repositories;
use App\Enums\Permission\RoutePermissionEnum;
use App\Models\Setting;
class TokenRepository extends BaseRepository
{
private static array $userTokenPermissions = [
RoutePermissionEnum::TORRENT_LIST,
RoutePermissionEnum::TORRENT_VIEW,
RoutePermissionEnum::TORRENT_UPLOAD,
RoutePermissionEnum::USER_VIEW,
RoutePermissionEnum::TORRENT_LIST->value,
RoutePermissionEnum::TORRENT_VIEW->value,
RoutePermissionEnum::TORRENT_UPLOAD->value,
RoutePermissionEnum::USER_VIEW->value,
];
public static function listUserTokenPermissions(): array
{
return self::formatPermissions(self::$userTokenPermissions);
}
public static function listUserTokenPermissionAllowed(): array
{
return self::formatPermissions(Setting::getPermissionUserTokenAllowed());
}
private static function formatPermissions(array $permissions): array
{
$result = [];
foreach (self::$userTokenPermissions as $permission) {
$result[$permission->value] = nexus_trans("route-permission.{$permission->value}.text");
foreach ($permissions as $permission) {
$result[$permission] = nexus_trans("route-permission.{$permission}.text");
}
return $result;
}