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