mirror of
https://github.com/nodemailer/wildduck.git
synced 2024-09-20 15:26:03 +08:00
update for mongodb pagination
This commit is contained in:
parent
dbb9e9c456
commit
3418390d26
|
@ -170,18 +170,21 @@ module.exports = (db, server) => {
|
|||
filter.tagsview = tagsview;
|
||||
}
|
||||
|
||||
let total = await db.users.collection('addresses').count(filter);
|
||||
let total = await db.users.collection('addresses').countDocuments(filter);
|
||||
|
||||
let opts = {
|
||||
limit,
|
||||
query: filter,
|
||||
fields: {
|
||||
_id: true,
|
||||
address: true,
|
||||
name: true,
|
||||
user: true,
|
||||
tags: true,
|
||||
targets: true
|
||||
// FIXME: MongoPaging inserts fields value as second argument to col.find()
|
||||
projection: {
|
||||
_id: true,
|
||||
address: true,
|
||||
name: true,
|
||||
user: true,
|
||||
tags: true,
|
||||
targets: true
|
||||
}
|
||||
},
|
||||
paginatedField: 'addrview',
|
||||
sortAscending: true
|
||||
|
|
|
@ -319,7 +319,7 @@ module.exports = (db, server, userHandler) => {
|
|||
filter.ip = ip;
|
||||
}
|
||||
|
||||
let total = await db.database.collection('authlog').count(filter);
|
||||
let total = await db.database.collection('authlog').countDocuments(filter);
|
||||
|
||||
let opts = {
|
||||
limit,
|
||||
|
|
|
@ -130,7 +130,7 @@ module.exports = (db, server) => {
|
|||
}
|
||||
: {};
|
||||
|
||||
let total = await db.database.collection('dkim').count(filter);
|
||||
let total = await db.database.collection('dkim').countDocuments(filter);
|
||||
|
||||
let opts = {
|
||||
limit,
|
||||
|
|
|
@ -125,15 +125,18 @@ module.exports = (db, server) => {
|
|||
}
|
||||
: {};
|
||||
|
||||
let total = await db.users.collection('domainaliases').count(filter);
|
||||
let total = await db.users.collection('domainaliases').countDocuments(filter);
|
||||
|
||||
let opts = {
|
||||
limit,
|
||||
query: filter,
|
||||
fields: {
|
||||
_id: true,
|
||||
alias: true,
|
||||
domain: true
|
||||
// FIXME: MongoPaging inserts fields value as second argument to col.find()
|
||||
projection: {
|
||||
_id: true,
|
||||
alias: true,
|
||||
domain: true
|
||||
}
|
||||
},
|
||||
paginatedField: 'alias',
|
||||
sortAscending: true
|
||||
|
|
|
@ -229,26 +229,29 @@ module.exports = (db, server, messageHandler) => {
|
|||
limit,
|
||||
query: filter,
|
||||
fields: {
|
||||
_id: true,
|
||||
uid: true,
|
||||
msgid: true,
|
||||
'meta.from': true,
|
||||
hdate: true,
|
||||
subject: true,
|
||||
'mimeTree.parsedHeader.from': true,
|
||||
'mimeTree.parsedHeader.to': true,
|
||||
'mimeTree.parsedHeader.cc': true,
|
||||
'mimeTree.parsedHeader.sender': true,
|
||||
'mimeTree.parsedHeader.content-type': true,
|
||||
'mimeTree.parsedHeader.references': true,
|
||||
ha: true,
|
||||
intro: true,
|
||||
unseen: true,
|
||||
undeleted: true,
|
||||
flagged: true,
|
||||
draft: true,
|
||||
thread: true,
|
||||
flags: true
|
||||
// FIXME: MongoPaging inserts fields value as second argument to col.find()
|
||||
projection: {
|
||||
_id: true,
|
||||
uid: true,
|
||||
msgid: true,
|
||||
'meta.from': true,
|
||||
hdate: true,
|
||||
subject: true,
|
||||
'mimeTree.parsedHeader.from': true,
|
||||
'mimeTree.parsedHeader.to': true,
|
||||
'mimeTree.parsedHeader.cc': true,
|
||||
'mimeTree.parsedHeader.sender': true,
|
||||
'mimeTree.parsedHeader.content-type': true,
|
||||
'mimeTree.parsedHeader.references': true,
|
||||
ha: true,
|
||||
intro: true,
|
||||
unseen: true,
|
||||
undeleted: true,
|
||||
flagged: true,
|
||||
draft: true,
|
||||
thread: true,
|
||||
flags: true
|
||||
}
|
||||
},
|
||||
paginatedField: 'idate',
|
||||
sortAscending
|
||||
|
@ -664,27 +667,32 @@ module.exports = (db, server, messageHandler) => {
|
|||
limit,
|
||||
query: filter,
|
||||
fields: {
|
||||
// FIXME: hack to keep _id in response
|
||||
_id: true,
|
||||
uid: true,
|
||||
msgid: true,
|
||||
mailbox: true,
|
||||
'meta.from': true,
|
||||
hdate: true,
|
||||
subject: true,
|
||||
'mimeTree.parsedHeader.from': true,
|
||||
'mimeTree.parsedHeader.sender': true,
|
||||
'mimeTree.parsedHeader.to': true,
|
||||
'mimeTree.parsedHeader.cc': true,
|
||||
'mimeTree.parsedHeader.content-type': true,
|
||||
'mimeTree.parsedHeader.references': true,
|
||||
ha: true,
|
||||
intro: true,
|
||||
unseen: true,
|
||||
undeleted: true,
|
||||
flagged: true,
|
||||
draft: true,
|
||||
thread: true,
|
||||
flags: true
|
||||
// FIXME: MongoPaging inserts fields value as second argument to col.find()
|
||||
projection: {
|
||||
_id: true,
|
||||
uid: true,
|
||||
msgid: true,
|
||||
mailbox: true,
|
||||
'meta.from': true,
|
||||
hdate: true,
|
||||
subject: true,
|
||||
'mimeTree.parsedHeader.from': true,
|
||||
'mimeTree.parsedHeader.sender': true,
|
||||
'mimeTree.parsedHeader.to': true,
|
||||
'mimeTree.parsedHeader.cc': true,
|
||||
'mimeTree.parsedHeader.content-type': true,
|
||||
'mimeTree.parsedHeader.references': true,
|
||||
ha: true,
|
||||
intro: true,
|
||||
unseen: true,
|
||||
undeleted: true,
|
||||
flagged: true,
|
||||
draft: true,
|
||||
thread: true,
|
||||
flags: true
|
||||
}
|
||||
},
|
||||
paginatedField: '_id',
|
||||
sortAscending: false
|
||||
|
@ -2470,27 +2478,32 @@ module.exports = (db, server, messageHandler) => {
|
|||
limit,
|
||||
query: { user },
|
||||
fields: {
|
||||
// FIXME: hack to keep _id in response
|
||||
_id: true,
|
||||
mailbox: true,
|
||||
uid: true,
|
||||
msgid: true,
|
||||
'meta.from': true,
|
||||
hdate: true,
|
||||
subject: true,
|
||||
'mimeTree.parsedHeader.from': true,
|
||||
'mimeTree.parsedHeader.sender': true,
|
||||
'mimeTree.parsedHeader.to': true,
|
||||
'mimeTree.parsedHeader.cc': true,
|
||||
'mimeTree.parsedHeader.content-type': true,
|
||||
'mimeTree.parsedHeader.references': true,
|
||||
ha: true,
|
||||
intro: true,
|
||||
unseen: true,
|
||||
undeleted: true,
|
||||
flagged: true,
|
||||
draft: true,
|
||||
thread: true,
|
||||
flags: true
|
||||
// FIXME: MongoPaging inserts fields value as second argument to col.find()
|
||||
projection: {
|
||||
_id: true,
|
||||
mailbox: true,
|
||||
uid: true,
|
||||
msgid: true,
|
||||
'meta.from': true,
|
||||
hdate: true,
|
||||
subject: true,
|
||||
'mimeTree.parsedHeader.from': true,
|
||||
'mimeTree.parsedHeader.sender': true,
|
||||
'mimeTree.parsedHeader.to': true,
|
||||
'mimeTree.parsedHeader.cc': true,
|
||||
'mimeTree.parsedHeader.content-type': true,
|
||||
'mimeTree.parsedHeader.references': true,
|
||||
ha: true,
|
||||
intro: true,
|
||||
unseen: true,
|
||||
undeleted: true,
|
||||
flagged: true,
|
||||
draft: true,
|
||||
thread: true,
|
||||
flags: true
|
||||
}
|
||||
},
|
||||
paginatedField: '_id',
|
||||
sortAscending
|
||||
|
@ -3135,7 +3148,7 @@ function getFilteredMessageCount(db, filter, done) {
|
|||
return tools.getMailboxCounter(db, filter.mailbox, false, done);
|
||||
}
|
||||
|
||||
db.database.collection('messages').count(filter, (err, total) => {
|
||||
db.database.collection('messages').countDocuments(filter, (err, total) => {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
|
@ -3144,7 +3157,7 @@ function getFilteredMessageCount(db, filter, done) {
|
|||
}
|
||||
|
||||
function getArchivedMessageCount(db, user, done) {
|
||||
db.database.collection('archived').count({ user }, (err, total) => {
|
||||
db.database.collection('archived').countDocuments({ user }, (err, total) => {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
|
|
|
@ -199,26 +199,33 @@ module.exports = (db, server, userHandler) => {
|
|||
filter.tagsview = tagsview;
|
||||
}
|
||||
|
||||
let total = await db.users.collection('users').count(filter);
|
||||
let total = await db.users.collection('users').countDocuments(filter);
|
||||
|
||||
let opts = {
|
||||
limit,
|
||||
query: filter,
|
||||
fields: {
|
||||
// FIXME: hack to keep _id in response
|
||||
_id: true,
|
||||
username: true,
|
||||
name: true,
|
||||
address: true,
|
||||
tags: true,
|
||||
storageUsed: true,
|
||||
targets: true,
|
||||
quota: true,
|
||||
activated: true,
|
||||
disabled: true,
|
||||
password: true,
|
||||
encryptMessages: true,
|
||||
encryptForwarded: true
|
||||
// FIXME: MongoPaging inserts fields value as second argument to col.find()
|
||||
projection: {
|
||||
_id: true,
|
||||
username: true,
|
||||
name: true,
|
||||
address: true,
|
||||
tags: true,
|
||||
storageUsed: true,
|
||||
targets: true,
|
||||
quota: true,
|
||||
activated: true,
|
||||
disabled: true,
|
||||
password: true,
|
||||
encryptMessages: true,
|
||||
encryptForwarded: true
|
||||
}
|
||||
},
|
||||
// _id gets removed in response if not explicitly set in paginatedField
|
||||
paginatedField: '_id',
|
||||
sortAscending: true
|
||||
};
|
||||
|
||||
|
|
|
@ -151,7 +151,7 @@ function getMailboxCounter(db, mailbox, type, done) {
|
|||
query[type] = true;
|
||||
}
|
||||
|
||||
db.database.collection('messages').count(query, (err, sum) => {
|
||||
db.database.collection('messages').countDocuments(query, (err, sum) => {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue