SPMS_API/SPMS.Application/Interfaces/IServiceManagementService.cs
SEAN 4577d8c10d improvement: 서비스명 중복 확인 API 및 전용 에러코드 추가 (#210)
- POST /v1/in/service/name/check 엔드포인트 추가
- ServiceNameDuplicate(134) 에러코드 추가
- CreateAsync/UpdateAsync 서비스명 중복 에러코드 변경
- CreateServiceRequestDto MinimumLength=2 검증 추가

Closes #210
2026-02-25 12:15:28 +09:00

32 lines
1.6 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<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);
// 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);
}