init
This commit is contained in:
@@ -0,0 +1,351 @@
|
||||
import apiClient from './api';
|
||||
|
||||
/**
|
||||
* 관리자 API 서비스
|
||||
*/
|
||||
const adminService = {
|
||||
/**
|
||||
* 모든 클럽 목록 조회
|
||||
* @returns {Promise} - 클럽 목록
|
||||
*/
|
||||
getClubs() {
|
||||
return apiClient.get('/api/admin/clubs');
|
||||
},
|
||||
|
||||
/**
|
||||
* 모든 클럽 조회
|
||||
* @returns {Promise} - 클럽 목록
|
||||
*/
|
||||
getAllClubs() {
|
||||
return apiClient.get('/api/admin/clubs');
|
||||
},
|
||||
|
||||
/**
|
||||
* 특정 클럽 조회
|
||||
* @param {Number} id - 클럽 ID
|
||||
* @returns {Promise} - 클럽 정보
|
||||
*/
|
||||
getClubById(id) {
|
||||
return apiClient.get(`/api/admin/clubs/${id}`);
|
||||
},
|
||||
|
||||
/**
|
||||
* 클럽 정보 업데이트
|
||||
* @param {Number} id - 클럽 ID
|
||||
* @param {Object} clubData - 업데이트할 클럽 정보
|
||||
* @returns {Promise} - 업데이트된 클럽 정보
|
||||
*/
|
||||
updateClub(id, clubData) {
|
||||
return apiClient.put(`/api/admin/clubs/${id}`, clubData);
|
||||
},
|
||||
|
||||
/**
|
||||
* 클럽 삭제
|
||||
* @param {Number} id - 클럽 ID
|
||||
* @returns {Promise} - 삭제 결과
|
||||
*/
|
||||
deleteClub(id) {
|
||||
return apiClient.delete(`/api/admin/clubs/${id}`);
|
||||
},
|
||||
|
||||
/**
|
||||
* 클럽 멤버 조회
|
||||
* @param {Number} id - 클럽 ID
|
||||
* @returns {Promise} - 클럽 멤버 목록
|
||||
*/
|
||||
getClubMembers(id) {
|
||||
return apiClient.get(`/api/admin/clubs/${id}/members`);
|
||||
},
|
||||
|
||||
/**
|
||||
* 클럽 멤버 추가
|
||||
* @param {Number} id - 클럽 ID
|
||||
* @param {Object} memberData - 멤버 정보
|
||||
* @returns {Promise} - 추가된 멤버 정보
|
||||
*/
|
||||
addClubMember(id, memberData) {
|
||||
return apiClient.post(`/api/admin/clubs/${id}/members`, memberData);
|
||||
},
|
||||
|
||||
/**
|
||||
* 클럽 멤버 정보 업데이트
|
||||
* @param {Number} clubId - 클럽 ID
|
||||
* @param {Number} memberId - 멤버 ID
|
||||
* @param {Object} memberData - 업데이트할 멤버 정보
|
||||
* @returns {Promise} - 업데이트된 멤버 정보
|
||||
*/
|
||||
updateClubMember(clubId, memberId, memberData) {
|
||||
return apiClient.put(`/api/admin/clubs/${clubId}/members/${memberId}`, memberData);
|
||||
},
|
||||
|
||||
/**
|
||||
* 클럽 회원 삭제
|
||||
* @param {Number} clubId - 클럽 ID
|
||||
* @param {Number} memberId - 멤버 ID
|
||||
* @returns {Promise} - 삭제 결과
|
||||
*/
|
||||
deleteClubMember(clubId, memberId) {
|
||||
return apiClient.delete(`/api/admin/clubs/${clubId}/members/${memberId}`);
|
||||
},
|
||||
|
||||
/**
|
||||
* 모든 사용자 조회
|
||||
* @returns {Promise} - 사용자 목록
|
||||
*/
|
||||
getAllUsers() {
|
||||
return apiClient.get('/api/admin/users');
|
||||
},
|
||||
|
||||
/**
|
||||
* 특정 사용자 조회
|
||||
* @param {Number} id - 사용자 ID
|
||||
* @returns {Promise} - 사용자 정보
|
||||
*/
|
||||
getUserById(id) {
|
||||
return apiClient.get(`/api/admin/users/${id}`);
|
||||
},
|
||||
|
||||
/**
|
||||
* 사용자 정보 업데이트
|
||||
* @param {Number} id - 사용자 ID
|
||||
* @param {Object} userData - 업데이트할 사용자 정보
|
||||
* @returns {Promise} - 업데이트된 사용자 정보
|
||||
*/
|
||||
updateUser(id, userData) {
|
||||
return apiClient.put(`/api/admin/users/${id}`, userData);
|
||||
},
|
||||
|
||||
/**
|
||||
* 사용자 삭제
|
||||
* @param {Number} id - 사용자 ID
|
||||
* @returns {Promise} - 삭제 결과
|
||||
*/
|
||||
deleteUser(id) {
|
||||
return apiClient.delete(`/api/admin/users/${id}`);
|
||||
},
|
||||
|
||||
/**
|
||||
* 모든 이벤트 조회
|
||||
* @returns {Promise} - 이벤트 목록
|
||||
*/
|
||||
getAllEvents() {
|
||||
return apiClient.get('/api/admin/events');
|
||||
},
|
||||
|
||||
/**
|
||||
* 특정 이벤트 조회
|
||||
* @param {Number} id - 이벤트 ID
|
||||
* @returns {Promise} - 이벤트 정보
|
||||
*/
|
||||
getEventById(id) {
|
||||
return apiClient.get(`/api/admin/events/${id}`);
|
||||
},
|
||||
|
||||
/**
|
||||
* 새 이벤트 생성
|
||||
* @param {Object} eventData - 이벤트 정보
|
||||
* @returns {Promise} - 생성된 이벤트 정보
|
||||
*/
|
||||
createEvent(eventData) {
|
||||
return apiClient.post('/api/admin/events', eventData);
|
||||
},
|
||||
|
||||
/**
|
||||
* 이벤트 정보 업데이트
|
||||
* @param {Number} id - 이벤트 ID
|
||||
* @param {Object} eventData - 업데이트할 이벤트 정보
|
||||
* @returns {Promise} - 업데이트된 이벤트 정보
|
||||
*/
|
||||
updateEvent(id, eventData) {
|
||||
return apiClient.put(`/api/admin/events/${id}`, eventData);
|
||||
},
|
||||
|
||||
/**
|
||||
* 이벤트 삭제
|
||||
* @param {Number} id - 이벤트 ID
|
||||
* @returns {Promise} - 삭제 결과
|
||||
*/
|
||||
deleteEvent(id) {
|
||||
return apiClient.delete(`/api/admin/events/${id}`);
|
||||
},
|
||||
|
||||
/**
|
||||
* 이벤트 참가자 목록 조회
|
||||
* @param {Number} eventId - 이벤트 ID
|
||||
* @returns {Promise} - 참가자 목록
|
||||
*/
|
||||
getEventParticipants(eventId) {
|
||||
return apiClient.get(`/api/admin/events/${eventId}/participants`);
|
||||
},
|
||||
|
||||
/**
|
||||
* 이벤트 참가자 추가
|
||||
* @param {Number} eventId - 이벤트 ID
|
||||
* @param {Number} userId - 사용자 ID
|
||||
* @returns {Promise} - 추가된 참가자 정보
|
||||
*/
|
||||
addEventParticipant(eventId, userId) {
|
||||
return apiClient.post(`/api/admin/events/${eventId}/participants`, { userId });
|
||||
},
|
||||
|
||||
/**
|
||||
* 이벤트 참가자 상태 업데이트
|
||||
* @param {Number} eventId - 이벤트 ID
|
||||
* @param {Number} participantId - 참가자 ID
|
||||
* @param {String} status - 새로운 상태
|
||||
* @returns {Promise} - 업데이트된 참가자 정보
|
||||
*/
|
||||
updateEventParticipantStatus(eventId, participantId, status) {
|
||||
return apiClient.put(`/api/admin/events/${eventId}/participants/${participantId}`, { status });
|
||||
},
|
||||
|
||||
/**
|
||||
* 이벤트 참가자 제거
|
||||
* @param {Number} eventId - 이벤트 ID
|
||||
* @param {Number} participantId - 참가자 ID
|
||||
* @returns {Promise} - 제거 결과
|
||||
*/
|
||||
removeEventParticipant(eventId, participantId) {
|
||||
return apiClient.delete(`/api/admin/events/${eventId}/participants/${participantId}`);
|
||||
},
|
||||
|
||||
/**
|
||||
* 구독 플랜 목록 조회
|
||||
* @returns {Promise} - 구독 플랜 목록
|
||||
*/
|
||||
getPlans() {
|
||||
return apiClient.get('/api/admin/subscriptions/plans');
|
||||
},
|
||||
|
||||
/**
|
||||
* 특정 구독 플랜 조회
|
||||
* @param {Number} id - 구독 플랜 ID
|
||||
* @returns {Promise} - 구독 플랜 정보
|
||||
*/
|
||||
getPlanById(id) {
|
||||
return apiClient.get(`/api/admin/subscriptions/plans/${id}`);
|
||||
},
|
||||
|
||||
/**
|
||||
* 새 구독 플랜 생성
|
||||
* @param {Object} planData - 구독 플랜 정보
|
||||
* @returns {Promise} - 생성된 구독 플랜 정보
|
||||
*/
|
||||
createPlan(planData) {
|
||||
return apiClient.post('/api/admin/subscriptions/plans', planData);
|
||||
},
|
||||
|
||||
/**
|
||||
* 구독 플랜 정보 업데이트
|
||||
* @param {Number} id - 구독 플랜 ID
|
||||
* @param {Object} planData - 업데이트할 구독 플랜 정보
|
||||
* @returns {Promise} - 업데이트된 구독 플랜 정보
|
||||
*/
|
||||
updatePlan(id, planData) {
|
||||
return apiClient.put(`/api/admin/subscriptions/plans/${id}`, planData);
|
||||
},
|
||||
|
||||
/**
|
||||
* 구독 플랜 삭제
|
||||
* @param {Number} id - 구독 플랜 ID
|
||||
* @returns {Promise} - 삭제 결과
|
||||
*/
|
||||
deletePlan(id) {
|
||||
return apiClient.delete(`/api/admin/subscriptions/plans/${id}`);
|
||||
},
|
||||
|
||||
/**
|
||||
* 모든 구독 목록 조회
|
||||
* @returns {Promise} - 구독 목록
|
||||
*/
|
||||
getSubscriptions() {
|
||||
return apiClient.get('/api/admin/subscriptions');
|
||||
},
|
||||
|
||||
/**
|
||||
* 구독 플랜의 구독 목록 조회
|
||||
* @param {Number} planId - 구독 플랜 ID
|
||||
* @returns {Promise} - 구독 목록
|
||||
*/
|
||||
getPlanSubscriptions(planId) {
|
||||
return apiClient.get(`/api/admin/subscriptions/plans/${planId}/subscriptions`);
|
||||
},
|
||||
|
||||
/**
|
||||
* 모든 기능 목록 조회
|
||||
* @returns {Promise} - 기능 목록
|
||||
*/
|
||||
getFeatures() {
|
||||
return apiClient.get('/api/admin/features');
|
||||
},
|
||||
|
||||
/**
|
||||
* 새 구독 생성
|
||||
* @param {Object} subscriptionData - 구독 정보
|
||||
* @returns {Promise} - 생성된 구독 정보
|
||||
*/
|
||||
createSubscription(subscriptionData) {
|
||||
return apiClient.post('/api/admin/subscriptions', subscriptionData);
|
||||
},
|
||||
|
||||
/**
|
||||
* 구독 정보 업데이트
|
||||
* @param {Number} id - 구독 ID
|
||||
* @param {Object} subscriptionData - 업데이트할 구독 정보
|
||||
* @returns {Promise} - 업데이트된 구독 정보
|
||||
*/
|
||||
updateSubscription(id, subscriptionData) {
|
||||
return apiClient.put(`/api/admin/subscriptions/${id}`, subscriptionData);
|
||||
},
|
||||
|
||||
/**
|
||||
* 구독 삭제
|
||||
* @param {Number} id - 구독 ID
|
||||
* @returns {Promise} - 삭제 결과
|
||||
*/
|
||||
deleteSubscription(id) {
|
||||
return apiClient.delete(`/api/admin/subscriptions/${id}`);
|
||||
},
|
||||
|
||||
/**
|
||||
* 대시보드 데이터 조회
|
||||
* @returns {Promise} - 대시보드 데이터
|
||||
*/
|
||||
getDashboardData() {
|
||||
return apiClient.get('/api/admin/dashboard');
|
||||
},
|
||||
|
||||
/**
|
||||
* 최근 활동 조회
|
||||
* @returns {Promise} - 최근 활동 목록
|
||||
*/
|
||||
getRecentActivities() {
|
||||
return apiClient.get('/api/admin/activities/recent');
|
||||
},
|
||||
|
||||
/**
|
||||
* 통계 데이터 조회
|
||||
* @returns {Promise} - 통계 데이터
|
||||
*/
|
||||
getStatistics() {
|
||||
return apiClient.get('/api/admin/statistics');
|
||||
},
|
||||
|
||||
/**
|
||||
* 클럽 기능 관리
|
||||
* @param {Number} clubId - 클럽 ID
|
||||
* @param {Object} features - 클럽 기능 정보
|
||||
* @returns {Promise} - 클럽 기능 정보
|
||||
*/
|
||||
manageClubFeatures: async (clubId, features) => {
|
||||
try {
|
||||
const response = await apiClient.put(`/api/admin/clubs/${clubId}/features`, { features });
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
console.error('클럽 기능 관리 중 오류:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export default adminService;
|
||||
Reference in New Issue
Block a user