403Webshell
Server IP : 34.87.99.72  /  Your IP : 216.73.217.31
Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n
System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64
User : bitnami ( 1000)
PHP Version : 7.4.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /opt/bitnami/apache/htdocs/app/app/Http/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/bitnami/apache/htdocs/app/app/Http/Controllers/BoxDeliveryController.php
<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use App\Http\Requests\BoxDeliveries\BookingRequest as BoxDeliveryBookingRequest;
use App\Http\Requests\BoxDeliveries\UpdateRequest as BoxDeliveryUpdateRequest;
use App\Http\Requests\BoxDeliveries\ListRequest as BoxDeliveryListRequest;
use App\Http\Requests\BoxDeliveries\OverviewListRequest as BoxDeliveryOverviewListRequest;
use App\Http\Requests\BoxDeliveries\ExpiredListRequest as BoxDeliveryExpiredListRequest;
use App\Http\Requests\BoxDeliveries\ExportDeliveryInstructionRequest;
use App\Http\Requests\BoxDeliveries\CheckParcelInfoRequest;
use App\Http\Requests\BoxDeliveries\CheckDeliveryDetailRequest;
use App\Http\Requests\BoxDeliveries\QrCodeRequest;
use App\Http\Requests\BoxBookings\TestLabel;
use App\Http\Requests\IdOnlyRequest;
use App\Http\Requests\ParamIdRequest;
use App\Http\Services\BoxDeliveryService;
use App\Http\Services\GeoZoneService;
use Auth;
use App\Models\User;
use App\Models\UserBoxDelivery;
use Illuminate\Validation\ValidationException;

class BoxDeliveryController extends Controller
{
	public function __construct(
		BoxDeliveryService $boxDeliveryService,
		GeoZoneService $geoZoneService
	)
	{
		$this->boxDeliveryService = $boxDeliveryService;
		$this->geoZoneService = $geoZoneService;
	}
	
	/**
	* @OA\Get(
	*
	*	path="/api/box-delivery/list/{type}",
	*	operationId="BoxDeliveryList",
	*	tags={"Box Delivery"},
	*	summary="BoxDelivery List",
	*	security={
	*		{
	*			"open_key": {}
	*		},
	*		{
	*			"api_key": {}
	*		}
	*	},
	*	@OA\Parameter(
	*		name="terminal_id",
	*		description="terminal_id",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default=""
	*		)
	*	),
	*	@OA\Parameter(
	*		name="delivery_partner_id",
	*		description="delivery_partner_id",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default=""
	*		)
	*	),
	*	@OA\Parameter(
	*		name="type",
	*		description="type",
	*		in="path",
	*		@OA\Schema(
	*			type="enum",
	*			default="history",
	*			enum={"history", "delivery", "drop-off","on-going-history"}
	*		)
	*	),
	*	@OA\Response(
	*		response=200,
	*		description="Success",
	*		@OA\JsonContent()
	*	),
	*	@OA\Response(response=400, description="Bad request"),
	*	@OA\Response(response=404, description="Resource Not Found"),
	*	@OA\Response(response=422, description="Unprocessable Entity"),
	*	@OA\Response(response=500, description="Internal Server Error"),
	* )
	*/	
	public function boxDeliveryList(BoxDeliveryListRequest $request)
	{
		$payload = $request->validated();

		$user = Auth::user();
		if(Auth::user()->isSuperAdmin() && isset($payload['user_id'])){
			$user = User::withTrashed()->where('id',$payload['user_id'])->firstOr(function(){
				throw ValidationException::withMessages([
					"user_id" => "User ID is unavailable.",
				]);
			});
		}

		switch ($payload['type']) {
			case 'history':
				$payload['user_id'] = $user->id;
				break;
			
			case 'delivery':
				unset($payload['user_id']);
				$payload['pending_delivery'] = true;
				break;

			case 'drop-off':
				$payload['user_id'] = $user->id;
				$payload['uncollected'] = true;
				break;

			case 'on-going-history':
				unset($payload['user_id']);
				$payload['user_uncollected'] = $user->id;
				break;

			default:
				break;
		}

		$boxDeliverys = $this->boxDeliveryService->boxDeliveryList( $payload );

		// manual compute
		$boxDeliverys->each(function($item, $key) use ($user, $payload){
			$item->getInventoryType($user);

			$item->getQrCode();
		});
		
		$boxDeliverys->append(['inventory_type','total_usage_time']);

		return self::successResponse('Success', $boxDeliverys);
	}

