diff --git a/api/controllers/chatTribes.ts b/api/controllers/chatTribes.ts new file mode 100644 index 0000000..223c90f --- /dev/null +++ b/api/controllers/chatTribes.ts @@ -0,0 +1,210 @@ +import { models } from '../models' +import * as jsonUtils from '../utils/json' +import { success, failure } from '../utils/res' +import * as network from '../network' +import * as rsa from '../crypto/rsa' +import * as tribes from '../utils/tribes' +import * as path from 'path' +import {personalizeMessage, decryptMessage} from '../utils/msg' + +const constants = require(path.join(__dirname,'../../config/constants.json')) + +async function joinTribe(req, res){ + console.log('=> joinTribe') + const { uuid, group_key, name, host, amount, img, owner_pubkey, owner_alias } = req.body + + const existing = await models.Chat.findOne({where:{uuid}}) + if(existing) { + console.log('[tribes] u are already in this tribe') + return + } + + if(!owner_pubkey || !group_key || !uuid) { + console.log('[tribes] missing required params') + return + } + + const ownerPubKey = owner_pubkey + // verify signature here? + + const tribeOwner = await models.Contact.findOne({ where: { publicKey: ownerPubKey } }) + + let theTribeOwner + const owner = await models.Contact.findOne({ where: { isOwner: true } }) + + const contactIds = [owner.id] + if (tribeOwner) { + theTribeOwner = tribeOwner // might already include?? + if(!contactIds.includes(tribeOwner.id)) contactIds.push(tribeOwner.id) + } else { + const createdContact = await models.Contact.create({ + publicKey: ownerPubKey, + contactKey: '', + alias: owner_alias||'Unknown', + status: 1, + fromGroup: true, + }) + theTribeOwner = createdContact + contactIds.push(createdContact.id) + } + let date = new Date() + date.setMilliseconds(0) + + const chatParams = { + uuid: uuid, + contactIds: JSON.stringify(contactIds), + photoUrl: img||'', + createdAt: date, + updatedAt: date, + name: name, + type: constants.chat_types.tribe, + host: host || tribes.getHost(), + groupKey: group_key, + ownerPubkey: owner_pubkey, + } + + network.sendMessage({ // send my data to tribe owner + chat: { + ...chatParams, members: { + [owner.publicKey]: { + key: owner.contactKey, + alias: owner.alias||'' + } + } + }, + amount:amount||0, + sender: owner, + message: {}, + type: constants.message_types.group_join, + failure: function (e) { + failure(res, e) + }, + success: async function () { + const chat = await models.Chat.create(chatParams) + models.ChatMember.create({ + contactId: theTribeOwner.id, + chatId: chat.id, + role: constants.chat_roles.owner, + lastActive: date, + }) + success(res, jsonUtils.chatToJson(chat)) + } + }) +} + +async function editTribe(req, res) { + const { + name, + is_listed, + price_per_message, + price_to_join, + img, + description, + tags, + } = req.body + const { id } = req.params + + if(!id) return failure(res, 'group id is required') + + const chat = await models.Chat.findOne({where:{id}}) + if(!chat) { + return failure(res, 'cant find chat') + } + + const owner = await models.Contact.findOne({ where: { isOwner: true } }) + + let okToUpdate = true + if(is_listed) { + try{ + await tribes.edit({ + uuid: chat.uuid, + name: name, + host: chat.host, + price_per_message: price_per_message||0, + price_to_join: price_to_join||0, + description, + tags, + img, + owner_alias: owner.alias, + }) + } catch(e) { + okToUpdate = false + } + } + + if(okToUpdate) { + await chat.update({ + photoUrl: img||'', + name: name, + pricePerMessage: price_per_message||0, + priceToJoin: price_to_join||0 + }) + success(res, jsonUtils.chatToJson(chat)) + } else { + failure(res, 'failed to update tribe') + } + +} + +async function replayChatHistory(chat, contact) { + const msgs = await models.Message.findAll({ order: [['id', 'asc']], limit:40 }) + const owner = await models.Contact.findOne({ where: { isOwner: true } }) + asyncForEach(msgs, async m=>{ + const sender = { + ...owner.dataValues, + ...m.senderAlias && {alias: m.senderAlias}, + } + let msg = network.newmsg(m.type, chat, sender, { + content: m.remoteContent, // replace with the received content (u are owner) + mediaKey: m.mediaKey, + mediaType: m.mediaType, + mediaToken: m.mediaToken + }) + msg = await decryptMessage(msg, chat) + const data = await personalizeMessage(msg, contact, true) + + const mqttTopic = `${contact.publicKey}/${chat.uuid}` + await network.signAndSend({data}, owner.publicKey, mqttTopic) + }) +} + + +async function createTribeChatParams(owner, contactIds, name, img, price_per_message, price_to_join): Promise<{[k:string]:any}> { + let date = new Date() + date.setMilliseconds(0) + if (!(owner && contactIds && Array.isArray(contactIds))) { + return {} + } + + // make ts sig here w LNd pubkey - that is UUID + const keys:{[k:string]:string} = await rsa.genKeys() + const groupUUID = await tribes.genSignedTimestamp() + const theContactIds = contactIds.includes(owner.id) ? contactIds : [owner.id].concat(contactIds) + return { + uuid: groupUUID, + ownerPubkey: owner.publicKey, + contactIds: JSON.stringify(theContactIds), + createdAt: date, + updatedAt: date, + photoUrl: img||'', + name: name, + type: constants.chat_types.tribe, + groupKey: keys.public, + groupPrivateKey: keys.private, + host: tribes.getHost(), + pricePerMessage: price_per_message||0, + priceToJoin: price_to_join||0, + } +} + +export { + joinTribe, editTribe, + replayChatHistory, + createTribeChatParams +} + +async function asyncForEach(array, callback) { + for (let index = 0; index < array.length; index++) { + await callback(array[index], index, array); + } +} \ No newline at end of file diff --git a/api/controllers/chats.ts b/api/controllers/chats.ts index 4dee940..c464889 100644 --- a/api/controllers/chats.ts +++ b/api/controllers/chats.ts @@ -7,8 +7,8 @@ import * as socket from '../utils/socket' import { sendNotification } from '../hub' import * as md5 from 'md5' import * as path from 'path' -import * as rsa from '../crypto/rsa' import * as tribes from '../utils/tribes' +import {createTribeChatParams} from './chatTribes' const constants = require(path.join(__dirname,'../../config/constants.json')) @@ -37,60 +37,6 @@ async function mute(req, res) { success(res, jsonUtils.chatToJson(chat)) } -async function editTribe(req, res) { - const { - name, - is_listed, - price_per_message, - price_to_join, - img, - description, - tags, - } = req.body - const { id } = req.params - - if(!id) return failure(res, 'group id is required') - - const chat = await models.Chat.findOne({where:{id}}) - if(!chat) { - return failure(res, 'cant find chat') - } - - const owner = await models.Contact.findOne({ where: { isOwner: true } }) - - let okToUpdate = true - if(is_listed) { - try{ - await tribes.edit({ - uuid: chat.uuid, - name: name, - host: chat.host, - price_per_message: price_per_message||0, - price_to_join: price_to_join||0, - description, - tags, - img, - owner_alias: owner.alias, - }) - } catch(e) { - okToUpdate = false - } - } - - if(okToUpdate) { - await chat.update({ - photoUrl: img||'', - name: name, - pricePerMessage: price_per_message||0, - priceToJoin: price_to_join||0 - }) - success(res, jsonUtils.chatToJson(chat)) - } else { - failure(res, 'failed to update tribe') - } - -} - // just add self here if tribes // or can u add contacts as members? async function createGroupChat(req, res) { @@ -250,143 +196,7 @@ const deleteChat = async (req, res) => { success(res, { chat_id: id }) } -async function joinTribe(req, res){ - console.log('=> joinTribe') - const { uuid, group_key, name, host, amount, img, owner_pubkey, owner_alias } = req.body - - const existing = await models.Chat.findOne({where:{uuid}}) - if(existing) { - console.log('[tribes] u are already in this tribe') - return - } - - if(!owner_pubkey || !group_key || !uuid) { - console.log('[tribes] missing required params') - return - } - - const ownerPubKey = owner_pubkey - // verify signature here? - - const tribeOwner = await models.Contact.findOne({ where: { publicKey: ownerPubKey } }) - - let theTribeOwner - const owner = await models.Contact.findOne({ where: { isOwner: true } }) - - const contactIds = [owner.id] - if (tribeOwner) { - theTribeOwner = tribeOwner // might already include?? - if(!contactIds.includes(tribeOwner.id)) contactIds.push(tribeOwner.id) - } else { - const createdContact = await models.Contact.create({ - publicKey: ownerPubKey, - contactKey: '', - alias: owner_alias||'Unknown', - status: 1, - fromGroup: true, - }) - theTribeOwner = createdContact - contactIds.push(createdContact.id) - } - let date = new Date() - date.setMilliseconds(0) - - const chatParams = { - uuid: uuid, - contactIds: JSON.stringify(contactIds), - photoUrl: img||'', - createdAt: date, - updatedAt: date, - name: name, - type: constants.chat_types.tribe, - host: host || tribes.getHost(), - groupKey: group_key, - ownerPubkey: owner_pubkey, - } - - network.sendMessage({ // send my data to tribe owner - chat: { - ...chatParams, members: { - [owner.publicKey]: { - key: owner.contactKey, - alias: owner.alias||'' - } - } - }, - amount:amount||0, - sender: owner, - message: {}, - type: constants.message_types.group_join, - failure: function (e) { - failure(res, e) - }, - success: async function () { - const chat = await models.Chat.create(chatParams) - models.ChatMember.create({ - contactId: theTribeOwner.id, - chatId: chat.id, - role: constants.chat_roles.owner, - lastActive: date, - }) - success(res, jsonUtils.chatToJson(chat)) - } - }) -} - -async function receiveGroupLeave(payload) { - console.log('=> receiveGroupLeave') - const { sender_pub_key, chat_uuid, chat_type, sender_alias, isTribeOwner } = await helpers.parseReceiveParams(payload) - - const chat = await models.Chat.findOne({ where: { uuid: chat_uuid } }) - if (!chat) return - - const isTribe = chat_type===constants.chat_types.tribe - - let sender - if(!isTribe || isTribeOwner) { - sender = await models.Contact.findOne({ where: { publicKey: sender_pub_key } }) - if (!sender) return - - const oldContactIds = JSON.parse(chat.contactIds || '[]') - const contactIds = oldContactIds.filter(cid => cid !== sender.id) - await chat.update({ contactIds: JSON.stringify(contactIds) }) - - if(isTribeOwner) { - if(chat_type===constants.chat_types.tribe){ - try { - await models.ChatMember.destroy({where:{chatId: chat.id, contactId: sender.id}}) - } catch(e) {} - } - } - } - - var date = new Date(); - date.setMilliseconds(0) - const msg:{[k:string]:any} = { - chatId: chat.id, - type: constants.message_types.group_leave, - sender: (sender && sender.id) || 0, - date: date, - messageContent: `${sender_alias} has left the group`, - remoteMessageContent: '', - status: constants.statuses.confirmed, - createdAt: date, - updatedAt: date - } - if(isTribe) { - msg.senderAlias = sender_alias - } - const message = await models.Message.create(msg) - socket.sendJson({ - type: 'group_leave', - response: { - contact: jsonUtils.contactToJson(sender), - chat: jsonUtils.chatToJson(chat), - message: jsonUtils.messageToJson(message, null) - } - }) -} async function receiveGroupJoin(payload) { console.log('=> receiveGroupJoin') @@ -429,7 +239,7 @@ async function receiveGroupJoin(payload) { contactIds.push(createdContact.id) } } - if(!theSender) return // fail (no contact key?) + if(!theSender) return console.log('no sender') // fail (no contact key?) await chat.update({ contactIds: JSON.stringify(contactIds) }) @@ -440,6 +250,7 @@ async function receiveGroupJoin(payload) { role: constants.chat_roles.reader, lastActive: date, }) + // replayChatHistory(chat, theSender) } } @@ -469,6 +280,61 @@ async function receiveGroupJoin(payload) { }) } +async function receiveGroupLeave(payload) { + console.log('=> receiveGroupLeave') + const { sender_pub_key, chat_uuid, chat_type, sender_alias, isTribeOwner } = await helpers.parseReceiveParams(payload) + + const chat = await models.Chat.findOne({ where: { uuid: chat_uuid } }) + if (!chat) return + + const isTribe = chat_type===constants.chat_types.tribe + + let sender + if(!isTribe || isTribeOwner) { + sender = await models.Contact.findOne({ where: { publicKey: sender_pub_key } }) + if (!sender) return + + const oldContactIds = JSON.parse(chat.contactIds || '[]') + const contactIds = oldContactIds.filter(cid => cid !== sender.id) + await chat.update({ contactIds: JSON.stringify(contactIds) }) + + if(isTribeOwner) { + if(chat_type===constants.chat_types.tribe){ + try { + await models.ChatMember.destroy({where:{chatId: chat.id, contactId: sender.id}}) + } catch(e) {} + } + } + } + + var date = new Date(); + date.setMilliseconds(0) + const msg:{[k:string]:any} = { + chatId: chat.id, + type: constants.message_types.group_leave, + sender: (sender && sender.id) || 0, + date: date, + messageContent: `${sender_alias} has left the group`, + remoteMessageContent: '', + status: constants.statuses.confirmed, + createdAt: date, + updatedAt: date + } + if(isTribe) { + msg.senderAlias = sender_alias + } + const message = await models.Message.create(msg) + + socket.sendJson({ + type: 'group_leave', + response: { + contact: jsonUtils.contactToJson(sender), + chat: jsonUtils.chatToJson(chat), + message: jsonUtils.messageToJson(message, null) + } + }) +} + async function validateTribeOwner(chat_uuid: string, pubkey: string){ const verifiedOwnerPubkey = await tribes.verifySignedTimestamp(chat_uuid) if(verifiedOwnerPubkey===pubkey){ @@ -593,44 +459,15 @@ function createGroupChatParams(owner, contactIds, members, name) { } } -async function createTribeChatParams(owner, contactIds, name, img, price_per_message, price_to_join): Promise<{[k:string]:any}> { - let date = new Date() - date.setMilliseconds(0) - if (!(owner && contactIds && Array.isArray(contactIds))) { - return {} - } - - // make ts sig here w LNd pubkey - that is UUID - const keys:{[k:string]:string} = await rsa.genKeys() - const groupUUID = await tribes.genSignedTimestamp() - const theContactIds = contactIds.includes(owner.id) ? contactIds : [owner.id].concat(contactIds) - return { - uuid: groupUUID, - ownerPubkey: owner.publicKey, - contactIds: JSON.stringify(theContactIds), - createdAt: date, - updatedAt: date, - photoUrl: img||'', - name: name, - type: constants.chat_types.tribe, - groupKey: keys.public, - groupPrivateKey: keys.private, - host: tribes.getHost(), - pricePerMessage: price_per_message||0, - priceToJoin: price_to_join||0, - } -} - export { getChats, mute, addGroupMembers, receiveGroupCreateOrInvite, createGroupChat, deleteChat, receiveGroupLeave, receiveGroupJoin, - joinTribe, editTribe, } - async function asyncForEach(array, callback) { for (let index = 0; index < array.length; index++) { await callback(array[index], index, array); } } + diff --git a/api/controllers/index.ts b/api/controllers/index.ts index 65b403a..aac48d9 100644 --- a/api/controllers/index.ts +++ b/api/controllers/index.ts @@ -1,90 +1,89 @@ import {models} from '../models' +import * as chats from './chats' +import * as chatTribes from './chatTribes' +import * as details from './details' +import * as contacts from './contacts' +import * as invites from './invites' +import * as invoices from './invoices' +import * as media from './media' +import * as messages from './messages' +import * as payments from './payment' +import * as subcriptions from './subscriptions' +import * as uploads from './uploads' +import * as confirmations from './confirmations' import {checkTag} from '../utils/gitinfo' +import * as path from 'path' const env = process.env.NODE_ENV || 'development'; console.log("=> env:",env) - -let controllers = { - messages: require('./messages'), - invoices: require('./invoices'), - uploads: require('./uploads'), - contacts: require('./contacts'), - invites: require('./invites'), - payments: require('./payment'), - details: require('./details'), - chats: require('./chats'), - subcriptions: require('./subscriptions'), - media: require('./media'), - confirmations: require('./confirmations') -} +const constants = require(path.join(__dirname,'../../config/constants.json')) async function set(app) { if(models && models.Subscription){ - controllers.subcriptions.initializeCronJobs() + subcriptions.initializeCronJobs() } try{ - await controllers.media.cycleMediaToken() + await media.cycleMediaToken() } catch(e) { console.log('=> could not auth with media server', e.message) } - app.get('/chats', controllers.chats.getChats) - app.post('/group', controllers.chats.createGroupChat) - app.post('/chats/:chat_id/:mute_unmute', controllers.chats.mute) - app.delete('/chat/:id', controllers.chats.deleteChat) - app.put('/chat/:id', controllers.chats.addGroupMembers) - app.post('/tribe', controllers.chats.joinTribe) - app.put('/group/:id', controllers.chats.editTribe) - - app.post('/contacts/tokens', controllers.contacts.generateToken) - - app.post('/upload', controllers.uploads.avatarUpload.single('file'), controllers.uploads.uploadFile) - - app.post('/invites', controllers.invites.createInvite) - app.post('/invites/:invite_string/pay', controllers.invites.payInvite) - app.post('/invites/finish', controllers.invites.finishInvite) - - app.get('/contacts', controllers.contacts.getContacts) - app.put('/contacts/:id', controllers.contacts.updateContact) - app.post('/contacts/:id/keys', controllers.contacts.exchangeKeys) - app.post('/contacts', controllers.contacts.createContact) - app.delete('/contacts/:id', controllers.contacts.deleteContact) - - app.get('/allmessages', controllers.messages.getAllMessages) - app.get('/messages', controllers.messages.getMessages) - app.delete('/message/:id', controllers.messages.deleteMessage) - app.post('/messages', controllers.messages.sendMessage) - app.post('/messages/:chat_id/read', controllers.messages.readMessages) - app.post('/messages/clear', controllers.messages.clearMessages) - - app.get('/subscriptions', controllers.subcriptions.getAllSubscriptions) - app.get('/subscription/:id', controllers.subcriptions.getSubscription) - app.delete('/subscription/:id', controllers.subcriptions.deleteSubscription) - app.post('/subscriptions', controllers.subcriptions.createSubscription) - app.put('/subscription/:id', controllers.subcriptions.editSubscription) - app.get('/subscriptions/contact/:contactId', controllers.subcriptions.getSubscriptionsForContact) - app.put('/subscription/:id/pause', controllers.subcriptions.pauseSubscription) - app.put('/subscription/:id/restart', controllers.subcriptions.restartSubscription) + app.get('/chats', chats.getChats) + app.post('/group', chats.createGroupChat) + app.post('/chats/:chat_id/:mute_unmute', chats.mute) + app.delete('/chat/:id', chats.deleteChat) + app.put('/chat/:id', chats.addGroupMembers) + app.post('/tribe', chatTribes.joinTribe) + app.put('/group/:id', chatTribes.editTribe) + + app.post('/upload', uploads.avatarUpload.single('file'), uploads.uploadFile) + + app.post('/invites', invites.createInvite) + app.post('/invites/:invite_string/pay', invites.payInvite) + app.post('/invites/finish', invites.finishInvite) + + app.post('/contacts/tokens', contacts.generateToken) + app.get('/contacts', contacts.getContacts) + app.put('/contacts/:id', contacts.updateContact) + app.post('/contacts/:id/keys', contacts.exchangeKeys) + app.post('/contacts', contacts.createContact) + app.delete('/contacts/:id', contacts.deleteContact) + + app.get('/allmessages', messages.getAllMessages) + app.get('/messages', messages.getMessages) + app.delete('/message/:id', messages.deleteMessage) + app.post('/messages', messages.sendMessage) + app.post('/messages/:chat_id/read', messages.readMessages) + app.post('/messages/clear', messages.clearMessages) + + app.get('/subscriptions', subcriptions.getAllSubscriptions) + app.get('/subscription/:id', subcriptions.getSubscription) + app.delete('/subscription/:id', subcriptions.deleteSubscription) + app.post('/subscriptions', subcriptions.createSubscription) + app.put('/subscription/:id', subcriptions.editSubscription) + app.get('/subscriptions/contact/:contactId', subcriptions.getSubscriptionsForContact) + app.put('/subscription/:id/pause', subcriptions.pauseSubscription) + app.put('/subscription/:id/restart', subcriptions.restartSubscription) - app.post('/attachment', controllers.media.sendAttachmentMessage) - app.post('/purchase', controllers.media.purchase) - app.get('/signer/:challenge', controllers.media.signer) + app.post('/attachment', media.sendAttachmentMessage) + app.post('/purchase', media.purchase) + app.get('/signer/:challenge', media.signer) - app.post('/invoices', controllers.invoices.createInvoice) - app.get('/invoices', controllers.invoices.listInvoices) - app.put('/invoices', controllers.invoices.payInvoice) - app.post('/invoices/cancel', controllers.invoices.cancelInvoice) + app.post('/invoices', invoices.createInvoice) + app.get('/invoices', invoices.listInvoices) + app.put('/invoices', invoices.payInvoice) + app.post('/invoices/cancel', invoices.cancelInvoice) - app.post('/payment', controllers.payments.sendPayment) - app.get('/payments', controllers.payments.listPayments) + app.post('/payment', payments.sendPayment) + app.get('/payments', payments.listPayments) - app.get('/channels', controllers.details.getChannels) - app.get('/balance', controllers.details.getBalance) - app.get('/balance/all', controllers.details.getLocalRemoteBalance) - app.get('/getinfo', controllers.details.getInfo) - app.get('/logs', controllers.details.getLogsSince) - app.get('/info', controllers.details.getNodeInfo) + app.get('/channels', details.getChannels) + app.get('/balance', details.getBalance) + app.get('/balance/all', details.getLocalRemoteBalance) + app.get('/getinfo', details.getInfo) + app.get('/logs', details.getLogsSince) + app.get('/info', details.getNodeInfo) app.get('/version', async function(req,res) { const version = await checkTag() @@ -112,4 +111,22 @@ const login = (req, res) => { } } -export {set, controllers} +const msgtypes = constants.message_types +const ACTIONS = { + [msgtypes.contact_key]: contacts.receiveContactKey, + [msgtypes.contact_key_confirmation]: contacts.receiveConfirmContactKey, + [msgtypes.message]: messages.receiveMessage, + [msgtypes.invoice]: invoices.receiveInvoice, + [msgtypes.direct_payment]: payments.receivePayment, + [msgtypes.confirmation]: confirmations.receiveConfirmation, + [msgtypes.attachment]: media.receiveAttachment, + [msgtypes.purchase]: media.receivePurchase, + [msgtypes.purchase_accept]: media.receivePurchaseAccept, + [msgtypes.purchase_deny]: media.receivePurchaseDeny, + [msgtypes.group_create]: chats.receiveGroupCreateOrInvite, + [msgtypes.group_invite]: chats.receiveGroupCreateOrInvite, + [msgtypes.group_join]: chats.receiveGroupJoin, + [msgtypes.group_leave]: chats.receiveGroupLeave, +} + +export {set, ACTIONS} diff --git a/api/controllers/messages.ts b/api/controllers/messages.ts index 761b850..7917fd3 100644 --- a/api/controllers/messages.ts +++ b/api/controllers/messages.ts @@ -156,7 +156,7 @@ const receiveMessage = async (payload) => { date.setMilliseconds(0) const total_spent = 1 - const {owner, sender, chat, content, msg_id, chat_type, sender_alias} = await helpers.parseReceiveParams(payload) + const {owner, sender, chat, content, remote_content, msg_id, chat_type, sender_alias} = await helpers.parseReceiveParams(payload) if(!owner || !sender || !chat) { return console.log('=> no group chat!') } @@ -175,6 +175,7 @@ const receiveMessage = async (payload) => { } if(chat_type===constants.chat_types.tribe) { msg.senderAlias = sender_alias + if(remote_content) msg.remoteMessageContent=remote_content } const message = await models.Message.create(msg) diff --git a/api/helpers.ts b/api/helpers.ts index e5b5460..a3756d5 100644 --- a/api/helpers.ts +++ b/api/helpers.ts @@ -143,6 +143,7 @@ async function parseReceiveParams(payload) { const chat_host = dat.chat.host const amount = dat.message.amount const content = dat.message.content + const remote_content = dat.message.remoteContent const mediaToken = dat.message.mediaToken const msg_id = dat.message.id||0 const mediaKey = dat.message.mediaKey @@ -169,7 +170,7 @@ async function parseReceiveParams(payload) { } chat = await models.Chat.findOne({ where: { uuid: chat_uuid } }) } - return { owner, sender, chat, sender_pub_key, sender_alias, isTribeOwner, chat_uuid, amount, content, mediaToken, mediaKey, mediaType, chat_type, msg_id, chat_members, chat_name, chat_host, chat_key } + return { owner, sender, chat, sender_pub_key, sender_alias, isTribeOwner, chat_uuid, amount, content, mediaToken, mediaKey, mediaType, chat_type, msg_id, chat_members, chat_name, chat_host, chat_key, remote_content } } export { @@ -198,4 +199,4 @@ function newkeyexchangemsg(type, sender){ // ...sender.photoUrl && {photoUrl: sender.photoUrl} } } -} \ No newline at end of file +} diff --git a/api/network/index.ts b/api/network/index.ts index f483518..ace04e5 100644 --- a/api/network/index.ts +++ b/api/network/index.ts @@ -1,4 +1,4 @@ -import {sendMessage,signAndSend} from './send' +import {sendMessage,signAndSend,newmsg} from './send' import {initGrpcSubscriptions,initTribesSubscriptions,parseKeysendInvoice} from './receive' /* @@ -6,7 +6,7 @@ Abstracts between lightning network and MQTT depending on Chat type and sender */ export { - sendMessage,signAndSend, + sendMessage,signAndSend,newmsg, initGrpcSubscriptions, initTribesSubscriptions, parseKeysendInvoice, diff --git a/api/network/receive.ts b/api/network/receive.ts index 37ea3e2..fa32a06 100644 --- a/api/network/receive.ts +++ b/api/network/receive.ts @@ -1,7 +1,7 @@ import * as path from 'path' import * as lndService from '../grpc' import {getInfo} from '../utils/lightning' -import {controllers} from '../controllers' +import {ACTIONS} from '../controllers' import * as tribes from '../utils/tribes' import {SPHINX_CUSTOM_RECORD_KEY, verifyAscii} from '../utils/lightning' import { models } from '../models' @@ -57,11 +57,13 @@ async function onReceive(payload){ async function doTheAction(data){ let payload = data if(payload.isTribeOwner) { - // decrypt and re-encrypt with self pubkey + const ogContent = data.message && data.message.content + // decrypt and re-encrypt with phone's pubkey for storage const chat = await models.Chat.findOne({where:{uuid:payload.chat.uuid}}) const pld = await decryptMessage(data, chat) const me = await models.Contact.findOne({where:{isOwner:true}}) payload = await encryptTribeBroadcast(pld, me, true) // true=isTribeOwner + if(ogContent) payload.message.remoteContent = ogContent } if(ACTIONS[payload.type]) { ACTIONS[payload.type](payload) @@ -99,23 +101,6 @@ async function forwardMessageToTribe(ogpayload){ }) } -const ACTIONS = { - [msgtypes.contact_key]: controllers.contacts.receiveContactKey, - [msgtypes.contact_key_confirmation]: controllers.contacts.receiveConfirmContactKey, - [msgtypes.message]: controllers.messages.receiveMessage, - [msgtypes.invoice]: controllers.invoices.receiveInvoice, - [msgtypes.direct_payment]: controllers.payments.receivePayment, - [msgtypes.confirmation]: controllers.confirmations.receiveConfirmation, - [msgtypes.attachment]: controllers.media.receiveAttachment, - [msgtypes.purchase]: controllers.media.receivePurchase, - [msgtypes.purchase_accept]: controllers.media.receivePurchaseAccept, - [msgtypes.purchase_deny]: controllers.media.receivePurchaseDeny, - [msgtypes.group_create]: controllers.chats.receiveGroupCreateOrInvite, - [msgtypes.group_invite]: controllers.chats.receiveGroupCreateOrInvite, - [msgtypes.group_join]: controllers.chats.receiveGroupJoin, - [msgtypes.group_leave]: controllers.chats.receiveGroupLeave, -} - export async function initGrpcSubscriptions() { try{ await getInfo() diff --git a/api/network/send.ts b/api/network/send.ts index c617590..8d417c8 100644 --- a/api/network/send.ts +++ b/api/network/send.ts @@ -114,7 +114,7 @@ export function signAndSend(opts, pubkey, mqttTopic?:string){ }) } -function newmsg(type, chat, sender, message){ +export function newmsg(type, chat, sender, message){ const includeGroupKey = type===constants.message_types.group_create || type===constants.message_types.group_invite const includeAlias = sender && sender.alias && chat.type===constants.chat_types.tribe return { diff --git a/dist/api/controllers/chatTribes.js b/dist/api/controllers/chatTribes.js new file mode 100644 index 0000000..1dfe797 --- /dev/null +++ b/dist/api/controllers/chatTribes.js @@ -0,0 +1,201 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const models_1 = require("../models"); +const jsonUtils = require("../utils/json"); +const res_1 = require("../utils/res"); +const network = require("../network"); +const rsa = require("../crypto/rsa"); +const tribes = require("../utils/tribes"); +const path = require("path"); +const msg_1 = require("../utils/msg"); +const constants = require(path.join(__dirname, '../../config/constants.json')); +function joinTribe(req, res) { + return __awaiter(this, void 0, void 0, function* () { + console.log('=> joinTribe'); + const { uuid, group_key, name, host, amount, img, owner_pubkey, owner_alias } = req.body; + const existing = yield models_1.models.Chat.findOne({ where: { uuid } }); + if (existing) { + console.log('[tribes] u are already in this tribe'); + return; + } + if (!owner_pubkey || !group_key || !uuid) { + console.log('[tribes] missing required params'); + return; + } + const ownerPubKey = owner_pubkey; + // verify signature here? + const tribeOwner = yield models_1.models.Contact.findOne({ where: { publicKey: ownerPubKey } }); + let theTribeOwner; + const owner = yield models_1.models.Contact.findOne({ where: { isOwner: true } }); + const contactIds = [owner.id]; + if (tribeOwner) { + theTribeOwner = tribeOwner; // might already include?? + if (!contactIds.includes(tribeOwner.id)) + contactIds.push(tribeOwner.id); + } + else { + const createdContact = yield models_1.models.Contact.create({ + publicKey: ownerPubKey, + contactKey: '', + alias: owner_alias || 'Unknown', + status: 1, + fromGroup: true, + }); + theTribeOwner = createdContact; + contactIds.push(createdContact.id); + } + let date = new Date(); + date.setMilliseconds(0); + const chatParams = { + uuid: uuid, + contactIds: JSON.stringify(contactIds), + photoUrl: img || '', + createdAt: date, + updatedAt: date, + name: name, + type: constants.chat_types.tribe, + host: host || tribes.getHost(), + groupKey: group_key, + ownerPubkey: owner_pubkey, + }; + network.sendMessage({ + chat: Object.assign(Object.assign({}, chatParams), { members: { + [owner.publicKey]: { + key: owner.contactKey, + alias: owner.alias || '' + } + } }), + amount: amount || 0, + sender: owner, + message: {}, + type: constants.message_types.group_join, + failure: function (e) { + res_1.failure(res, e); + }, + success: function () { + return __awaiter(this, void 0, void 0, function* () { + const chat = yield models_1.models.Chat.create(chatParams); + models_1.models.ChatMember.create({ + contactId: theTribeOwner.id, + chatId: chat.id, + role: constants.chat_roles.owner, + lastActive: date, + }); + res_1.success(res, jsonUtils.chatToJson(chat)); + }); + } + }); + }); +} +exports.joinTribe = joinTribe; +function editTribe(req, res) { + return __awaiter(this, void 0, void 0, function* () { + const { name, is_listed, price_per_message, price_to_join, img, description, tags, } = req.body; + const { id } = req.params; + if (!id) + return res_1.failure(res, 'group id is required'); + const chat = yield models_1.models.Chat.findOne({ where: { id } }); + if (!chat) { + return res_1.failure(res, 'cant find chat'); + } + const owner = yield models_1.models.Contact.findOne({ where: { isOwner: true } }); + let okToUpdate = true; + if (is_listed) { + try { + yield tribes.edit({ + uuid: chat.uuid, + name: name, + host: chat.host, + price_per_message: price_per_message || 0, + price_to_join: price_to_join || 0, + description, + tags, + img, + owner_alias: owner.alias, + }); + } + catch (e) { + okToUpdate = false; + } + } + if (okToUpdate) { + yield chat.update({ + photoUrl: img || '', + name: name, + pricePerMessage: price_per_message || 0, + priceToJoin: price_to_join || 0 + }); + res_1.success(res, jsonUtils.chatToJson(chat)); + } + else { + res_1.failure(res, 'failed to update tribe'); + } + }); +} +exports.editTribe = editTribe; +function replayChatHistory(chat, contact) { + return __awaiter(this, void 0, void 0, function* () { + const msgs = yield models_1.models.Message.findAll({ order: [['id', 'asc']], limit: 40 }); + const owner = yield models_1.models.Contact.findOne({ where: { isOwner: true } }); + asyncForEach(msgs, (m) => __awaiter(this, void 0, void 0, function* () { + const sender = Object.assign(Object.assign({}, owner.dataValues), m.senderAlias && { alias: m.senderAlias }); + let msg = network.newmsg(m.type, chat, sender, { + content: m.remoteContent, + mediaKey: m.mediaKey, + mediaType: m.mediaType, + mediaToken: m.mediaToken + }); + msg = yield msg_1.decryptMessage(msg, chat); + const data = yield msg_1.personalizeMessage(msg, contact, true); + const mqttTopic = `${contact.publicKey}/${chat.uuid}`; + yield network.signAndSend({ data }, owner.publicKey, mqttTopic); + })); + }); +} +exports.replayChatHistory = replayChatHistory; +function createTribeChatParams(owner, contactIds, name, img, price_per_message, price_to_join) { + return __awaiter(this, void 0, void 0, function* () { + let date = new Date(); + date.setMilliseconds(0); + if (!(owner && contactIds && Array.isArray(contactIds))) { + return {}; + } + // make ts sig here w LNd pubkey - that is UUID + const keys = yield rsa.genKeys(); + const groupUUID = yield tribes.genSignedTimestamp(); + const theContactIds = contactIds.includes(owner.id) ? contactIds : [owner.id].concat(contactIds); + return { + uuid: groupUUID, + ownerPubkey: owner.publicKey, + contactIds: JSON.stringify(theContactIds), + createdAt: date, + updatedAt: date, + photoUrl: img || '', + name: name, + type: constants.chat_types.tribe, + groupKey: keys.public, + groupPrivateKey: keys.private, + host: tribes.getHost(), + pricePerMessage: price_per_message || 0, + priceToJoin: price_to_join || 0, + }; + }); +} +exports.createTribeChatParams = createTribeChatParams; +function asyncForEach(array, callback) { + return __awaiter(this, void 0, void 0, function* () { + for (let index = 0; index < array.length; index++) { + yield callback(array[index], index, array); + } + }); +} +//# sourceMappingURL=chatTribes.js.map \ No newline at end of file diff --git a/dist/api/controllers/chatTribes.js.map b/dist/api/controllers/chatTribes.js.map new file mode 100644 index 0000000..16596ff --- /dev/null +++ b/dist/api/controllers/chatTribes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"chatTribes.js","sourceRoot":"","sources":["../../../api/controllers/chatTribes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/api/controllers/chats.js b/dist/api/controllers/chats.js index 3a275fc..8847094 100644 --- a/dist/api/controllers/chats.js +++ b/dist/api/controllers/chats.js @@ -18,8 +18,8 @@ const socket = require("../utils/socket"); const hub_1 = require("../hub"); const md5 = require("md5"); const path = require("path"); -const rsa = require("../crypto/rsa"); const tribes = require("../utils/tribes"); +const chatTribes_1 = require("./chatTribes"); const constants = require(path.join(__dirname, '../../config/constants.json')); function getChats(req, res) { return __awaiter(this, void 0, void 0, function* () { @@ -45,51 +45,6 @@ function mute(req, res) { }); } exports.mute = mute; -function editTribe(req, res) { - return __awaiter(this, void 0, void 0, function* () { - const { name, is_listed, price_per_message, price_to_join, img, description, tags, } = req.body; - const { id } = req.params; - if (!id) - return res_1.failure(res, 'group id is required'); - const chat = yield models_1.models.Chat.findOne({ where: { id } }); - if (!chat) { - return res_1.failure(res, 'cant find chat'); - } - const owner = yield models_1.models.Contact.findOne({ where: { isOwner: true } }); - let okToUpdate = true; - if (is_listed) { - try { - yield tribes.edit({ - uuid: chat.uuid, - name: name, - host: chat.host, - price_per_message: price_per_message || 0, - price_to_join: price_to_join || 0, - description, - tags, - img, - owner_alias: owner.alias, - }); - } - catch (e) { - okToUpdate = false; - } - } - if (okToUpdate) { - yield chat.update({ - photoUrl: img || '', - name: name, - pricePerMessage: price_per_message || 0, - priceToJoin: price_to_join || 0 - }); - res_1.success(res, jsonUtils.chatToJson(chat)); - } - else { - res_1.failure(res, 'failed to update tribe'); - } - }); -} -exports.editTribe = editTribe; // just add self here if tribes // or can u add contacts as members? function createGroupChat(req, res) { @@ -111,7 +66,7 @@ function createGroupChat(req, res) { let chatParams = null; let okToCreate = true; if (is_tribe) { - chatParams = yield createTribeChatParams(owner, contact_ids, name, img, price_per_message, price_to_join); + chatParams = yield chatTribes_1.createTribeChatParams(owner, contact_ids, name, img, price_per_message, price_to_join); if (is_listed && chatParams.uuid) { // publish to tribe server try { @@ -234,138 +189,6 @@ const deleteChat = (req, res) => __awaiter(void 0, void 0, void 0, function* () res_1.success(res, { chat_id: id }); }); exports.deleteChat = deleteChat; -function joinTribe(req, res) { - return __awaiter(this, void 0, void 0, function* () { - console.log('=> joinTribe'); - const { uuid, group_key, name, host, amount, img, owner_pubkey, owner_alias } = req.body; - const existing = yield models_1.models.Chat.findOne({ where: { uuid } }); - if (existing) { - console.log('[tribes] u are already in this tribe'); - return; - } - if (!owner_pubkey || !group_key || !uuid) { - console.log('[tribes] missing required params'); - return; - } - const ownerPubKey = owner_pubkey; - // verify signature here? - const tribeOwner = yield models_1.models.Contact.findOne({ where: { publicKey: ownerPubKey } }); - let theTribeOwner; - const owner = yield models_1.models.Contact.findOne({ where: { isOwner: true } }); - const contactIds = [owner.id]; - if (tribeOwner) { - theTribeOwner = tribeOwner; // might already include?? - if (!contactIds.includes(tribeOwner.id)) - contactIds.push(tribeOwner.id); - } - else { - const createdContact = yield models_1.models.Contact.create({ - publicKey: ownerPubKey, - contactKey: '', - alias: owner_alias || 'Unknown', - status: 1, - fromGroup: true, - }); - theTribeOwner = createdContact; - contactIds.push(createdContact.id); - } - let date = new Date(); - date.setMilliseconds(0); - const chatParams = { - uuid: uuid, - contactIds: JSON.stringify(contactIds), - photoUrl: img || '', - createdAt: date, - updatedAt: date, - name: name, - type: constants.chat_types.tribe, - host: host || tribes.getHost(), - groupKey: group_key, - ownerPubkey: owner_pubkey, - }; - network.sendMessage({ - chat: Object.assign(Object.assign({}, chatParams), { members: { - [owner.publicKey]: { - key: owner.contactKey, - alias: owner.alias || '' - } - } }), - amount: amount || 0, - sender: owner, - message: {}, - type: constants.message_types.group_join, - failure: function (e) { - res_1.failure(res, e); - }, - success: function () { - return __awaiter(this, void 0, void 0, function* () { - const chat = yield models_1.models.Chat.create(chatParams); - models_1.models.ChatMember.create({ - contactId: theTribeOwner.id, - chatId: chat.id, - role: constants.chat_roles.owner, - lastActive: date, - }); - res_1.success(res, jsonUtils.chatToJson(chat)); - }); - } - }); - }); -} -exports.joinTribe = joinTribe; -function receiveGroupLeave(payload) { - return __awaiter(this, void 0, void 0, function* () { - console.log('=> receiveGroupLeave'); - const { sender_pub_key, chat_uuid, chat_type, sender_alias, isTribeOwner } = yield helpers.parseReceiveParams(payload); - const chat = yield models_1.models.Chat.findOne({ where: { uuid: chat_uuid } }); - if (!chat) - return; - const isTribe = chat_type === constants.chat_types.tribe; - let sender; - if (!isTribe || isTribeOwner) { - sender = yield models_1.models.Contact.findOne({ where: { publicKey: sender_pub_key } }); - if (!sender) - return; - const oldContactIds = JSON.parse(chat.contactIds || '[]'); - const contactIds = oldContactIds.filter(cid => cid !== sender.id); - yield chat.update({ contactIds: JSON.stringify(contactIds) }); - if (isTribeOwner) { - if (chat_type === constants.chat_types.tribe) { - try { - yield models_1.models.ChatMember.destroy({ where: { chatId: chat.id, contactId: sender.id } }); - } - catch (e) { } - } - } - } - var date = new Date(); - date.setMilliseconds(0); - const msg = { - chatId: chat.id, - type: constants.message_types.group_leave, - sender: (sender && sender.id) || 0, - date: date, - messageContent: `${sender_alias} has left the group`, - remoteMessageContent: '', - status: constants.statuses.confirmed, - createdAt: date, - updatedAt: date - }; - if (isTribe) { - msg.senderAlias = sender_alias; - } - const message = yield models_1.models.Message.create(msg); - socket.sendJson({ - type: 'group_leave', - response: { - contact: jsonUtils.contactToJson(sender), - chat: jsonUtils.chatToJson(chat), - message: jsonUtils.messageToJson(message, null) - } - }); - }); -} -exports.receiveGroupLeave = receiveGroupLeave; function receiveGroupJoin(payload) { return __awaiter(this, void 0, void 0, function* () { console.log('=> receiveGroupJoin'); @@ -407,7 +230,7 @@ function receiveGroupJoin(payload) { } } if (!theSender) - return; // fail (no contact key?) + return console.log('no sender'); // fail (no contact key?) yield chat.update({ contactIds: JSON.stringify(contactIds) }); if (isTribeOwner) { // IF TRIBE, ADD TO XREF models_1.models.ChatMember.create({ @@ -416,6 +239,7 @@ function receiveGroupJoin(payload) { role: constants.chat_roles.reader, lastActive: date, }); + // replayChatHistory(chat, theSender) } } const msg = { @@ -444,6 +268,59 @@ function receiveGroupJoin(payload) { }); } exports.receiveGroupJoin = receiveGroupJoin; +function receiveGroupLeave(payload) { + return __awaiter(this, void 0, void 0, function* () { + console.log('=> receiveGroupLeave'); + const { sender_pub_key, chat_uuid, chat_type, sender_alias, isTribeOwner } = yield helpers.parseReceiveParams(payload); + const chat = yield models_1.models.Chat.findOne({ where: { uuid: chat_uuid } }); + if (!chat) + return; + const isTribe = chat_type === constants.chat_types.tribe; + let sender; + if (!isTribe || isTribeOwner) { + sender = yield models_1.models.Contact.findOne({ where: { publicKey: sender_pub_key } }); + if (!sender) + return; + const oldContactIds = JSON.parse(chat.contactIds || '[]'); + const contactIds = oldContactIds.filter(cid => cid !== sender.id); + yield chat.update({ contactIds: JSON.stringify(contactIds) }); + if (isTribeOwner) { + if (chat_type === constants.chat_types.tribe) { + try { + yield models_1.models.ChatMember.destroy({ where: { chatId: chat.id, contactId: sender.id } }); + } + catch (e) { } + } + } + } + var date = new Date(); + date.setMilliseconds(0); + const msg = { + chatId: chat.id, + type: constants.message_types.group_leave, + sender: (sender && sender.id) || 0, + date: date, + messageContent: `${sender_alias} has left the group`, + remoteMessageContent: '', + status: constants.statuses.confirmed, + createdAt: date, + updatedAt: date + }; + if (isTribe) { + msg.senderAlias = sender_alias; + } + const message = yield models_1.models.Message.create(msg); + socket.sendJson({ + type: 'group_leave', + response: { + contact: jsonUtils.contactToJson(sender), + chat: jsonUtils.chatToJson(chat), + message: jsonUtils.messageToJson(message, null) + } + }); + }); +} +exports.receiveGroupLeave = receiveGroupLeave; function validateTribeOwner(chat_uuid, pubkey) { return __awaiter(this, void 0, void 0, function* () { const verifiedOwnerPubkey = yield tribes.verifySignedTimestamp(chat_uuid); @@ -557,34 +434,6 @@ function createGroupChatParams(owner, contactIds, members, name) { type: constants.chat_types.group }; } -function createTribeChatParams(owner, contactIds, name, img, price_per_message, price_to_join) { - return __awaiter(this, void 0, void 0, function* () { - let date = new Date(); - date.setMilliseconds(0); - if (!(owner && contactIds && Array.isArray(contactIds))) { - return {}; - } - // make ts sig here w LNd pubkey - that is UUID - const keys = yield rsa.genKeys(); - const groupUUID = yield tribes.genSignedTimestamp(); - const theContactIds = contactIds.includes(owner.id) ? contactIds : [owner.id].concat(contactIds); - return { - uuid: groupUUID, - ownerPubkey: owner.publicKey, - contactIds: JSON.stringify(theContactIds), - createdAt: date, - updatedAt: date, - photoUrl: img || '', - name: name, - type: constants.chat_types.tribe, - groupKey: keys.public, - groupPrivateKey: keys.private, - host: tribes.getHost(), - pricePerMessage: price_per_message || 0, - priceToJoin: price_to_join || 0, - }; - }); -} function asyncForEach(array, callback) { return __awaiter(this, void 0, void 0, function* () { for (let index = 0; index < array.length; index++) { diff --git a/dist/api/controllers/chats.js.map b/dist/api/controllers/chats.js.map index 53d69ec..f7a97f3 100644 --- a/dist/api/controllers/chats.js.map +++ b/dist/api/controllers/chats.js.map @@ -1 +1 @@ -{"version":3,"file":"chats.js","sourceRoot":"","sources":["../../../api/controllers/chats.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"chats.js","sourceRoot":"","sources":["../../../api/controllers/chats.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/api/controllers/index.js b/dist/api/controllers/index.js index af04a28..d44beda 100644 --- a/dist/api/controllers/index.js +++ b/dist/api/controllers/index.js @@ -10,80 +10,80 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }; Object.defineProperty(exports, "__esModule", { value: true }); const models_1 = require("../models"); +const chats = require("./chats"); +const chatTribes = require("./chatTribes"); +const details = require("./details"); +const contacts = require("./contacts"); +const invites = require("./invites"); +const invoices = require("./invoices"); +const media = require("./media"); +const messages = require("./messages"); +const payments = require("./payment"); +const subcriptions = require("./subscriptions"); +const uploads = require("./uploads"); +const confirmations = require("./confirmations"); const gitinfo_1 = require("../utils/gitinfo"); +const path = require("path"); const env = process.env.NODE_ENV || 'development'; console.log("=> env:", env); -let controllers = { - messages: require('./messages'), - invoices: require('./invoices'), - uploads: require('./uploads'), - contacts: require('./contacts'), - invites: require('./invites'), - payments: require('./payment'), - details: require('./details'), - chats: require('./chats'), - subcriptions: require('./subscriptions'), - media: require('./media'), - confirmations: require('./confirmations') -}; -exports.controllers = controllers; +const constants = require(path.join(__dirname, '../../config/constants.json')); function set(app) { return __awaiter(this, void 0, void 0, function* () { if (models_1.models && models_1.models.Subscription) { - controllers.subcriptions.initializeCronJobs(); + subcriptions.initializeCronJobs(); } try { - yield controllers.media.cycleMediaToken(); + yield media.cycleMediaToken(); } catch (e) { console.log('=> could not auth with media server', e.message); } - app.get('/chats', controllers.chats.getChats); - app.post('/group', controllers.chats.createGroupChat); - app.post('/chats/:chat_id/:mute_unmute', controllers.chats.mute); - app.delete('/chat/:id', controllers.chats.deleteChat); - app.put('/chat/:id', controllers.chats.addGroupMembers); - app.post('/tribe', controllers.chats.joinTribe); - app.put('/group/:id', controllers.chats.editTribe); - app.post('/contacts/tokens', controllers.contacts.generateToken); - app.post('/upload', controllers.uploads.avatarUpload.single('file'), controllers.uploads.uploadFile); - app.post('/invites', controllers.invites.createInvite); - app.post('/invites/:invite_string/pay', controllers.invites.payInvite); - app.post('/invites/finish', controllers.invites.finishInvite); - app.get('/contacts', controllers.contacts.getContacts); - app.put('/contacts/:id', controllers.contacts.updateContact); - app.post('/contacts/:id/keys', controllers.contacts.exchangeKeys); - app.post('/contacts', controllers.contacts.createContact); - app.delete('/contacts/:id', controllers.contacts.deleteContact); - app.get('/allmessages', controllers.messages.getAllMessages); - app.get('/messages', controllers.messages.getMessages); - app.delete('/message/:id', controllers.messages.deleteMessage); - app.post('/messages', controllers.messages.sendMessage); - app.post('/messages/:chat_id/read', controllers.messages.readMessages); - app.post('/messages/clear', controllers.messages.clearMessages); - app.get('/subscriptions', controllers.subcriptions.getAllSubscriptions); - app.get('/subscription/:id', controllers.subcriptions.getSubscription); - app.delete('/subscription/:id', controllers.subcriptions.deleteSubscription); - app.post('/subscriptions', controllers.subcriptions.createSubscription); - app.put('/subscription/:id', controllers.subcriptions.editSubscription); - app.get('/subscriptions/contact/:contactId', controllers.subcriptions.getSubscriptionsForContact); - app.put('/subscription/:id/pause', controllers.subcriptions.pauseSubscription); - app.put('/subscription/:id/restart', controllers.subcriptions.restartSubscription); - app.post('/attachment', controllers.media.sendAttachmentMessage); - app.post('/purchase', controllers.media.purchase); - app.get('/signer/:challenge', controllers.media.signer); - app.post('/invoices', controllers.invoices.createInvoice); - app.get('/invoices', controllers.invoices.listInvoices); - app.put('/invoices', controllers.invoices.payInvoice); - app.post('/invoices/cancel', controllers.invoices.cancelInvoice); - app.post('/payment', controllers.payments.sendPayment); - app.get('/payments', controllers.payments.listPayments); - app.get('/channels', controllers.details.getChannels); - app.get('/balance', controllers.details.getBalance); - app.get('/balance/all', controllers.details.getLocalRemoteBalance); - app.get('/getinfo', controllers.details.getInfo); - app.get('/logs', controllers.details.getLogsSince); - app.get('/info', controllers.details.getNodeInfo); + app.get('/chats', chats.getChats); + app.post('/group', chats.createGroupChat); + app.post('/chats/:chat_id/:mute_unmute', chats.mute); + app.delete('/chat/:id', chats.deleteChat); + app.put('/chat/:id', chats.addGroupMembers); + app.post('/tribe', chatTribes.joinTribe); + app.put('/group/:id', chatTribes.editTribe); + app.post('/upload', uploads.avatarUpload.single('file'), uploads.uploadFile); + app.post('/invites', invites.createInvite); + app.post('/invites/:invite_string/pay', invites.payInvite); + app.post('/invites/finish', invites.finishInvite); + app.post('/contacts/tokens', contacts.generateToken); + app.get('/contacts', contacts.getContacts); + app.put('/contacts/:id', contacts.updateContact); + app.post('/contacts/:id/keys', contacts.exchangeKeys); + app.post('/contacts', contacts.createContact); + app.delete('/contacts/:id', contacts.deleteContact); + app.get('/allmessages', messages.getAllMessages); + app.get('/messages', messages.getMessages); + app.delete('/message/:id', messages.deleteMessage); + app.post('/messages', messages.sendMessage); + app.post('/messages/:chat_id/read', messages.readMessages); + app.post('/messages/clear', messages.clearMessages); + app.get('/subscriptions', subcriptions.getAllSubscriptions); + app.get('/subscription/:id', subcriptions.getSubscription); + app.delete('/subscription/:id', subcriptions.deleteSubscription); + app.post('/subscriptions', subcriptions.createSubscription); + app.put('/subscription/:id', subcriptions.editSubscription); + app.get('/subscriptions/contact/:contactId', subcriptions.getSubscriptionsForContact); + app.put('/subscription/:id/pause', subcriptions.pauseSubscription); + app.put('/subscription/:id/restart', subcriptions.restartSubscription); + app.post('/attachment', media.sendAttachmentMessage); + app.post('/purchase', media.purchase); + app.get('/signer/:challenge', media.signer); + app.post('/invoices', invoices.createInvoice); + app.get('/invoices', invoices.listInvoices); + app.put('/invoices', invoices.payInvoice); + app.post('/invoices/cancel', invoices.cancelInvoice); + app.post('/payment', payments.sendPayment); + app.get('/payments', payments.listPayments); + app.get('/channels', details.getChannels); + app.get('/balance', details.getBalance); + app.get('/balance/all', details.getLocalRemoteBalance); + app.get('/getinfo', details.getInfo); + app.get('/logs', details.getLogsSince); + app.get('/info', details.getNodeInfo); app.get('/version', function (req, res) { return __awaiter(this, void 0, void 0, function* () { const version = yield gitinfo_1.checkTag(); @@ -111,4 +111,22 @@ const login = (req, res) => { res.end(); } }; +const msgtypes = constants.message_types; +const ACTIONS = { + [msgtypes.contact_key]: contacts.receiveContactKey, + [msgtypes.contact_key_confirmation]: contacts.receiveConfirmContactKey, + [msgtypes.message]: messages.receiveMessage, + [msgtypes.invoice]: invoices.receiveInvoice, + [msgtypes.direct_payment]: payments.receivePayment, + [msgtypes.confirmation]: confirmations.receiveConfirmation, + [msgtypes.attachment]: media.receiveAttachment, + [msgtypes.purchase]: media.receivePurchase, + [msgtypes.purchase_accept]: media.receivePurchaseAccept, + [msgtypes.purchase_deny]: media.receivePurchaseDeny, + [msgtypes.group_create]: chats.receiveGroupCreateOrInvite, + [msgtypes.group_invite]: chats.receiveGroupCreateOrInvite, + [msgtypes.group_join]: chats.receiveGroupJoin, + [msgtypes.group_leave]: chats.receiveGroupLeave, +}; +exports.ACTIONS = ACTIONS; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/api/controllers/index.js.map b/dist/api/controllers/index.js.map index 811d79f..292e96a 100644 --- a/dist/api/controllers/index.js.map +++ b/dist/api/controllers/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../api/controllers/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../api/controllers/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/api/controllers/messages.js b/dist/api/controllers/messages.js index 89737af..7ca0971 100644 --- a/dist/api/controllers/messages.js +++ b/dist/api/controllers/messages.js @@ -139,7 +139,7 @@ const receiveMessage = (payload) => __awaiter(void 0, void 0, void 0, function* var date = new Date(); date.setMilliseconds(0); const total_spent = 1; - const { owner, sender, chat, content, msg_id, chat_type, sender_alias } = yield helpers.parseReceiveParams(payload); + const { owner, sender, chat, content, remote_content, msg_id, chat_type, sender_alias } = yield helpers.parseReceiveParams(payload); if (!owner || !sender || !chat) { return console.log('=> no group chat!'); } @@ -157,6 +157,8 @@ const receiveMessage = (payload) => __awaiter(void 0, void 0, void 0, function* }; if (chat_type === constants.chat_types.tribe) { msg.senderAlias = sender_alias; + if (remote_content) + msg.remoteMessageContent = remote_content; } const message = yield models_1.models.Message.create(msg); console.log('saved message', message.dataValues); diff --git a/dist/api/controllers/messages.js.map b/dist/api/controllers/messages.js.map index 88ec538..2d016b7 100644 --- a/dist/api/controllers/messages.js.map +++ b/dist/api/controllers/messages.js.map @@ -1 +1 @@ -{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../api/controllers/messages.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../api/controllers/messages.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/api/helpers.js b/dist/api/helpers.js index c65b7a1..5cf80ca 100644 --- a/dist/api/helpers.js +++ b/dist/api/helpers.js @@ -159,6 +159,7 @@ function parseReceiveParams(payload) { const chat_host = dat.chat.host; const amount = dat.message.amount; const content = dat.message.content; + const remote_content = dat.message.remoteContent; const mediaToken = dat.message.mediaToken; const msg_id = dat.message.id || 0; const mediaKey = dat.message.mediaKey; @@ -183,7 +184,7 @@ function parseReceiveParams(payload) { } chat = yield models_1.models.Chat.findOne({ where: { uuid: chat_uuid } }); } - return { owner, sender, chat, sender_pub_key, sender_alias, isTribeOwner, chat_uuid, amount, content, mediaToken, mediaKey, mediaType, chat_type, msg_id, chat_members, chat_name, chat_host, chat_key }; + return { owner, sender, chat, sender_pub_key, sender_alias, isTribeOwner, chat_uuid, amount, content, mediaToken, mediaKey, mediaType, chat_type, msg_id, chat_members, chat_name, chat_host, chat_key, remote_content }; }); } exports.parseReceiveParams = parseReceiveParams; diff --git a/dist/api/helpers.js.map b/dist/api/helpers.js.map index 66acc1b..87285b3 100644 --- a/dist/api/helpers.js.map +++ b/dist/api/helpers.js.map @@ -1 +1 @@ -{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../api/helpers.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../api/helpers.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/api/network/index.js b/dist/api/network/index.js index 6b3e74b..df62117 100644 --- a/dist/api/network/index.js +++ b/dist/api/network/index.js @@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); const send_1 = require("./send"); exports.sendMessage = send_1.sendMessage; exports.signAndSend = send_1.signAndSend; +exports.newmsg = send_1.newmsg; const receive_1 = require("./receive"); exports.initGrpcSubscriptions = receive_1.initGrpcSubscriptions; exports.initTribesSubscriptions = receive_1.initTribesSubscriptions; diff --git a/dist/api/network/index.js.map b/dist/api/network/index.js.map index fd8a0ea..abc83f9 100644 --- a/dist/api/network/index.js.map +++ b/dist/api/network/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../api/network/index.ts"],"names":[],"mappings":";;AAAA,iCAA8C;AAQ1C,sBARI,kBAAW,CAQJ;AAAC,sBARI,kBAAW,CAQJ;AAP3B,uCAA2F;AAQvF,gCARI,+BAAqB,CAQJ;AACrB,kCAT0B,iCAAuB,CAS1B;AACvB,8BAVkD,6BAAmB,CAUlD"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../api/network/index.ts"],"names":[],"mappings":";;AAAA,iCAAqD;AAQjD,sBARI,kBAAW,CAQJ;AAAC,sBARI,kBAAW,CAQJ;AAAC,iBARI,aAAM,CAQJ;AAPlC,uCAA2F;AAQvF,gCARI,+BAAqB,CAQJ;AACrB,kCAT0B,iCAAuB,CAS1B;AACvB,8BAVkD,6BAAmB,CAUlD"} \ No newline at end of file diff --git a/dist/api/network/receive.js b/dist/api/network/receive.js index 302274c..f810ed4 100644 --- a/dist/api/network/receive.js +++ b/dist/api/network/receive.js @@ -74,14 +74,17 @@ function doTheAction(data) { return __awaiter(this, void 0, void 0, function* () { let payload = data; if (payload.isTribeOwner) { - // decrypt and re-encrypt with self pubkey + const ogContent = data.message && data.message.content; + // decrypt and re-encrypt with phone's pubkey for storage const chat = yield models_1.models.Chat.findOne({ where: { uuid: payload.chat.uuid } }); const pld = yield msg_1.decryptMessage(data, chat); const me = yield models_1.models.Contact.findOne({ where: { isOwner: true } }); payload = yield msg_1.encryptTribeBroadcast(pld, me, true); // true=isTribeOwner + if (ogContent) + payload.message.remoteContent = ogContent; } - if (ACTIONS[payload.type]) { - ACTIONS[payload.type](payload); + if (controllers_1.ACTIONS[payload.type]) { + controllers_1.ACTIONS[payload.type](payload); } else { console.log('Incorrect payload type:', payload.type); @@ -114,22 +117,6 @@ function forwardMessageToTribe(ogpayload) { }); }); } -const ACTIONS = { - [msgtypes.contact_key]: controllers_1.controllers.contacts.receiveContactKey, - [msgtypes.contact_key_confirmation]: controllers_1.controllers.contacts.receiveConfirmContactKey, - [msgtypes.message]: controllers_1.controllers.messages.receiveMessage, - [msgtypes.invoice]: controllers_1.controllers.invoices.receiveInvoice, - [msgtypes.direct_payment]: controllers_1.controllers.payments.receivePayment, - [msgtypes.confirmation]: controllers_1.controllers.confirmations.receiveConfirmation, - [msgtypes.attachment]: controllers_1.controllers.media.receiveAttachment, - [msgtypes.purchase]: controllers_1.controllers.media.receivePurchase, - [msgtypes.purchase_accept]: controllers_1.controllers.media.receivePurchaseAccept, - [msgtypes.purchase_deny]: controllers_1.controllers.media.receivePurchaseDeny, - [msgtypes.group_create]: controllers_1.controllers.chats.receiveGroupCreateOrInvite, - [msgtypes.group_invite]: controllers_1.controllers.chats.receiveGroupCreateOrInvite, - [msgtypes.group_join]: controllers_1.controllers.chats.receiveGroupJoin, - [msgtypes.group_leave]: controllers_1.controllers.chats.receiveGroupLeave, -}; function initGrpcSubscriptions() { return __awaiter(this, void 0, void 0, function* () { try { diff --git a/dist/api/network/receive.js.map b/dist/api/network/receive.js.map index 5866eaa..8ef38e6 100644 --- a/dist/api/network/receive.js.map +++ b/dist/api/network/receive.js.map @@ -1 +1 @@ -{"version":3,"file":"receive.js","sourceRoot":"","sources":["../../../api/network/receive.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"receive.js","sourceRoot":"","sources":["../../../api/network/receive.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/api/network/send.js b/dist/api/network/send.js index 8bd16d4..d96fb89 100644 --- a/dist/api/network/send.js +++ b/dist/api/network/send.js @@ -134,6 +134,7 @@ function newmsg(type, chat, sender, message) { sender: Object.assign(Object.assign({}, includeAlias && { alias: sender.alias }), { pub_key: sender.publicKey }) }; } +exports.newmsg = newmsg; function asyncForEach(array, callback) { return __awaiter(this, void 0, void 0, function* () { for (let index = 0; index < array.length; index++) { diff --git a/dist/api/network/send.js.map b/dist/api/network/send.js.map index 4467bd5..85f5f25 100644 --- a/dist/api/network/send.js.map +++ b/dist/api/network/send.js.map @@ -1 +1 @@ -{"version":3,"file":"send.js","sourceRoot":"","sources":["../../../api/network/send.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"send.js","sourceRoot":"","sources":["../../../api/network/send.ts"],"names":[],"mappings":"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"} \ No newline at end of file