Compare commits

...

2 Commits

Author SHA1 Message Date
Cleison Freitas 061d7fdc94 Merge branch 'master' of https://gitlab.com/CIEFWorldwideSdnBhd/shipping-portal 2023-02-09 14:15:33 -03:00
Cleison Freitas 4274e84b59 Endpoint to change the packinglist owner 2023-02-09 08:05:35 -03:00
8 changed files with 123 additions and 3 deletions
@@ -0,0 +1,64 @@
<?php
namespace App\Classes\Modules\Orders\ControllersLogic;
use App\Classes\General\Abstracts\AbstractControllerLogic;
use App\Classes\Modules\Orders\Services\CancelsOrder;
use App\Classes\Modules\Orders\Services\FetchesOrder;
use App\Classes\Modules\Orders\Services\FetchOwnerCompanyConnection;
use App\Classes\Modules\Orders\Services\UpdateOwnerReference;
use App\Http\Resources\OrderResource;
use App\Http\Resources\PackingListResource;
use App\Models\CompanyConnection;
use App\Models\Order;
use App\Models\PackingList;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class ChangeOrderOwnerLogic extends AbstractControllerLogic
{
/**
* @return array
*/
protected function notification():array {
return [
'title' => 'Changed order owner',
'message' => 'You have successfully changed the owner'
];
}
/** @var Marking $marking */
private $marking;
/** @param UpdateOwnerReference $updateOwnerReference*/
private $updateOwnerReference;
private $fetchOwnerCompanyConnection;
public function __construct(UpdateOwnerReference $updateOwnerReference, FetchOwnerCompanyConnection $fetchOwnerCompanyConnection)
{
$this->updateOwnerReference = $updateOwnerReference;
$this->fetchOwnerCompanyConnection = $fetchOwnerCompanyConnection;
}
/**
* @param Request $request
* @return JsonResponse
* @throws \App\Classes\Exceptions\MalformedRequestException
*/
protected function logic(Request $request): JsonResponse
{
$reference = $request->route('reference');
$packing = PackingList::where('reference', $reference)->get();
$companyConnection = $this->fetchOwnerCompanyConnection->execute($request->marking)->invitee->orders;
$order = $this->updateOwnerReference->execute($reference, $companyConnection);
return response()->json($packing,200);
// return $this->resourceResponse(new PackingListResource($packing));
}
}
@@ -0,0 +1,14 @@
<?php
namespace App\Classes\Modules\Orders\Services;
use App\Classes\General\Eloquent\AbstractUpdateRecord;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
use App\Models\CompanyConnection;
class FetchOwnerCompanyConnection extends AbstractUpdateRecord
{
public function execute(string $marking)
{
return CompanyConnection::Where('invitee_reference',$marking)->first();
}
}
@@ -0,0 +1,17 @@
<?php
namespace App\Classes\Modules\Orders\Services;
use App\Classes\General\Eloquent\AbstractUpdateRecord;
use App\Classes\Modules\Orders\DataTransferObjects\OrderObject;
use App\Models\PackingList;
class UpdateOwnerReference extends AbstractUpdateRecord
{
public function execute(string $reference, Object $owner)
{
foreach($owner as $owner) {
PackingList::where('reference',$reference)->update(['owner_id' => $owner->id]);
}
}
}
@@ -0,0 +1,23 @@
<?php
namespace App\Http\Controllers\Orders;
use App\Classes\Modules\Orders\ControllersLogic\ChangeOrderOwnerLogic;
use App\Http\Controllers\Controller;
use App\Models\CompanyConnection;
use App\Models\PackingList;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class ChangeOrderOwnerController extends Controller
{
/**
* @param Request $request
* @param ChangeOrderOwnerLogic $changeOrderOwnerLogic
* @return JsonResponse
*/
public function update(Request $request, ChangeOrderOwnerLogic $logic): JsonResponse
{
return $logic->execute($request);
}
}
+1
View File
@@ -22,6 +22,7 @@ class OrderResource extends JsonResource
return [
'id' => $this->id,
'reference' => $this->reference,
'identifier' => $this->id,
'reference_contract' => (int) $this->type,
'type' => (int) $this->type,
'status' => (int) $this->status,
+1 -1
View File
@@ -23,7 +23,7 @@ use PhpParser\Node\Expr\AssignOp\Mod;
* Class CompanyModule
* @package App\Models
*
* @property \App\Models\Company company_id
* @property \App\Models\Company company_id
* @property integer type
* @property integer status
*/
File diff suppressed because one or more lines are too long
+1
View File
@@ -12,6 +12,7 @@ Route::group(['prefix' => 'order', 'as' => 'order.', 'namespace' => 'Orders'], f
Route::post('/address/change/request', 'RequestChangeOrderAddressController@request')->name('address.change.request');
Route::post('/update/{id}','UpdateOrderController@update')->name('reference.update');
Route::put('/address/{id}/status/{status}', 'ApproveChangeOrderAddressController@approve')->name('address.status.update');
Route::put('/update-marking/{reference}', 'ChangeOrderOwnerController@update')->name('orders.update.marking');
Route::post('/create-warehouse-packing-list', 'CreateWarehousePackingListController@create')->name('create.warehouse.packing_list');
Route::post('/create-shipping-packing-list', 'CreateShippingPackingListController@create')->name('create.shipping.packing_list');