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

File "LinkGroupAttachmentsController.php"

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

<?php

namespace App\Http\Controllers;

use App\Models\Link;
use App\Models\LinkGroup;
use Common\Core\BaseController;
use Illuminate\Http\Request;

class LinkGroupAttachmentsController extends BaseController
{
    /**
     * @var Request
     */
    private $request;

    public function __construct(Request $request, LinkGroup $linkGroup)
    {
        $this->request = $request;
    }

    public function attach(LinkGroup $linkGroup)
    {
        $this->authorize('update', $linkGroup);

        $this->validate($this->request, [
            'linkIds' => 'required|array',
            'linkIds.*' => 'required|integer'
        ]);

        $linkGroup->links()->syncWithoutDetaching($this->request->get('linkIds'));

        return $this->success();
    }

    public function detach(LinkGroup $linkGroup)
    {
        $linkIds = $this->request->get('linkIds');
        $this->authorize('destroy', [Link::class, $linkIds]);

        $this->validate($this->request, [
            'linkIds' => 'required|array',
            'linkIds.*' => 'required|integer'
        ]);

        $linkGroup->links()->detach($linkIds);

        return $this->success();
    }
}