Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
RegisterController
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 3
12
0.00% covered (danger)
0.00%
0 / 1
 validator
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
2
 create
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
2
 register
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace App\Http\Controllers\v1\BusinessAuth;
4
5use App\Events\Business\Registered;
6use App\Http\Controllers\v1\Auth\RegisterController as BaseRegisterController;
7use App\Http\Models\Auth\BusinessUser;
8use Illuminate\Http\JsonResponse;
9use Illuminate\Http\Request;
10use Illuminate\Support\Facades\Hash;
11use Illuminate\Support\Facades\Validator;
12
13class RegisterController extends BaseRegisterController
14{
15    protected function validator(array $data)
16    {
17        return Validator::make($data, [
18            'first_name' => ['required', 'string', 'max:255'],
19            'last_name' => ['required', 'string', 'max:255'],
20            'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
21            'password' => ['required', 'string', 'min:8', 'confirmed'],
22        ]);
23    }
24
25    protected function create(array $data)
26    {
27        return BusinessUser::create([
28            'first_name' => $data['first_name'],
29            'last_name' => $data['last_name'],
30            'email' => $data['email'],
31            'password' => Hash::make($data['password']),
32        ]);
33    }
34
35    public function register(Request $request): JsonResponse
36    {
37        $this->validator($request->all())->validate();
38        $user = $this->create($request->all());
39        event(new Registered($user));
40
41        return response()->json($user->id);
42    }
43}