%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/geotechnics/api/app/Http/Controllers/Api/
Upload File :
Create Path :
Current File : /var/www/html/geotechnics/api/app/Http/Controllers/Api/ApiController.php

<?php

namespace App\Http\Controllers\Api;

use App\Models\User;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Routing\Controller as BaseController;
use League\Fractal\Pagination\IlluminatePaginatorAdapter;

class ApiController extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;

    /**
     * @return User
     */
    public function getLoggedInUser()
    {
        return auth()
            ->guard('api')
            ->user();
    }

    public function item($data, $transformer, $meta = [])
    {
        return response()->json(fractal($data, $transformer)->addMeta($meta));
    }

    public function collection($data, $transformer, $meta = [])
    {
        return response()->json(fractal($data, $transformer)
            ->addMeta($meta)
            ->toArray());
    }

    public function withPaginated($paginator, $transformer, $resourceKey = null, $meta = [])
    {
        return fractal()
            ->collection($paginator->getCollection(), $transformer, $resourceKey)
            ->paginateWith(new IlluminatePaginatorAdapter($paginator))
            ->addMeta($meta);
    }

    public function wrongArguments($args)
    {
        return response()->json($args, 400);
    }

    public function notFound($args)
    {
        return response()->json($args, 404);
    }

    public function unauthorized($args)
    {
        return response()->json($args, 401);
    }

    public function methodNotAllowed()
    {
        return response()->json([
            'message' => 'This http method is not allowed',
        ], 405);
    }

    public function methodForbidden($message = 'You are not allowed to perform this operation.')
    {
        return response()->json([
            'message' => $message,
        ], 403);
    }

}

Zerion Mini Shell 1.0