Created API endpoints
This commit is contained in:
30
app/Transformers/AnswerTransformer.php
Normal file
30
app/Transformers/AnswerTransformer.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Transformers;
|
||||
|
||||
use App\Models\Answer as Model;
|
||||
use League\Fractal\TransformerAbstract;
|
||||
use App\Http\Resources\QuestionResource;
|
||||
use App\Http\Resources\RespondentResource;
|
||||
use App\Http\Resources\QuestionchoiceResource;
|
||||
// use App\Http\Resources\UserResource;
|
||||
|
||||
class AnswerTransformer extends TransformerAbstract
|
||||
{
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return array
|
||||
*/
|
||||
public function transform(Model $model)
|
||||
{
|
||||
return [
|
||||
'id' => $model->id,
|
||||
'text' => $model->text,
|
||||
'question' => new QuestionResource($model->question),
|
||||
'respondent' => new RespondentResource($model->respondent),
|
||||
'choice' => new QuestionchoiceResource($model->questionchoice),
|
||||
'createdAt' => $model->created_at->toIso8601String(),
|
||||
'updatedAt' => $model->updated_at->toIso8601String()
|
||||
];
|
||||
}
|
||||
}
|
||||
29
app/Transformers/CategoryTransformer.php
Normal file
29
app/Transformers/CategoryTransformer.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Transformers;
|
||||
|
||||
use App\Models\Category as Model;
|
||||
use League\Fractal\TransformerAbstract;
|
||||
use App\Http\Resources\UserResource;
|
||||
|
||||
class CategoryTransformer extends TransformerAbstract
|
||||
{
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return array
|
||||
*/
|
||||
public function transform(Model $model)
|
||||
{
|
||||
return [
|
||||
'id' => $model->id,
|
||||
'name' => $model->name,
|
||||
'code' => $model->code,
|
||||
'createdAt' => $model->created_at->toIso8601String(),
|
||||
'updatedAt' => $model->updated_at->toIso8601String(),
|
||||
'creator' => new UserResource($model->creator),
|
||||
'links' => [
|
||||
'relatedTo' => route('categories.index')
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
35
app/Transformers/QuestionTransformer.php
Normal file
35
app/Transformers/QuestionTransformer.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace App\Transformers;
|
||||
|
||||
use App\Models\Question as Model;
|
||||
use League\Fractal\TransformerAbstract;
|
||||
use App\Http\Resources\SectionResource;
|
||||
use App\Http\Resources\UserResource;
|
||||
|
||||
class QuestionTransformer 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,
|
||||
'text' => $model->text,
|
||||
'description' => $model->description,
|
||||
'section' => new SectionResource($model->section),
|
||||
'number' => $model->number,
|
||||
'expectedLength' => $model->expected_length,
|
||||
'questionType' => $model->question_type,
|
||||
'choices' => $model->choices,
|
||||
'creator' => new UserResource($model->creator),
|
||||
'links' => [
|
||||
'relatedTo' => route('questions.index')
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
24
app/Transformers/QuestionchoiceTransformer.php
Normal file
24
app/Transformers/QuestionchoiceTransformer.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Transformers;
|
||||
|
||||
use App\Models\Questionchoice as Model;
|
||||
use League\Fractal\TransformerAbstract;
|
||||
|
||||
class QuestionchoiceTransformer extends TransformerAbstract
|
||||
{
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return array
|
||||
*/
|
||||
public function transform(Model $model)
|
||||
{
|
||||
return [
|
||||
'id' => $model->id,
|
||||
'number' => $model->number,
|
||||
'text' => $model->text,
|
||||
'fillable' => $model->fillable,
|
||||
'description' => $model->description
|
||||
];
|
||||
}
|
||||
}
|
||||
38
app/Transformers/QuestionnaireTransformer.php
Normal file
38
app/Transformers/QuestionnaireTransformer.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?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')
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
30
app/Transformers/RespondentTransformer.php
Normal file
30
app/Transformers/RespondentTransformer.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Transformers;
|
||||
|
||||
use App\Models\Respondent as Model;
|
||||
use League\Fractal\TransformerAbstract;
|
||||
use App\Http\Resources\CategoryResource;
|
||||
|
||||
class RespondentTransformer extends TransformerAbstract
|
||||
{
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return array
|
||||
*/
|
||||
public function transform(Model $model)
|
||||
{
|
||||
return [
|
||||
'id' => $model->id,
|
||||
'name' => $model->name,
|
||||
'occupation' => $model->occupation,
|
||||
'gender' => $model->gender,
|
||||
'birthdate' => $model->birthdate,
|
||||
'email' => $model->email,
|
||||
'handphone' => $model->handphone,
|
||||
'category' => new CategoryResource($model->category),
|
||||
'createdAt' => $model->created_at->toIso8601String(),
|
||||
'updatedAt' => $model->updated_at->toIso8601String()
|
||||
];
|
||||
}
|
||||
}
|
||||
33
app/Transformers/SectionTransformer.php
Normal file
33
app/Transformers/SectionTransformer.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace App\Transformers;
|
||||
|
||||
use App\Models\Section as Model;
|
||||
use League\Fractal\TransformerAbstract;
|
||||
use App\Http\Resources\QuestionnaireResource;
|
||||
use App\Http\Resources\QuestionResource;
|
||||
use App\Http\Resources\UserResource;
|
||||
|
||||
class SectionTransformer extends TransformerAbstract
|
||||
{
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return array
|
||||
*/
|
||||
public function transform(Model $model)
|
||||
{
|
||||
return [
|
||||
'id' => $model->id,
|
||||
'title' => $model->title,
|
||||
'description' => $model->description,
|
||||
'questionnaire' => new QuestionnaireResource($model->questionnaire),
|
||||
'questions' => QuestionResource::collection($model->questions()->orderBy('number')->get()),
|
||||
'createdAt' => $model->created_at->toIso8601String(),
|
||||
'updatedAt' => $model->updated_at->toIso8601String(),
|
||||
'creator' => new UserResource($model->creator),
|
||||
'links' => [
|
||||
'relatedTo' => route('sections.index')
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
25
app/Transformers/UserTransformer.php
Normal file
25
app/Transformers/UserTransformer.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace App\Transformers;
|
||||
|
||||
use App\Models\User as Model;
|
||||
use League\Fractal\TransformerAbstract;
|
||||
|
||||
class UserTransformer 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,
|
||||
'username' => $model->username,
|
||||
'name' => $model->name,
|
||||
'email' => $model->email
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user