import express, {Request, Response} from 'express'; import {requireAdminAuth} from '../tickets.auth'; import {vouchersAdminRouter} from './vouchers.admin.router'; import {redemptionsAdminRouter, voucherHistoryRouter} from './redemptions.admin.router'; import {eventsAdminRouter} from './events.admin.router'; export const adminRouter = express.Router(); // Applied once at the top of the admin router tree - every route below // requires a valid admin session (mirrors Feedback's admin.router.ts). adminRouter.use(requireAdminAuth); /** * @swagger * /tickets/admin/me: * get: * summary: Validate the current admin session * tags: [tickets-admin] * parameters: * - $ref: '#/components/parameters/SessionIdHeader' * - $ref: '#/components/parameters/SessionKeyHeader' * responses: * 200: * description: Success * 401: * description: Unauthorized */ adminRouter.get('/me', (req: Request, res: Response) => { res.status(200).send({email: res.locals.admin.email, fullName: res.locals.admin.displayName}); }); adminRouter.use('/vouchers', vouchersAdminRouter); adminRouter.use('/vouchers', voucherHistoryRouter); adminRouter.use('/redemptions', redemptionsAdminRouter); adminRouter.use('/events', eventsAdminRouter);