23 lines
588 B
PHP
23 lines
588 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Repositories;
|
|
|
|
use App\Models\WebmailMessage;
|
|
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
|
|
|
|
interface WebmailMessageRepositoryInterface extends BaseRepositoryInterface
|
|
{
|
|
/**
|
|
* @param array<string, mixed> $filters
|
|
*/
|
|
public function paginateForUser(int $userId, array $filters = [], int $perPage = 15): LengthAwarePaginator;
|
|
|
|
public function findForUser(int|string $id, int $userId): ?WebmailMessage;
|
|
|
|
/**
|
|
* @return array<string, int>
|
|
*/
|
|
public function statsForUser(int $userId): array;
|
|
} |