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;
8use Illuminate\Queue\InteractsWithQueue;
9use Illuminate\Contracts\Queue\ShouldQueue;
10
11class 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}