<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class ApiFrontendController extends Controller
{
    public function landingNumbers()
    {
        $latestTerm = \App\Models\Term::orderByDesc('id')->first();
        //if there is not term available there are no empty seats
        $emptySeats = 0;
        $activeTerm = false;
        if ($latestTerm) {
            $diffDays = $latestTerm->end_date->diffInDays(\Carbon\Carbon::now());
            //if it is the last days, we hardcode to 2 empty seats
            //else we get the numbere of remaining days and multiply * 1.7 taking the upper rounded number
            //so 1 day will have 2 seats, 2 days will have 4 seats, 3 days 6 seats, 4 days 7 seats etc.
            if ($diffDays == 0) {
                $emptySeats = 2;
            } else {
                $emptySeats = ceil($latestTerm->end_date->diffInDays(\Carbon\Carbon::now()) * 1.45);
            }

            $activeTerm = \Carbon\Carbon::now('Europe/Skopje')->between($latestTerm->start_date, $latestTerm->end_date->endOfDay());
        }

        $data = [
            'empty_seats' => $emptySeats,
            'test_takers' => \App\Models\User::count(),
            'active_term' => $activeTerm
        ];

        return api()->success()->data($data)->send();
    }
}
