<?php

namespace App\Http\Controllers;

use App\NewFinancialPerformance;
use App\UserDetails;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\File;
use ZipArchive;

class FileDownloadController extends Controller
{
    public function downloadFinanceFile($id, $type)
    {

        if ($type === 'management_account'){
            $type = 'management_account';
        }

        if ($type === 'id_cards'){
            $type = 'id_cards';
        }

        if ($type === 'permits'){
            $type = 'permits';
        }

        if ($type === 'business_registration_documents'){
            $type = 'business_registration_documents';
        }

        if ($type === 'bank_statements'){
            $type = 'bank_statements';
        }

        if ($type === 'bank_statements'){
            $type = 'bank_statements';
        }

        if ($type === 'historic_financials'){
            $type = 'historic_financials';
        }


        $zip      = new ZipArchive;
        $fileName = $type.'_'.$id.'.zip';
        if ($zip->open(storage_path($fileName), ZipArchive::CREATE) === TRUE) {
//            return 'works';
            $files = File::files(storage_path('app/public/'.$type.'/'.$id));
            foreach ($files as $key => $value) {
                $relativeName = basename($value);
                $zip->addFile($value, $relativeName);
            }
            $zip->close();
        }

        $user = UserDetails::query()->where('id', $id)->first();
if ($user !==null) {
  auth()->guard('adminguard')->user()->logAdmin('Download Applicant Document', 'Download Application Document', 'Downloaded '.ucfirst(str_replace('_', ' ', $type)).' of Applicant: '.$user->name, $user->id);
}


        return response()->download(storage_path($fileName));

    }




}
