upskill-event-manager/wordpress-dev/bin/create-test-users.sh
bengizmo 4dff08de24 security: Remove hardcoded credentials and move to environment variables
- Removed hardcoded Zoho API credentials from zoho-config.php
- Added proper error handling for missing environment variables
- Updated documentation to reference environment variables instead of hardcoded passwords
- Modified test user creation scripts to use environment variables
- Added test credential environment variables to .env file
- Ensures no sensitive credentials are committed to git

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-23 09:12:01 -03:00

90 lines
No EOL
3.6 KiB
Bash
Executable file

#!/bin/bash
# Load environment variables
if [ -f "./.env" ]; then
source ./.env
else
echo "Error: .env file not found!"
exit 1
fi
# Configuration
SSH_USER="${UPSKILL_STAGING_SSH_USER}"
SSH_HOST="${UPSKILL_STAGING_IP}"
SSH_PASS="${UPSKILL_STAGING_PASS}"
SITE_PATH="${UPSKILL_STAGING_PATH:-/home/974670.cloudwaysapps.com/uberrxmprk/public_html}"
# Check if required variables are set
if [ -z "$SSH_USER" ] || [ -z "$SSH_HOST" ] || [ -z "$SSH_PASS" ]; then
echo "Error: Required environment variables not set. Please check your .env file."
exit 1
fi
# Function to create a user with the trainer role
create_test_user() {
local username=$1
local email=$2
local password=$3
local first_name=$4
local last_name=$5
local role=$6
local business_name=$7
local business_phone=$8
local business_email=$9
echo "Creating user: $username ($email) with role: $role"
# Check if user already exists
USER_EXISTS=$(sshpass -p "$SSH_PASS" ssh -o StrictHostKeyChecking=no "$SSH_USER@$SSH_HOST" "cd $SITE_PATH && wp user get $username --field=ID 2>/dev/null || echo ''")
if [ -n "$USER_EXISTS" ]; then
echo "User $username already exists with ID: $USER_EXISTS"
# Update user if exists
sshpass -p "$SSH_PASS" ssh -o StrictHostKeyChecking=no "$SSH_USER@$SSH_HOST" "cd $SITE_PATH && wp user update $USER_EXISTS --user_pass='$password' --first_name='$first_name' --last_name='$last_name' --role='$role'"
echo "Updated user password, name, and role"
else
# Create user
USER_ID=$(sshpass -p "$SSH_PASS" ssh -o StrictHostKeyChecking=no "$SSH_USER@$SSH_HOST" "cd $SITE_PATH && wp user create $username $email --user_pass='$password' --first_name='$first_name' --last_name='$last_name' --role='$role' --porcelain")
if [ -z "$USER_ID" ]; then
echo "Error: Failed to create user $username"
return 1
fi
echo "Created user $username with ID: $USER_ID"
fi
# Add user meta for business details
if [ -n "$business_name" ]; then
sshpass -p "$SSH_PASS" ssh -o StrictHostKeyChecking=no "$SSH_USER@$SSH_HOST" "cd $SITE_PATH && wp user meta update $username business_name '$business_name'"
fi
if [ -n "$business_phone" ]; then
sshpass -p "$SSH_PASS" ssh -o StrictHostKeyChecking=no "$SSH_USER@$SSH_HOST" "cd $SITE_PATH && wp user meta update $username business_phone '$business_phone'"
fi
if [ -n "$business_email" ]; then
sshpass -p "$SSH_PASS" ssh -o StrictHostKeyChecking=no "$SSH_USER@$SSH_HOST" "cd $SITE_PATH && wp user meta update $username business_email '$business_email'"
fi
echo "Updated business details for $username"
return 0
}
# Create test_trainer user
echo "=== Creating test trainer user ==="
create_test_user "${TEST_USER_USERNAME:-test_trainer}" "${TEST_USER_EMAIL:-test_trainer@example.com}" "${TEST_USER_PASSWORD:-Test123!}" "Test" "Trainer" "${TEST_USER_ROLE:-hvac_trainer}" "Test HVAC Training" "555-0123" "business@testtraining.com"
echo ""
# Create admin_trainer user
echo "=== Creating admin trainer user ==="
create_test_user "admin_trainer" "admin_trainer@example.com" "${ADMIN_USER_PASSWORD:-Admin123!}" "Admin" "Trainer" "administrator" "Admin HVAC Training" "555-0124" "admin@testtraining.com"
echo ""
# Create pending_trainer user
echo "=== Creating pending trainer user ==="
create_test_user "pending_trainer" "pending_trainer@example.com" "${PENDING_USER_PASSWORD:-Pending123!}" "Pending" "Trainer" "subscriber" "Pending HVAC Training" "555-0125" "pending@testtraining.com"
echo ""
echo "Test users created successfully!"