package com.red.circle.other.inner.endpoint.dynamic.api;


import com.red.circle.framework.dto.PageResult;
import com.red.circle.framework.dto.ResultResponse;
import com.red.circle.other.inner.model.cmd.dynamic.DynamicBlacklistCmd;
import com.red.circle.other.inner.model.cmd.dynamic.DynamicBlacklistQryCmd;
import com.red.circle.other.inner.model.dto.dynamic.PageDynamicBlacklistDTO;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 动态-黑名单服务.
 *
 * @author lisizhe on 2023/10/5
 */
public interface DynamicBlacklistClientApi {

  String API_PREFIX = "/dynamic/blacklist";

  @GetMapping("/deleteByUserId")
  ResultResponse<Void> deleteByUserId(@RequestParam("userId") Long userId);

  @PostMapping("/add")
  ResultResponse<Void> add(@RequestBody DynamicBlacklistCmd cmd);

  @PostMapping("/pageDynamicBlacklist")
  ResultResponse<PageResult<PageDynamicBlacklistDTO>> pageDynamicBlacklist(
      @RequestBody DynamicBlacklistQryCmd cmd);
}
