package com.keao.edu.im.service;

import io.rong.models.Result;
import io.rong.models.chatroom.ChatroomMember;
import io.rong.models.chatroom.ChatroomModel;
import io.rong.models.response.*;

public interface ChatroomService {
    //聊天室
    Result chatroomCreate(ChatroomModel[] chatroomModels) throws Exception;

    Result chatroomDestory(ChatroomModel chatroomModel) throws Exception;

    Result chatroomGet(ChatroomModel chatroomModel) throws Exception;

    CheckChatRoomUserResult chatroomIsExit(ChatroomMember chatroomMember) throws Exception;


    //聊天室模块  封禁
    Result chatroomBlockAdd(ChatroomModel chatroomModel) throws Exception;

    Result chatroomBlockRemove(ChatroomModel chatroomModel) throws Exception;

    Result chatroomBlockGetList(String chatroomId) throws Exception;


    //聊天室模块，成员禁言
    ResponseResult chatroomMuteMembersAdd(ChatroomModel chatroomModel) throws Exception;

    ResponseResult chatroomMuteMembersRemove(ChatroomModel chatroomModel) throws Exception;

    ListGagChatroomUserResult chatroomMuteMembersGetList(ChatroomModel chatroomModel) throws Exception;


    //消息降级
    ChatroomDemotionMsgResult demotionGetList() throws Exception;

    ResponseResult demotionRemove(String[] objectNames) throws Exception;

    ResponseResult demotionAdd(String[] objectNames) throws Exception;


    //消息分发
    ResponseResult distributeStop(ChatroomModel chatroomModel) throws Exception;

    ResponseResult distributeResume(ChatroomModel chatroomModel) throws Exception;


    //保活
    ResponseResult keepAliveAdd(ChatroomModel chatroomModel) throws Exception;

    ResponseResult keepAliveRemove(ChatroomModel chatroomModel) throws Exception;

    ChatroomKeepaliveResult keepAliveGetList() throws Exception;


    //白名单
    ResponseResult whitelistUserAdd(ChatroomModel chatroomModel) throws Exception;

    ResponseResult whitelistUserRemove(ChatroomModel chatroomModel) throws Exception;

    Result whitelistUserGetList(ChatroomModel chatroomModel) throws Exception;

    ResponseResult whitelistMessageAdd(String[] objectNames) throws Exception;

    ResponseResult whitelistMessageRemove(String[] objectNames) throws Exception;

    ChatroomWhitelistMsgResult whitelistMessageGetList() throws Exception;


    //敏感词
    ResponseResult sensitiveAdd(String word) throws Exception;

    ResponseResult sensitiveRemove(String word) throws Exception;

    ListWordfilterResult sensitiveGetList() throws Exception;

}
