stream-chat-react-native-core
Version:
The official React Native and Expo components for Stream Chat, a service for building chat applications
61 lines • 2.29 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.upsertDraft = void 0;
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _upsertMessages = require("./upsertMessages");
var _mapDraftMessageToStorable = require("../mappers/mapDraftMessageToStorable");
var _mapDraftToStorable = require("../mappers/mapDraftToStorable");
var _createDeleteQuery = require("../sqlite-utils/createDeleteQuery");
var _createUpsertQuery = require("../sqlite-utils/createUpsertQuery");
var _SqliteClient = require("../SqliteClient");
var upsertDraft = exports.upsertDraft = function () {
var _ref = (0, _asyncToGenerator2.default)(function* ({
execute = true,
draft
}) {
var queries = [];
var channel_cid = draft.channel_cid,
parent_id = draft.parent_id,
message = draft.message;
var deleteQuery = (0, _createDeleteQuery.createDeleteQuery)('draft', {
cid: channel_cid,
parentId: parent_id
});
queries.push(deleteQuery);
var storableDraftMessage = (0, _mapDraftMessageToStorable.mapDraftMessageToStorable)({
draftMessage: message
});
queries.push((0, _createUpsertQuery.createUpsertQuery)('draftMessage', storableDraftMessage));
var storableDraft = (0, _mapDraftToStorable.mapDraftToStorable)({
draft
});
queries.push((0, _createUpsertQuery.createUpsertQuery)('draft', storableDraft));
_SqliteClient.SqliteClient.logger?.('info', 'upsertDraft', {
draftMessage: storableDraftMessage
});
var messagesToUpsert = [];
if (draft.quoted_message) {
messagesToUpsert.push(draft.quoted_message);
}
if (draft.parent_message) {
messagesToUpsert.push(draft.parent_message);
}
if (messagesToUpsert.length > 0) {
var query = yield (0, _upsertMessages.upsertMessages)({
execute: false,
messages: messagesToUpsert
});
queries.concat(query);
}
if (execute) {
yield _SqliteClient.SqliteClient.executeSqlBatch(queries);
}
return queries;
});
return function upsertDraft(_x) {
return _ref.apply(this, arguments);
};
}();
//# sourceMappingURL=upsertDraft.js.map