Ultimos cambios - endpoint stolen
This commit is contained in:
parent
7ad6f87b17
commit
fae8979532
@ -136,7 +136,7 @@ public function vehicleInscription(VehicleStoreRequest $request)
|
||||
$catalogName = CatalogNameImg::firstOrCreate(['name' => $customName]);
|
||||
$extension = $file->getClientOriginalExtension();
|
||||
$fileName = $customName . '_' . date('dmY_His') . '.' . $extension;
|
||||
$path = $file->storeAs('records', $fileName, 'public');
|
||||
$path = $file->storeAs("records/{$record->folio}", $fileName, 'public');
|
||||
$md5 = md5_file($file->getRealPath());
|
||||
|
||||
$fileRecord = File::create([
|
||||
@ -265,6 +265,63 @@ private function checkIfStolen(string $folio): bool
|
||||
return (bool) rand(0, 1);
|
||||
}
|
||||
|
||||
public function stolen(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'folio' => ['sometimes', 'string', 'max:50'],
|
||||
'tag_number' => ['sometimes', 'string', 'exists:tags,tag_number'],
|
||||
'vin' => ['sometimes', 'string', 'max:30'],
|
||||
]);
|
||||
|
||||
$folio = $request->input('folio');
|
||||
$tagNumber = $request->input('tag_number');
|
||||
$vin = $request->input('vin');
|
||||
|
||||
// Validar que se proporcione al menos un criterio de búsqueda
|
||||
if (!$folio && !$tagNumber && !$vin) {
|
||||
return ApiResponse::BAD_REQUEST->response([
|
||||
'message' => 'Debe proporcionar al menos un criterio de búsqueda: folio y tag_number, o vin',
|
||||
]);
|
||||
}
|
||||
$query = Record::with(['vehicle.owner', 'vehicle.tag']);
|
||||
|
||||
// Búsqueda por folio ó tag_number
|
||||
if ($folio && !$tagNumber) {
|
||||
$query->where('folio', $folio);
|
||||
}elseif (!$folio && $tagNumber) {
|
||||
$query->whereHas('vehicle.tag', function ($q) use ($tagNumber) {
|
||||
$q->where('tag_number', $tagNumber);
|
||||
});
|
||||
}// Búsqueda solo por VIN
|
||||
elseif ($vin) {
|
||||
$query->whereHas('vehicle', function ($q) use ($vin) {
|
||||
$q->where('niv', $vin);
|
||||
});
|
||||
}
|
||||
|
||||
$record = $query->first();
|
||||
|
||||
if (!$record) {
|
||||
return ApiResponse::NOT_FOUND->response([
|
||||
'stolen' => false,
|
||||
'message' => 'No se encontró ningún registro con los criterios proporcionados',
|
||||
]);
|
||||
}
|
||||
|
||||
return ApiResponse::OK->response([
|
||||
'stolen' => true,
|
||||
'vehicle' => [
|
||||
'folio' => $record->folio,
|
||||
'placa' => $record->vehicle->placa,
|
||||
'tag_number' => $record->vehicle->tag?->tag_number,
|
||||
'vin' => $record->vehicle->niv,
|
||||
'marca' => $record->vehicle->marca,
|
||||
'modelo' => $record->vehicle->linea,
|
||||
'año' => $record->vehicle->modelo,
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
private function sendToRepuveNacional(string $vin): array
|
||||
{
|
||||
// Enviar datos a API Repuve Nacional
|
||||
|
||||
@ -15,7 +15,7 @@ public function rules(): array
|
||||
return [
|
||||
'folio' => ['required', 'string', 'max:50'],
|
||||
'tag_number' => ['required', 'string', 'exists:tags,tag_number'],
|
||||
'vin' => ['required', 'string', 'max:30'],
|
||||
'vin' => ['sometimes', 'string', 'max:30'],
|
||||
'files' => ['nullable', 'array', 'min:1'],
|
||||
'files.*' => ['file', 'mimes:jpeg,png,jpg', 'max:10240'],
|
||||
'names' => ['nullable', 'array'],
|
||||
|
||||
@ -29,13 +29,14 @@
|
||||
// Rutas de inscripción de vehículos
|
||||
Route::post('inscripcion', [InscriptionController::class, 'vehicleInscription']);
|
||||
Route::get('consultaV', [InscriptionController::class, 'searchRecord']);
|
||||
Route::get('RecordErrors', [RecordController::class, 'errors']);
|
||||
Route::post('stolen', [InscriptionController::class, 'stolen']);
|
||||
|
||||
// Rutas de expedientes y documentos
|
||||
Route::get('expediente/{id}/pdf', [RecordController::class, 'generatePdf']);
|
||||
Route::get('expediente/{id}/pdfVerificacion', [RecordController::class, 'generatePdfVerification']);
|
||||
Route::get('expediente/{id}/pdfConstancia', [RecordController::class, 'generatePdfConstancia']);
|
||||
Route::get('expediente/{id}/pdfImagenes', [RecordController::class, 'generatePdfImages']);
|
||||
Route::get('RecordErrors', [RecordController::class, 'errors']);
|
||||
|
||||
//Rutas de Actualización
|
||||
Route::get('consulta', [UpdateController::class, 'vehicleData']);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user