refactor:用 AdminApiList 统一后台列表类接口的响应格式
This commit is contained in:
26
app/Support/AdminUserApiPresenter.php
Normal file
26
app/Support/AdminUserApiPresenter.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace App\Support;
|
||||
|
||||
use App\Models\AdminUser;
|
||||
|
||||
/** 管理员用户 API 中列表行 / 详情 / 变更成功后的统一 JSON 形状。 */
|
||||
final class AdminUserApiPresenter
|
||||
{
|
||||
/** @return array<string, mixed> */
|
||||
public static function listItem(AdminUser $user): array
|
||||
{
|
||||
$user->loadMissing('roles');
|
||||
|
||||
return [
|
||||
'id' => (int) $user->id,
|
||||
'username' => $user->username,
|
||||
'nickname' => $user->name,
|
||||
'email' => $user->email,
|
||||
'status' => (int) $user->status,
|
||||
'roles' => $user->adminRoleSlugs(),
|
||||
'direct_permissions' => $user->directLegacyPermissionSlugs(),
|
||||
'effective_permissions' => $user->adminPermissionSlugs(),
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user