| 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 : |
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Http\Services\LockerBannerService;
use App\Http\Requests\LockerBanners\ListRequest as LockerBannerListRequest;
use App\Http\Requests\LockerBanners\CreateRequest as LockerBannerCreateRequest;
use App\Http\Requests\LockerBanners\UpdateRequest as LockerBannerUpdateRequest;
use App\Http\Requests\LockerBanners\DeleteRequest as LockerBannerDeleteRequest;
use App\Http\Requests\LockerBanners\UploadImageRequest as LockerBannerUploadImageRequest;
use App\Http\Requests\IdOnlyRequest;
use App\Http\Requests\ParamIdRequest;
use App\Models\LockerBanner;
use DB;
use Auth;
use Illuminate\Validation\ValidationException;
class LockerBannerController extends Controller
{
public function __construct(
LockerBannerService $lockerBannerService
)
{
$this->lockerBannerService = $lockerBannerService;
}
/**
* @OA\Get(
*
* path="/api/locker-banner/list",
* operationId="listLockerBanner",
* tags={"Locker Banner"},
* summary="listLockerBanner",
* security={
* {
* "open_key": {}
* },
* {
* "api_key": {}
* }
* },
* @OA\Parameter(
* name="locker_id",
* description="ID of the locker which the banner belong to.",
* in="query",
* @OA\Schema(
* type="string",
* default=""
* )
* ),
* @OA\Parameter(
* name="terminal_id",
* description="Terminal ID of the locker which the banner belong to.",
* 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 listLockerBanner(LockerBannerListRequest $request)
{
$payload = $request->validated();
if(!$request->user('sanctum'))
{
$payload['has_image'] = true;
}
else if(!$request->user('sanctum')->isSuperAdmin() && !$request->user('sanctum')->isPartner())
{
$payload['has_image'] = true;
}
$result = $this->lockerBannerService->listLockerBanner($payload);
return self::successResponse("Success",$result);
}
/**
* @OA\Get(
*
* path="/api/locker-banner/info/{id}",
* operationId="infoLockerBanner",
* tags={"Locker Banner"},
* summary="infoLockerBanner",
* 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 infoLockerBanner(ParamIdRequest $request)
{
$payload = $request->validated();
if(!$request->user('sanctum'))
{
$payload['has_image'] = true;
}
else if(!$request->user('sanctum')->isSuperAdmin() && !$request->user('sanctum')->isPartner())
{
$payload['has_image'] = true;
}
$result = $this->lockerBannerService->queriplex(LockerBanner::query(), $payload)
->firstOr(function(){
throw ValidationException::withMessages([
"id" => "The selected id is invalid",
]);
});
$result->load('image');
return self::successResponse("Success",$result);
}
public function createLockerBanner(LockerBannerCreateRequest $request)
{
$result = $this->lockerBannerService->createLockerBanner($request->validated());
return self::successResponse("Success",$result);
}
public function updateLockerBanner(LockerBannerUpdateRequest $request)
{
$result = $this->lockerBannerService->updateLockerBanner( $request->validated() );
return self::successResponse("Success",$result);
}
public function deleteLockerBanner(LockerBannerDeleteRequest $request)
{
$result = $this->lockerBannerService->deleteLockerBanner( $request->validated() );
return self::successResponse("Success",$result);
}
public function uploadLockerBannerImage(LockerBannerUploadImageRequest $request)
{
$result = DB::transaction(function () use ($request){
return $this->lockerBannerService->uploadLockerBannerImage($request->validated());
});
return self::successResponse("Success",$result);
}
public function clearLockerBannerImage(LockerBannerDeleteRequest $request)
{
$result = $this->lockerBannerService->clearLockerBannerImage($request->validated());
return self::successResponse("Success",$result);
}
}