using SPMS.Domain.Entities; using SPMS.Domain.Enums; namespace SPMS.Domain.Interfaces; public interface IServiceRepository : IRepository { Task GetByServiceCodeAsync(string serviceCode); Task GetByApiKeyAsync(string apiKey); Task GetByIdWithIpsAsync(long id); Task GetByServiceCodeWithIpsAsync(string serviceCode); Task> GetByStatusAsync(ServiceStatus status); Task ServiceNameExistsAsync(string serviceName); Task ServiceCodeExistsAsync(string serviceCode); // ServiceIp methods Task GetServiceIpByIdAsync(long ipId); Task ServiceIpExistsAsync(long serviceId, string ipAddress); Task AddServiceIpAsync(ServiceIp serviceIp); void DeleteServiceIp(ServiceIp serviceIp); }