From ef67fa95a6740ead9e537ea575b42821e3a36079 Mon Sep 17 00:00:00 2001 From: marcio1002 Date: Wed, 25 Oct 2023 13:38:52 -0300 Subject: [PATCH] Correction in importing data to access the smart platform --- app/Http/Controllers/UserController.php | 57 ++++++++++++------- .../ImportUsersWithSmartUsersRequest.php | 2 +- composer.lock | 2 +- 3 files changed, 38 insertions(+), 23 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index ad7e86d..d19c3a7 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -5,20 +5,18 @@ declare(strict_types=1); namespace App\Http\Controllers; use App\Http\Requests\ImportUsersWithSmartUsersRequest; -use App\Models\User; use App\Traits\ApiResponse; use App\Http\Resources\UserResource; use App\Http\Requests\StoreUserRequest; use App\Imports\UsersWithSmartUsersImport; use App\Repositories\Users\UserContractInterface; -use Illuminate\Support\Str; use Illuminate\Http\Request; use Illuminate\Http\Response; use Illuminate\Http\JsonResponse; use Illuminate\Support\Facades\Storage; -use Illuminate\Support\Facades\Hash; +// use Maatwebsite\Excel\Excel as ExcelType; use Maatwebsite\Excel\Facades\Excel; class UserController extends Controller @@ -133,26 +131,43 @@ class UserController extends Controller public function importUserControll(ImportUsersWithSmartUsersRequest $request): JsonResponse { - /** - * @var \Illuminate\Http\UploadedFile $file - */ - $file_users = $request->file('file_users'); - /** - * @var \Illuminate\Http\UploadedFile $file - */ - $file_logos = $request->file('file_logos'); + try { + /** + * @var \Illuminate\Http\UploadedFile $file + */ + $file_users = $request->file('file_users'); + /** + * @var \Illuminate\Http\UploadedFile $file + */ + $file_logos = $request->file('file_logos'); - $driver = 'imports'; - $user_imports_path = $file_users->store($driver); + $driver = 'imports'; + $user_imports_path = $file_users->store($driver); + $filename = \preg_replace("/imports\//", "", $user_imports_path); + + // $mimeType = $file_users->getMimeType(); + // $type = match($mimeType) { + // "text/csv" => ExcelType::CSV, + // "application/vnd.oasis.opendocument.spreadsheet" => ExcelType::ODS, + // "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" => ExcelType::XLSX, + // "application/vnd.ms-excel" => ExcelType::XLS, + // default => ExcelType::XLSX, + // }; - $filename = preg_replace("/imports\//", "", $user_imports_path); + Excel::import( + import: new UsersWithSmartUsersImport($file_logos), + filePath: $filename, + disk: $driver, + // readerType: $type + ); - Excel::import(new UsersWithSmartUsersImport($file_logos), $user_imports_path, $driver); - - Storage::disk($driver)->delete($filename); - - return response() - ->json(['message' => 'Dados importados com sucesso!']) - ->setStatusCode(Response::HTTP_CREATED); + return response() + ->json(['message' => 'Dados importados com sucesso!']) + ->setStatusCode(Response::HTTP_CREATED); + } catch (\Throwable $th) { + throw $th; + } finally { + Storage::disk($driver)->delete($filename); + } } } diff --git a/app/Http/Requests/ImportUsersWithSmartUsersRequest.php b/app/Http/Requests/ImportUsersWithSmartUsersRequest.php index 6e0465f..690d03f 100644 --- a/app/Http/Requests/ImportUsersWithSmartUsersRequest.php +++ b/app/Http/Requests/ImportUsersWithSmartUsersRequest.php @@ -24,7 +24,7 @@ class ImportUsersWithSmartUsersRequest extends FormRequest public function rules() { return [ - 'file_users' => 'required|file|mimetypes:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel,text/csv', + 'file_users' => 'required|file|mimetypes:text/csv,application/vnd.oasis.opendocument.spreadsheet,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel', 'file_logos' => 'required|file|mimetypes:application/zip', 'password' => function($attr, $value, $fail) { if($value !== '78s7*a77xghhsa5219129382(*728292SPsk%%%shssajlk') $fail('Senha inválida'); diff --git a/composer.lock b/composer.lock index 61435ed..880fd2c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "8e17c44a97324e1633a29b15ecc14816", + "content-hash": "1f36b276eeb3b2bf2ebbb68446d3f120", "packages": [ { "name": "aws/aws-crt-php",