Files
izyim/app/Classes/Modules/ControllersLogic/Companies/UpdateCompany.php
T
2019-02-14 11:43:19 +08:00

46 lines
1.2 KiB
PHP

<?php
namespace App\Classes\ControllersLogic\Companies;
use App\Classes\ControllersLogic\Companies\AddressBook\UpdateAddress;
use App\Classes\Modules\Documents\UpdateDocuments;
use App\Models\Company;
use App\Http\Resources\Company as CompanyResource;
use Illuminate\Http\Request;
use App\Classes\Constants;
class UpdateCompany
{
public function execute(Request $request) {
$company = $request->method() === 'PUT' ? Company::findOrFail($request->input('id')) : new company;
$company->fill($request->except(array_merge(Constants::COMPANY_DOCUMENTS, Constants::ADDRESS_FIELDS)));
if($company->save()){
foreach (Constants::COMPANY_DOCUMENTS as $documentType){
$documents = $request->input($documentType);
if($documents !== null){
(new updateDocuments(
Constants::MODULE_TYPES['company'],
$company->id,
$documentType))->execute($documents);
}
}
(new UpdateAddress())->execute($request, $company->id, false, true);
return new CompanyResource($company);
}
}
public function updateDocuments(){
}
}