Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
3 / 3
CRAP
100.00% covered (success)
100.00%
1 / 1
PlanController
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
3 / 3
3
100.00% covered (success)
100.00%
1 / 1
 index
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 current
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
1
 update
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace App\Http\Controllers\v2;
4
5use Illuminate\Http\Request;
6use Illuminate\Http\JsonResponse;
7use App\Http\Controllers\Controller;
8use App\Http\Models\Plans;
9use App\Http\Requests\v2\Plan\UpdatePlanRequest;
10use App\Traits\SubscriptionTrait;
11use Illuminate\Support\Facades\Log;
12
13class PlanController extends Controller
14{
15    use SubscriptionTrait;
16
17    public function index(): JsonResponse
18    {
19        $plans = Plans::where('pricing_version', null)->get();
20
21        return response()->json(['data' => $plans]);
22    }
23
24    public function current(Request $request): JsonResponse
25    {
26        $user = $request->user();
27
28        $currentPlan = $this->getCurrentPlan($user);
29
30        return response()->json(['data' => $currentPlan]);
31    }
32
33    public function update(UpdatePlanRequest $request, Plans $plan): JsonResponse
34    {
35        $plan->update($request->validated());
36
37        return response()->json(['data' => $plan]);
38    }
39}