ns2-front-module-common
Version:
NS2 common module
133 lines • 5.83 kB
JavaScript
import { Injectable } from '@angular/core';
import { URLSearchParams } from '@angular/http';
import { HttpService } from './http.service';
var ChatsService = (function () {
function ChatsService(httpService) {
this.httpService = httpService;
}
/**
* Получение всех чатов для текущего пользователя
* @param {string} lastChatGuid Идентфиикатор последнего чата
* @param {string} stopChatGuid Идентификатор чата, до которого получить информацию
* @param {any} query Дополнительные параметры
* @returns {Promise<ResponseListModel<ChatInfoModel>>}
*/
ChatsService.prototype.getAllChats = function (lastChatGuid, stopChatGuid, query) {
var _this = this;
return new Promise(function (resolve, reject) {
var url = _this.messagesEndPoint + "chats/get-all-chats";
if (lastChatGuid) {
url += "/" + lastChatGuid;
if (stopChatGuid) {
url += "/" + stopChatGuid;
}
}
var params = new URLSearchParams();
if (query) {
var keys = Object.keys(query);
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
params.set(key, query[key]);
}
}
_this.httpService.get(url, { params: params })
.map(function (response) { return response.json(); })
.map(function (response) { return response.data; })
.subscribe(resolve, reject);
});
};
/**
* Получение всех чатов для пересылки сообщений
* @param {string} lastChatGuid Идентификатор последнего чата
* @param {string} stopChatGuid Идентификатор чата, до которого получить информацию
* @param {any} query Дополнительные параметры
* @returns {Promise<ResponseListModel<ChatInfoModel>>}
*/
ChatsService.prototype.getForwardedChats = function (lastChatGuid, stopChatGuid, query) {
var _this = this;
return new Promise(function (resolve, reject) {
var url = _this.messagesEndPoint + "chats/get-forwarded-chats";
if (lastChatGuid) {
url += "/" + lastChatGuid;
if (stopChatGuid) {
url += "/" + stopChatGuid;
}
}
var params = new URLSearchParams();
if (query) {
var keys = Object.keys(query);
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
params.set(key, query[key]);
}
}
_this.httpService.get(url, { params: params })
.map(function (response) { return response.json(); })
.map(function (response) { return response.data; })
.subscribe(resolve, reject);
});
};
/**
* Поиск по всем чатам текущего пользователя
* @param {string} queryText Поисковой запрос
* @param {any} query Дополнительные параметры запроса
* @returns {Promise<ChatInfoModel[]>}
*/
ChatsService.prototype.searchAllChats = function (queryText, query) {
var _this = this;
return new Promise(function (resolve, reject) {
var url = _this.messagesEndPoint + "chats/search?q=" + queryText;
var params = new URLSearchParams();
if (query) {
var keys = Object.keys(query);
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
params.set(key, query[key]);
}
}
return _this.httpService.get(url, { params: params })
.map(function (response) { return response.json(); })
.map(function (response) { return response.data; })
.subscribe(resolve, reject);
});
};
/**
* Поиск по всем чатам текущего пользователя
* @param {string} queryText Поисковой запрос
* @param {any} query Дополнительные параметры запроса
* @returns {Promise<ChatInfoModel[]>}
*/
ChatsService.prototype.searchForwardedChats = function (queryText, query) {
var _this = this;
return new Promise(function (resolve, reject) {
var url = _this.messagesEndPoint + "chats/forwarded-search?q=" + queryText;
var params = new URLSearchParams();
if (query) {
Object.keys(query).forEach(function (key) {
params.set(key, query[key]);
});
}
return _this.httpService.get(url, { params: params })
.map(function (response) { return response.json(); })
.map(function (response) { return response.data; })
.subscribe(resolve, reject);
});
};
/**
* Установка точки входа в микросервис сообщений
* @param {string} endPoint
*/
ChatsService.prototype.setMessagesEndPoint = function (endPoint) {
this.messagesEndPoint = endPoint;
};
return ChatsService;
}());
export { ChatsService };
ChatsService.decorators = [
{ type: Injectable },
];
/** @nocollapse */
ChatsService.ctorParameters = function () { return [
{ type: HttpService, },
]; };
//# sourceMappingURL=chats.service.js.map