HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ip-172-26-0-120 6.17.0-1009-aws #9~24.04.2-Ubuntu SMP Fri Mar 6 23:50:29 UTC 2026 x86_64
User: ubuntu (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/www/html/owlcrm/app/Models/UserSubscription.php
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class UserSubscription extends Model
{
    protected $fillable = [
        'user_id',
        'subscription_plan_id',
        'status',
        'start_date',
        'end_date',
        'subscription_id',
    ];

    // webhook event status
    const Active = 'active';
    const Complete = 'complete';
    const Cancel = 'cancel';
    const Paused = 'pause';
    const Update = 'update';

    // plans
    const StarterPlanId = 'plan_Q2aKXoEyYC6APx';
    const ProfessionalPlanId = 'plan_Q2aLLOo9D5hZTo';

 
    //plan Status
    const Inactive = 'inactive';
    
    public function user()
    {
        return $this->belongsTo(User::class);
    }
    
     public function subscriptionPlan()
    {
        return $this->belongsTo(SubscriptionPlan::class, 'subscription_plan_id', 'subscription_plan_id');
    }
    public function checkUserLimit()
    {
        $currentPlan = $this->subscriptionPlan;
        $currentUserCount = $this->where('subscription_plan_id', $currentPlan->id)->count();

        if ($currentUserCount >= $currentPlan->max_users) {
            return false; // Cannot add more users for this plan
        }

        return true; // Can add more users
    }
}