Files
portal/app/Classes/Modules/Companies/Services/AssignsCompanyToSegment.php
T
2022-09-03 15:03:17 +08:00

35 lines
1.0 KiB
PHP

<?php
namespace App\Classes\Modules\Companies\Services;
use App\Classes\Exceptions\MalformedRequestException;
use App\Classes\General\Eloquent\AbstractUpdateRecord;
use App\Classes\ValueObjects\Constants\BusinessType;
use App\Models\Company;
use App\Models\Segment;
use Illuminate\Database\QueryException;
class AssignsCompanyToSegment extends AbstractUpdateRecord
{
/**
* @param Company $company
* @param Segment $segment
* @return \Illuminate\Database\Eloquent\Model
* @throws MalformedRequestException
*/
public function execute(Company $company, Segment $segment)
{
try {
$companyModule = $company->companyModules()->where('type', BusinessType::IMPORTER)->first();
$connection = $companyModule->connections()->where('inviter_reference', 'CIEF');
$connection->segments()->attach($segment);
return $company;
} catch (QueryException $exception){
throw new MalformedRequestException($exception);
}
}
}