<?php

namespace App\Modules\Jobseeker\Subscription;

use App\Models\JobSeekerSubscriptionRates;
use App\Models\JobseekerSubscription;
use Illuminate\Support\Facades\Auth;

class Subscription
{
    
    public $userData;

    public function __construct()
    {
        $this->userData =  Auth::user();
    }

    public function fetchAllSubscriptionRates()
    {
        return JobSeekerSubscriptionRates::all()->where('is_disabled', false);
    }

    public function fetchSubscriptionDetails($id)
    {
        return JobSeekerSubscriptionRates::where('id', $id)->get()->first();
    }

    public function getCurrentSubscription()
    {    
        $JobseekerSubscription = JobseekerSubscription::query()
            ->where('worker_id', '=', $this->userData->id)
            ->first(); 
                                    
        if($JobseekerSubscription->rate_id == 0)
        {
            return JobseekerSubscription::select(
                'jobseeker_subscriptions.rate_id',
                'jobseeker_subscriptions.duration',
                'jobseeker_subscriptions.status',
            )
            ->where('jobseeker_subscriptions.worker_id', $this->userData->id)
            ->first(); 
        }

        return JobseekerSubscription::select(
            'job_seekers_subscription_rates.name',
            'job_seekers_subscription_rates.description',
            'jobseeker_subscriptions.rate_id',
            'jobseeker_subscriptions.duration',
            'jobseeker_subscriptions.status',
        )
        ->leftJoin('job_seekers_subscription_rates', 'job_seekers_subscription_rates.id', '=', 'jobseeker_subscriptions.rate_id')
        ->where('jobseeker_subscriptions.worker_id', $this->userData->id)
        ->first(); 
    }
}