using SPMS.Application.DTOs.Service; namespace SPMS.Application.Interfaces; public interface IServiceManagementService { Task CheckServiceNameAsync(ServiceNameCheckRequestDto request); Task CreateAsync(CreateServiceRequestDto request, long adminId); Task UpdateAsync(UpdateServiceRequestDto request); Task GetListAsync(ServiceListRequestDto request); Task GetByServiceCodeAsync(string serviceCode); Task DeleteAsync(DeleteServiceRequestDto request); Task ChangeStatusAsync(string serviceCode, ChangeServiceStatusRequestDto request); Task RefreshApiKeyAsync(string serviceCode); Task RegisterApnsCredentialsAsync(string serviceCode, ApnsCredentialsRequestDto request); Task RegisterFcmCredentialsAsync(string serviceCode, FcmCredentialsRequestDto request); Task GetCredentialsAsync(string serviceCode); // Tags Task GetTagsAsync(ServiceTagsRequestDto request); Task UpdateTagsAsync(UpdateServiceTagsRequestDto request); // Webhook Task ConfigureWebhookAsync(string serviceCode, WebhookConfigRequestDto request); Task GetWebhookConfigAsync(string serviceCode); // IP Whitelist Task GetIpListAsync(string serviceCode); Task AddIpAsync(string serviceCode, AddIpRequestDto request); Task DeleteIpAsync(string serviceCode, DeleteIpRequestDto request); }