| 1234567891011121314151617181920212223242526272829303132 |
- <?php
- namespace App\Http\Resources;
- use Carbon\Carbon;
- use Illuminate\Http\Request;
- use Illuminate\Http\Resources\Json\JsonResource;
- class EvaluationCampaignResource extends JsonResource
- {
- public function toArray(Request $request): array
- {
- return [
- 'id' => $this->id,
- 'title' => $this->title,
- 'description' => $this->description,
- 'target' => $this->target,
- 'status' => $this->status,
- 'started_at' => $this->started_at?->format('Y-m-d H:i:s'),
- 'finished_at' => $this->finished_at?->format('Y-m-d H:i:s'),
- 'evaluations_count' => $this->when($this->evaluations_count !== null, (int) $this->evaluations_count),
- 'evaluations_avg_rating' => $this->when(
- $this->evaluations_avg_rating !== null,
- fn() => round((float) $this->evaluations_avg_rating, 2),
- ),
- 'created_by' => $this->created_by,
- 'created_by_user' => $this->whenLoaded('createdBy', fn() => new UserResource($this->createdBy)),
- 'created_at' => Carbon::parse($this->created_at)->format('Y-m-d H:i:s'),
- 'updated_at' => Carbon::parse($this->updated_at)->format('Y-m-d H:i:s'),
- ];
- }
- }
|