ldc-mesbr-app/src/Domain/Ports/Repositories/CampaignRequestRepository.php

32 lines
1 KiB
PHP
Raw Normal View History

<?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;
use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestFilters;
use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestSortCriteria;
use Shared\DDD\Ports\Repository;
use Shared\ValueObjects\Pagination\Paginated;
use Shared\ValueObjects\Pagination\Pagination;
/**
* @extends \Shared\DDD\Ports\Repository<\Domain\Models\ValueObjects\CampaignRequest\CampaignRequestId, \Domain\Models\Entities\CampaignRequest>
*/
2026-09-23 09:40:47 +02:00
interface CampaignRequestRepository extends Repository
{
public function findById(CampaignRequestId $id): ?CampaignRequest;
public function save(CampaignRequest $campaignRequest): void;
/**
* @return Paginated<CampaignRequest>
*/
public function findAll(
Pagination $pagination,
?CampaignRequestSortCriteria $sortCriteria = null,
?CampaignRequestFilters $filters = null,
): Paginated;
2026-09-23 09:24:18 +02:00
}