- React + Vite + Tailwind 프론트엔드 - Express + Sequelize + MariaDB 백엔드 - 넥슨 OAuth 2.0 인증 (캐릭터 목록 조회) - 주간 보스 결정석 수익 계산기 UI (리스트형) - Docker Compose + Caddy 리버스 프록시 설정 - 보스/난이도 이미지 에셋 포함 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
31 lines
908 B
JavaScript
31 lines
908 B
JavaScript
import { Router } from 'express';
|
|
import { requireAuth } from '../../middleware/auth.js';
|
|
import { UserCharacter, UserBossSelection, BossDifficulty, Boss } from '../../models/index.js';
|
|
import { calculateRevenue } from '../../services/boss/calculator.js';
|
|
|
|
const router = Router();
|
|
|
|
router.get('/', requireAuth, async (req, res) => {
|
|
try {
|
|
const characters = await UserCharacter.findAll({
|
|
where: { user_id: req.session.userId },
|
|
include: [{
|
|
model: UserBossSelection,
|
|
as: 'selections',
|
|
include: [{
|
|
model: BossDifficulty,
|
|
as: 'difficulty',
|
|
include: [{ model: Boss }],
|
|
}],
|
|
}],
|
|
});
|
|
|
|
const result = calculateRevenue(characters);
|
|
res.json(result);
|
|
} catch (err) {
|
|
console.error('수익 계산 오류:', err.message);
|
|
res.status(500).json({ error: '수익 계산 실패' });
|
|
}
|
|
});
|
|
|
|
export default router;
|