UNPKG

ns2-front-module-common

Version:
140 lines (139 loc) 7.67 kB
import { HttpService } from "./http.service"; import { ChatsServiceInterface } from "../intefraces/chats-service.interface"; import { ChatCreateInfoModel } from "../models/chat-create-info.model"; import { ResponseListModel } from "../models/response-list.model"; import { MessageSearchResultModel } from "../models/message-search-result.model"; import { ChatMessageModel } from "../models/chat-message.model"; import { ChatInfoModel } from "../models/chat-info.model"; import { MemberInfoModel } from "../models/member-info.model"; import { Observable } from "rxjs/Observable"; export declare class GroupsService implements ChatsServiceInterface { private httpService; /** * Base URL (точка входа) в микросервис сообщений */ private messagesEndPoint; constructor(httpService: HttpService); /** * Создание чата (канала\группы) * @param {ChatCreateInfoModel} chatData Информация для создания чата * @returns {Promise<ChatInfoModel>} */ create(chatData: ChatCreateInfoModel): Promise<ChatInfoModel>; /** * Получение списка чатов пользователя (каналов\групп) * @param {boolean} onlyMy Показывать только мои чаты * @param {string} lastChatGuid Идентфиикатор последнего чата * @param {string} stopChatGuid Идентификатор чата, до которого получить информацию * @param {any} query Дополнительные параметры * @returns {Promise<ResponseListModel<ChatInfoModel>>} */ getList(onlyMy: boolean, lastChatGuid?: string, stopChatGuid?: string, query?: any): Promise<ResponseListModel<ChatInfoModel>>; /** * Просмотр информации о чате (канала группы) * @param {string} chatGuid Идентфикатор чата (канала\группы) * @returns {Promise<ChatInfoModel>} */ getInfo(chatGuid: string): Promise<ChatInfoModel>; /** * Обновление информации о чате (канале\группе) * @param {string} chatGuid Идентификатор чата (канала\группы) * @param {ChatCreateInfoModel} params Параметры для обновления чата (канала\группы) * @returns {Promise<ChatInfoModel>} */ update(chatGuid: string, params: ChatCreateInfoModel): Promise<ChatInfoModel>; /** * Удаление чата (канала\группы) * @param {string} chatGuid Идентификатор чата (канала\группы) * @returns {Promise<boolean>} */ remove(chatGuid: string): Promise<boolean>; /** * Присоединиться к публичному чату (канала\группы) * @param {string} chatGuid Идентификатор чата (канала\группы) * @returns {Promise<boolean>} */ join(chatGuid: string): Promise<boolean>; /** * Выход из чата (канала\группы) * @param {string} chatGuid Идентификатор чата (канала\группы) * @returns {Promise<boolean>} */ leave(chatGuid: string): Promise<boolean>; /** * Принять приглашение на вступление в чат * @param {string} inviteGuid Идентификатор приглашения */ accept(inviteGuid: string): Promise<boolean>; /** * Отклонить приглашение на вступление в чат * @param {string} inviteGuid Идентификатор приглашения */ refuse(inviteGuid: string): Promise<boolean>; /** * Приглашение пользователя в группу * @param {string} groupGuid Идентификатор группы * @param {string} userGuid Идентификатор пользователя * @returns {Promise<MemberInfoModel>} */ invite(groupGuid: string, userGuid: string): Promise<MemberInfoModel>; /** * Поиск сообщений в чате * @param {string} chatGuid Идентификтаор чата * @param {string} query Строка поиска * @param {string} messageGuid Идентификатор сообщения до которого необходимо искать * @returns {Observable<MessageSearchResultModel>} */ searchMessages(chatGuid: string, query: string, messageGuid?: string | undefined): Observable<MessageSearchResultModel>; /** * Поиск по чатам * @param {string} queryText Текст для поиска * @param {any} query Дополнительные параметры запроса */ search(queryText: string, query?: any): Promise<ResponseListModel<ChatInfoModel>>; /** * Получение истории сообщений * @param {string} chatGuid Идентификатор чата (канала\группы) * @param {string} messageGuid Идентификатор сообщения, от которого получать историю * @param {string} startMessageGuid Идентификатор сообщения, до которого получать историю * @param {number} numBefore Количество сообщений которые надо добавить до начального сообщения * @param {any} query Дополнительные параметры * @returns {Promise<ResponseListModel<ChatMessageModel>>} */ getHistory(chatGuid: string, messageGuid?: string, startMessageGuid?: string, numBefore?: number, query?: any): Promise<ResponseListModel<ChatMessageModel>>; /** * Получаем список участников группы * * @param {string} groupGuid Индификатор группы * @param query Дополнительные параметры */ getMembers(groupGuid: string, query?: any): Promise<ResponseListModel<MemberInfoModel>>; /** * Поиск по участникам групп * * @param groupGuid Индификатор группы в по списку участников которой производим поиск * @param queryText Текст по которому ищем * @param query Значение по которому производим поиск участников */ searchMembers(groupGuid: string, queryText: string, query?: any): Promise<ResponseListModel<string>>; /** * Удаление участника группы * * @param {string} groupGuid * @param {string} userGuid * @returns {Promise<boolean>} */ removeMember(groupGuid: string, userGuid: string): Promise<boolean>; /** * Получение информации о статусе приглашения для пользователей группы * @param {string} groupGuid Идентификатор группы * @param {string[]} userGuids Массив идентификаторов пользователей группы * @return {Promise<MemberInfoModel[]>} */ getMembersInfo(groupGuid: string, userGuids: string[]): Promise<MemberInfoModel[]>; /** * Установка URL для сервиса сообщений * @param messagesEndPoint */ setMessagesEndPoint(messagesEndPoint: string): void; }