mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/shipping-portal.git
synced 2026-08-19 12:34:18 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| df283e54a2 |
@@ -0,0 +1,73 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Companies\ControllersLogic;
|
||||||
|
|
||||||
|
|
||||||
|
use App\Classes\General\Abstracts\AbstractControllerLogic;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Companies\Services\UpdatesCompanyModuleName;
|
||||||
|
use App\Classes\Modules\Companies\Services\FetchesCompany;
|
||||||
|
use App\Classes\Modules\Companies\Standards\Rules\CanUpdateCompany;
|
||||||
|
use App\Classes\Modules\Companies\DataTransferObjects\CompanyObject;
|
||||||
|
use App\Classes\Modules\Companies\Services\UpdatesCompanyName;
|
||||||
|
use App\Http\Resources\CompanyResource;
|
||||||
|
use ErrorException;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class UpdateCompanyNameLogic extends AbstractControllerLogic
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
protected function notification():array {
|
||||||
|
return [
|
||||||
|
'title' => 'Updated Company',
|
||||||
|
'message' => 'You have successfully updated the Company'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @var FetchesCompany */
|
||||||
|
private $fetchesCompany;
|
||||||
|
|
||||||
|
/** @var UpdatesCompanyName */
|
||||||
|
private $updatesCompanyName;
|
||||||
|
|
||||||
|
/** @var UpdatesCompanyModuleName */
|
||||||
|
private $updatesCompanyModuleName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* UpdateCompanyControllersLogic constructor.
|
||||||
|
* @param FetchesCompany $fetchesCompany
|
||||||
|
* @param UpdatesCompanyName $updatesCompany
|
||||||
|
* @param UpdatesCompanyModuleName $updatesCompanyModuleName
|
||||||
|
*/
|
||||||
|
public function __construct(FetchesCompany $fetchesCompany,UpdatesCompanyName $updatesCompanyName, UpdatesCompanyModuleName $updatesCompanyModuleName)
|
||||||
|
{
|
||||||
|
$this->fetchesCompany = $fetchesCompany;
|
||||||
|
$this->updatesCompanyName = $updatesCompanyName;
|
||||||
|
$this->updatesCompanyModuleName = $updatesCompanyModuleName;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @return JsonResponse
|
||||||
|
* @throws ErrorException
|
||||||
|
*/
|
||||||
|
public function logic(Request $request) : JsonResponse
|
||||||
|
{
|
||||||
|
$query = $this->fetchesCompany->execute(['id' => $request->route('id')]);
|
||||||
|
|
||||||
|
$object = new CompanyObject($request->input('name'), $query->reference, $query->type);
|
||||||
|
|
||||||
|
$this->updatesCompanyName->execute($query, $object);
|
||||||
|
|
||||||
|
$this->updatesCompanyModuleName->execute($query->companyModules()->first(), $object->getName());
|
||||||
|
|
||||||
|
return $this->resourceResponse(new CompanyResource($query));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\Modules\Companies\Services;
|
||||||
|
|
||||||
|
use App\Classes\General\Eloquent\AbstractUpdateRecord;
|
||||||
|
use App\Classes\Modules\Companies\DataTransferObjects\CompanyObject;
|
||||||
|
use App\Models\Company;
|
||||||
|
|
||||||
|
class UpdatesCompanyName extends AbstractUpdateRecord
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Company $model
|
||||||
|
* @param int $status
|
||||||
|
* @return \Illuminate\Database\Eloquent\Model
|
||||||
|
* @throws \App\Classes\Exceptions\MalformedRequestException
|
||||||
|
*/
|
||||||
|
public function execute(Company $model, CompanyObject $object)
|
||||||
|
{
|
||||||
|
$model->name = $object->getName();
|
||||||
|
return $this->handler($model);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Companies;
|
||||||
|
|
||||||
|
use App\Classes\Modules\Companies\ControllersLogic\UpdateCompanyNameLogic;
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Http\JsonResponse;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class UpdateCompanyNameController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param Request $request
|
||||||
|
* @param UpdateCompanyLogic $logic
|
||||||
|
* @return JsonResponse
|
||||||
|
*/
|
||||||
|
public function rename(Request $request, UpdateCompanyNameLogic $logic): JsonResponse
|
||||||
|
{
|
||||||
|
return $logic->execute($request);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -8,6 +8,7 @@ Route::group(['prefix' => 'company', 'as' => 'company.', 'namespace' => 'Compani
|
|||||||
Route::post('/create', 'CreateCompanyController@create')->name('create');
|
Route::post('/create', 'CreateCompanyController@create')->name('create');
|
||||||
Route::put('/update/{id}', 'UpdateCompanyController@update')->name('update');
|
Route::put('/update/{id}', 'UpdateCompanyController@update')->name('update');
|
||||||
Route::delete('/delete/{id}', 'DeleteCompanyController@destroy')->name('delete');
|
Route::delete('/delete/{id}', 'DeleteCompanyController@destroy')->name('delete');
|
||||||
|
Route::put('/name/update/{id}', 'UpdateCompanyNameController@rename')->name('update.name');
|
||||||
|
|
||||||
Route::post('/team/create', 'AddNewMemberController@create')->name('team.create');
|
Route::post('/team/create', 'AddNewMemberController@create')->name('team.create');
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user