<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;

class AmazonTestOrders extends Controller
{
    public $disk = 'do-spaces';
    public $folder = 'amazon-test-orders';

    public function index()
    {
        if (config('app.env') == 'production')
            return redirect('/');

        $files = [];
        $filesData = Storage::disk($this->disk)->allFiles($this->folder);
        foreach ($filesData as $file) {
            $fileName = explode('/', $file)[1];
            $size = Storage::disk($this->disk)->size($file);
            if ($size < 1024) {
                $sizeText = $size . ' b';
            } elseif ($size / 1024  < 1024) {
                $sizeText = round($size / 1024, 2) . ' Kb';
            } else {
                $sizeText = round($size / 1024 / 1024, 2) . ' Mb';
            }

            $files[] = [
                'filename' => $fileName,
                'size' => $sizeText,
                'last_modified' => Storage::disk($this->disk)->lastModified($file),
                'url' => Storage::disk($this->disk)->url($file),
                'original' => $file,
            ];
        }

        return view('dashboard.amazon_test_orders', ['files' => $files]);
    }

    public function store(Request $request)
    {
        $file = $request->file('file');
        Storage::disk($this->disk)->putFileAs($this->folder, $file, $file->getClientOriginalName());
        return redirect()->back();
    }

    public function delete(Request $request)
    {
        $file = $request->file;
        if ($file && Storage::disk($this->disk)->exists($file)) {
            Storage::disk($this->disk)->delete($file);
        }
    }
}