Code sync from Shipping Portal, independent deployment of Vue Polling, Performance Improvement and tweaking for better user experience

This commit is contained in:
Dillon Ngo
2023-12-30 18:35:17 +08:00
parent 6da337b9dc
commit bf5ea2b2f2
26 changed files with 809 additions and 178 deletions
@@ -3,14 +3,10 @@
namespace App\Classes\Modules\Bookings\Processors;
use App\Classes\Modules\Bookings\Services\ListsBookings;
use App\Classes\Modules\Jobs\Services\CreatesJobResult;
use App\Classes\Exceptions\MalformedRequestException;
use App\Classes\Modules\Jobs\Processors\UpdateJobResultProcessor;
use App\Classes\General\Helper;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Log;
use App\Classes\Modules\Jobs\DataTransferObjects\ListGenericJobObject;
use Illuminate\Http\Resources\Json\ResourceCollection;
use App\Http\Resources\BookingResource;
use App\Http\Resources\ListBookingJobResource;
class ListBookingsJobProcessor
{
@@ -18,24 +14,25 @@ class ListBookingsJobProcessor
/** @var ListsBookings */
private $listsBookings;
/** @var CreatesJobResult */
private $createsJobResult;
/** @var UpdateJobResultProcessor */
private $updateJobResultProcessor;
/**
* ListBookingsJobProcessor constructor.
* @param ListsBookings $listsBookings
* @param CreatesJobResult $createsJobResult
* @param UpdateJobResultProcessor $updateJobResultProcessor
*/
public function __construct(ListsBookings $listsBookings, CreatesJobResult $createsJobResult)
public function __construct(ListsBookings $listsBookings, UpdateJobResultProcessor $updateJobResultProcessor)
{
$this->listsBookings = $listsBookings;
$this->createsJobResult = $createsJobResult;
$this->updateJobResultProcessor = $updateJobResultProcessor;
}
/**
* @param ListGenericJobObject $listGenericJobObject
* @return null|object
* @return void
* @throws \App\Classes\Exceptions\MalformedRequestException
* @throws \App\Classes\Exceptions\JobResourceNotFoundException
*/
public function execute(ListGenericJobObject $listGenericJobObject) {
@@ -43,15 +40,7 @@ class ListBookingsJobProcessor
foreach ($query->items() as &$item) {
$item['userInfo'] = $listGenericJobObject->getUserInfo();
}
//cief todo: remove comments
$result = Helper::collectionResponse(BookingResource::collection($query));
// $result = new JobBookingCollectionResponse($query, $listGenericJobObject->getuserInfo());
// $result = $this->collectionResponse(new BookingResourceCollection(BookingResource::collection($query), $listGenericJobObject->getuserInfo()));
$create = $this->createsJobResult->execute($listGenericJobObject, json_encode($result));
return $create;
$resultCurrent = Helper::collectionResponse(ListBookingJobResource::collection($query));
$this->updateJobResultProcessor->execute($listGenericJobObject, $resultCurrent);
}
}