Completed
Push — master ( 000aae...3730ff )
by Karl
17s
created

SearchesController::index()   A

Complexity

Conditions 3
Paths 2

Size

Total Lines 15
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 15
rs 9.4285
c 0
b 0
f 0
cc 3
eloc 7
nc 2
nop 2
1
<?php namespace JobApis\JobsToMail\Http\Controllers;
2
3
use Illuminate\Foundation\Bus\DispatchesJobs;
4
use Illuminate\Http\Request;
5
use Illuminate\Routing\Controller as BaseController;
6
use Illuminate\Foundation\Validation\ValidatesRequests;
7
use Illuminate\Support\Facades\URL;
8
use JobApis\JobsToMail\Jobs\DeleteSearch;
9
use JobApis\JobsToMail\Jobs\GetUserSearches;
10
11
class SearchesController extends BaseController
12
{
13
    use DispatchesJobs, ValidatesRequests;
14
15
    /**
16
     * View a user's searches
17
     */
18
    public function index(Request $request, $userId = null)
19
    {
20
        // Get the searches for this user (or specified in ID)
21
        $results = $this->dispatchNow(
22
            new GetUserSearches(
23
                $userId ?: $request->session()->get('user.id')
24
            )
25
        );
26
27
        if (!$results->isEmpty()) {
28
            return view('searches.index', ['searches' => $results]);
29
        }
30
31
        return redirect('/');
32
    }
33
34
    /**
35
     * Unsubscribe from single search
36
     */
37
    public function unsubscribe(Request $request, $searchId)
38
    {
39
        $message = $this->dispatchNow(new DeleteSearch($searchId));
40
41
        $request->session()->flash($message->type, $message->message);
42
43
        return redirect(URL::previous('/'));
44
    }
45
}
46