Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 12 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 1 |
HandleTeamPlansUpdateEventListener | |
0.00% |
0 / 12 |
|
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 1 |
handle | |
0.00% |
0 / 12 |
|
0.00% |
0 / 1 |
12 |
1 | <?php |
2 | |
3 | namespace App\Listeners; |
4 | |
5 | use App\Http\Models\Plans; |
6 | use App\Http\Models\Teams\Team; |
7 | use Illuminate\Support\Facades\Log; |
8 | use Illuminate\Queue\InteractsWithQueue; |
9 | use Illuminate\Contracts\Queue\ShouldQueue; |
10 | |
11 | class HandleTeamPlansUpdateEventListener |
12 | { |
13 | /** |
14 | * Handle the event. |
15 | * |
16 | * @param object $event |
17 | * @return void |
18 | */ |
19 | public function handle($event) |
20 | { |
21 | $user = $event->user; |
22 | $current_subscription = $user->subscriptions('main') |
23 | ->where('stripe_status', 'active') |
24 | ->first(); |
25 | // If they don't have a subscription, create one. Freemium in this case |
26 | if ($current_subscription == null) { |
27 | $main = $user->subscription('main'); |
28 | if ($main == null) { |
29 | $user->subscriptions()->create([ |
30 | "name" => "main", |
31 | "stripe_plan" => Plans::where('identifier', 'freemium')->first()->stripe_id, |
32 | "stripe_status" => "active", |
33 | ]); |
34 | } |
35 | } |
36 | // if ($user->teams()->count() == 0) { |
37 | // $team = new Team(); |
38 | // $team->owner_id = $user->id; |
39 | // $team->name = $user->first_name . "'s Team"; |
40 | // $team->save(); |
41 | // $user->teams()->attach($team->id, ['role' => 'Admin']); |
42 | // } |
43 | // Log::info('HandleTeamPlansUpdateEventListener: ' . $user->email . ' has ' . $user->teams()->count() . ' teams'); |
44 | } |
45 | } |