@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
103 lines (98 loc) • 4.29 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib = require('tslib');
var invariant = require('../../node_modules/.pnpm/invariant@2.2.4/node_modules/invariant/invariant.js');
require('redux');
var i18n = require('i18next');
require('../../types/models.js');
require('../../types/events.js');
require('../rootReducer.js');
require('../accounts/actions.js');
require('../accounts/selectors.js');
var actions = require('./actions.js');
require('../../node_modules/.pnpm/lodash.flatten@4.4.0/node_modules/lodash.flatten/index.js');
require('../../node_modules/.pnpm/lodash.some@4.6.0/node_modules/lodash.some/index.js');
require('../messages/actions.js');
require('../contacts/actions.js');
/**
* 查询账号的会话列表
*
* @param accountId
* @param loadMore 是否查询更多,false 代表重新开始查询,true 代表基于之前的游标继续查询
* @param limit
* @returns
*/
var fetchConversationsByAccount = function (accountId, loadMore, limit) {
if (loadMore === void 0) { loadMore = false; }
if (limit === void 0) { limit = 50; }
return function (dispatch, getState, context) { return tslib.__awaiter(void 0, void 0, void 0, function () {
var client, onError, state, account, cursor, request, response, e_1;
var _a;
return tslib.__generator(this, function (_b) {
switch (_b.label) {
case 0:
client = getState().common.client;
onError = context.onError;
invariant(client, "requires client");
state = getState();
account = state.accounts.accounts.find(function (it) { return it.id === accountId; });
cursor = (_a = state.conversations[accountId]) === null || _a === void 0 ? void 0 : _a.cursor;
request = {
account_id: accountId,
direction: "after",
cursor: (loadMore && cursor) ? cursor.end_cursor : "",
limit: limit,
};
_b.label = 1;
case 1:
_b.trys.push([1, 3, , 4]);
dispatch({
type: actions.ConversationListActionType.FETCHING_CONVERSATION_LIST,
payload: request,
});
return [4 /*yield*/, client.getConversationList(request)];
case 2:
response = _b.sent();
dispatch({
type: actions.ConversationListActionType.CONVERSATION_LIST_FETCHED,
payload: { request: request, response: response },
});
return [3 /*break*/, 4];
case 3:
e_1 = _b.sent();
console.error("fetch conversations by account error", e_1);
dispatch({
type: actions.ConversationListActionType.ERROR_FETCHING_CONVERSATION_LIST,
payload: { request: request, error: e_1 },
});
onError && onError(e_1, i18n.t([
"".concat(account === null || account === void 0 ? void 0 : account.provider, ":chat:conversations:fetchListError"),
"default:chat:conversations:fetchListError"
]));
return [3 /*break*/, 4];
case 4: return [2 /*return*/];
}
});
}); };
};
/**
* 更新会话, 没有就插入
* @param accountId
* @param loadMore
* @param limit
* @returns
*/
var updateConversation = function (conversation) {
return function (dispatch, getState, context) { return tslib.__awaiter(void 0, void 0, void 0, function () {
return tslib.__generator(this, function (_a) {
dispatch({
type: actions.ConversationListActionType.CONVERSATION_UPDATE,
payload: conversation,
});
return [2 /*return*/];
});
}); };
};
exports.fetchConversationsByAccount = fetchConversationsByAccount;
exports.updateConversation = updateConversation;
//# sourceMappingURL=commands.js.map