package cn.axzo.msg.center.notices.manager.api;

import cn.axzo.msg.center.api.request.AddMnsChannelRequest;
import cn.axzo.msg.center.domain.entity.MNSMessageChannel;

/**
 * 消息渠道路由
 *
 * @author zhaoyong_sh
 * @see MessageChannelRouter
 * @since 2021-05-27 15:03
 */
public interface MessageChannelRouter {

  /**
   * 消息渠道路由
   * 注：该方法后续即将废弃
   *
   * @param condition  外部扩展参数，此处我们仅关注是否指定了渠道
   * @return 选取适合的路由
   */
  @Deprecated
  MNSMessageChannel route(String condition);

  /**
   * 消息渠道路由
   *
   * @param condition          外部扩展参数，此处我们仅关注是否指定了渠道
   * @param innerTemplateCode  内部模板编码
   * @return 选取适合的路由
   */
  MNSMessageChannel route(String condition, String innerTemplateCode);

  String addChannel(AddMnsChannelRequest request);
}
