exam-user

This commit is contained in:
xiaomlove
2021-04-25 02:12:14 +08:00
parent a0c7a7e5dc
commit 0c5f3d935d
28 changed files with 869 additions and 92 deletions

View File

@@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use App\Http\Resources\ExamResource;
use App\Http\Resources\ExamUserResource;
use App\Http\Resources\UserResource;
use App\Repositories\ExamRepository;
use App\Repositories\UserRepository;
@@ -88,11 +89,12 @@ class ExamController extends Controller
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
* @return array
*/
public function destroy($id)
{
//
$result = $this->repository->delete($id);
return $this->success($result, 'Delete exam success!');
}
public function indexes()
@@ -101,4 +103,11 @@ class ExamController extends Controller
return $this->success($result);
}
public function users(Request $request)
{
$result = $this->repository->listUser($request->all());
$resource = ExamUserResource::collection($result);
return $this->success($resource);
}
}

View File

@@ -2,9 +2,12 @@
namespace App\Http\Controllers;
use App\Http\Resources\ExamResource;
use App\Http\Resources\UserResource;
use App\Repositories\ExamRepository;
use App\Repositories\UserRepository;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Support\Facades\Auth;
class UserController extends Controller
@@ -109,4 +112,13 @@ class UserController extends Controller
$resource = new UserResource($result);
return $this->success($resource);
}
public function exams()
{
$id = Auth::id();
$examRepository = new ExamRepository();
$result = $examRepository->listMatchExam($id);
$resource = ExamResource::collection($result);
return $this->success($resource);
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Resources;
use App\Models\Exam;
use App\Models\User;
use Carbon\Carbon;
use Illuminate\Http\Resources\Json\JsonResource;
class ExamUserResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $this->id,
'status' => $this->status,
'status_text' => $this->statusText,
'created_at' => $this->created_at->format('Y-m-d H:i:s'),
'user' => new UserResource($this->whenLoaded('user')),
'exam' => new ExamResource($this->whenLoaded('exam')),
];
}
}

View File

@@ -21,9 +21,13 @@ class UserResource extends JsonResource
'status' => $this->status,
'added' => $this->added,
'class' => $this->class,
'class_text' => $this->class_text,
'avatar' => $this->avatar,
'uploaded' => $this->uploaded,
'uploaded_text' => mksize($this->uploaded),
'downloaded' => $this->downloaded,
'downloaded_text' => mksize($this->downloaded),
'bonus' => $this->seedbonus,
'seedtime' => $this->seedtime,
'leechtime' => $this->leechtime,
];