package incheon.ags.pss.edit.web;

import java.util.List;

import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import incheon.ags.pss.edit.service.ViewpointService;
import incheon.ags.pss.edit.vo.ViewpointVO;
import incheon.com.cmm.api.DefaultApiResponse;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;

/**
 * 안건지도 조망점 관리 컨트롤러
 * @author hj
 */
@Controller
@RequiredArgsConstructor
@Slf4j
@RequestMapping("/pss/edit/feature")
public class FeatureController {

    private final ViewpointService featureService;

    @GetMapping("/list.do")
    public ResponseEntity<DefaultApiResponse> selectViewpointList(Long bizNo) throws Exception {
    	List<ViewpointVO> list = featureService.selectViewpointList(bizNo);
    	
        return ResponseEntity.ok(
                DefaultApiResponse.success(list, "조회되었습니다.")
            );
    }
    
    @PostMapping("/save.do")
    public ResponseEntity<DefaultApiResponse> insertViewpoint(ViewpointVO vo) throws Exception {
         featureService.insertViewpoint(vo);
         
         return ResponseEntity.ok(
                 DefaultApiResponse.success(vo.getPsvpNo(), "저장되었습니다.")
             );
    }

    @PostMapping("/update.do")
    public ResponseEntity<DefaultApiResponse> updateViewpoint(ViewpointVO vo) throws Exception {
    	featureService.updateViewpoint(vo);
    	
        return ResponseEntity.ok(
                DefaultApiResponse.success(vo, "수정되었습니다.")
            );
    }

    @PostMapping("/delete.do")
    public ResponseEntity<DefaultApiResponse> deleteViewpoint(Long psvpNo) throws Exception {
    	featureService.deleteViewpoint(psvpNo);
         
     	return ResponseEntity.ok(
    			DefaultApiResponse.success(null, "삭제되었습니다.")
		);
    }
}