Projekt

Obecné

Profil

Stáhnout (1.13 KB) Statistiky
| Větev: | Tag: | Revize:
1 e765fd91 Marek Lovčí
<?php
2
3
namespace App\Http\Controllers;
4
5
use App\Metadata;
6
use App\User;
7
use Illuminate\Http\Request;
8
use Illuminate\Support\Facades\Auth;
9
10
class FavoriteMetadataController extends Controller
11
{
12 b323292b Marek Lovčí
    const ORDER_COLUMN = 'page';
13
14 e765fd91 Marek Lovčí
    public function __construct()
15
    {
16
        $this->middleware('auth');
17
    }
18
19 75508baf Marek Lovčí
    /**
20
     * Show list of favourite metadata.
21
     *
22
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
23
     */
24 e765fd91 Marek Lovčí
    public function index()
25
    {
26 b323292b Marek Lovčí
        $metadata = User::find(Auth::id())->likesMetadata()->orderBy(self::ORDER_COLUMN)->get();
27
        foreach($metadata as $item)
28
        {
29
            $item['artefact'] = Metadata::find($item->id)->artefact()->first();
30
        }
31 e765fd91 Marek Lovčí
32
        return view('favmetadata.index', ['metadata' => $metadata]);
33
    }
34
35 75508baf Marek Lovčí
    /**
36
     * Unlike metadata given by its id.
37
     *
38
     * @param $id int id of metadata
39
     * @return \Illuminate\Http\RedirectResponse
40
     */
41
    public function unlike($id)
42
    {
43
        $user = User::find(Auth::id());
44
        $metadata = Metadata::find($id);
45
46
        $user->likesMetadata()->detach($metadata);
47
48
        return back()->withInput();
49
    }
50
51 e765fd91 Marek Lovčí
}