Browse Source

create group_leave msg for kicked out contact in admins's db

bugfix/timeout-logging
Evan Feenstra 5 years ago
parent
commit
b4d3dfe54b
  1. 36
      api/controllers/chats.ts
  2. 5
      api/utils/timers.ts
  3. 36
      dist/api/controllers/chats.js
  4. 2
      dist/api/controllers/chats.js.map
  5. 8
      dist/api/utils/timers.js
  6. 2
      dist/api/utils/timers.js.map

36
api/controllers/chats.ts

@ -41,7 +41,7 @@ export async function kickChatMember(req, res){
})
// delete all timers for this member
timers.removeTimersByContactId(contactId)
timers.removeTimersByContactIdChatId(contactId,chatId)
if(kickedContact){
// send group_leave to others
@ -51,6 +51,26 @@ export async function kickChatMember(req, res){
message: {},
type: constants.message_types.group_leave,
})
var date = new Date()
date.setMilliseconds(0)
const msg:{[k:string]:any} = {
chatId: chat.id,
type: constants.message_types.group_leave,
sender: (kickedContact.id) || 0,
messageContent:'', remoteMessageContent:'',
status: constants.statuses.confirmed,
date:date, createdAt:date, updatedAt:date,
senderAlias: kickedContact.alias
}
const message = await models.Message.create(msg)
socket.sendJson({
type: 'group_leave',
response: {
contact: jsonUtils.contactToJson(kickedContact),
chat: jsonUtils.chatToJson(chat),
message: jsonUtils.messageToJson(message, null)
}
})
}
success(res, jsonUtils.chatToJson(chat))
@ -334,12 +354,9 @@ export async function receiveGroupJoin(payload) {
chatId: chat.id,
type: constants.message_types.group_join,
sender: (theSender && theSender.id) || 0,
date: date,
messageContent:'',//`${senderAlias} has joined the group`,
remoteMessageContent:'',
messageContent:'', remoteMessageContent:'',
status: constants.statuses.confirmed,
createdAt: date,
updatedAt: date
date: date, createdAt: date, updatedAt: date
}
if(isTribe) {
msg.senderAlias = sender_alias
@ -396,12 +413,9 @@ export async function receiveGroupLeave(payload) {
chatId: chat.id,
type: constants.message_types.group_leave,
sender: (sender && sender.id) || 0,
date: date,
messageContent:'', //`${sender_alias} has left the group`,
remoteMessageContent:'',
messageContent:'', remoteMessageContent:'',
status: constants.statuses.confirmed,
createdAt: date,
updatedAt: date
date: date, createdAt: date, updatedAt: date
}
if(isTribe) {
msg.senderAlias = sender_alias

5
api/utils/timers.ts

@ -19,6 +19,11 @@ export async function removeTimersByContactId(contactId){
ts.forEach(t=> clearTimer(t))
models.Timer.destroy({where:{receiver:contactId}})
}
export async function removeTimersByContactIdChatId(contactId,chatId){
const ts = await models.Timer.findAll({where:{receiver:contactId, chatId}})
ts.forEach(t=> clearTimer(t))
models.Timer.destroy({where:{receiver:contactId, chatId}})
}
export async function addTimer({amount, millis, receiver, msgId, chatId}){
const now = new Date().valueOf()

36
dist/api/controllers/chats.js

@ -47,7 +47,7 @@ function kickChatMember(req, res) {
type: constants.message_types.group_kick,
});
// delete all timers for this member
timers.removeTimersByContactId(contactId);
timers.removeTimersByContactIdChatId(contactId, chatId);
if (kickedContact) {
// send group_leave to others
network.sendMessage({
@ -56,6 +56,26 @@ function kickChatMember(req, res) {
message: {},
type: constants.message_types.group_leave,
});
var date = new Date();
date.setMilliseconds(0);
const msg = {
chatId: chat.id,
type: constants.message_types.group_leave,
sender: (kickedContact.id) || 0,
messageContent: '', remoteMessageContent: '',
status: constants.statuses.confirmed,
date: date, createdAt: date, updatedAt: date,
senderAlias: kickedContact.alias
};
const message = yield models_1.models.Message.create(msg);
socket.sendJson({
type: 'group_leave',
response: {
contact: jsonUtils.contactToJson(kickedContact),
chat: jsonUtils.chatToJson(chat),
message: jsonUtils.messageToJson(message, null)
}
});
}
res_1.success(res, jsonUtils.chatToJson(chat));
});
@ -320,12 +340,9 @@ function receiveGroupJoin(payload) {
chatId: chat.id,
type: constants.message_types.group_join,
sender: (theSender && theSender.id) || 0,
date: date,
messageContent: '',
remoteMessageContent: '',
messageContent: '', remoteMessageContent: '',
status: constants.statuses.confirmed,
createdAt: date,
updatedAt: date
date: date, createdAt: date, updatedAt: date
};
if (isTribe) {
msg.senderAlias = sender_alias;
@ -381,12 +398,9 @@ function receiveGroupLeave(payload) {
chatId: chat.id,
type: constants.message_types.group_leave,
sender: (sender && sender.id) || 0,
date: date,
messageContent: '',
remoteMessageContent: '',
messageContent: '', remoteMessageContent: '',
status: constants.statuses.confirmed,
createdAt: date,
updatedAt: date
date: date, createdAt: date, updatedAt: date
};
if (isTribe) {
msg.senderAlias = sender_alias;

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

File diff suppressed because one or more lines are too long

8
dist/api/utils/timers.js

@ -35,6 +35,14 @@ function removeTimersByContactId(contactId) {
});
}
exports.removeTimersByContactId = removeTimersByContactId;
function removeTimersByContactIdChatId(contactId, chatId) {
return __awaiter(this, void 0, void 0, function* () {
const ts = yield models_1.models.Timer.findAll({ where: { receiver: contactId, chatId } });
ts.forEach(t => clearTimer(t));
models_1.models.Timer.destroy({ where: { receiver: contactId, chatId } });
});
}
exports.removeTimersByContactIdChatId = removeTimersByContactIdChatId;
function addTimer({ amount, millis, receiver, msgId, chatId }) {
return __awaiter(this, void 0, void 0, function* () {
const now = new Date().valueOf();

2
dist/api/utils/timers.js.map

@ -1 +1 @@
{"version":3,"file":"timers.js","sourceRoot":"","sources":["../../../api/utils/timers.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"timers.js","sourceRoot":"","sources":["../../../api/utils/timers.ts"],"names":[],"mappings":"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"}
Loading…
Cancel
Save