ProposeAnnouncementUseCase
in package
Read onlyYes
Proposes announcement
Table of Contents
Properties
- $logger : LoggerInterface
- $repository : PDOAnnouncementRepository
- $validator : AnnouncementValidationHelper
Methods
- __construct() : mixed
- execute() : AnnouncementId
- Adds a new announcement
- mapDtoToEntity() : Announcement
- Maps DTO to entity
- validateBusinessRules() : void
- Validates business logic
Properties
$logger
private
LoggerInterface
$logger
$repository
private
PDOAnnouncementRepository
$repository
$validator
private
AnnouncementValidationHelper
$validator
Methods
__construct()
public
__construct(PDOAnnouncementRepository $repository, AnnouncementValidationHelper $validator, LoggerInterface $logger) : mixed
Parameters
- $repository : PDOAnnouncementRepository
- $validator : AnnouncementValidationHelper
- $logger : LoggerInterface
execute()
Adds a new announcement
public
execute(ProposeAnnouncementDTO $dto) : AnnouncementId
Parameters
- $dto : ProposeAnnouncementDTO
Tags
Return values
AnnouncementIdmapDtoToEntity()
Maps DTO to entity
private
mapDtoToEntity(ProposeAnnouncementDTO $dto) : Announcement
Parameters
- $dto : ProposeAnnouncementDTO
Tags
Return values
AnnouncementvalidateBusinessRules()
Validates business logic
private
validateBusinessRules(ProposeAnnouncementDTO $dto) : void
Parameters
- $dto : ProposeAnnouncementDTO