ailixir-api / app /Http /Controllers /Api /AdmetController.php
AILIXIR Bot
Auto-sync: 201d269f287526269b8ffded5f450ff36b46c740
907b200
Raw
History Blame Contribute Delete
1.22 kB
<?php
namespace App\Http\Controllers\Api;
use Illuminate\Http\Request;
use App\Services\AdmetService;
class AdmetController extends BaseController
{
public function predict(Request $request, AdmetService $admetService)
{
try {
if ($request->hasFile('file')) {
$file = $request->file('file');
$extension = $file->getClientOriginalExtension();
$content = file_get_contents($file->getRealPath());
$result = $admetService->predictFromFile($content, $extension);
return $this->successResponse('ADMET predictions generated successfully', $result);
} elseif ($request->has('smiles') && !empty($request->input('smiles'))) {
$result = $admetService->predictBatchFromString($request->input('smiles'));
return $this->successResponse('ADMET predictions generated successfully', $result);
} else {
return $this->errorResponse('Please provide either a file or SMILES string', 400);
}
} catch (\Exception $e) {
return $this->errorResponse('Failed to generate ADMET predictions: ' . $e->getMessage(), 500);
}
}
}