connect_error) { die("❌ Database connection failed: " . $conn->connect_error . "\n"); } echo "✅ Connected to database\n\n"; // Initialize models $userModel = new UserModel($conn); $apiKeyModel = new ApiKeyModel($conn); // Get system user (should exist from migration) echo "Checking for system user...\n"; $systemUser = $userModel->getSystemUser(); if (!$systemUser) { die("❌ Error: System user not found. Please run migrations first.\n"); } echo "✅ System user found: ID " . $systemUser['user_id'] . " (" . $systemUser['username'] . ")\n\n"; // Check if API key already exists $existingKeys = $apiKeyModel->getKeysByUser($systemUser['user_id']); if (!empty($existingKeys)) { echo "⚠️ Warning: API keys already exist for system user:\n\n"; foreach ($existingKeys as $key) { echo " - " . $key['key_name'] . " (Prefix: " . $key['key_prefix'] . ")\n"; echo " Created: " . $key['created_at'] . "\n"; echo " Active: " . ($key['is_active'] ? 'Yes' : 'No') . "\n\n"; } echo "Do you want to generate a new API key? (yes/no): "; $handle = fopen("php://stdin", "r"); $response = trim(fgets($handle)); fclose($handle); if (strtolower($response) !== 'yes') { echo "\nAborted.\n"; exit(0); } echo "\n"; } // Generate API key echo "Generating API key for hwmonDaemon...\n"; $result = $apiKeyModel->createKey( 'hwmonDaemon', $systemUser['user_id'], null // No expiration ); if ($result['success']) { echo "\n"; echo "==============================================\n"; echo " ✅ API Key Generated Successfully!\n"; echo "==============================================\n\n"; echo "API Key: " . $result['api_key'] . "\n"; echo "Key Prefix: " . $result['key_prefix'] . "\n"; echo "Key ID: " . $result['key_id'] . "\n"; echo "Expires: Never\n\n"; echo "⚠️ IMPORTANT: Save this API key now!\n"; echo " It cannot be retrieved later.\n\n"; echo "==============================================\n"; echo " Add to hwmonDaemon .env file:\n"; echo "==============================================\n\n"; echo "TICKET_API_KEY=" . $result['api_key'] . "\n\n"; echo "Then restart hwmonDaemon:\n"; echo " sudo systemctl restart hwmonDaemon\n\n"; } else { echo "❌ Error generating API key: " . $result['error'] . "\n"; exit(1); } $conn->close(); echo "Done! Delete this script after use:\n"; echo " rm " . __FILE__ . "\n\n"; ?>