'use strict'; /** * Gamification — facade module. * Implementation split into ./gamification/* domain files. * Public surface (re-exports) is identical to the pre-split single file * for backwards compatibility with existing route mounts and inter-controller * imports (biochem, classes, games, lessons, pet, redBook, session, etc.). */ const service = require('./gamification/service'); const api = require('./gamification/api'); const admin = require('./gamification/admin'); module.exports = { // API handlers (mounted by routes/gamification.js) ...api, // Admin handlers ...admin, // Service functions for other controllers awardXP: service.awardXP, awardCoins: service.awardCoins, seedAchievements: service.seedAchievements, checkAchievements: service.checkAchievements, checkRedBookAchievements: service.checkRedBookAchievements, onTestFinished: service.onTestFinished, onClassJoined: service.onClassJoined, onLabExperiment: service.onLabExperiment, onLessonComplete: service.onLessonComplete, updateDailyGoal: service.updateDailyGoal, updateChallenges: service.updateChallenges, };