mirror of
https://github.com/nodemailer/wildduck.git
synced 2025-09-11 15:45:53 +08:00
Fetch oldest UID
This commit is contained in:
parent
6e40ea3b77
commit
5914c03456
1 changed files with 79 additions and 51 deletions
30
api.js
30
api.js
|
@ -784,6 +784,33 @@ server.get('/mailbox/:id', (req, res, next) => {
|
|||
|
||||
let newest = entry.uid;
|
||||
|
||||
db.database.collection('messages').findOne({
|
||||
mailbox: mailbox._id
|
||||
}, {
|
||||
fields: {
|
||||
uid: true
|
||||
},
|
||||
sort: {
|
||||
uid: 1
|
||||
}
|
||||
}, (err, entry) => {
|
||||
if (err) {
|
||||
res.json({
|
||||
error: 'MongoDB Error: ' + err.message,
|
||||
id
|
||||
});
|
||||
return next();
|
||||
}
|
||||
|
||||
if (!entry) {
|
||||
res.json({
|
||||
error: 'Unexpected result'
|
||||
});
|
||||
return next();
|
||||
}
|
||||
|
||||
let oldest = entry.uid;
|
||||
|
||||
db.database.collection('messages').find(query, {
|
||||
uid: true,
|
||||
mailbox: true,
|
||||
|
@ -816,7 +843,7 @@ server.get('/mailbox/:id', (req, res, next) => {
|
|||
}
|
||||
if (messages.length >= size) {
|
||||
nextPage = messages[messages.length - 1].uid;
|
||||
if (nextPage <= 0) {
|
||||
if (nextPage < oldest) {
|
||||
nextPage = false;
|
||||
}
|
||||
}
|
||||
|
@ -851,6 +878,7 @@ server.get('/mailbox/:id', (req, res, next) => {
|
|||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
server.get('/message/:id', (req, res, next) => {
|
||||
|
|
Loading…
Add table
Reference in a new issue