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 | } |