package com.social.media.infrastructure.configuration;

import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * Configuration properties for external APIs
 */
@ConfigurationProperties(prefix = "app.external-apis")
public record ExternalApiProperties(
    int timeoutSeconds,
    int maxRetries,
    int connectionPoolSize,
    Instagram instagram,
    Facebook facebook,
    Twitter twitter,
    Linkedin linkedin
) {
    public record Instagram(
        int requestsPerHour,
        int requestsPerDay,
        int postsPerHour
    ) {}
    
    public record Facebook(
        int requestsPerHour,
        int requestsPerDay,
        int postsPerHour
    ) {}
    
    public record Twitter(
        int requestsPerHour,
        int requestsPerDay,
        int postsPerHour
    ) {}
    
    public record Linkedin(
        int requestsPerHour,
        int requestsPerDay,
        int postsPerHour
    ) {}
}
