# TankStopp Development Configuration
# This file contains development-specific settings

# Server Configuration
server:
  host: "localhost"
  port: 8082
  read_timeout: 30s
  write_timeout: 30s
  idle_timeout: 120s
  shutdown_timeout: 5s

# Database Configuration
database:
  # Development database file
  path: "fuel_stops_dev.db"

  # Connection Pool Settings (smaller for development)
  connection_pool:
    max_idle_connections: 5
    max_open_connections: 25
    connection_max_lifetime: "30m"
    connection_max_idle_time: "15m"

  # Logging Settings (verbose for development)
  logging:
    # More verbose logging for development
    level: "info"
    # Lower threshold to catch slow queries
    slow_query_threshold: "100ms"
    # Enable debug mode
    debug: true

  # Migration Settings
  migration:
    # Auto-migrate on startup for convenience
    auto_migrate: true
    # Never drop tables in development
    drop_tables_first: false
    # Smaller batch size for development
    create_batch_size: 100

  # Performance Settings
  performance:
    # Enable prepared statements
    prepare_statements: true
    # Don't disable foreign key checks
    disable_foreign_key_check: false
    # Don't ignore relationships
    ignore_relationships_when_migrating: false
    # Enable field querying
    query_fields: true
    # Never enable dry run in development
    dry_run: false
    # Smaller batch size
    create_in_batches: 50

# Application Settings
app:
  name: "TankStopp (Development)"
  version: "1.0.0-dev"
  environment: "development"
  # Enable debug mode for development
  debug: true

# Security Settings (relaxed for development)
security:
  session:
    # Shorter timeout for development testing
    timeout: "8h"
    cookie_name: "tankstopp_dev_session"
    # Don't require HTTPS for development
    secure_cookies: false
    # Keep HTTP only for security
    http_only: true

  # Relaxed password requirements for development
  password:
    min_length: 6
    require_uppercase: false
    require_lowercase: true
    require_numbers: false
    require_special_chars: false

# Logging Configuration (verbose for development)
logging:
  # Debug level for development
  level: "debug"
  # Human-readable format
  format: "text"
  # Output to console
  output: "stdout"
  # File path if needed
  file_path: "logs/tankstopp_dev.log"
  # No rotation needed for development
  rotation:
    enabled: false
    max_size: "10MB"
    max_age: "7d"
    max_backups: 3

# External Services (with timeouts suitable for development)
external_services:
  overpass_api:
    url: "https://overpass-api.de/api/interpreter"
    # Longer timeout for debugging
    timeout: "45s"
    max_retries: 2
    # Smaller search radius for faster testing
    search_radius: 3000

# Development-specific settings
development:
  # Enable hot reload if supported
  hot_reload: true
  # Enable request logging for debugging
  request_logging: true
  # Disable profiling by default
  profiling: false
  # Static file serving with short cache
  static_files:
    directory: "./static"
    cache_duration: "1m"

# Feature Flags (all enabled for development testing)
features:
  fuel_station_search: true
  vehicle_management: true
  statistics_dashboard: true
  data_export: true
  api_endpoints: true

# Default User Settings
defaults:
  currency: "EUR"
  fuel_type: "Super E5"
  distance_unit: "km"
  volume_unit: "liters"

# Development-specific overrides
dev_overrides:
  # Enable CORS for frontend development
  enable_cors: true
  # Allow insecure connections
  allow_insecure: true
  # Enable detailed error messages
  detailed_errors: true
  # Enable request/response logging
  log_requests: true
  # Enable SQL query logging
  log_sql_queries: true
