Files
bowlingManager/backend/routes/clubRoutes.js
T
2025-06-09 15:35:05 +09:00

66 lines
2.2 KiB
JavaScript

const express = require('express');
const router = express.Router();
const jwt = require('jsonwebtoken');
const clubController = require('../controllers/clubController');
const { authenticateJWT } = require('../middleware/authMiddleware');
const requireFeature = require('../middleware/requireFeature');
// 클럽 선택
router.post('/select-club', authenticateJWT, clubController.selectClub);
// 모든 클럽 조회
router.get('/', clubController.getAllClubs);
// 특정 클럽 조회
router.post('/', authenticateJWT, clubController.getClubById);
// 클럽 정보 업데이트
router.put('/', authenticateJWT, clubController.updateClub);
// 클럽 삭제
router.delete('/', authenticateJWT, clubController.deleteClub);
// 사용자 클럽 목록 조회
router.post('/user', authenticateJWT, clubController.getUserClubs);
// 클럽 회원 통계 조회
router.post('/members/stats', authenticateJWT, clubController.getMemberStats);
// 클럽 회원 목록 조회
router.post('/members', authenticateJWT, clubController.getClubMembers);
// 클럽 회원 추가
router.post('/members/add', authenticateJWT, clubController.addClubMember);
// 클럽 회원 수정
router.post('/members/update', authenticateJWT, clubController.updateClubMember);
// 클럽 회원 삭제
router.post('/members/delete', authenticateJWT, clubController.deleteClubMember);
// 다음 모임 정보 조회
router.post('/meetings/next', authenticateJWT, clubController.getNextMeetings);
// 최근 모임 정보 조회
router.post('/meetings/last', authenticateJWT, clubController.getLastMeeting);
// 최근 정기 모임 목록 조회
router.post('/meetings/recent', authenticateJWT, clubController.getRecentMeetings);
// 점수 통계 조회
router.post('/scores/stats', authenticateJWT, clubController.getScoreStats);
// 상위 회원 목록 조회
router.post('/members/top', authenticateJWT, clubController.getTopMembers);
// 새 클럽 생성
router.post('/create', authenticateJWT, clubController.createClub);
// 클럽 통계 조회
router.post('/statistics', authenticateJWT, requireFeature('statistics'), clubController.getStatistics);
// 클럽 기능 관리
router.put('/features', authenticateJWT, clubController.manageClubFeatures);
module.exports = router;