package com.ycwl.basic.integration.scenic.client;

import com.ycwl.basic.integration.common.response.CommonResponse;
import com.ycwl.basic.integration.scenic.dto.config.DefaultConfigDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@FeignClient(name = "zt-scenic", contextId = "scenic-default-config", path = "/api/scenic/default-config")
public interface DefaultConfigClient {

    @GetMapping("/")
    CommonResponse<List<DefaultConfigDTO>> listDefaultConfigs();

    @GetMapping("/{configKey}")
    CommonResponse<DefaultConfigDTO> getDefaultConfig(@PathVariable("configKey") String configKey);

    @PostMapping("/")
    CommonResponse<DefaultConfigDTO> createDefaultConfig(@RequestBody DefaultConfigDTO request);

    @PutMapping("/{configKey}")
    CommonResponse<DefaultConfigDTO> updateDefaultConfig(@PathVariable("configKey") String configKey,
                                                        @RequestBody DefaultConfigDTO request);

    @DeleteMapping("/{configKey}")
    CommonResponse<Void> deleteDefaultConfig(@PathVariable("configKey") String configKey);
}