<?php

namespace App\Http\Controllers;

use App\Deal;
use Illuminate\Http\Request;
use Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator;

class HomeController extends Controller
{
    /**
     * Create a new controller instance.
     *
     */
    public function __construct()
    {
        $this->middleware('auth');
    }

    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        return view('home');
    }

    public function list($type)
    {
        $deals = [];
        $folder_path = sprintf('%s/%s', config('app.deals_dir'), $type);
        if (file_exists($folder_path)) {
            foreach (new \RecursiveDirectoryIterator($folder_path) as $folder) {
                if (file_exists($folder->getPathname().'/data.json')) {
                    $deals[] = new Deal($folder_path, $folder->getBasename());
                }
            }
        }
        return view('list', ['deals' => $deals, 'type' => $type]);
    }

    public function view($type, $id)
    {
        $folder_path = sprintf('%s/%s/%s', config('app.deals_dir'), $type, $id);
        if (file_exists($folder_path)) {
            $deal = new Deal(sprintf('%s/%s', config('app.deals_dir'), $type), $id);
        }
        return view('view', ['deal' => $deal, 'type' => $type]);
    }
}