66 lines
2.2 KiB
JavaScript
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;
|