questionnaire-api/app/Transformers/QuestionnaireTransformer.php

39 lines
1.2 KiB
PHP

<?php
namespace App\Transformers;
use App\Models\Questionnaire as Model;
use App\Models\User;
use App\Models\Category;
use League\Fractal\TransformerAbstract;
use App\Http\Resources\CategoryResource;
use App\Http\Resources\SectionResource;
use App\Http\Resources\UserResource;
class QuestionnaireTransformer extends TransformerAbstract
{
/**
* @param Model $model
* @return array
*/
public function transform(Model $model)
{
return [
'createdAt' => $model->created_at->toIso8601String(),
'updatedAt' => $model->updated_at->toIso8601String(),
'id' => $model->id,
'category' => new CategoryResource($model->category),
'title' => $model->title,
'description' => $model->description,
'releasedAt' => $model->released_at,
'closedAt' => $model->closed_at,
'reviewedAt' => $model->reviewed_at,
'sections' => SectionResource::collection($model->sections, ['key' => 'sections']),
'creator' => $model->creator,
'links' => [
'relatedTo' => route('questionnaires.index')
]
];
}
}