package com.kt.event.content.infra.config;

import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.servers.Server;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.List;

/**
 * Swagger/OpenAPI 설정
 */
@Configuration
public class SwaggerConfig {

    @Bean
    public OpenAPI openAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title("Content Service API")
                        .version("1.0.0")
                        .description("""
                                # KT AI 기반 소상공인 이벤트 자동 생성 서비스 - Content Service API

                                ## 주요 기능
                                - **SNS 이미지 생성**: AI 기반 이벤트 이미지 자동 생성
                                - **콘텐츠 편집**: 생성된 이미지 조회, 재생성, 삭제
                                - **3가지 스타일**: 심플(SIMPLE), 화려한(FANCY), 트렌디(TRENDY)
                                - **3개 플랫폼 최적화**: Instagram (1080x1080), Naver (800x600), Kakao (800x800)
                                """)
                        .contact(new Contact()
                                .name("Digital Garage Team")
                                .email("support@kt-event-marketing.com")
                        )
                )
                .servers(List.of(
                        new Server()
                                .url("http://localhost:8084")
                                .description("Local Development Server"),
                        new Server()
                                .url("https://dev-api.kt-event-marketing.com/content/v1")
                                .description("Development Server"),
                        new Server()
                                .url("https://api.kt-event-marketing.com/content/v1")
                                .description("Production Server")
                ));
    }
}
