Completed
Push — master ( b618f7...e48405 )
by Karl
11s
created

UsersController   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 64
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 9

Importance

Changes 0
Metric Value
wmc 6
lcom 1
cbo 9
dl 0
loc 64
rs 10
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A index() 0 4 1
A create() 0 10 1
A confirm() 0 8 1
A unsubscribe() 0 8 1
A searches() 0 10 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 JobApis\JobsToMail\Http\Requests\CreateUser;
8
use JobApis\JobsToMail\Jobs\ConfirmUser;
9
use JobApis\JobsToMail\Jobs\CreateUserAndSearch;
10
use JobApis\JobsToMail\Jobs\DeleteUser;
11
use JobApis\JobsToMail\Jobs\GetUserSearches;
12
13
class UsersController extends BaseController
14
{
15
    use DispatchesJobs, ValidatesRequests;
16
17
    /**
18
     * Home page and signup form
19
     */
20
    public function index()
21
    {
22
        return view('users.index');
23
    }
24
25
    /**
26
     * Create new User.
27
     */
28
    public function create(CreateUser $request)
29
    {
30
        $data = $request->only(array_keys($request->rules()));
31
32
        $message = $this->dispatchNow(new CreateUserAndSearch($data));
33
34
        $request->session()->flash($message->type, $message->message);
35
36
        return redirect('/');
37
    }
38
39
    /**
40
     * Confirm user account
41
     */
42
    public function confirm(Request $request, $token)
43
    {
44
        $message = $this->dispatchNow(new ConfirmUser($token));
45
46
        $request->session()->flash($message->type, $message->message);
47
48
        return redirect('/');
49
    }
50
51
    /**
52
     * Unsubscribe user account
53
     */
54
    public function unsubscribe(Request $request, $userId)
55
    {
56
        $message = $this->dispatchNow(new DeleteUser($userId));
57
58
        $request->session()->flash($message->type, $message->message);
59
60
        return redirect('/');
61
    }
62
63
    /**
64
     * View searches for this user
65
     */
66
    public function searches(Request $request, $userId)
0 ignored issues
show
Unused Code introduced by
The parameter $request is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
67
    {
68
        $results = $this->dispatchNow(new GetUserSearches($userId));
69
70
        if (!$results->isEmpty()) {
71
            return view('searches.index', ['searches' => $results]);
72
        }
73
74
        return redirect('/');
75
    }
76
}
77