23 lines
670 B
JavaScript
23 lines
670 B
JavaScript
const moderate = require('moderate-censor');
|
|
|
|
/**
|
|
* Moderates user input using moderate-censor.
|
|
* @param {string} text
|
|
* @returns {Promise<{allowed: boolean, reasons: string[]}>}
|
|
*/
|
|
async function moderateInput(text) {
|
|
try {
|
|
const result = await moderate.moderate(text);
|
|
if (result.isAllowed) {
|
|
return { allowed: true, reasons: [] };
|
|
} else {
|
|
return { allowed: false, reasons: result.reasons || [] };
|
|
}
|
|
} catch (err) {
|
|
console.error('Moderation error:', err);
|
|
// If moderation fails, default to allowing to avoid blocking legitimate queries
|
|
return { allowed: true, reasons: [] };
|
|
}
|
|
}
|
|
|
|
module.exports = { moderateInput }; |