post('/upload/image', function () { global $response; // Get the uploaded file $file = $_FILES['file'] ?? null; if (!$file) { $response->error('No file uploaded'); } // Validate the file type $fileType = mime_content_type($file['tmp_name']); if (!in_array($fileType, $this->allowedFileTypes)) { $response->error('Invalid file type'); } // Validate the file size (optional, e.g., max 5MB) if ($file['size'] > 5 * 1024 * 1024) { $response->error('File size exceeds the limit of 5MB'); } // Generate a unique object key for the file $objectKey = uniqid('image_', true) . '.' . pathinfo($file['name'], PATHINFO_EXTENSION); $uploads = new upload_store(); if(!$file = $uploads->uploadFile( $objectKey, $file )) { $response->error('Failed to upload file'); } $response->success($uploads->getPresignedUrl($objectKey)); }); $this->get('/openai/test', function () { global $response; // Validate the input parameters // Example image URL for testing $image = 'TRUCK_WASH_EXAMPLE_5.jpg'; // Return the response $openai = new openai(); $response->success($openai->lpr($image)); }); } }