stream-chat-react-native-core
Version:
The official React Native and Expo components for Stream Chat, a service for building chat applications
45 lines • 1.65 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.upsertReads = void 0;
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _mapReadToStorable = require("../mappers/mapReadToStorable");
var _mapUserToStorable = require("../mappers/mapUserToStorable");
var _createUpsertQuery = require("../sqlite-utils/createUpsertQuery");
var _SqliteClient = require("../SqliteClient");
var upsertReads = exports.upsertReads = function () {
var _ref = (0, _asyncToGenerator2.default)(function* ({
cid,
execute = true,
reads
}) {
var queries = [];
var storableReads = [];
var storableUsers = [];
reads?.forEach(read => {
if (read.user) {
storableUsers.push((0, _mapUserToStorable.mapUserToStorable)(read.user));
}
storableReads.push((0, _mapReadToStorable.mapReadToStorable)({
cid,
read
}));
});
queries.push(...storableUsers.map(storableUser => (0, _createUpsertQuery.createUpsertQuery)('users', storableUser)));
queries.push(...storableReads.map(storableRead => (0, _createUpsertQuery.createUpsertQuery)('reads', storableRead)));
_SqliteClient.SqliteClient.logger?.('info', 'upsertReads', {
execute,
reads: storableReads,
users: storableUsers
});
if (execute) {
yield _SqliteClient.SqliteClient.executeSqlBatch(queries);
}
return queries;
});
return function upsertReads(_x) {
return _ref.apply(this, arguments);
};
}();
//# sourceMappingURL=upsertReads.js.map