- 플랫폼 관리 API 연동 (FCM/APNs 인증서 등록/삭제) - 서비스 상세 통계 카드 대시보드 KPI API 연결 - 통계 서브텍스트 전일 대비 변동 데이터 연결 (변동 없음 표시 포함) - ServiceHeaderCard/ServiceEditPage optional chaining 버그 수정 - 날짜 표기 YYYY-MM-DD 형식 통일 - 페이지네이션 totalCount 필드명 수정 및 패딩 정렬 - 서비스 등록 완료 모달 UI 통일 및 문구 수정 Closes #31
82 lines
2.0 KiB
TypeScript
82 lines
2.0 KiB
TypeScript
import { apiClient } from "./client";
|
|
import type { ApiResponse, PaginatedResponse } from "@/types/api";
|
|
import type {
|
|
ServiceListRequest,
|
|
ServiceSummary,
|
|
ServiceDetail,
|
|
ApiKeyResponse,
|
|
CreateServiceRequest,
|
|
CreateServiceResponse,
|
|
UpdateServiceRequest,
|
|
RegisterFcmRequest,
|
|
RegisterApnsRequest,
|
|
} from "@/features/service/types";
|
|
|
|
/** 서비스 목록 조회 */
|
|
export function fetchServices(data: ServiceListRequest) {
|
|
return apiClient.post<PaginatedResponse<ServiceSummary>>(
|
|
"/v1/in/service/list",
|
|
data,
|
|
);
|
|
}
|
|
|
|
/** 서비스 상세 조회 */
|
|
export function fetchServiceDetail(serviceCode: string) {
|
|
return apiClient.post<ApiResponse<ServiceDetail>>(
|
|
`/v1/in/service/${serviceCode}`,
|
|
);
|
|
}
|
|
|
|
/** API Key 전체 조회 (마스킹 해제) */
|
|
export function fetchApiKey(serviceCode: string) {
|
|
return apiClient.post<ApiResponse<ApiKeyResponse>>(
|
|
`/v1/in/service/${serviceCode}/apikey/view`,
|
|
);
|
|
}
|
|
|
|
/** 서비스 생성 */
|
|
export function createService(data: CreateServiceRequest) {
|
|
return apiClient.post<ApiResponse<CreateServiceResponse>>(
|
|
"/v1/in/service/create",
|
|
data,
|
|
);
|
|
}
|
|
|
|
/** 서비스 수정 */
|
|
export function updateService(data: UpdateServiceRequest) {
|
|
return apiClient.post<ApiResponse<null>>(
|
|
"/v1/in/service/update",
|
|
data,
|
|
);
|
|
}
|
|
|
|
/** FCM 인증서 등록 */
|
|
export function registerFcm(serviceCode: string, data: RegisterFcmRequest) {
|
|
return apiClient.post<ApiResponse<null>>(
|
|
`/v1/in/service/${serviceCode}/fcm`,
|
|
data,
|
|
);
|
|
}
|
|
|
|
/** FCM 인증서 삭제 */
|
|
export function deleteFcm(serviceCode: string) {
|
|
return apiClient.post<ApiResponse<null>>(
|
|
`/v1/in/service/${serviceCode}/fcm/delete`,
|
|
);
|
|
}
|
|
|
|
/** APNs 인증서 등록 */
|
|
export function registerApns(serviceCode: string, data: RegisterApnsRequest) {
|
|
return apiClient.post<ApiResponse<null>>(
|
|
`/v1/in/service/${serviceCode}/apns`,
|
|
data,
|
|
);
|
|
}
|
|
|
|
/** APNs 인증서 삭제 */
|
|
export function deleteApns(serviceCode: string) {
|
|
return apiClient.post<ApiResponse<null>>(
|
|
`/v1/in/service/${serviceCode}/apns/delete`,
|
|
);
|
|
}
|