package org.nstart.dep265.requestservice.config

import org.springframework.boot.context.properties.ConfigurationProperties

@ConfigurationProperties(prefix = "pcp.outbox")
data class OutboxProperties(
    /** Топик терминальных статусов заявки (COMPLETED/EXPIRED) для geoportal. */
    val requestStatusTopic: String = "pcp.request.status.v1",
    val publishBatchSize: Int = 50,
    val publishFixedDelayMs: Long = 5_000,
    /** Сколько раз пытаемся опубликовать событие до перевода в терминальный FAILED. */
    val maxAttempts: Int = 10,
    /** Backoff после первой неудачной публикации. */
    val initialBackoffMs: Long = 1_000,
    /** Верхняя граница backoff между попытками. */
    val maxBackoffMs: Long = 60_000,
)
