SPMS_API/SPMS.Application/Interfaces/IServiceManagementService.cs
2026-02-11 10:03:03 +09:00

31 lines
1.5 KiB
C#

using SPMS.Application.DTOs.Service;
namespace SPMS.Application.Interfaces;
public interface IServiceManagementService
{
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);
}