Completed
Pull Request — master (#27)
by Karl
05:54
created

UsersController::premium()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
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\Http\Requests\PremiumUser;
9
use JobApis\JobsToMail\Jobs\CreateUserAndSearch;
10
use JobApis\JobsToMail\Jobs\DeleteUser;
11
use JobApis\JobsToMail\Jobs\Users\PremiumUserSignup;
12
13
class UsersController extends BaseController
14
{
15
    use DispatchesJobs, ValidatesRequests;
16
17
    /**
18
     * Create new User.
19
     */
20
    public function create(CreateUser $request)
21
    {
22
        $data = $request->only(array_keys($request->rules()));
23
24
        $message = $this->dispatchNow(new CreateUserAndSearch($data));
25
26
        $request->session()->flash($message->type, $message->message);
27
28
        return redirect('/');
29
    }
30
31
    /**
32
     * Delete a user account (unsubscribe from all searches)
33
     */
34
    public function delete(Request $request, $userId)
35
    {
36
        $message = $this->dispatchNow(new DeleteUser($userId));
37
38
        $request->session()->flash($message->type, $message->message);
39
40
        return redirect('/');
41
    }
42
43
    /**
44
     * Show premium signup form
45
     */
46
    public function premium()
47
    {
48
        return view('users.premium');
49
    }
50
51
    /**
52
     * Post premium signup form
53
     */
54
    public function postPremium(PremiumUser $request)
55
    {
56
        $data = $request->only(array_keys($request->rules()));
57
58
        $message = $this->dispatchNow(new PremiumUserSignup($data));
59
60
        $request->session()->flash($message->type, $message->message);
61
62
        return redirect('/premium');
63
    }
64
}
65