package com.njcn.msgpush.module.push.service.channel;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.msgpush.module.push.controller.admin.channel.vo.ChannelProviderConfigReqVO;
import com.njcn.msgpush.module.push.dal.dataobject.channel.ChannelProviderConfigDO;

import java.util.List;

public interface ChannelProviderConfigService extends IService<ChannelProviderConfigDO> {

    Page<ChannelProviderConfigDO> getPage(ChannelProviderConfigReqVO reqVO);

    ChannelProviderConfigDO toggleEnableField(String id);

    ChannelProviderConfigDO getByTypeAndChannel(String providerType, String channel);

    void failureUpdate(String providerType, String channel);

    void successUpdate(String providerType, String channel);

    List<ChannelProviderConfigDO> getEnabledProviders(String channel);

    boolean deleteByIds(List<String> ids);
}
