package com.red.circle.other.app.inner.service.team;


import com.red.circle.other.inner.model.cmd.team.TeamPolicyManagerCmd;
import com.red.circle.other.inner.model.dto.agency.agency.TeamPolicyManagerDTO;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * 团队策略.
 *
 * @author lisizhe on 2023/5/26
 */
public interface TeamPolicyManagerClientService {

  TeamPolicyManagerDTO getReleaseByRegionAndType(String sysOrigin, String region);

  TeamPolicyManagerDTO getReleaseByRegionAndTypePolicyType(String sysOrigin, String region, String policyType);

  Map<String, TeamPolicyManagerDTO> mapRegionRelease(Set<String> regions);

  List<TeamPolicyManagerDTO> listSysOriginRegion(String sysOrigin, String region);

  List<TeamPolicyManagerDTO> listTeamPolicy(String sysOrigin, String region);

  List<TeamPolicyManagerDTO> listTeamPolicyAndTypePolicy(String sysOrigin, String region, String policyType);

  void add(TeamPolicyManagerCmd cmd);

  void deleteById(Long id);
}