	/**
	* @OA\Get(
	*
	*	path="/api/box-delivery/info/{id}",
	*	operationId="boxDeliveryInfo",
	*	tags={"Box Delivery"},
	*	summary="BoxDeliveryInfo",
	*	security={
	*		{
	*			"open_key": {}
	*		},
	*		{
	*			"api_key": {}
	*		}
	*	},
	*	@OA\Parameter(
	*		name="id",
	*		description="id",
	*		in="path",
	*		@OA\Schema(
	*			type="string",
	*			default=""
	*		)
	*	),
	*	@OA\Response(
	*		response=200,
	*		description="Success",
	*		@OA\JsonContent()
	*	),
	*	@OA\Response(response=400, description="Bad request"),
	*	@OA\Response(response=404, description="Resource Not Found"),
	*	@OA\Response(response=422, description="Unprocessable Entity"),
	*	@OA\Response(response=500, description="Internal Server Error"),
	* )
	*/	
	public function boxDeliveryInfo(ParamIdRequest $request)
	{
		$payload = $request->validated();

		$boxDelivery = $this->boxDeliveryService->boxDeliveryInfo( $payload );
		// manual compute
		$boxDelivery->getInventoryType($boxDelivery->dropper);
		$boxDelivery->append(['inventory_type','total_usage_time']);

		return self::successResponse('Success', $boxDelivery );
	}

	/**
	* @OA\Get(
	*
	*	path="/api/box-delivery/parcel-type",
	*	operationId="deliveryParcelType",
	*	tags={"Box Delivery"},
	*	summary="DeliveryParcelType",
	*	security={
	*		{
	*			"open_key": {}
	*		},
	*		{
	*			"api_key": {}
	*		}
	*	},
	*	@OA\Response(
	*		response=200,
	*		description="Success",
	*		@OA\JsonContent()
	*	),
	*	@OA\Response(response=400, description="Bad request"),
	*	@OA\Response(response=404, description="Resource Not Found"),
	*	@OA\Response(response=422, description="Unprocessable Entity"),
	*	@OA\Response(response=500, description="Internal Server Error"),
	* )
	*/	
	public function getParcelTypes()
	{		
		$types = $this->boxDeliveryService->getParcelTypes();

		return self::successResponse('Success', $types);
	}

	/**
	* @OA\Get(
	*
	*	path="/api/box-delivery/check-parcel-info",
	*	operationId="checkParcelInfo",
	*	tags={"Box Delivery"},
	*	summary="Check parcel dimension and weight",
	*	security={
	*		{
	*			"open_key": {}
	*		},
	*		{
	*			"api_key": {}
	*		}
	*	},
	*	@OA\Parameter(
	*		name="parcel_type",
	*		description="parcel_type",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="1"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="box_size_id",
	*		description="box_size_id",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="2"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="parcel_length",
	*		description="parcel_length",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="12"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="parcel_width",
	*		description="parcel_width",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="12"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="parcel_height",
	*		description="parcel_height",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="12"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="parcel_weight",
	*		description="parcel_weight",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="12"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_postcode",
	*		description="receiver_postcode",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="71800"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_city",
	*		description="receiver_city",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="Nilai"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_state",
	*		description="receiver_state",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="Negeri Sembilan"
	*		)
	*	),
	*	@OA\Response(
	*		response=200,
	*		description="Success",
	*		@OA\JsonContent()
	*	),
	*	@OA\Response(response=400, description="Bad request"),
	*	@OA\Response(response=404, description="Resource Not Found"),
	*	@OA\Response(response=422, description="Unprocessable Entity"),
	*	@OA\Response(response=500, description="Internal Server Error"),
	* )
	*/	
	public function checkParcelInfo(CheckParcelInfoRequest $request)
	{	
		$payload = $request->validated();

		if(isset($payload['receiver_postcode']))
		{
			$to_state = $this->geoZoneService->getState($payload['receiver_postcode']);

			if($to_state == "Unknown")
				throw ValidationException::withMessages(
					[ "receiver_postcode" => "The receiver postcode is invalid." ]
				);
		}

		$validity = $this->boxDeliveryService->checkParcelInfo($payload);

		return self::successResponse('Success', $validity);
	}

