import { ifNoUser401 } from '../utils/middleware'; export default function settingsController(app) { const api = app.loopback.Router(); const toggleUserFlag = flag => (req, res, next) => { const { user } = req; const currentValue = user[ flag ]; return user .update$({ [ flag ]: !currentValue }) .subscribe( () => res.status(200).json({ flag, value: !currentValue }), next ); }; api.post( '/toggle-lockdown', toggleUserFlag('isLocked') ); api.post( '/toggle-announcement-email', ifNoUser401, toggleUserFlag('sendMonthlyEmail') ); api.post( '/toggle-notification-email', ifNoUser401, toggleUserFlag('sendNotificationEmail') ); api.post( '/toggle-quincy-email', ifNoUser401, toggleUserFlag('sendQuincyEmail') ); app.use(api); }