File "SalesTaxApiController.php"

Full Path: /home/clickysoft/public_html/jmapi5.clickysoft.net/app/Http/Controllers/Api/V1/Admin/SalesTaxApiController.php
File size: 1.51 KB
MIME-type: text/x-php
Charset: utf-8

<?php

namespace App\Http\Controllers\Api\V1\Admin;

use App\Http\Controllers\Controller;
use App\Http\Requests\Admin\UpdateSalesTaxRequest;
use App\Http\Resources\Admin\StateResource;
use App\Http\Resources\Admin\StateSalesTaxResource;
use App\Models\StateSalesTax;
use Gate;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;

class SalesTaxApiController extends Controller
{
    public function index(Request $request)
    {
        abort_if(Gate::denies('sales_tax_access'), Response::HTTP_FORBIDDEN, '403 Forbidden');

        $noPaging = $request->get('no_paging') === "true";

        $taxes = StateSalesTax::when($request->filled('name'), function ($query) use ($request){
            $query->where('name', 'like', "%{$request->get('name')}%");
        });

        if($noPaging) {
            $taxes = $taxes->get();
        } else {
            $taxes = $taxes->paginate(50);
        }

        return new StateSalesTaxResource($taxes);
    }

    public function states()
    {
        StateResource::withoutWrapping();
        return StateResource::collection(StateSalesTax::all());
    }

    public function show(StateSalesTax $stateSalesTax)
    {
        return new StateSalesTaxResource($stateSalesTax);
    }

    public function update(UpdateSalesTaxRequest $request, StateSalesTax $stateSalesTax)
    {
        $stateSalesTax->update($request->all());

        return (new StateSalesTaxResource($stateSalesTax))
            ->response()
            ->setStatusCode(Response::HTTP_CREATED);
    }

}