	/**
	* @OA\Get(
	*
	*	path="/api/box-delivery/check-delivery-detail",
	*	operationId="checkDeliveryDetails",
	*	tags={"Box Delivery"},
	*	summary="Check Delivery Details",
	*	security={
	*		{
	*			"open_key": {}
	*		},
	*		{
	*			"api_key": {}
	*		}
	*	},
	*	@OA\Parameter(
	*		name="parcel_info",
	*		description="parcel_info",
	*		in="query",
	*		@OA\Schema(
	*			type= "string",
	*			default="Groceries"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="dropper_name",
	*		description="dropper_name",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="customer"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="dropper_num",
	*		description="dropper_num",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="+60136265471"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_name",
	*		description="receiver_name",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="customer_2"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_email",
	*		description="receiver_email",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="customer_2@email.com"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_num",
	*		description="receiver_num",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="+60136265470"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_house_num",
	*		description="receiver_house_num",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="12"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_address",
	*		description="receiver_address",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="12, Jalan Desa Kasia, Taman Desa Kasia"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_postcode",
	*		description="receiver_postcode",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="71800"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_city",
	*		description="receiver_city",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="Nilai"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_state",
	*		description="receiver_state",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="Negeri Sembilan"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="remarks",
	*		description="remarks",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="No Remarks"
	*		)
	*	),
	*	@OA\Response(
	*		response=200,
	*		description="Success",
	*		@OA\JsonContent()
	*	),
	*	@OA\Response(response=400, description="Bad request"),
	*	@OA\Response(response=404, description="Resource Not Found"),
	*	@OA\Response(response=422, description="Unprocessable Entity"),
	*	@OA\Response(response=500, description="Internal Server Error"),
	* )
	*/
	public function checkDeliveryDetail(CheckDeliveryDetailRequest $request)
	{		
		$payload = $request->validated();

		$to_state = $this->geoZoneService->getState($payload['receiver_postcode']);

		if($to_state == "Unknown")
			throw ValidationException::withMessages(
				[ "receiver_postcode" => "The receiver postcode is invalid." ]
			);

		return self::successResponse('Success', true);
	}

	public function generateQrCode(QrCodeRequest $request)
	{
		$payload = $request->validated();
		$payload['user_id'] = Auth::id();

		$qrCode = $this->boxDeliveryService->generateQrCode( $payload );

		return self::successResponse('Success',$qrCode);
	}

	public function boxDeliveryOverviewList(BoxDeliveryOverviewListRequest $request)
	{
		$payload = $request->validated();
		if(Auth::user()->isPartner()){
			$payload['partner_id'] = Auth::id();
		}

		$boxDeliverys = $this->boxDeliveryService->boxDeliveryList( $payload );
		$boxDeliverys->append(['total_booking_fee', 'total_booking_fee_partner', 'delivery_booking_fee']);

		return self::successResponse('Success', $boxDeliverys);
	}

	public function exportBoxDeliveryOverviewList(BoxDeliveryOverviewListRequest $request)
	{
		$payload = $request->validated();
		if(Auth::user()->isPartner()){
			$payload['partner_id'] = Auth::id();
		}

		$boxDeliverys = $this->boxDeliveryService->exportBoxDeliveryList( $payload );

		return self::successResponse('Success', $boxDeliverys);
	}

	public function exportBoxDeliveryInstruction(ExportDeliveryInstructionRequest $request)
	{
		$payload = $request->validated();
		$payload['pending_delivery'] = true;

		$boxDeliverys = $this->boxDeliveryService->exportBoxDeliveryInstruction( $payload );

		return self::successResponse('Success', $boxDeliverys);
	}
	
