Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 24 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 1 |
ReportingGetColumnsRequest | |
0.00% |
0 / 24 |
|
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 1 |
execute | |
0.00% |
0 / 24 |
|
0.00% |
0 / 1 |
6 |
1 | <?php |
2 | |
3 | namespace App\Actions; |
4 | |
5 | use App\Http\Resources\UserDetailsReportingResource; |
6 | use Illuminate\Support\Facades\Auth; |
7 | use App\Http\Models\Admin\UserDetailsColumnSetting; |
8 | use App\Helpers\Constants; |
9 | use Illuminate\Http\Request; |
10 | |
11 | class ReportingGetColumnsRequest |
12 | { |
13 | /** |
14 | * Execute the action to get reporting columns. |
15 | * |
16 | * @param Request $request |
17 | * @return array |
18 | */ |
19 | public function execute(Request $request) |
20 | { |
21 | $user = Auth::user(); |
22 | |
23 | $default_columns = collect([ |
24 | [ |
25 | "key" => "first_name", |
26 | "value" => "First Name", |
27 | "checked" => true, |
28 | ], |
29 | [ |
30 | "key" => "last_name", |
31 | "value" => "Last Name", |
32 | "checked" => true, |
33 | ], |
34 | [ |
35 | "key" => "email", |
36 | "value" => "Email", |
37 | "checked" => true, |
38 | ], |
39 | ]); |
40 | |
41 | $columns = UserDetailsColumnSetting::where("user_id", $user->id)->get(); |
42 | |
43 | if ($columns->isEmpty()) { |
44 | $columns = collect(Constants::ADMIN_CENTER_USERS_TABLE_REPORTING_TABLE_HEADERS); |
45 | } else { |
46 | $columns = UserDetailsReportingResource::collection($columns); |
47 | $columns = array_merge($default_columns->toArray(), $columns->toArray($request)); |
48 | } |
49 | |
50 | return $columns; |
51 | } |
52 | } |