HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.shooperm.com/Modules/GiftCard/Http/Controllers/API/GiftcardController.php
<?php

namespace Modules\GiftCard\Http\Controllers\API;

use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use App\Repositories\GiftCardRepository;

class GiftcardController extends Controller
{
    protected $giftcardRepository;
    public function __construct(GiftCardRepository $giftcardRepository){
        $this->giftcardRepository = $giftcardRepository;
    }

    // Giftcard List

    public function index(){
        $giftcards = $this->giftcardRepository->getAll('new',10);
        if(count($giftcards) > 0){
            return response()->json([
                'giftcards' => $giftcards,
                'seller' => app('general_setting')->company_name,
                'message' => 'success'
            ],200);
        }else{
            return response()->json([
                'giftcards' => $giftcards,
                'message' => 'List empty.'
            ], 404);
        }
    }

    // Single Giftcard


    public function giftcard($slug){
        $giftcard = $this->giftcardRepository->getBySlug($slug);

        if($giftcard){
            return response()->json([
                'giftcard' => $giftcard,
                'seller' => app('general_setting')->company_name,
                'message' => 'success'
            ],200);
        }else{
            return response()->json([
                'message' => 'not found'
            ],404);
        }
    }




    // Customers Purchased Giftcards
    public function myPurchasedGiftcardList(Request $request){

        $giftcards = $this->giftcardRepository->myPurchasedGiftCard($request->user());
        if(count($giftcards) > 0){
            return response()->json([
                'giftcards' => $giftcards,
                'message' => 'Success'
            ],200);
        }else{
            return response()->json([
                'message' => 'list is empty'
            ],404);
        }
    }

    // Giftcard add to wallet
     public function giftcardAddToWallet(Request $request){

        $request->validate([
            'secret_code' => 'required'
        ]);

        $result = $this->giftcardRepository->myPurchasedGiftCardRedeemToWalletFromWalletRecharge($request->all(), $request->user());
        if($result == 'success'){
            return response()->json([
                'mesage' => 'Redeem Successfully'
            ],201);
        }
        elseif($result == 'used'){
            return response()->json([
                'mesage' => 'Allready Used'
            ],202);
        }else{
            return response()->json([
                'mesage' => 'Invalid Gift card'
            ],404);
        }

     }
}