	/**
	* @OA\Post(
	*
	*	path="/api/box-delivery/booking",
	*	operationId="boxDeliveryBooking",
	*	tags={"Box Delivery"},
	*	summary="boxDeliveryBooking",
	*	security={
	*		{
	*			"open_key": {}
	*		},
	*		{
	*			"api_key": {}
	*		}
	*	},
	*	@OA\Parameter(
	*		name="locker_id",
	*		description="locker_id",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="4"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="box_size_id",
	*		description="box_size_id",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="2"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="delivery_partner_id",
	*		description="delivery_partner_id",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="1"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="parcel_info",
	*		description="parcel_info",
	*		in="query",
	*		@OA\Schema(
	*			type= "string",
	*			default="Groceries"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="parcel_type",
	*		description="parcel_type",
	*		in="query",
	*		@OA\Schema(
	*			type= "string",
	*			default="1"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="parcel_length",
	*		description="parcel_length",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="12"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="parcel_width",
	*		description="parcel_width",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="12"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="parcel_height",
	*		description="parcel_height",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="12"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="parcel_weight",
	*		description="parcel_weight",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="12"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="dropper_name",
	*		description="dropper_name",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="customer"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="dropper_num",
	*		description="dropper_num",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="+60136265471"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_name",
	*		description="receiver_name",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="customer_2"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_email",
	*		description="receiver_email",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="customer_2@email.com"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_num",
	*		description="receiver_num",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="+60136265470"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_house_num",
	*		description="receiver_house_num",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="12"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_address",
	*		description="receiver_address",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="12, Jalan Desa Kasia, Taman Desa Kasia"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_postcode",
	*		description="receiver_postcode",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="71800"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_city",
	*		description="receiver_city",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="Nilai"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="receiver_state",
	*		description="receiver_state",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="Negeri Sembilan"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="remarks",
	*		description="remarks",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="No Remarks"
	*		)
	*	),
	*	@OA\Parameter(
	*		name="credit_amount",
	*		description="credit_amount",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default="12"
	*		)
	*	),
	*	@OA\Response(
	*		response=200,
	*		description="Success",
	*		@OA\JsonContent()
	*	),
	*	@OA\Response(response=400, description="Bad request"),
	*	@OA\Response(response=404, description="Resource Not Found"),
	*	@OA\Response(response=422, description="Unprocessable Entity"),
	*	@OA\Response(response=500, description="Internal Server Error"),
	* )
	*/
	public function boxDeliveryBooking(BoxDeliveryBookingRequest $request)
	{
		$payload = $request->validated();
		$payload['user_id'] = Auth::id();
		$payload['reserved_minute'] = UserBoxDelivery::MAX_RESERVED_MINUTES;
		$payload['type'] = 'delivery_booking';

		$boxDelivery = $this->boxDeliveryService->boxDeliveryBooking( $payload );

		return self::successResponse('Success',$boxDelivery);
	}

	public function boxDeliveryUpdate(BoxDeliveryUpdateRequest $request)
	{
		$payload = $request->validated();

		$boxDelivery = $this->boxDeliveryService->boxDeliveryUpdate( $payload );

		return self::successResponse('Success',$boxDelivery);
	}

	/**
	* @OA\Post(
	*
	*	path="/api/box-delivery/open-box",
	*	operationId="boxDeliveryOpenBox",
	*	tags={"Box Delivery"},
	*	summary="boxDeliveryOpenBox",
	*	security={
	*		{
	*			"open_key": {}
	*		},
	*		{
	*			"api_key": {}
	*		}
	*	},
	*	@OA\Parameter(
	*		name="id",
	*		description="id",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default=""
	*		)
	*	),
	*	@OA\Response(
	*		response=200,
	*		description="Success",
	*		@OA\JsonContent()
	*	),
	*	@OA\Response(response=400, description="Bad request"),
	*	@OA\Response(response=404, description="Resource Not Found"),
	*	@OA\Response(response=422, description="Unprocessable Entity"),
	*	@OA\Response(response=500, description="Internal Server Error"),
	* )
	*/
	public function boxDeliveryOpenBox(IdOnlyRequest $request)
	{
		$payload = $request->validated();
		$payload['user_id'] = Auth::id();

		$boxDelivery = $this->boxDeliveryService->boxDeliveryOpenBox( $payload );

		return self::successResponse('Success',$boxDelivery);
	}

	/**
	* @OA\Post(
	*
	*	path="/api/box-delivery/collect",
	*	operationId="boxDeliveryCollect",
	*	tags={"Box Delivery"},
	*	summary="boxDeliveryCollect",
	*	security={
	*		{
	*			"open_key": {}
	*		},
	*		{
	*			"api_key": {}
	*		}
	*	},
	*	@OA\Parameter(
	*		name="id",
	*		description="id",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default=""
	*		)
	*	),
	*	@OA\Response(
	*		response=200,
	*		description="Success",
	*		@OA\JsonContent()
	*	),
	*	@OA\Response(response=400, description="Bad request"),
	*	@OA\Response(response=404, description="Resource Not Found"),
	*	@OA\Response(response=422, description="Unprocessable Entity"),
	*	@OA\Response(response=500, description="Internal Server Error"),
	* )
	*/
	public function boxDeliveryCollect(IdOnlyRequest $request)
	{
		$payload = $request->validated();

		$boxDelivery = $this->boxDeliveryService->boxDeliveryCollect( $payload );

		return self::successResponse('Success',$boxDelivery);
	}

