RespuestasController.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. // app/Http/Controllers/FormController.php
  3. namespace App\Http\Controllers;
  4. use App\Models\Form;
  5. use App\Models\FormResponse;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Http\JsonResponse;
  8. use Illuminate\Validation\ValidationException;
  9. use Illuminate\Support\Facades\DB;
  10. class RespuestasController extends Controller
  11. {
  12. public function recibirRespuesta(Request $request)
  13. {
  14. try {
  15. $validated = $request->validate([
  16. 'form_id' => 'required|integer|exists:forms,id',
  17. 'contenido_json' => 'required|json',
  18. ]);
  19. $usuarioLogueado = auth()->user()->idUsuario;
  20. $formId = DB::table('respuestas_formulario')->insertGetId([
  21. 'form_id' => $validated['form_id'],
  22. 'id_usuario' => $usuarioLogueado,
  23. 'contenido_json' => $validated['contenido_json'],
  24. 'created_at' => now()
  25. ]);
  26. return response()->json([
  27. 'success' => true,
  28. 'message' => 'Respuesta guardada correctamente',
  29. 'id' => $formId
  30. ]);
  31. } catch (\Exception $e) {
  32. return response()->json([
  33. 'success' => false,
  34. 'message' => 'Error interno del servidor',
  35. 'error' => $e->getMessage()
  36. ], 500);
  37. }
  38. }
  39. }