server.port=${PORT:8082}
server.address=0.0.0.0
# Sessions standardmäßig nicht über Neustarts persistieren; nur im dev-Profil aktiviert
# (siehe application-dev.properties)
server.servlet.session.persistent=false

# Default active profile
spring.profiles.active=dev

# Logging configuration
logging.level.org.atmosphere=warn
logging.level.com.vaadin.flow.server.communication.PushAtmosphereHandler=off
logging.level.de.assecutor.votianlt=INFO
logging.level.de.assecutor.votianlt.controller.MessageController=DEBUG
logging.level.de.assecutor.votianlt.config.MongoConfig=DEBUG

# File logging configuration
logging.file.name=logs/votianlt.log
logging.logback.rollingpolicy.max-file-size=10MB
logging.logback.rollingpolicy.max-history=30
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
logging.pattern.console=%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
spring.mustache.check-template-location=false

# Launch the default browser when starting the application in development mode
vaadin.launch-browser=true
# Disable Vaadin Copilot to avoid NullPointerException in dev mode
vaadin.copilot.enabled=false
# To improve the performance during development.
# For more information https://vaadin.com/docs/latest/flow/integrations/spring/configuration#special-configuration-parameters
vaadin.allowed-packages=com.vaadin,org.vaadin,de.assecutor.votianlt

# Open-in-view is only needed if you use lazy-loaded entities in your Flow views.
spring.jpa.open-in-view=false

# MongoDB - Default configuration (override in profile-specific files)
spring.data.mongodb.uri=${MONGODB_URI}
spring.data.mongodb.auto-index-creation=true
spring.data.mongodb.socket-timeout=30000
spring.data.mongodb.connect-timeout=10000
spring.data.mongodb.server-selection-timeout=5000

# Mail Configuration (Spring Boot Standard)
spring.mail.host=${MAIL_HOST}
spring.mail.port=${MAIL_PORT}
spring.mail.username=${MAIL_USERNAME}
spring.mail.password=${MAIL_PASSWORD}
spring.mail.properties.mail.smtp.auth=${MAIL_SMTP_AUTH}
spring.mail.properties.mail.smtp.ssl.enable=${MAIL_SMTP_SSL}

# HTTP request size limits for large payloads
server.max-http-request-header-size=8MB
# Tomcat connector limits
server.tomcat.max-http-form-post-size=64MB
server.tomcat.max-save-post-size=64MB
server.tomcat.max-swallow-size=64MB
# Multipart upload limits for photo HTTP uploads
spring.servlet.multipart.max-file-size=32MB
spring.servlet.multipart.max-request-size=64MB
# Jackson message converter limits
spring.jackson.default-property-inclusion=non_null

# 2FA Configuration (global toggle - individual users can disable in their profile)
app.security.two-factor.enabled=true

# WebSocket Configuration
app.messaging.websocket.path=/ws/messaging
app.messaging.websocket.max-text-message-size=10485760
app.messaging.websocket.max-session-idle-timeout=300000
app.messaging.websocket.allowed-origins=*

# Application Version - automatically set from pom.xml during build
app.version=@project.version@

# Google Maps API Key
app.google.maps.api-key=AIzaSyDnbitL06iLp3elmj-WtPudCykX9xvXcVE

# PDF Tool (ZUGFeRD-E-Rechnungs-Konverter), Basis-URL des externen Service
app.pdftool.base-url=${PDFTOOL_BASE_URL:http://localhost:8083}

# ===========================================
# LLM Configuration (Anthropic Claude)
# ===========================================
# API-Key kann per Umgebungsvariable ANTHROPIC_API_KEY ueberschrieben werden
app.ai.anthropic.api-key=${ANTHROPIC_API_KEY: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}
app.ai.anthropic.model=${ANTHROPIC_MODEL:claude-opus-4-8}

# ===========================================
# MCP Server Configuration
# ===========================================
spring.ai.mcp.server.enabled=true
spring.ai.mcp.server.name=votianlt-mcp-server
spring.ai.mcp.server.version=1.0.0
spring.ai.mcp.server.sse-message-endpoint=/mcp/message