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

SearchesController   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 6

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
lcom 0
cbo 6
dl 0
loc 35
rs 10
c 1
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A index() 0 15 3
A unsubscribe() 0 8 1
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