| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- <?php
- namespace App\Http\Controllers;
- use Illuminate\Http\Request;
- use App\Jobs\ValidateLoadArchives;
- use Illuminate\Support\Str;
- class AsyncValidateLoadArchivesController extends Controller
- {
- private $responseController;
- public function __construct()
- {
- $this->responseController = new ResponseController();
- }
- public function validateFiles(Request $request)
- {
- $jobId = Str::uuid();
- $userId = $request->input('id_user', '0000000001');
-
- // Guardar archivos temporalmente
- $tempPaths = [];
- if ($request->hasFile('excel_file')) {
- $tempPaths['excel_file'] = $request->file('excel_file')->store('temp_uploads');
- }
- if ($request->hasFile('zip_file')) {
- $tempPaths['zip_file'] = $request->file('zip_file')->store('temp_uploads');
- }
-
- // Solo pasar datos serializables al job
- $requestData = [
- 'id_user' => $userId,
- 'linea' => $request->input('linea'),
- 'temp_paths' => $tempPaths
- ];
-
- ValidateLoadArchives::dispatch($requestData, $userId, $jobId);
-
- return $this->responseController->makeResponse(
- false,
- 'Validación iniciada',
- ['job_id' => $jobId, 'status' => 'processing']
- );
- }
- }
|