create carrier files

controller, entity, repository, creation use case and corresponding
request dto
This commit is contained in:
Yisroel Baum 2025-11-06 10:17:10 +02:00
parent 8a7d919be9
commit 4ff6cb9879
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
5 changed files with 88 additions and 0 deletions

View file

@ -0,0 +1,21 @@
<?php
namespace FreightQuote\Carrier\UseCases;
use FreightQuote\Carrier\Carrier;
use FreightQuote\Carrier\CarrierRepository;
class CreateCarrier
{
public function __construct(
private CreateCarrierRequest $dto,
private CarrierRepository $carrierRepo,
) {}
public function execute(): Carrier
{
$carrier = new Carrier($this->dto->id, $this->dto->email);
return $this->carrierRepo->save($carrier);
}
}