mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/portal.git
synced 2026-08-19 04:23:59 +00:00
35 lines
1.0 KiB
PHP
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);
|
|
}
|
|
|
|
|
|
}
|
|
} |