Files
Xboard/app/Http/Resources/KnowledgeResource.php
xboard 61a44483d4 feat(knowledge): add KnowledgeResource with plugin hooks
- Add KnowledgeResource with user.knowledge.resource hook
- Unify processKnowledgeContent for both single and list items
- Remove isListItem parameter for cleaner architecture
2025-09-20 13:36:10 +08:00

29 lines
669 B
PHP

<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
use App\Services\Plugin\HookManager;
class KnowledgeResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @return array<string, mixed>
*/
public function toArray(Request $request): array
{
$data = [
'id' => $this['id'],
'category' => $this['category'],
'title' => $this['title'],
'body' => $this->when(isset($this['body']), $this['body']),
'updated_at' => $this['updated_at'],
];
return HookManager::filter('user.knowledge.resource', $data, $request, $this);
}
}