Browse Source

fix last_alias upsert on tribe join for admin

dependabot/npm_and_yarn/ini-1.3.7
Evan Feenstra 4 years ago
parent
commit
d01050c21c
  1. 4
      dist/src/controllers/chatTribes.js
  2. 2
      dist/src/controllers/chatTribes.js.map
  3. 17
      dist/src/controllers/chats.js
  4. 2
      dist/src/controllers/chats.js.map
  5. 7
      dist/src/network/receive.js
  6. 2
      dist/src/network/receive.js.map
  7. 17
      src/controllers/chats.ts
  8. 6
      src/network/receive.ts

4
dist/src/controllers/chatTribes.js

@ -21,6 +21,10 @@ const hub_1 = require("../hub");
const msg_1 = require("../utils/msg");
const sequelize_1 = require("sequelize");
const constants_1 = require("../constants");
/*
add myAlias to leave tribe also
sphinx.chat://?action=tribe&uuid=XyyNsiAM4pbbX4vjtYz2kcFye-h4dd9Nd2twi2Az8gGDQdIbM3HU1WV3XoASXLedCaVpl0YrAvjvBpAPt9ZB0-rpV4Y1&host=tribes.sphinx.chat
*/
function joinTribe(req, res) {
return __awaiter(this, void 0, void 0, function* () {
console.log('=> joinTribe');

2
dist/src/controllers/chatTribes.js.map

File diff suppressed because one or more lines are too long

17
dist/src/controllers/chats.js

@ -334,7 +334,7 @@ function receiveGroupJoin(payload) {
date = new Date(date_string);
let theSender = null;
const member = chat_members[sender_pub_key];
const senderAlias = sender_alias || (member && member.alias) || 'Unknown';
const senderAlias = (member && member.alias) || sender_alias || 'Unknown';
if (!isTribe || isTribeOwner) {
const sender = yield models_1.models.Contact.findOne({ where: { publicKey: sender_pub_key } });
const contactIds = JSON.parse(chat.contactIds || '[]');
@ -367,16 +367,27 @@ function receiveGroupJoin(payload) {
return console.log('no sender'); // fail (no contact key?)
yield chat.update({ contactIds: JSON.stringify(contactIds) });
if (isTribeOwner) { // IF TRIBE, ADD new member TO XREF
console.log("UPSERT CHAT MEMBER", {
contactId: theSender.id,
chatId: chat.id,
role: constants_1.default.chat_roles.reader,
status: constants_1.default.chat_statuses.pending,
lastActive: date,
lastAlias: senderAlias,
});
try {
models_1.models.ChatMember.upsert({
contactId: theSender.id,
chatId: chat.id,
role: constants_1.default.chat_roles.reader,
lastActive: date,
status: constants_1.default.chat_statuses.approved
status: constants_1.default.chat_statuses.approved,
lastAlias: senderAlias,
});
}
catch (e) { }
catch (e) {
console.log('=> groupJoin could not upsert ChatMember');
}
chatTribes_1.replayChatHistory(chat, theSender);
tribes.putstats({
chatId: chat.id,

2
dist/src/controllers/chats.js.map

File diff suppressed because one or more lines are too long

7
dist/src/network/receive.js

@ -223,7 +223,6 @@ function uniqueifyAlias(payload, sender, chat, owner) {
if (!(payload && payload.sender))
return payload;
const senderContactId = sender.id; // og msg sender
console.log("uniqueifyAliasuniqueifyAliasuniqueifyAliasuniqueifyAlias!!!");
const owner_alias = chat.myAlias || owner.alias;
const sender_alias = payload.sender && payload.sender.alias;
let final_sender_alias = sender_alias;
@ -239,10 +238,8 @@ function uniqueifyAlias(payload, sender, chat, owner) {
}
});
if (sender_alias !== final_sender_alias) {
console.log("UPDATE THE CHAT MEMBER", senderContactId, chat.id);
const theChatMember = yield models_1.models.ChatMember.findOne({ where: { chatId: chat.id, contactId: senderContactId } });
console.log(theChatMember.dataValues);
yield models_1.models.ChatMember.update({ lastAlias: final_sender_alias }, { where: { chatId: chat.id, contactId: senderContactId } });
yield models_1.models.ChatMember.update(// this syntax is necessary when no unique ID on the Model
{ lastAlias: final_sender_alias }, { where: { chatId: chat.id, contactId: senderContactId } });
}
payload.sender.alias = final_sender_alias;
return payload;

2
dist/src/network/receive.js.map

File diff suppressed because one or more lines are too long

17
src/controllers/chats.ts

@ -339,7 +339,7 @@ export async function receiveGroupJoin(payload) {
let theSender: any = null
const member = chat_members[sender_pub_key]
const senderAlias = sender_alias || (member && member.alias) || 'Unknown'
const senderAlias = (member && member.alias) || sender_alias || 'Unknown'
if(!isTribe || isTribeOwner) {
const sender = await models.Contact.findOne({ where: { publicKey: sender_pub_key } })
@ -372,15 +372,26 @@ export async function receiveGroupJoin(payload) {
await chat.update({ contactIds: JSON.stringify(contactIds) })
if(isTribeOwner){ // IF TRIBE, ADD new member TO XREF
console.log("UPSERT CHAT MEMBER",{
contactId: theSender.id,
chatId: chat.id,
role: constants.chat_roles.reader,
status: constants.chat_statuses.pending,
lastActive: date,
lastAlias: senderAlias,
})
try{
models.ChatMember.upsert({
contactId: theSender.id,
chatId: chat.id,
role: constants.chat_roles.reader,
lastActive: date,
status: constants.chat_statuses.approved
status: constants.chat_statuses.approved,
lastAlias: senderAlias,
})
} catch(e) {}
} catch(e) {
console.log('=> groupJoin could not upsert ChatMember')
}
replayChatHistory(chat, theSender)
tribes.putstats({
chatId: chat.id,

6
src/network/receive.ts

@ -201,7 +201,6 @@ async function uniqueifyAlias(payload, sender, chat, owner):Promise<Object> {
if(!(payload && payload.sender)) return payload
const senderContactId = sender.id // og msg sender
console.log("uniqueifyAliasuniqueifyAliasuniqueifyAliasuniqueifyAlias!!!")
const owner_alias = chat.myAlias || owner.alias
const sender_alias = payload.sender&&payload.sender.alias
let final_sender_alias = sender_alias
@ -215,10 +214,7 @@ async function uniqueifyAlias(payload, sender, chat, owner):Promise<Object> {
}
})
if(sender_alias!==final_sender_alias) {
console.log("UPDATE THE CHAT MEMBER",senderContactId,chat.id)
const theChatMember = await models.ChatMember.findOne({where:{chatId:chat.id,contactId:senderContactId}})
console.log(theChatMember.dataValues)
await models.ChatMember.update(
await models.ChatMember.update( // this syntax is necessary when no unique ID on the Model
{lastAlias:final_sender_alias},
{where:{chatId:chat.id,contactId:senderContactId}}
)

Loading…
Cancel
Save