using ScadaLink.Commons.Entities.InboundApi; namespace ScadaLink.Commons.Interfaces.Repositories; public interface IInboundApiRepository { // ApiKey Task GetApiKeyByIdAsync(int id, CancellationToken cancellationToken = default); Task> GetAllApiKeysAsync(CancellationToken cancellationToken = default); Task GetApiKeyByValueAsync(string keyValue, CancellationToken cancellationToken = default); Task AddApiKeyAsync(ApiKey apiKey, CancellationToken cancellationToken = default); Task UpdateApiKeyAsync(ApiKey apiKey, CancellationToken cancellationToken = default); Task DeleteApiKeyAsync(int id, CancellationToken cancellationToken = default); // ApiMethod Task GetApiMethodByIdAsync(int id, CancellationToken cancellationToken = default); Task> GetAllApiMethodsAsync(CancellationToken cancellationToken = default); Task GetMethodByNameAsync(string name, CancellationToken cancellationToken = default); Task> GetApprovedKeysForMethodAsync(int methodId, CancellationToken cancellationToken = default); Task AddApiMethodAsync(ApiMethod method, CancellationToken cancellationToken = default); Task UpdateApiMethodAsync(ApiMethod method, CancellationToken cancellationToken = default); Task DeleteApiMethodAsync(int id, CancellationToken cancellationToken = default); Task SaveChangesAsync(CancellationToken cancellationToken = default); }