JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr{ gilour

File "LinkOverlayController.php"

Full Path: /home/markqprx/iniasli.pro/app/Http/Controllers/LinkOverlayController.php
File size: 1.88 KB
MIME-type: text/x-php
Charset: utf-8

<?php

namespace App\Http\Controllers;

use App\Actions\Overlay\CrupdateLinkOverlay;
use App\Actions\Overlay\DeleteLinkOverlays;
use App\Http\Requests\CrupdateLinkOverlayRequest;
use App\Models\LinkOverlay;
use Common\Core\BaseController;
use Common\Database\Datasource\Datasource;
use Illuminate\Http\Request;

class LinkOverlayController extends BaseController
{
    public function __construct(
        protected LinkOverlay $linkOverlay,
        protected Request $request,
    ) {
    }

    public function index()
    {
        $params = $this->request->all();
        $this->authorize('index', LinkOverlay::class);

        $datasource = new Datasource($this->linkOverlay, $params);

        $pagination = $datasource->paginate();

        return $this->success(['pagination' => $pagination]);
    }

    public function show(LinkOverlay $linkOverlay)
    {
        $this->authorize('show', $linkOverlay);

        return $this->success(['linkOverlay' => $linkOverlay]);
    }

    public function store(CrupdateLinkOverlayRequest $request)
    {
        $this->authorize('store', LinkOverlay::class);

        $linkOverlay = app(CrupdateLinkOverlay::class)->execute(
            $request->all(),
        );

        return $this->success(['linkOverlay' => $linkOverlay]);
    }

    public function update(
        CrupdateLinkOverlayRequest $request,
        LinkOverlay $linkOverlay,
    ) {
        $this->authorize('store', $linkOverlay);

        $linkOverlay = app(CrupdateLinkOverlay::class)->execute(
            $request->all(),
            $linkOverlay,
        );

        return $this->success(['linkOverlay' => $linkOverlay]);
    }

    public function destroy(string $ids)
    {
        $overlayIds = explode(',', $ids);
        $this->authorize('destroy', [LinkOverlay::class, $overlayIds]);

        app(DeleteLinkOverlays::class)->execute($overlayIds);

        return $this->success();
    }
}