validate([ 'project_id' => 'required|exists:projects,id', 'input' => 'required|string', 'output' => 'required|string', 'cost' => 'required|string', ]); $project = Project::find($request->project_id); // Validar que el usuario pueda crear la ejecución if (!$project) { // || (!$request->user()->is_admin && $project->user_id !== $request->user()->id)) { throw ValidationException::withMessages([ 'project_id' => ['No tienes permisos para crear una ejecución en este proyecto.'], ]); } $execution = Execution::create([ 'project_id' => $request->project_id, 'input' => $request->input, 'output' => $request->output, 'cost' => $request->cost, ]); return response()->json([ 'success' => true, 'execution' => $execution, ], 201); } public function tokens(Request $request) { $request->validate([ 'id' => 'required|exists:executions,id', 'tokens' => 'required|string', ]); $execution = Execution::find($request->id); // Validar que el usuario pueda crear la ejecución if (!$execution) { // || (!$request->user()->is_admin && $project->user_id !== $request->user()->id)) { throw ValidationException::withMessages([ 'project_id' => ['No tienes permisos para crear una ejecución en este proyecto.'], ]); } $execution->cost = $request->tokens; $execution->save(); return response()->json([ 'success' => true, 'execution' => $execution, ], 201); } }