mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-04-27 03:43:27 +01:00
Add Message descriptor functions
This commit is contained in:
@@ -1,11 +1,37 @@
|
||||
const Attachment = require('./attachment');
|
||||
|
||||
exports.GROUP = 'group';
|
||||
exports.PRIVATE = 'private';
|
||||
|
||||
const GROUP = 'group';
|
||||
const PRIVATE = 'private';
|
||||
|
||||
// Public API
|
||||
exports.GROUP = GROUP;
|
||||
exports.PRIVATE = PRIVATE;
|
||||
|
||||
// Schema
|
||||
// Message -> Promise Message
|
||||
exports.upgradeSchema = async message =>
|
||||
Object.assign({}, message, {
|
||||
attachments:
|
||||
await Promise.all(message.attachments.map(Attachment.upgradeSchema)),
|
||||
});
|
||||
|
||||
// Descriptors
|
||||
exports.getGroupDescriptor = group => ({
|
||||
type: GROUP,
|
||||
id: group.id,
|
||||
});
|
||||
|
||||
// Matches data from `libtextsecure` `MessageReceiver::handleSentMessage`:
|
||||
exports.getDescriptorForSent = ({ message, destination }) => (
|
||||
message.group
|
||||
? exports.getGroupDescriptor(message.group)
|
||||
: { type: PRIVATE, id: destination }
|
||||
);
|
||||
|
||||
// Matches data from `libtextsecure` `MessageReceiver::handleDataMessage`:
|
||||
exports.getDescriptorForReceived = ({ message, source }) => (
|
||||
message.group
|
||||
? exports.getGroupDescriptor(message.group)
|
||||
: { type: PRIVATE, id: source }
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user