SPMS_API/SPMS.Application/Interfaces/IServiceManagementService.cs
SEAN 17caeb08e2 improvement: 수정/삭제/진단 계약 확장 (#218)
- 플랫폼 자격증명 삭제 API 추가 (APNs/FCM 각각)
- 자격증명 진단 응답에 credentialStatus/statusReason 추가
- 수정 API에 Status 필드 추가 (원자적 상태 변경)
- Swagger Description 업데이트

Closes #218
2026-02-25 13:36:47 +09:00

35 lines
1.8 KiB
C#

using SPMS.Application.DTOs.Service;
namespace SPMS.Application.Interfaces;
public interface IServiceManagementService
{
Task<ServiceNameCheckResponseDto> CheckServiceNameAsync(ServiceNameCheckRequestDto request);
Task<CreateServiceResponseDto> CreateAsync(CreateServiceRequestDto request, long adminId);
Task<RegisterServiceResponseDto> RegisterAsync(RegisterServiceRequestDto request, long adminId);
Task<ServiceResponseDto> UpdateAsync(UpdateServiceRequestDto request);
Task<ServiceListResponseDto> GetListAsync(ServiceListRequestDto request);
Task<ServiceResponseDto> GetByServiceCodeAsync(string serviceCode);
Task DeleteAsync(DeleteServiceRequestDto request);
Task<ServiceResponseDto> ChangeStatusAsync(string serviceCode, ChangeServiceStatusRequestDto request);
Task<ApiKeyRefreshResponseDto> RefreshApiKeyAsync(string serviceCode);
Task RegisterApnsCredentialsAsync(string serviceCode, ApnsCredentialsRequestDto request);
Task RegisterFcmCredentialsAsync(string serviceCode, FcmCredentialsRequestDto request);
Task<CredentialsResponseDto> GetCredentialsAsync(string serviceCode);
Task DeleteApnsCredentialsAsync(string serviceCode);
Task DeleteFcmCredentialsAsync(string serviceCode);
// Tags
Task<ServiceTagsResponseDto> GetTagsAsync(ServiceTagsRequestDto request);
Task<ServiceTagsResponseDto> UpdateTagsAsync(UpdateServiceTagsRequestDto request);
// Webhook
Task<WebhookConfigResponseDto> ConfigureWebhookAsync(string serviceCode, WebhookConfigRequestDto request);
Task<WebhookConfigResponseDto> GetWebhookConfigAsync(string serviceCode);
// IP Whitelist
Task<IpListResponseDto> GetIpListAsync(string serviceCode);
Task<ServiceIpDto> AddIpAsync(string serviceCode, AddIpRequestDto request);
Task DeleteIpAsync(string serviceCode, DeleteIpRequestDto request);
}