- POST /v1/in/service/register 통합 등록 엔드포인트 추가 - RegisterServiceRequestDto/ResponseDto 신규 생성 - 서비스 생성 + FCM/APNs 자격증명을 트랜잭션으로 원자성 보장 - 검증 로직 private 메서드 추출 (기존 코드 재사용) - 자격증명은 선택사항, 검증 실패 시 전체 롤백 Closes #212
33 lines
1.7 KiB
C#
33 lines
1.7 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);
|
|
|
|
// 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);
|
|
}
|