#!/usr/bin/env bash
set -euo pipefail

# Skull Pi - Motion Service Wrapper
# Description: Démarre le service de contrôle des servos
# Author: DevOps Team

PROJECT_DIR="/opt/Skull"
LOG_FILE="${PROJECT_DIR}/logs/motion.log"
CONFIG_FILE="${PROJECT_DIR}/config/servos.json"

# Activation de l'environnement virtuel
source "${PROJECT_DIR}/venv/bin/activate"

# Chargement des variables d'environnement
if [ -f "${PROJECT_DIR}/config/.env" ]; then
    set -a
    source "${PROJECT_DIR}/config/.env"
    set +a
fi

# Configuration des logs
exec > >(tee -a "${LOG_FILE}")
exec 2>&1

echo "$(date '+%Y-%m-%d %H:%M:%S') - [MOTION] Démarrage du service motion"
echo "$(date '+%Y-%m-%d %H:%M:%S') - [MOTION] Configuration: ${CONFIG_FILE}"

# Vérification de la configuration
if [ ! -f "${CONFIG_FILE}" ]; then
    echo "$(date '+%Y-%m-%d %H:%M:%S') - [MOTION] ERREUR: Fichier de configuration manquant: ${CONFIG_FILE}"
    exit 1
fi

# Changement vers le répertoire du projet
cd "${PROJECT_DIR}/apps"

# Lancement du module motion avec la configuration
exec python -m motion.main --config "${CONFIG_FILE}"