mirror of
https://github.com/NuSkooler/enigma-bbs.git
synced 2025-07-27 13:06:09 +02:00
Fix Message.findMessages() if private tag passed in, fix QWK export
This commit is contained in:
parent
72b6c5ded3
commit
fbec46d1b9
2 changed files with 20 additions and 14 deletions
|
@ -288,7 +288,7 @@ module.exports = class Message {
|
||||||
filter.extraFields = []
|
filter.extraFields = []
|
||||||
|
|
||||||
filter.privateTagUserId = <userId> - if set, only private messages belonging to <userId> are processed
|
filter.privateTagUserId = <userId> - if set, only private messages belonging to <userId> are processed
|
||||||
- any other areaTag or confTag filters will be ignored
|
- areaTags filter ignored
|
||||||
- if NOT present, private areas are skipped
|
- if NOT present, private areas are skipped
|
||||||
|
|
||||||
*=NYI
|
*=NYI
|
||||||
|
@ -364,21 +364,24 @@ module.exports = class Message {
|
||||||
)`);
|
)`);
|
||||||
} else {
|
} else {
|
||||||
if(filter.areaTag && filter.areaTag.length > 0) {
|
if(filter.areaTag && filter.areaTag.length > 0) {
|
||||||
if(Array.isArray(filter.areaTag)) {
|
if (!Array.isArray(filter.areaTag)) {
|
||||||
|
filter.areaTag = [ filter.areaTag ];
|
||||||
|
}
|
||||||
|
|
||||||
const areaList = filter.areaTag
|
const areaList = filter.areaTag
|
||||||
.filter(t => t != Message.WellKnownAreaTags.Private)
|
.filter(t => t !== Message.WellKnownAreaTags.Private)
|
||||||
.map(t => `"${t}"`).join(', ');
|
.map(t => `"${t}"`).join(', ');
|
||||||
if(areaList.length > 0) {
|
if(areaList.length > 0) {
|
||||||
appendWhereClause(`m.area_tag IN(${areaList})`);
|
appendWhereClause(`m.area_tag IN(${areaList})`);
|
||||||
|
} else {
|
||||||
|
// nothing to do; no areas remain
|
||||||
|
return cb(null, []);
|
||||||
}
|
}
|
||||||
} else if(_.isString(filter.areaTag) && Message.WellKnownAreaTags.Private !== filter.areaTag) {
|
} else {
|
||||||
appendWhereClause(`m.area_tag = "${filter.areaTag}"`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// explicit exclude of Private
|
// explicit exclude of Private
|
||||||
appendWhereClause(`m.area_tag != "${Message.WellKnownAreaTags.Private}"`, 'AND');
|
appendWhereClause(`m.area_tag != "${Message.WellKnownAreaTags.Private}"`, 'AND');
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(_.isNumber(filter.replyToMessageId)) {
|
if(_.isNumber(filter.replyToMessageId)) {
|
||||||
appendWhereClause(`m.reply_to_message_id=${filter.replyToMessageId}`);
|
appendWhereClause(`m.reply_to_message_id=${filter.replyToMessageId}`);
|
||||||
|
|
|
@ -270,7 +270,10 @@ exports.getModule = class MessageBaseQWKExport extends MenuModule {
|
||||||
},
|
},
|
||||||
(callback) => {
|
(callback) => {
|
||||||
// For each public area -> for each message
|
// For each public area -> for each message
|
||||||
const userExportAreas = this._getUserQWKExportAreas();
|
const userExportAreas = this._getUserQWKExportAreas()
|
||||||
|
.filter(exportArea => {
|
||||||
|
return exportArea.areaTag !== Message.WellKnownAreaTags.Private;
|
||||||
|
});
|
||||||
async.eachSeries(userExportAreas, (exportArea, nextExportArea) => {
|
async.eachSeries(userExportAreas, (exportArea, nextExportArea) => {
|
||||||
const area = getMessageAreaByTag(exportArea.areaTag);
|
const area = getMessageAreaByTag(exportArea.areaTag);
|
||||||
if (!area) {
|
if (!area) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue