using Entities.Models; namespace Application.Abstractions.Interfaces; /// /// Repository interface for AdminKey entity operations /// public interface IAdminKeyRepository { Task GetByIdAsync(int id); Task GetByKeyCodeAsync(string keyCode); Task> GetAllAsync(); Task> GetUnusedKeysAsync(); Task> GetKeysByAdminAsync(int adminId); Task IsKeyValidAsync(string keyCode); Task AddAsync(AdminKey adminKey); Task UpdateAsync(AdminKey adminKey); Task DeleteAsync(int id); Task SaveChangesAsync(); }