simplify: prune dead code, dedup gmail send, drop neutered log stubs
- Remove no-op log stubs (logGmail, logAutomation, logSecurity, logSystem) and ~17 callsites; dead counters in tickets.js and gmail-poll.js go too - Dedup three near-identical Gmail send paths into sendThreadedEmail helper - Drop dead Mongoose fields: broccoliniTicketId, lastSyncedBroccoliniArticleId, renameCount, renameWindowStart, reminderSent, staffChannelId, unclaimedRemindersSent, lastMessageAuthorIsStaff - Drop dead config fields and their .env.example entries - Inline api/botClient.js (3-line wrapper, 2 callers) - Trim unused exports across utils.js, tickets.js, configSchema.js, debugLog.js - Fix handlers/messages.js to use isStaff() — old partial check ignored ADDITIONAL_STAFF_ROLES, so those members were treated as customers - Drop unused deps p-queue + dotenv-expand; move mongodb to devDependencies Net: -583 LOC source + -57 LOC lockfile. All 23 modules load clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -4,7 +4,6 @@ const { ChannelType } = require('discord.js');
|
||||
const { CONFIG } = require('../config');
|
||||
const { safeEqual } = require('../utils');
|
||||
const { applyConfigUpdates, readAllConfig } = require('../services/configPersistence');
|
||||
const { logSystem } = require('../services/debugLog');
|
||||
const { ALLOWED_CONFIG_KEYS } = require('../services/configSchema');
|
||||
|
||||
const router = express.Router();
|
||||
@@ -54,11 +53,6 @@ router.post('/config', express.json(), async (req, res) => {
|
||||
return res.status(400).json({ error: `Disallowed config keys: ${rejected.join(', ')}` });
|
||||
}
|
||||
const result = applyConfigUpdates(updates);
|
||||
const errorSummary = result.errors.map(e => `${e.key}: ${e.error}`).join(', ');
|
||||
await logSystem('Config updated via settings UI', [
|
||||
{ name: 'Keys updated', value: result.applied.join(', ') || 'none', inline: false },
|
||||
{ name: 'Errors', value: errorSummary || 'none', inline: false }
|
||||
]).catch(() => {});
|
||||
// Partial success stays 200 so the client can still apply the successful keys.
|
||||
// Only 400 when every submitted key failed validation (i.e. the save did nothing).
|
||||
const totalSubmitted = Object.keys(updates).length;
|
||||
@@ -69,7 +63,7 @@ router.post('/config', express.json(), async (req, res) => {
|
||||
// GET /discord/guild — return guild info for smart dropdowns
|
||||
router.get('/discord/guild', async (req, res) => {
|
||||
try {
|
||||
const client = require('../api/botClient').getBot();
|
||||
const client = require('../broccolini-discord').client;
|
||||
if (!client) return res.status(503).json({ error: 'Bot not ready' });
|
||||
|
||||
const guild = client.guilds.cache.get(CONFIG.DISCORD_GUILD_ID);
|
||||
@@ -178,9 +172,6 @@ router.post('/gmail/reload', express.json(), async (req, res) => {
|
||||
if (parent.setGmailPollInterval) {
|
||||
parent.setGmailPollInterval(CONFIG.GMAIL_POLL_INTERVAL_MS);
|
||||
}
|
||||
await logSystem('Gmail OAuth reloaded', [
|
||||
{ name: 'Account', value: emailAddress, inline: false }
|
||||
]).catch(() => {});
|
||||
res.json({ ok: true, email: emailAddress });
|
||||
} catch (err) {
|
||||
const oauthError = err && err.response && err.response.data && err.response.data.error;
|
||||
|
||||
Reference in New Issue
Block a user