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