Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
27.27% |
6 / 22 |
|
50.00% |
2 / 4 |
CRAP | |
0.00% |
0 / 1 |
CompanyPocsController | |
27.27% |
6 / 22 |
|
50.00% |
2 / 4 |
10.15 | |
0.00% |
0 / 1 |
__construct | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 | |||
companyPocs | |
0.00% |
0 / 5 |
|
0.00% |
0 / 1 |
2 | |||
addCompanyPoc | |
0.00% |
0 / 11 |
|
0.00% |
0 / 1 |
2 | |||
removeCompanyPoc | |
100.00% |
5 / 5 |
|
100.00% |
1 / 1 |
1 |
1 | <?php |
2 | |
3 | namespace App\Http\Controllers\v2\Company; |
4 | |
5 | use Illuminate\Http\Request; |
6 | use Illuminate\Http\JsonResponse; |
7 | use App\Http\Controllers\Controller; |
8 | use App\Http\Models\Admin\Company; |
9 | use App\Http\Models\Admin\CompanyPOC; |
10 | use App\Http\Requests\Admin\Companies\Pocs\RemoveCompanyPocRequest; |
11 | use App\Http\Services\Admin\Companies\Pocs\AdminCompaniesPocsService; |
12 | use Symfony\Component\HttpFoundation\Response; |
13 | |
14 | class CompanyPocsController extends Controller |
15 | { |
16 | public function __construct( |
17 | private AdminCompaniesPocsService $adminCompaniesPocsService |
18 | ) {} |
19 | |
20 | public function companyPocs(Request $request): JsonResponse |
21 | { |
22 | $data = $this->adminCompaniesPocsService->getPocs($request->slug); |
23 | |
24 | return response()->json([ |
25 | 'success' => true, |
26 | 'data' => $data |
27 | ]); |
28 | } |
29 | |
30 | public function addCompanyPoc(Request $request): JsonResponse |
31 | { |
32 | $poc = $request->validate([ |
33 | 'email' => 'required|email', |
34 | 'first_name' => 'required|string', |
35 | 'last_name' => 'required|string' |
36 | ]); |
37 | |
38 | $companyPoc = $this->adminCompaniesPocsService->addPoc($request->slug, $poc); |
39 | |
40 | return response()->json([ |
41 | 'success' => true, |
42 | 'data' => $companyPoc, |
43 | 'message' => 'Company POC added successfully' |
44 | ], Response::HTTP_CREATED); |
45 | } |
46 | |
47 | public function removeCompanyPoc(RemoveCompanyPocRequest $request, $slug, CompanyPOC $company_poc): JsonResponse |
48 | { |
49 | $this->adminCompaniesPocsService->removePoc($slug, $company_poc->user_id); |
50 | |
51 | return response()->json([ |
52 | 'success' => true, |
53 | 'message' => 'Company POC removed successfully' |
54 | ]); |
55 | } |
56 | } |