store-manage/app/Http/Controllers/Api/WorkflowController.php

41 lines
1.3 KiB
PHP

<?php
namespace App\Http\Controllers\Api;
use App\Http\Resources\KeywordResource;
use App\Models\{WorkflowLog, WorkflowCheck};
use Illuminate\Http\Request;
use Illuminate\Database\Eloquent\Relations\Relation;
use App\Enums\{CheckStatus};
use App\Http\Resources\{WorkflowLogResource, WorkflowCheckResource};
use App\Exceptions\RuntimeException;
class WorkflowController extends Controller
{
public function index(Request $request)
{
$request->validate([
'subject_type' => 'required',
]);
$user = $this->guard()->user();
$query = WorkflowLog::with(['check.subject'])
->whereHas('check',fn($q) => $q->where('subject_type', $request->input('subject_type')))
->own($user)
->where('check_status', CheckStatus::Processing)
->orderBy('created_at', 'desc');
$list = $query->paginate($request->input('per_page'));
return WorkflowLogResource::collection($list);
}
public function show($id, Request $request)
{
$request->validate([
'subject_type' => 'required',
]);
$user = $this->guard()->user();
$info = WorkflowLog::with(['check.subject'])->own($user)->findOrFail($id);
return WorkflowLogResource::make($info);
}
}