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