init
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
import apiClient from './apiClient';
|
||||
|
||||
/**
|
||||
* 점수 관리 서비스
|
||||
*/
|
||||
export default {
|
||||
/**
|
||||
* 모임의 점수 데이터 가져오기
|
||||
* @param {number} meetingId - 모임 ID
|
||||
* @returns {Promise} - API 응답
|
||||
*/
|
||||
async getMeetingScores(meetingId) {
|
||||
return apiClient.get(`/meetings/${meetingId}/scores`);
|
||||
},
|
||||
|
||||
/**
|
||||
* 점수 저장하기
|
||||
* @param {number} meetingId - 모임 ID
|
||||
* @param {Array} scores - 점수 데이터 배열
|
||||
* @returns {Promise} - API 응답
|
||||
*/
|
||||
async saveScores(meetingId, scores) {
|
||||
return apiClient.post(`/meetings/${meetingId}/scores`, { scores });
|
||||
},
|
||||
|
||||
/**
|
||||
* 특정 참가자의 점수 이력 가져오기
|
||||
* @param {number} memberId - 회원 ID
|
||||
* @param {number} limit - 가져올 이력 수
|
||||
* @returns {Promise} - API 응답
|
||||
*/
|
||||
async getMemberScoreHistory(memberId, limit = 5) {
|
||||
return apiClient.get(`/members/${memberId}/scores/history`, { params: { limit } });
|
||||
},
|
||||
|
||||
/**
|
||||
* 점수 내보내기
|
||||
* @param {number} meetingId - 모임 ID
|
||||
* @param {string} format - 내보내기 형식 (xlsx, csv, pdf)
|
||||
* @param {Array} content - 내보낼 내용 배열
|
||||
* @returns {Promise} - API 응답 (파일 다운로드)
|
||||
*/
|
||||
async exportScores(meetingId, format, content) {
|
||||
return apiClient.get(`/meetings/${meetingId}/scores/export`, {
|
||||
params: { format, content: content.join(',') },
|
||||
responseType: 'blob'
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 팀별 점수 가져오기
|
||||
* @param {number} meetingId - 모임 ID
|
||||
* @returns {Promise} - API 응답
|
||||
*/
|
||||
async getTeamScores(meetingId) {
|
||||
return apiClient.get(`/meetings/${meetingId}/scores/teams`);
|
||||
},
|
||||
|
||||
/**
|
||||
* 개인 순위 가져오기
|
||||
* @param {number} meetingId - 모임 ID
|
||||
* @param {string} type - 순위 유형 (scratch, handicap)
|
||||
* @param {string} game - 게임 코드 (all, game1, game2, ...)
|
||||
* @returns {Promise} - API 응답
|
||||
*/
|
||||
async getIndividualRankings(meetingId, type = 'handicap', game = 'all') {
|
||||
return apiClient.get(`/meetings/${meetingId}/scores/rankings/individual`, {
|
||||
params: { type, game }
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 팀 순위 가져오기
|
||||
* @param {number} meetingId - 모임 ID
|
||||
* @returns {Promise} - API 응답
|
||||
*/
|
||||
async getTeamRankings(meetingId) {
|
||||
return apiClient.get(`/meetings/${meetingId}/scores/rankings/teams`);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user