Some checks failed
Tests / PHP 8.1 (push) Has been cancelled
Tests / PHP 8.2 (push) Has been cancelled
Tests / PHP 8.3 (push) Has been cancelled
31 lines
876 B
PHP
31 lines
876 B
PHP
<?php
|
|
|
|
namespace Modules\EcommerceFinance\Http\Controllers\Api;
|
|
|
|
use App\Abstracts\Http\ApiController;
|
|
use Illuminate\Support\Facades\Storage;
|
|
use Illuminate\Support\Str;
|
|
use Modules\EcommerceFinance\Http\Requests\ImportFile as Request;
|
|
|
|
class ImportFiles extends ApiController
|
|
{
|
|
public function store(Request $request)
|
|
{
|
|
$file = $request->file('source_file');
|
|
$checksum = hash_file('sha256', $file->getRealPath());
|
|
$extension = strtolower($file->getClientOriginalExtension() ?: 'csv');
|
|
$path = 'ecommerce-finance/' . company_id() . '/' . Str::uuid() . '.' . $extension;
|
|
|
|
Storage::disk('uploads')->putFileAs(
|
|
dirname($path),
|
|
$file,
|
|
basename($path)
|
|
);
|
|
|
|
return response()->json([
|
|
'source_file' => $path,
|
|
'checksum' => $checksum,
|
|
], 201);
|
|
}
|
|
}
|