36 lines
895 B
TypeScript
36 lines
895 B
TypeScript
import { Router, Response } from 'express';
|
|
import { keyActivationProvider } from '../services/KeyActivationProvider';
|
|
import { mockAuthMiddleware, requireSteamAuth } from '../middleware/auth';
|
|
import { config } from '../config';
|
|
|
|
const router = Router();
|
|
|
|
router.post('/activate', requireSteamAuth, async (req, res: Response) => {
|
|
if (!config.features.allowTheoreticalActivation) {
|
|
return res.status(403).json({
|
|
success: false,
|
|
error: 'Automated key activation is disabled. This feature is for demonstration only.',
|
|
});
|
|
}
|
|
|
|
const { key } = req.body;
|
|
|
|
if (!key) {
|
|
return res.status(400).json({
|
|
success: false,
|
|
error: 'Key is required',
|
|
});
|
|
}
|
|
|
|
const user = req.userId;
|
|
|
|
const result = await keyActivationProvider.activateKey(user!, key);
|
|
|
|
res.json({
|
|
success: result.success,
|
|
data: result,
|
|
});
|
|
});
|
|
|
|
export default router;
|