chore(dashboard): remove the Maintenance page

The page held one-off repairs from Nexus Dashboard (approve known pet
names, find/delete orphaned pet names, remove every buff, fix property
clone IDs, list mission rewards without a commendation price). Removed
the page, its sidebar entry, its /api/maintenance/* routes, the
`maintenance` permission and the two database calls only it used
(GetAllPetNames, FixPropertyCloneIds). The scheduled tasks (lift expired
bans, fill in pet owners, approve known pet names) and property model
import/removal stay.

Check: the Admin sidebar group has no Maintenance link; /maintenance is
a 404; the Tasks page still lists "Approve known pet names" and "Fill in
pet owners"; property import still works; the Permissions page no
longer lists "Data maintenance".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-28 23:19:41 -05:00
parent 7440e5744d
commit b0dab03807
14 changed files with 5 additions and 297 deletions

View File

@@ -9,23 +9,17 @@
#include "dCommonVars.h"
// Bulk data repairs run from the dashboard's maintenance page
// Bulk data reads and repairs for dashboard reports and scheduled tasks
class IDashboardMaintenance {
public:
// Approve pending pet names that an earlier pet with the same name was approved for. Returns rows changed.
virtual uint32_t ApprovePreviouslyApprovedPetNames() = 0;
// Every pet name as (id, name)
virtual std::vector<std::pair<LWOOBJID, std::string>> GetAllPetNames() = 0;
// Call visit for every character's XML, one row at a time
virtual void ForEachCharacterXml(const std::function<void(LWOOBJID, const std::string&)>& visit) = 0;
// Same, but only characters whose XML contains `needle`; the database does the filtering
virtual void ForEachCharacterXmlContaining(const std::string& needle, const std::function<void(LWOOBJID, const std::string&)>& visit) = 0;
// Set each property's clone id to its owner's prop_clone_id where they differ. Returns rows changed.
virtual uint32_t FixPropertyCloneIds() = 0;
};
#endif //!__IDASHBOARDMAINTENANCE__H__