Files
headroom/backend/app/Http/Resources/ProjectResource.php
Santhosh Janardhanan d88c610f4e fix(api): Complete API Resource Standard remediation
- Fix backend tests for capacity and project endpoints
- Add SvelteKit hooks.server.ts for API proxy in Docker
- Update unwrapResponse to handle nested data wrappers
- Add console logging for project form errors
- Increase E2E test timeouts for modal operations
- Mark 4 modal timing tests as fixme (investigate later)

Test Results:
- Backend: 75 passed 
- Frontend Unit: 10 passed 
- E2E: 130 passed, 24 skipped 
- API Docs: Generated

Refs: openspec/changes/api-resource-standard
2026-02-19 17:03:24 -05:00

29 lines
1.0 KiB
PHP

<?php
namespace App\Http\Resources;
class ProjectResource extends BaseResource
{
public function toArray($request): array
{
return [
'id' => $this->id,
'code' => $this->code,
'title' => $this->title,
'status' => $this->whenLoaded('status', fn () => new ProjectStatusResource($this->status)),
'type' => $this->whenLoaded('type', fn () => new ProjectTypeResource($this->type)),
'approved_estimate' => $this->formatEstimate($this->approved_estimate),
'forecasted_effort' => $this->forecasted_effort,
'start_date' => $this->formatDate($this->start_date),
'end_date' => $this->formatDate($this->end_date),
'created_at' => $this->formatDate($this->created_at),
'updated_at' => $this->formatDate($this->updated_at),
];
}
private function formatEstimate(?float $value): ?string
{
return $value !== null ? number_format((float) $value, 2, '.', '') : null;
}
}