Add: tokens api endpoint

This commit is contained in:
Joaquín de Santiago 2025-09-12 03:03:56 +02:00
parent b698f0e9eb
commit 1f7d40c061
2 changed files with 26 additions and 1 deletions

View File

@ -17,7 +17,6 @@ class ExecutionController extends Controller
'project_id' => 'required|exists:projects,id', 'project_id' => 'required|exists:projects,id',
'input' => 'required|string', 'input' => 'required|string',
'output' => 'required|string', 'output' => 'required|string',
'cost' => 'required|string',
]); ]);
$project = Project::find($request->project_id); $project = Project::find($request->project_id);
@ -41,4 +40,29 @@ class ExecutionController extends Controller
'execution' => $execution, 'execution' => $execution,
], 201); ], 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);
}
} }

View File

@ -20,3 +20,4 @@ Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
}); });
Route::post('/executions', [ExecutionController::class, 'store']); Route::post('/executions', [ExecutionController::class, 'store']);
Route::post('/execution/tokens', [ExecutionController::class, 'tokens']);