package com.zioinfo.cms.ugc; import com.zioinfo.cms.common.ApiResponse; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; /** * UGC API — 게시판/리뷰/댓글/문의 + 모더레이션 큐. * *
작성(POST /public)은 공개 delivery 경로가 아니므로 Author+ 권한 필요.
* 운영 화면용 큐/모더레이션은 Editor+ 권장(SecurityConfig POST/PUT 가드).
*/
@RestController
@RequestMapping("/api/cms/ugc")
@RequiredArgsConstructor
public class UgcController {
private final UgcService service;
@GetMapping
public ApiResponse> list(@RequestParam(required = false) String ugcType,
@RequestParam(required = false) String moderationStatus,
@RequestParam(required = false) Long targetContentId) {
return ApiResponse.ok(service.list(ugcType, moderationStatus, targetContentId));
}
/** 모더레이션 큐 (PENDING). */
@GetMapping("/queue")
public ApiResponse
> queue() {
return ApiResponse.ok(service.queue());
}
@GetMapping("/{id}")
public ApiResponse