package com.zioinfo.kintex.livenotice;

import com.zioinfo.kintex.common.ApiResponse;
import com.zioinfo.kintex.livenotice.dto.LiveNoticeDtos.LiveNoticeDto;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 행사 라이브 공지(F-B6) 공개 조회 API — 비인증({@code /api/public/**} permitAll).
 * <p>관람객·공개 사이트가 행사 진행 중 라이브 공지 피드를 조회한다. 게시(published) 건만·고정 우선·최신순.
 */
@RestController
@RequestMapping("/api/public/events/{eventId}/live-notices")
public class PublicLiveNoticeController {

    private final LiveNoticeService service;

    public PublicLiveNoticeController(LiveNoticeService service) {
        this.service = service;
    }

    /** GET /api/public/events/{eventId}/live-notices — 공개 라이브 공지 피드. */
    @GetMapping
    public ApiResponse<List<LiveNoticeDto>> feed(@PathVariable String eventId,
                                                 @RequestParam(required = false, defaultValue = "100") int limit) {
        return ApiResponse.ok(service.publicFeed(eventId, limit));
    }
}
