35 lines
1.5 KiB
PHP
35 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Services\EducationDeclarationDrafts;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
final class EducationDeclarationDraftController extends Controller
|
|
{
|
|
public function index(Request $request, string $kind, EducationDeclarationDrafts $drafts): JsonResponse
|
|
{
|
|
$drafts->guard($request->user(), $kind);
|
|
|
|
return response()->json(DB::table('education_declaration_drafts')->where('owner_user_id', $request->user()->id)->where('kind', $kind)
|
|
->orderByDesc('updated_at')->orderBy('id')->paginate(20, ['id', 'kind', 'version_no', 'state', 'updated_at']))->header('Cache-Control', 'private, no-store');
|
|
}
|
|
|
|
public function show(Request $request, string $kind, string $id, EducationDeclarationDrafts $drafts): JsonResponse
|
|
{
|
|
return response()->json($drafts->show($request->user(), $kind, $id))->header('Cache-Control', 'private, no-store');
|
|
}
|
|
|
|
public function save(Request $request, string $kind, EducationDeclarationDrafts $drafts, ?string $id = null): JsonResponse
|
|
{
|
|
return response()->json($drafts->save($request->user(), $kind, $id, $request->all()))->header('Cache-Control', 'private, no-store');
|
|
}
|
|
|
|
public function submit(Request $request, string $kind, string $id, EducationDeclarationDrafts $drafts): JsonResponse
|
|
{
|
|
return response()->json($drafts->submit($request->user(), $kind, $id, $request->all()))->header('Cache-Control', 'private, no-store');
|
|
}
|
|
}
|