New-Thanasoft/thanasoft-back/app/Repositories/DeceasedDocumentRepositoryInterface.php
2025-11-13 17:47:52 +03:00

40 lines
1.0 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Repositories;
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
use Illuminate\Database\Eloquent\Model;
/**
* Interface for DeceasedDocument repository operations.
*/
interface DeceasedDocumentRepositoryInterface extends BaseRepositoryInterface
{
/**
* Get paginated deceased documents with optional filters
*/
public function paginate(int $perPage = 15, array $filters = []): LengthAwarePaginator;
/**
* Get documents by deceased ID
*/
public function getByDeceasedId(int $deceasedId): \Illuminate\Database\Eloquent\Collection;
/**
* Get documents by document type
*/
public function getByDocType(string $docType): \Illuminate\Database\Eloquent\Collection;
/**
* Get documents by file ID
*/
public function getByFileId(int $fileId): \Illuminate\Database\Eloquent\Collection;
/**
* Search documents by various criteria
*/
public function search(array $criteria): \Illuminate\Database\Eloquent\Collection;
}