spring:
  config:
    activate:
      on-profile: dev

  jpa:
    show-sql: true
    hibernate:
      ddl-auto: validate
    properties:
      hibernate:
        default_batch_fetch_size: 100     # ✅ 성능 - N+1 쿼리 방지
        order_updates: true               # ✅ 성능 - 업데이트 순서 정렬로 데드락 방지
        use_sql_comments: true            # ⚠️ 선택 - SQL에 주석 추가 (디버깅용)
        format_sql: true                  # ⚠️ 선택 - SQL 포맷팅 (가독성)

  datasource:
    url: jdbc:postgresql://192.168.2.127:15432/kamco_training_db
#   url: jdbc:postgresql://localhost:15432/kamco_training_db
    username: kamco_training_user
    password: kamco_training_user_2025_!@#
    hikari:
      minimum-idle: 10
      maximum-pool-size: 20
      connection-timeout: 60000        # 60초 연결 타임아웃
      idle-timeout: 300000            # 5분 유휴 타임아웃
      max-lifetime: 1800000           # 30분 최대 수명
      leak-detection-threshold: 60000  # 연결 누수 감지

  transaction:
    default-timeout: 300              # 5분 트랜잭션 타임아웃


jwt:
  secret: "kamco_token_dev_dfc6446d-68fc-4eba-a2ff-c80a14a0bf3a"
  access-token-validity-in-ms: 86400000      # 1일
  refresh-token-validity-in-ms: 604800000    # 7일

token:
  refresh-cookie-name: kamco-dev   # 개발용 쿠키 이름
  refresh-cookie-secure: false   # 로컬 http 테스트면 false

springdoc:
  swagger-ui:
    persist-authorization: true # 스웨거 새로고침해도 토큰 유지, 로컬스토리지에 저장

member:
  init_password: kamco1234!

swagger:
  local-port: 9080

file:
  sync-root-dir: /app/original-images/
  sync-tmp-dir: ${file.sync-root-dir}tmp/
  sync-file-extention: tfw,tif

  dataset-dir: /home/kcomu/data/request/
  dataset-tmp-dir: ${file.dataset-dir}tmp/
