From e0fc2e1f1d59df1e07dc28b5e70864d201f30912 Mon Sep 17 00:00:00 2001 From: Evan Feenstra Date: Tue, 26 May 2020 19:42:47 -0700 Subject: [PATCH] start replay, organize tribes controllers --- api/controllers/chatTribes.ts | 187 ++++++++++++++++ api/controllers/chats.ts | 281 ++++++------------------- api/controllers/index.ts | 159 ++++++++------ api/helpers.ts | 2 +- api/network/receive.ts | 19 +- dist/api/controllers/chatTribes.js | 180 ++++++++++++++++ dist/api/controllers/chatTribes.js.map | 1 + dist/api/controllers/chats.js | 265 +++++------------------ dist/api/controllers/chats.js.map | 2 +- dist/api/controllers/index.js | 145 +++++++------ dist/api/controllers/index.js.map | 2 +- dist/api/network/receive.js | 20 +- dist/api/network/receive.js.map | 2 +- 13 files changed, 664 insertions(+), 601 deletions(-) create mode 100644 api/controllers/chatTribes.ts create mode 100644 dist/api/controllers/chatTribes.js create mode 100644 dist/api/controllers/chatTribes.js.map diff --git a/api/controllers/chatTribes.ts b/api/controllers/chatTribes.ts new file mode 100644 index 0000000..99ada03 --- /dev/null +++ b/api/controllers/chatTribes.ts @@ -0,0 +1,187 @@ +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' + +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 }) + msgs.forEach(m=> console.log('m',m)) + +} + + +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 +} \ No newline at end of file diff --git a/api/controllers/chats.ts b/api/controllers/chats.ts index 4dee940..79ae1fd 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 {replayChatHistory,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..9a1355c 100644 --- a/api/controllers/index.ts +++ b/api/controllers/index.ts @@ -1,90 +1,93 @@ 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) { + const c = await models.Chat.findOne({where:{id:31}}) + const co = await models.Chat.findOne({where:{id:1}}) + chatTribes.replayChatHistory(c,co) + 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 +115,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/helpers.ts b/api/helpers.ts index 6468dcc..a3756d5 100644 --- a/api/helpers.ts +++ b/api/helpers.ts @@ -199,4 +199,4 @@ function newkeyexchangemsg(type, sender){ // ...sender.photoUrl && {photoUrl: sender.photoUrl} } } -} \ No newline at end of file +} diff --git a/api/network/receive.ts b/api/network/receive.ts index 5414f45..a77d475 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' @@ -101,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/dist/api/controllers/chatTribes.js b/dist/api/controllers/chatTribes.js new file mode 100644 index 0000000..2c94919 --- /dev/null +++ b/dist/api/controllers/chatTribes.js @@ -0,0 +1,180 @@ +"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 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 }); + msgs.forEach(m => console.log('m', m)); + }); +} +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; +//# 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..a9bbe3c --- /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..d84989f 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, }); + chatTribes_1.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..8abd75e 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..d60b3ad 100644 --- a/dist/api/controllers/index.js +++ b/dist/api/controllers/index.js @@ -10,80 +10,83 @@ 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* () { + const c = yield models_1.models.Chat.findOne({ where: { id: 31 } }); + const co = yield models_1.models.Chat.findOne({ where: { id: 1 } }); + chatTribes.replayChatHistory(c, co); 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 +114,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..917e831 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/network/receive.js b/dist/api/network/receive.js index d41be41..39dc59c 100644 --- a/dist/api/network/receive.js +++ b/dist/api/network/receive.js @@ -83,8 +83,8 @@ function doTheAction(data) { 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); @@ -117,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 f82910f..e2ac56c 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