	/**
	* @OA\Delete(
	*
	*	path="/api/box-delivery/cancel",
	*	operationId="boxDeliveryCancel",
	*	tags={"Box Delivery"},
	*	summary="boxDeliveryCancel",
	*	security={
	*		{
	*			"open_key": {}
	*		},
	*		{
	*			"api_key": {}
	*		}
	*	},
	*	@OA\Parameter(
	*		name="id",
	*		description="id",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default=""
	*		)
	*	),
	*	@OA\Response(
	*		response=200,
	*		description="Success",
	*		@OA\JsonContent()
	*	),
	*	@OA\Response(response=400, description="Bad request"),
	*	@OA\Response(response=404, description="Resource Not Found"),
	*	@OA\Response(response=422, description="Unprocessable Entity"),
	*	@OA\Response(response=500, description="Internal Server Error"),
	* )
	*/
	public function boxDeliveryCancel(IdOnlyRequest $request)
	{
		$payload = $request->validated();
		$payload['user_id'] = Auth::id();

		$boxDelivery = $this->boxDeliveryService->boxDeliveryCollect( $payload , $is_canceling = true);

		return self::successResponse('Success',$boxDelivery);
	}
	
	public function boxDeliveryForceCancel(IdOnlyRequest $request)
	{
		$payload = $request->validated();
		$boxDelivery = $this->boxDeliveryService->boxDeliveryForceCancel( $payload );

		return self::successResponse('Success',$boxDelivery);
	}

	public function boxDeliveryExpiredList(BoxDeliveryExpiredListRequest $request)
	{
		$payload = $request->validated();
		$boxDelivery = $this->boxDeliveryService->boxDeliveryExpiredList( $payload );

		return self::successResponse('Success',$boxDelivery);
	}

	public function penalizeVault(BoxDeliveryExpiredListRequest $request)
	{

		$payload = $request->validated();
		$boxDelivery = $this->boxDeliveryService->penalizeVault( $payload );

		return self::successResponse('Success',$boxDelivery);
	}

	public function claimPenalizeVault(IdOnlyRequest $request)
	{
		$payload = $request->validated();
		$boxDelivery = $this->boxDeliveryService->claimPenalizeVault( $payload );

		return self::successResponse('Success',$boxDelivery);
	}

	/**
	* @OA\Post(
	*
	*	path="/api/box-delivery/print-label",
	*	operationId="boxDeliveryTestPrint",
	*	tags={"Box Delivery"},
	*	summary="boxDeliveryTestPrint",
	*	security={
	*		{
	*			"open_key": {}
	*		},
	*		{
	*			"api_key": {}
	*		}
	*	},
	*	@OA\Parameter(
	*		name="id",
	*		description="id",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default=""
	*		)
	*	),
	*	@OA\Response(
	*		response=200,
	*		description="Success",
	*		@OA\JsonContent()
	*	),
	*	@OA\Response(response=400, description="Bad request"),
	*	@OA\Response(response=404, description="Resource Not Found"),
	*	@OA\Response(response=422, description="Unprocessable Entity"),
	*	@OA\Response(response=500, description="Internal Server Error"),
	* )
	*/

	public function BoxDeliveryPrintLabel(TestLabel $request)
	{
		$payload = $request->validated();
		
		$printingLabel = $this->boxDeliveryService->testPrintLabel( $payload );

		return self::successResponse('Success',$printingLabel);
	}	

	/**
	* @OA\Post(
	*
	*	path="/api/box-delivery/test-alert",
	*	operationId="boxDeliveryTestAlert",
	*	tags={"Box Delivery"},
	*	summary="boxDeliveryTestAlert",
	*	security={
	*		{
	*			"open_key": {}
	*		},
	*		{
	*			"api_key": {}
	*		}
	*	},
	*	@OA\Parameter(
	*		name="id",
	*		description="id",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default=""
	*		)
	*	),
	*	@OA\Response(
	*		response=200,
	*		description="Success",
	*		@OA\JsonContent()
	*	),
	*	@OA\Response(response=400, description="Bad request"),
	*	@OA\Response(response=404, description="Resource Not Found"),
	*	@OA\Response(response=422, description="Unprocessable Entity"),
	*	@OA\Response(response=500, description="Internal Server Error"),
	* )
	*/

	public function boxDeliveryTestAlert(TestLabel $request)
	{
		$payload = $request->validated();
		
		$alert = $this->boxDeliveryService->testAlert( $payload );

		return self::successResponse($alert);
	}	
}

Youez - 2016 - github.com/yon3zu
LinuXploit