Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
DashboardController
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 __invoke
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace App\Http\Controllers\Influencer;
4
5use App\Http\Controllers\Controller;
6use App\Models\Order;
7use App\Services\DashboardMetricsService;
8use App\Services\GamificationService;
9use Illuminate\View\View;
10
11class DashboardController extends Controller
12{
13    public function __invoke(DashboardMetricsService $metrics, GamificationService $gamification): View
14    {
15        $influencer = request()->user()->influencer()->with('activeCoupon', 'achievements.badge')->firstOrFail();
16
17        return view('influencer.dashboard', [
18            'influencer' => $influencer,
19            'metrics' => $metrics->influencer($influencer),
20            'progress' => $gamification->progress($influencer),
21            'latestOrders' => Order::with('items', 'commission')->where('influencer_id', $influencer->id)->latest('placed_at')->limit(8)->get(),
22        ]);
23    }
24}