#!/bin/bash
# modules/constants.sh - Configuration constants and globals

# File paths
export DEPLOY_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
export ENV_FILE="$DEPLOY_DIR/.env"
export HASH_FILE="$DEPLOY_DIR/.env.hash"

# Required environment variables
export REQUIRED_VARS=("STACK_NAME" "TEMPLATE_FILE" "BUCKET_NAME" "SECRET_NAME" "AWS_REGION")

# Deployment configuration defaults
export DEFAULT_REGION="us-east-1"
export DEFAULT_LAMBDA_DIR="./lambda"
export LAMBDA_SIZE_LIMIT_MB=250
export STACK_OPERATION_TIMEOUT=1800  # 30 minutes
export FSWATCH_TIMEOUT=30

# ANSI color codes for output
export COLOR_RED='\033[0;31m'
export COLOR_GREEN='\033[0;32m'
export COLOR_YELLOW='\033[1;33m'
export COLOR_BLUE='\033[0;34m'
export COLOR_NC='\033[0m' # No Color

# Status indicator constants for consistent output
export STATUS_ERROR="[ERROR]"
export STATUS_SUCCESS="[SUCCESS]"
export STATUS_WARNING="[WARNING]"
export STATUS_INFO="[INFO]"
export STATUS_DEPLOY="[DEPLOY]"
export STATUS_PACKAGE="[PACKAGE]"
export STATUS_SCAN="[SCAN]"
export STATUS_CONFIG="[CONFIG]"
export STATUS_STOP="[STOP]"
export STATUS_SKIP="[SKIP]"
export STATUS_RELOAD="[RELOAD]"
export STATUS_UPLOAD="[UPLOAD]"
export STATUS_TIMER="[TIMER]"
export STATUS_COMPLETE="[COMPLETE]"
export STATUS_DATA="[DATA]"
export STATUS_SUMMARY="[SUMMARY]"
export STATUS_CREATE="[CREATE]"
export STATUS_TAG="[TAG]"
export STATUS_WATCH="[WATCH]"
export STATUS_ANALYZE="[ANALYZE]"
export STATUS_TARGET="[TARGET]"
export STATUS_BUCKET="[BUCKET]"
export STATUS_SAVE="[SAVE]"