Files
shipping-portal/app/Classes/Modules/Companies/Processors/CreateCompanyModuleProcessor.php
T
2021-07-08 01:47:58 +08:00

42 lines
1016 B
PHP

<?php
namespace App\Classes\Modules\Companies\Processors;
use App\Classes\Modules\Companies\DataTransferObjects\CompanyModuleObject;
use App\Classes\Modules\Companies\Services\CreatesCompanyModule;
use Illuminate\Database\Eloquent\Model;
use App\Models\Company;
class CreateCompanyModuleProcessor
{
/** @var CreatesCompanyModule */
private $createsCompanyModule;
/**
* CreateCompanyModuleProcessor constructor.
* @param CreatesCompanyModule $createsCompanyModule
*/
public function __construct(CreatesCompanyModule $createsCompanyModule)
{
$this->createsCompanyModule = $createsCompanyModule;
}
/**
* @param Company $company
* @return Model
*/
public function execute(Company $company): Model
{
$company_module_object = new CompanyModuleObject(
$company->id,
$company->type,
$company->status,
);
return $this->createsCompanyModule->execute($company_module_object);
}
}