28 lines
812 B
PHP
28 lines
812 B
PHP
<?php
|
|
|
|
namespace App\Services\Document;
|
|
|
|
use App\Enums\DocumentStatusEnum;
|
|
use App\Models\Document;
|
|
use App\Models\User;
|
|
use Illuminate\Database\Eloquent\Builder;
|
|
|
|
class CaseService
|
|
{
|
|
public function pendingForUser(User $user): Builder
|
|
{
|
|
return Document::with(['pet', 'requester'])
|
|
->whereIn('status', [
|
|
DocumentStatusEnum::Registered->value,
|
|
DocumentStatusEnum::InProgress->value,
|
|
])
|
|
->where(function ($query) use ($user) {
|
|
$query->where('requester_id', $user->id)
|
|
->orWhereHas('assignments', function ($assignmentQuery) use ($user) {
|
|
$assignmentQuery->where('user_id', $user->id);
|
|
});
|
|
})
|
|
->latest('submitted_at');
|
|
}
|
|
}
|