CreateAnnouncementUseCase
in package
Read onlyYes
Use case for creating announcements
Table of Contents
Properties
- $logger : LoggerInterface
- $repository : PDOAnnouncementRepository
- $validator : AnnouncementValidationHelper
Methods
- __construct() : mixed
- execute() : AnnouncementId
- mapDtoToEntity() : Announcement
- validateBusinessRules() : void
- Validates business logic
Properties
$logger
private
LoggerInterface
$logger
$repository
private
PDOAnnouncementRepository
$repository
$validator
private
AnnouncementValidationHelper
$validator
Methods
__construct()
public
__construct(PDOAnnouncementRepository $repository, LoggerInterface $logger, AnnouncementValidationHelper $validator) : mixed
Parameters
- $repository : PDOAnnouncementRepository
- $logger : LoggerInterface
- $validator : AnnouncementValidationHelper
execute()
public
execute(AddAnnouncementDTO $dto, int $adminId) : AnnouncementId
Parameters
- $dto : AddAnnouncementDTO
- $adminId : int
Tags
Return values
AnnouncementIdmapDtoToEntity()
private
mapDtoToEntity(AddAnnouncementDTO $dto, int $adminId) : Announcement
Parameters
- $dto : AddAnnouncementDTO
- $adminId : int
Return values
AnnouncementvalidateBusinessRules()
Validates business logic
private
validateBusinessRules(AddAnnouncementDTO $dto) : void
Parameters
- $dto : AddAnnouncementDTO