#!/bin/bash

# 1. Fonction pour User et DB : Minuscules et chiffres uniquement
generate_pg_identifier() {
    LC_ALL=C tr -dc 'a-z0-9' < /dev/urandom | head -c "$1"
}

# 2. Fonction pour Password : Alphanumérique strict (sans caractères spéciaux)
generate_pg_password() {
    LC_ALL=C tr -dc 'A-Za-z0-9' < /dev/urandom | head -c "$1"
}

# Génération (les préfixes "usr_" et "db_" garantissent que ça commence par une lettre)
POSTGRES_USER="usr_$(generate_pg_identifier 12)"
POSTGRES_DB="db_$(generate_pg_identifier 12)"
POSTGRES_PASSWORD=$(generate_pg_password 32)

clear
echo "=========================================================="
echo "   GÉNÉRATEUR POSTGRESQL (ZÉRO CONFLIT DOCKER / URI)    "
echo "=========================================================="
echo ""

# Format .env (Sans AUCUN guillemet, la méthode la plus sûre en alphanumérique)
echo "# --- COPIER/COLLER DANS VOTRE .env ---"
echo "POSTGRES_USER=${POSTGRES_USER}"
echo "POSTGRES_DB=${POSTGRES_DB}"
echo "POSTGRES_PASSWORD=${POSTGRES_PASSWORD}"
echo ""

# Format config.toml
echo "# --- COPIER/COLLER DANS VOTRE config.toml ---"
echo "[database]"
echo "user = \"${POSTGRES_USER}\""
echo "db_name = \"${POSTGRES_DB}\""
echo "password = \"${POSTGRES_PASSWORD}\""
echo "host = \"localhost\""
echo "port = 5432"
echo "=========================================================="