2026-09-22 14:08:50 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
|
|
namespace Domain\Ports\Repositories;
|
|
|
|
|
|
2026-09-23 09:29:22 +02:00
|
|
|
use Domain\Models\Entities\CampaignRequest;
|
|
|
|
|
use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestId;
|
2026-09-23 10:06:24 +02:00
|
|
|
use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestFilters;
|
|
|
|
|
use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestSortCriteria;
|
2026-09-22 14:08:50 +02:00
|
|
|
use Shared\DDD\Ports\Repository;
|
2026-09-23 10:06:24 +02:00
|
|
|
use Shared\ValueObjects\Pagination\Paginated;
|
|
|
|
|
use Shared\ValueObjects\Pagination\Pagination;
|
2026-09-22 14:08:50 +02:00
|
|
|
|
|
|
|
|
/**
|
2026-09-30 12:18:56 +02:00
|
|
|
* @extends \Shared\DDD\Ports\Repository<\Domain\Models\ValueObjects\CampaignRequest\CampaignRequestId, \Domain\Models\Entities\CampaignRequest>
|
2026-09-22 14:08:50 +02:00
|
|
|
*/
|
2026-09-23 09:40:47 +02:00
|
|
|
interface CampaignRequestRepository extends Repository
|
|
|
|
|
{
|
|
|
|
|
public function findById(CampaignRequestId $id): ?CampaignRequest;
|
2026-09-23 11:34:44 +02:00
|
|
|
|
|
|
|
|
public function save(CampaignRequest $campaignRequest): void;
|
2026-09-23 10:06:24 +02:00
|
|
|
/**
|
|
|
|
|
* @return Paginated<CampaignRequest>
|
|
|
|
|
*/
|
|
|
|
|
public function findAll(
|
|
|
|
|
Pagination $pagination,
|
2026-10-02 17:13:05 +02:00
|
|
|
CampaignRequestSortCriteria $sortCriteria,
|
2026-09-23 10:06:24 +02:00
|
|
|
?CampaignRequestFilters $filters = null,
|
|
|
|
|
): Paginated;
|
2026-09-23 09:24:18 +02:00
|
|
|
}
|