Files
nexusphp/app/Repositories/TokenRepository.php

40 lines
1.2 KiB
PHP
Raw Normal View History

2025-03-29 14:32:31 +07:00
<?php
namespace App\Repositories;
use App\Enums\Permission\RoutePermissionEnum;
2025-05-02 23:27:16 +07:00
use App\Models\Setting;
2025-03-29 14:32:31 +07:00
class TokenRepository extends BaseRepository
{
private static array $userTokenPermissions = [
2025-05-02 23:27:16 +07:00
RoutePermissionEnum::TORRENT_LIST->value,
RoutePermissionEnum::TORRENT_VIEW->value,
RoutePermissionEnum::TORRENT_UPLOAD->value,
RoutePermissionEnum::USER_VIEW->value,
2025-09-14 04:42:37 +07:00
RoutePermissionEnum::BOOKMARK_STORE->value,
RoutePermissionEnum::BOOKMARK_DELETE->value,
2025-03-29 14:32:31 +07:00
];
public static function listUserTokenPermissions(bool $format = true): array
2025-05-02 23:27:16 +07:00
{
if (!$format) {
return self::$userTokenPermissions;
}
2025-05-02 23:27:16 +07:00
return self::formatPermissions(self::$userTokenPermissions);
}
public static function listUserTokenPermissionAllowed(): array
{
return self::formatPermissions(Setting::getPermissionUserTokenAllowed());
}
private static function formatPermissions(array $permissions): array
2025-03-29 14:32:31 +07:00
{
$result = [];
2025-05-02 23:27:16 +07:00
foreach ($permissions as $permission) {
$result[$permission] = nexus_trans("route-permission.{$permission}.text");
2025-03-29 14:32:31 +07:00
}
return $result;
}
}