# ============================================================================
# UnionFlow Server — Profil DEV
# Chargé automatiquement quand le profil "dev" est actif (quarkus:dev)
# Surcharge application.properties — sans préfixes %dev.
# ============================================================================

# Base de données PostgreSQL locale
quarkus.datasource.username=skyfile
quarkus.datasource.password=${DB_PASSWORD_DEV:skyfile}
quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/unionflow
quarkus.datasource.jdbc.min-size=2
quarkus.datasource.jdbc.max-size=10

# Hibernate — Mode update pour créer automatiquement les colonnes manquantes
quarkus.hibernate-orm.database.generation=update
quarkus.hibernate-orm.log.sql=true

# Flyway — activé avec réparation auto des checksums modifiés
quarkus.flyway.migrate-at-start=true
quarkus.flyway.repair-at-start=true

# CORS — permissif en dev (autorise tous les ports localhost pour Flutter Web)
quarkus.http.cors.origins=*

# Keycloak / OIDC local
quarkus.oidc.tenant-enabled=true
quarkus.oidc.auth-server-url=http://localhost:8180/realms/unionflow
quarkus.oidc.client-id=unionflow-server
# Audience mapper configuré sur unionflow-client et unionflow-mobile dans Keycloak
# → les tokens contiennent désormais "unionflow-server" dans le claim aud
quarkus.oidc.token.audience=unionflow-server
quarkus.oidc.credentials.secret=unionflow-secret-2025
quarkus.oidc.tls.verification=none

# OpenAPI — serveur dev
quarkus.smallrye-openapi.servers=http://localhost:8085
quarkus.smallrye-openapi.oidc-open-id-connect-url=http://localhost:8180/realms/unionflow/.well-known/openid-configuration

# Swagger UI — activé en dev
quarkus.swagger-ui.always-include=true

# Logging — verbeux en dev
quarkus.log.category."dev.lions.unionflow".level=DEBUG
quarkus.log.category."dev.lions.unionflow.server.service.RoleDebugFilter".level=INFO
quarkus.log.category."org.hibernate.SQL".level=DEBUG
quarkus.log.category."io.quarkus.oidc".level=INFO
quarkus.log.category."io.quarkus.security".level=INFO

# Wave — mock pour dev (pas de clé API requise)
wave.mock.enabled=true
wave.redirect.base.url=http://localhost:8085

# OIDC client "admin-service" — service account pour appels admin vers lions-user-manager
quarkus.oidc-client.admin-service.auth-server-url=http://localhost:8180/realms/unionflow
quarkus.oidc-client.admin-service.client-id=unionflow-server
quarkus.oidc-client.admin-service.credentials.secret=unionflow-secret-2025
quarkus.oidc-client.admin-service.grant.type=client
quarkus.oidc-client.admin-service.tls.verification=none
quarkus.oidc-client.admin-service.early-tokens-acquisition=true
