Evan Feenstra 4 years ago
parent
commit
f8dca101a4
  1. 1
      dist/src/controllers/index.js
  2. 2
      dist/src/controllers/index.js.map
  3. 32
      dist/src/controllers/messages.js
  4. 2
      dist/src/controllers/messages.js.map
  5. 1
      src/controllers/index.ts
  6. 38
      src/controllers/messages.ts

1
dist/src/controllers/index.js

@ -63,6 +63,7 @@ function set(app) {
app.post('/contacts/:id/keys', contacts.exchangeKeys);
app.post('/contacts', contacts.createContact);
app.delete('/contacts/:id', contacts.deleteContact);
app.get('/msgs', messages.getMsgs);
app.get('/allmessages', messages.getAllMessages);
app.get('/messages', messages.getMessages);
app.delete('/message/:id', messages.deleteMessage);

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

File diff suppressed because one or more lines are too long

32
dist/src/controllers/messages.js

@ -108,6 +108,38 @@ exports.getAllMessages = (req, res) => __awaiter(void 0, void 0, void 0, functio
confirmed_messages: []
});
});
exports.getMsgs = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
const limit = (req.query.limit && parseInt(req.query.limit));
const offset = (req.query.offset && parseInt(req.query.offset));
const dateToReturn = req.query.date;
if (!dateToReturn) {
return exports.getAllMessages(req, res);
}
console.log(`=> getMsgs, limit: ${limit}, offset: ${offset}`);
const clause = {
order: [['id', 'asc']],
where: {
updated_at: { [sequelize_1.Op.gte]: dateToReturn },
}
};
if (limit) {
clause.limit = limit;
clause.offset = offset;
}
const messages = yield models_1.models.Message.findAll(clause);
console.log('=> got msgs', (messages && messages.length));
const chatIds = [];
messages.forEach((m) => {
if (m.chatId && !chatIds.includes(m.chatId)) {
chatIds.push(m.chatId);
}
});
let chats = chatIds.length > 0 ? yield models_1.models.Chat.findAll({ where: { deleted: false, id: chatIds } }) : [];
const chatsById = underscore_1.indexBy(chats, 'id');
res_1.success(res, {
new_messages: messages.map(message => jsonUtils.messageToJson(message, chatsById[parseInt(message.chatId)])),
});
});
function deleteMessage(req, res) {
return __awaiter(this, void 0, void 0, function* () {
const id = parseInt(req.params.id);

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

File diff suppressed because one or more lines are too long

1
src/controllers/index.ts

@ -59,6 +59,7 @@ export async function set(app) {
app.post('/contacts', contacts.createContact)
app.delete('/contacts/:id', contacts.deleteContact)
app.get('/msgs', messages.getMsgs)
app.get('/allmessages', messages.getAllMessages)
app.get('/messages', messages.getMessages)
app.delete('/message/:id', messages.deleteMessage)

38
src/controllers/messages.ts

@ -93,6 +93,7 @@ export const getMessages = async (req, res) => {
export const getAllMessages = async (req, res) => {
const limit = (req.query.limit && parseInt(req.query.limit)) || 1000
const offset = (req.query.offset && parseInt(req.query.offset)) || 0
console.log(`=> getAllMessages, limit: ${limit}, offset: ${offset}`)
const messages = await models.Message.findAll({ order: [['id', 'asc']], limit, offset })
@ -116,6 +117,43 @@ export const getAllMessages = async (req, res) => {
})
};
export const getMsgs = async (req, res) => {
const limit = (req.query.limit && parseInt(req.query.limit))
const offset = (req.query.offset && parseInt(req.query.offset))
const dateToReturn = req.query.date;
if (!dateToReturn) {
return getAllMessages(req, res)
}
console.log(`=> getMsgs, limit: ${limit}, offset: ${offset}`)
const clause:{[k:string]:any} = {
order: [['id', 'asc']],
where: {
updated_at: { [Op.gte]: dateToReturn },
}
}
if(limit) {
clause.limit = limit
clause.offset = offset
}
const messages = await models.Message.findAll(clause)
console.log('=> got msgs', (messages && messages.length))
const chatIds: number[] = []
messages.forEach((m) => {
if (m.chatId && !chatIds.includes(m.chatId)) {
chatIds.push(m.chatId)
}
})
let chats = chatIds.length > 0 ? await models.Chat.findAll({ where: { deleted: false, id: chatIds } }) : []
const chatsById = indexBy(chats, 'id')
success(res, {
new_messages: messages.map(
message => jsonUtils.messageToJson(message, chatsById[parseInt(message.chatId)])
),
})
};
export async function deleteMessage(req, res) {
const id = parseInt(req.params.id)

Loading…
Cancel
Save