Created API endpoints
This commit is contained in:
95
app/Http/Controllers/AnswerController.php
Normal file
95
app/Http/Controllers/AnswerController.php
Normal file
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Answer;
|
||||
use App\Transformers\AnswerTransformer;
|
||||
use App\Http\Resources\AnswerResource;
|
||||
use Dingo\Api\Routing\Helpers;
|
||||
|
||||
class AnswerController extends Controller
|
||||
{
|
||||
use Helpers;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$answers = Answer::all();
|
||||
|
||||
return AnswerResource::collection($answers);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$answer = Answer::findOrFail($id);
|
||||
|
||||
return $this->response
|
||||
->item($answer, new AnswerTransformer, ['key' => 'answers']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
95
app/Http/Controllers/CategoryController.php
Normal file
95
app/Http/Controllers/CategoryController.php
Normal file
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Category;
|
||||
use App\Http\Resources\CategoryResource;
|
||||
use App\Transformers\CategoryTransformer;
|
||||
use Dingo\Api\Routing\Helpers;
|
||||
|
||||
class CategoryController extends Controller
|
||||
{
|
||||
use Helpers;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$categories = Category::all();
|
||||
|
||||
return CategoryResource::collection($categories);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$category = Category::findOrFail($id);
|
||||
|
||||
return $this->response
|
||||
->item($category, new CategoryTransformer, ['key' => 'categories']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
108
app/Http/Controllers/QuestionAnswerController.php
Normal file
108
app/Http/Controllers/QuestionAnswerController.php
Normal file
@@ -0,0 +1,108 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Resources\AnswerResource;
|
||||
use App\Transformers\AnswerTransformer;
|
||||
use App\Models\Answer;
|
||||
use App\Models\Question;
|
||||
use Dingo\Api\Routing\Helpers;
|
||||
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||
|
||||
class QuestionAnswerController extends Controller
|
||||
{
|
||||
use Helpers;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index($questionId)
|
||||
{
|
||||
$question = Question::findOrFail($questionId);
|
||||
// return $this->response
|
||||
// ->item($question, new QuestionTransformer, ['key' => 'questions']);
|
||||
|
||||
$answer = $question->answers()->get();
|
||||
|
||||
return AnswerResource::collection($answer);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
// return $request;
|
||||
$question = Question::find($request->question_id);
|
||||
if ($question == null) {
|
||||
throw new NotFoundHttpException("Question not found.");
|
||||
|
||||
}
|
||||
$answer = $question->answers()->create($request->all());
|
||||
|
||||
// return $this->response
|
||||
// ->item($answer, new AnswerTransformer, ['key' => 'answers']);
|
||||
return new AnswerResource($answer);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
92
app/Http/Controllers/QuestionController.php
Normal file
92
app/Http/Controllers/QuestionController.php
Normal file
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Dingo\Api\Routing\Helpers;
|
||||
use App\Models\Question;
|
||||
use App\Transformers\QuestionTransformer;
|
||||
|
||||
class QuestionController extends Controller
|
||||
{
|
||||
use Helpers;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$question = Question::findOrFail($id);
|
||||
|
||||
return $this->response
|
||||
->item($question, new QuestionTransformer, ['key' => 'questions']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
97
app/Http/Controllers/QuestionnaireController.php
Normal file
97
app/Http/Controllers/QuestionnaireController.php
Normal file
@@ -0,0 +1,97 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Questionnaire;
|
||||
use Dingo\Api\Routing\Helpers;
|
||||
use App\Transformers\QuestionnaireTransformer;
|
||||
use App\Http\Resources\QuestionnaireResource;
|
||||
|
||||
class QuestionnaireController extends Controller
|
||||
{
|
||||
use Helpers;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$questionnaires = Questionnaire::all();
|
||||
|
||||
// return $this->response
|
||||
// ->collection($questionnaires, new QuestionnaireResource, ['key' => 'questionnaires']);
|
||||
return QuestionnaireResource::collection($questionnaires);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param \App\Models\Questionnaire $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$questionnaire = Questionnaire::findOrFail($id);
|
||||
|
||||
return $this->response
|
||||
->item($questionnaire, new QuestionnaireTransformer, ['key' => 'questionnaires']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param \App\Models\Questionnaire $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit(Questionnaire $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \App\Models\Questionnaire $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, Questionnaire $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param \App\Models\Questionnaire $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy(Questionnaire $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
96
app/Http/Controllers/QuestionnaireSectionController.php
Normal file
96
app/Http/Controllers/QuestionnaireSectionController.php
Normal file
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Questionnaire;
|
||||
use Dingo\Api\Routing\Helpers;
|
||||
use App\Transformers\SectionTransformer;
|
||||
use App\Http\Resources\SectionResource;
|
||||
|
||||
class QuestionnaireSectionController extends Controller
|
||||
{
|
||||
use Helpers;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index($questionnaire)
|
||||
{
|
||||
$sections = Questionnaire::find($questionnaire)
|
||||
->sections()->get();
|
||||
|
||||
// return $this->response
|
||||
// ->paginator($sections, new SectionTransformer, ['key' => 'sections']);
|
||||
return SectionResource::collection($sections);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param \App\Model\Questionnaire $questionnaire
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show(Questionnaire $questionnaire, Section $section)
|
||||
{
|
||||
//
|
||||
echo "You've requested section with questionnaire id:" . $id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
95
app/Http/Controllers/RespondentController.php
Normal file
95
app/Http/Controllers/RespondentController.php
Normal file
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Respondent;
|
||||
use App\Http\Resources\RespondentResource;
|
||||
use App\Transformers\RespondentTransformer;
|
||||
use Dingo\Api\Routing\Helpers;
|
||||
|
||||
class RespondentController extends Controller
|
||||
{
|
||||
use Helpers;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$respondents = Respondent::all();
|
||||
|
||||
return RespondentResource::collection($respondents);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$respondent = Respondent::findOrFail($id);
|
||||
|
||||
return $this->response
|
||||
->item($respondent, new RespondentTransformer, ['key' => 'respondents']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
92
app/Http/Controllers/SectionController.php
Normal file
92
app/Http/Controllers/SectionController.php
Normal file
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Section;
|
||||
use App\Transformers\SectionTransformer;
|
||||
use Dingo\Api\Routing\Helpers;
|
||||
|
||||
class SectionController extends Controller
|
||||
{
|
||||
use Helpers;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$section = Section::findOrFail($id);
|
||||
|
||||
return $this->response
|
||||
->item($section, new SectionTransformer, ['key' => 'sections']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
96
app/Http/Controllers/SectionQuestionController.php
Normal file
96
app/Http/Controllers/SectionQuestionController.php
Normal file
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Dingo\Api\Routing\Helpers;
|
||||
use App\Models\Section;
|
||||
use App\Models\Question;
|
||||
use App\Transformers\QuestionTransformer;
|
||||
|
||||
class SectionQuestionController extends Controller
|
||||
{
|
||||
use Helpers;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index($section)
|
||||
{
|
||||
$question = Section::find($section)
|
||||
->questions()->paginate(1);
|
||||
|
||||
return $this->response
|
||||
->paginator($question, new QuestionTransformer, ['key' => 'questions']);
|
||||
|
||||
// return QuestionTransformer::collection($questions);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
95
app/Http/Controllers/UserController.php
Normal file
95
app/Http/Controllers/UserController.php
Normal file
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Dingo\Api\Routing\Helpers;
|
||||
use App\Models\User;
|
||||
use App\Transformers\UserTransformer;
|
||||
use App\Http\Resources\UserResource;
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
use Helpers;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$users = User::all();
|
||||
|
||||
return UserResource::collection($users);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$user = User::findOrFail($id);
|
||||
|
||||
return $this->response
|
||||
->item($user, new UserTransformer, ['key' => 'users']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
@@ -19,6 +19,7 @@ class Kernel extends HttpKernel
|
||||
\App\Http\Middleware\TrimStrings::class,
|
||||
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
|
||||
\App\Http\Middleware\TrustProxies::class,
|
||||
\App\Http\Middleware\ModifyHeadersMiddleware::class,
|
||||
];
|
||||
|
||||
/**
|
||||
|
||||
23
app/Http/Middleware/ModifyHeadersMiddleware.php
Normal file
23
app/Http/Middleware/ModifyHeadersMiddleware.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
|
||||
class ModifyHeadersMiddleware
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
$response = $next($request);
|
||||
$response->header('Access-Control-Allow-Origin', '*');
|
||||
$response->header('Access-Control-Allow-Headers', 'Origin, Content-Type');
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
30
app/Http/Resources/AnswerResource.php
Normal file
30
app/Http/Resources/AnswerResource.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources;
|
||||
|
||||
use Illuminate\Http\Resources\Json\Resource;
|
||||
|
||||
class AnswerResource extends Resource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @param \Illuminate\Http\Request
|
||||
* @return array
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'choice' => $this->questionchoice,
|
||||
'text' => $this->text,
|
||||
'links' => [
|
||||
'self' => route('answers.show', ['answers' => $this->id]),
|
||||
'relatedTo' => [
|
||||
'question' => route('questions.show', ['questions' => $this->question_id]),
|
||||
'respondent' => route('respondents.show', ['respondents' => $this->respondent_id])
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
27
app/Http/Resources/CategoryResource.php
Normal file
27
app/Http/Resources/CategoryResource.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources;
|
||||
|
||||
use Illuminate\Http\Resources\Json\Resource;
|
||||
|
||||
class CategoryResource extends Resource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @param \Illuminate\Http\Request
|
||||
* @return array
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
// return parent::toArray($request);
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'name' => $this->name,
|
||||
'code' => $this->code,
|
||||
'links' => [
|
||||
'self' => route('categories.show', ['categories' => $this->id])
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
29
app/Http/Resources/QuestionResource.php
Normal file
29
app/Http/Resources/QuestionResource.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources;
|
||||
|
||||
use Illuminate\Http\Resources\Json\Resource;
|
||||
|
||||
class QuestionResource extends Resource
|
||||
{
|
||||
/**
|
||||
* Transform the resource collection into an array.
|
||||
*
|
||||
* @param \Illuminate\Http\Request
|
||||
* @return array
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
// return parent::toArray($request);
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'text' => $this->text,
|
||||
'number' => $this->number,
|
||||
'description' => $this->description,
|
||||
'section' => new SectionResource($this->section),
|
||||
'links' => [
|
||||
'self' => route('questions.show', ['questions' => $this->id])
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
28
app/Http/Resources/QuestionchoiceResource.php
Normal file
28
app/Http/Resources/QuestionchoiceResource.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources;
|
||||
|
||||
use Illuminate\Http\Resources\Json\Resource;
|
||||
|
||||
class QuestionchoiceResource extends Resource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @param \Illuminate\Http\Request
|
||||
* @return array
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'number' => $this->number,
|
||||
'text' => $this->text,
|
||||
'fillable' => $this->fillable,
|
||||
'description' => $this->description,
|
||||
'links' => [
|
||||
'relatedTo' => route('questions.show', ['questions' => $this->question_id])
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
28
app/Http/Resources/QuestionnaireResource.php
Normal file
28
app/Http/Resources/QuestionnaireResource.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources;
|
||||
|
||||
use Illuminate\Http\Resources\Json\Resource;
|
||||
|
||||
class QuestionnaireResource extends Resource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @param \Illuminate\Http\Request
|
||||
* @return array
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
// return parent::toArray($request);
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'category' => new CategoryResource($this->category),
|
||||
'title' => $this->title,
|
||||
'description' => $this->description,
|
||||
'links' => [
|
||||
'self' => route('questionnaires.show', ['questionnaires' => $this->id])
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
27
app/Http/Resources/RespondentResource.php
Normal file
27
app/Http/Resources/RespondentResource.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources;
|
||||
|
||||
use Illuminate\Http\Resources\Json\Resource;
|
||||
|
||||
class RespondentResource extends Resource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @param \Illuminate\Http\Request
|
||||
* @return array
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'name' => $this->name,
|
||||
'occupation' => $this->occupation,
|
||||
'gender' => $this->gender,
|
||||
'links' => [
|
||||
'self' => route('respondents.show', ['respondents' => $this->id])
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
27
app/Http/Resources/SectionResource.php
Normal file
27
app/Http/Resources/SectionResource.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources;
|
||||
|
||||
use Illuminate\Http\Resources\Json\Resource;
|
||||
|
||||
class SectionResource extends Resource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @param \Illuminate\Http\Request
|
||||
* @return array
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
// return parent::toArray($request);
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'title' => $this->title,
|
||||
'description' => $this->description,
|
||||
'links' => [
|
||||
'self' => route('sections.show', ['sections' => $this->id])
|
||||
]
|
||||
];
|
||||
}
|
||||
}
|
||||
25
app/Http/Resources/UserResource.php
Normal file
25
app/Http/Resources/UserResource.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources;
|
||||
|
||||
use Illuminate\Http\Resources\Json\Resource;
|
||||
|
||||
class UserResource extends Resource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @param \Illuminate\Http\Request
|
||||
* @return array
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
// return parent::toArray($request);
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'username' => $this->username,
|
||||
'name' => $this->name,
|
||||
'email' => $this->email
|
||||
];
|
||||
}
|
||||
}
|
||||
45
app/Models/Answer.php
Normal file
45
app/Models/Answer.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
class Answer extends Model
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
||||
/**
|
||||
* The attributes that should be mutated to dates.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $dates = [
|
||||
'updated_at',
|
||||
'created_at',
|
||||
'deleted_at'
|
||||
];
|
||||
|
||||
protected $fillable = [
|
||||
'choice',
|
||||
'text',
|
||||
'respondent_id',
|
||||
'question_id',
|
||||
'questionchoice_id'
|
||||
];
|
||||
|
||||
public function question()
|
||||
{
|
||||
return $this->belongsTo(Question::class);
|
||||
}
|
||||
|
||||
public function questionchoice()
|
||||
{
|
||||
return $this->belongsTo(Questionchoice::class);
|
||||
}
|
||||
|
||||
public function respondent()
|
||||
{
|
||||
return $this->belongsTo(Respondent::class);
|
||||
}
|
||||
}
|
||||
27
app/Models/Category.php
Normal file
27
app/Models/Category.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
class Category extends Model
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
||||
/**
|
||||
* The attributes that should be mutated to dates.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $dates = [
|
||||
'updated_at',
|
||||
'created_at',
|
||||
'deleted_at'
|
||||
];
|
||||
|
||||
public function creator()
|
||||
{
|
||||
return $this->belongsTo(User::class, 'creator_id');
|
||||
}
|
||||
}
|
||||
42
app/Models/Question.php
Normal file
42
app/Models/Question.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
class Question extends Model
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
||||
/**
|
||||
* The attributes that should be mutated to dates.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $dates = [
|
||||
'updated_at',
|
||||
'created_at',
|
||||
'deleted_at'
|
||||
];
|
||||
|
||||
public function section()
|
||||
{
|
||||
return $this->belongsTo(Section::class);
|
||||
}
|
||||
|
||||
public function choices()
|
||||
{
|
||||
return $this->hasMany(Questionchoice::class);
|
||||
}
|
||||
|
||||
public function creator()
|
||||
{
|
||||
return $this->belongsTo(User::class);
|
||||
}
|
||||
|
||||
public function answers()
|
||||
{
|
||||
return $this->hasMany(Answer::class);
|
||||
}
|
||||
}
|
||||
27
app/Models/Questionchoice.php
Normal file
27
app/Models/Questionchoice.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
class Questionchoice extends Model
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
||||
/**
|
||||
* The attributes that should be mutated to dates.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $dates = [
|
||||
'updated_at',
|
||||
'created_at',
|
||||
'deleted_at'
|
||||
];
|
||||
|
||||
public function question()
|
||||
{
|
||||
return $this->belongsTo(Question::class);
|
||||
}
|
||||
}
|
||||
45
app/Models/Questionnaire.php
Normal file
45
app/Models/Questionnaire.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
class Questionnaire extends Model
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
||||
/**
|
||||
* The attributes that should be mutated to dates.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $dates = [
|
||||
'updated_at',
|
||||
'released_at',
|
||||
'created_at',
|
||||
'closed_at',
|
||||
'reviewed_at',
|
||||
'deleted_at'
|
||||
];
|
||||
|
||||
public function sections()
|
||||
{
|
||||
return $this->hasMany(Section::class);
|
||||
}
|
||||
|
||||
public function questions()
|
||||
{
|
||||
return $this->hasManyThrough(Question::class, Section::class);
|
||||
}
|
||||
|
||||
public function category()
|
||||
{
|
||||
return $this->belongsTo(Category::class);
|
||||
}
|
||||
|
||||
public function creator()
|
||||
{
|
||||
return $this->belongsTo(User::class);
|
||||
}
|
||||
}
|
||||
27
app/Models/Respondent.php
Normal file
27
app/Models/Respondent.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
class Respondent extends Model
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
||||
/**
|
||||
* The attributes that should be mutated to dates.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $dates = [
|
||||
'updated_at',
|
||||
'created_at',
|
||||
'deleted_at'
|
||||
];
|
||||
|
||||
public function category()
|
||||
{
|
||||
return $this->belongsTo(Category::class);
|
||||
}
|
||||
}
|
||||
42
app/Models/Section.php
Normal file
42
app/Models/Section.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
class Section extends Model
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
||||
/**
|
||||
* The attributes that should be mutated to dates.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $dates = [
|
||||
'updated_at',
|
||||
'created_at',
|
||||
'deleted_at'
|
||||
];
|
||||
|
||||
public function questionnaire()
|
||||
{
|
||||
return $this->belongsTo(Questionnaire::class);
|
||||
}
|
||||
|
||||
public function questions()
|
||||
{
|
||||
return $this->hasMany(Question::class);
|
||||
}
|
||||
|
||||
public function choices()
|
||||
{
|
||||
return $this->hasManyThrough(Choice::class, Question::class);
|
||||
}
|
||||
|
||||
public function creator()
|
||||
{
|
||||
return $this->belongsTo(User::class);
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App;
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
class User extends Authenticatable
|
||||
{
|
||||
use SoftDeletes;
|
||||
|
||||
/**
|
||||
* The attributes that should be mutated to dates.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $dates = [
|
||||
'updated_at',
|
||||
'created_at',
|
||||
'deleted_at'
|
||||
];
|
||||
|
||||
use Notifiable;
|
||||
|
||||
protected $table = "users";
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
|
||||
35
app/Providers/JSONApiServiceProvider.php
Normal file
35
app/Providers/JSONApiServiceProvider.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
|
||||
class JSONApiServiceProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* Bootstrap the application services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the application services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
$this->app['Dingo\Api\Transformer\Factory']->setAdapter(function ($app) {
|
||||
$baseUrl = 'http://api.questionnaire.dev/v1';
|
||||
$manager = new \League\Fractal\Manager;
|
||||
$manager->setSerializer(new \League\Fractal\Serializer\JsonApiSerializer($baseUrl));
|
||||
|
||||
|
||||
return new \Dingo\Api\Transformer\Adapter\Fractal($manager, 'include', ',');
|
||||
});
|
||||
}
|
||||
}
|
||||
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