Correction in importing data to access the smart platform

This commit is contained in:
marcio1002 2023-10-25 13:38:52 -03:00
parent 082a0be6a3
commit ef67fa95a6
3 changed files with 38 additions and 23 deletions

View File

@ -5,20 +5,18 @@ declare(strict_types=1);
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Http\Requests\ImportUsersWithSmartUsersRequest; use App\Http\Requests\ImportUsersWithSmartUsersRequest;
use App\Models\User;
use App\Traits\ApiResponse; use App\Traits\ApiResponse;
use App\Http\Resources\UserResource; use App\Http\Resources\UserResource;
use App\Http\Requests\StoreUserRequest; use App\Http\Requests\StoreUserRequest;
use App\Imports\UsersWithSmartUsersImport; use App\Imports\UsersWithSmartUsersImport;
use App\Repositories\Users\UserContractInterface; use App\Repositories\Users\UserContractInterface;
use Illuminate\Support\Str;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Http\Response; use Illuminate\Http\Response;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Hash;
// use Maatwebsite\Excel\Excel as ExcelType;
use Maatwebsite\Excel\Facades\Excel; use Maatwebsite\Excel\Facades\Excel;
class UserController extends Controller class UserController extends Controller
@ -133,26 +131,43 @@ class UserController extends Controller
public function importUserControll(ImportUsersWithSmartUsersRequest $request): JsonResponse public function importUserControll(ImportUsersWithSmartUsersRequest $request): JsonResponse
{ {
/** try {
* @var \Illuminate\Http\UploadedFile $file /**
*/ * @var \Illuminate\Http\UploadedFile $file
$file_users = $request->file('file_users'); */
/** $file_users = $request->file('file_users');
* @var \Illuminate\Http\UploadedFile $file /**
*/ * @var \Illuminate\Http\UploadedFile $file
$file_logos = $request->file('file_logos'); */
$file_logos = $request->file('file_logos');
$driver = 'imports'; $driver = 'imports';
$user_imports_path = $file_users->store($driver); $user_imports_path = $file_users->store($driver);
$filename = \preg_replace("/imports\//", "", $user_imports_path);
$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,
// };
Excel::import(new UsersWithSmartUsersImport($file_logos), $user_imports_path, $driver); Excel::import(
import: new UsersWithSmartUsersImport($file_logos),
filePath: $filename,
disk: $driver,
// readerType: $type
);
Storage::disk($driver)->delete($filename); return response()
->json(['message' => 'Dados importados com sucesso!'])
return response() ->setStatusCode(Response::HTTP_CREATED);
->json(['message' => 'Dados importados com sucesso!']) } catch (\Throwable $th) {
->setStatusCode(Response::HTTP_CREATED); throw $th;
} finally {
Storage::disk($driver)->delete($filename);
}
} }
} }

View File

@ -24,7 +24,7 @@ class ImportUsersWithSmartUsersRequest extends FormRequest
public function rules() public function rules()
{ {
return [ 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', 'file_logos' => 'required|file|mimetypes:application/zip',
'password' => function($attr, $value, $fail) { 'password' => function($attr, $value, $fail) {
if($value !== '78s7*a77xghhsa5219129382(*728292SPsk%%%shssajlk') $fail('Senha inválida'); if($value !== '78s7*a77xghhsa5219129382(*728292SPsk%%%shssajlk') $fail('Senha inválida');

2
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "8e17c44a97324e1633a29b15ecc14816", "content-hash": "1f36b276eeb3b2bf2ebbb68446d3f120",
"packages": [ "packages": [
{ {
"name": "aws/aws-crt-php", "name": "aws/aws-crt-php",