using PhonebookService.Domain.Models; using PhonebookService.Domain.Queries; namespace PhonebookService.Domain.Repositories; /// /// Interface for the phonebook repository /// public interface IPhonebookRepository { /// /// Get items list based on the provided query /// /// Parameters for filtering and pagination /// Collection of Task> GetItemsAsync(PhonebookFilterQuery query); /// /// Get one item by its ID /// /// Id of the item /// Matched or null if none found Task GetItemByIdAsync(int id); /// /// Add new item to a database /// /// entity /// The result with assigned Id Task CreateItemAsync(PhonebookRecord item); /// /// Updates provided item in a database /// /// item to update. Id is required /// The result with assigned Id Task UpdateItemAsync(PhonebookRecord item); /// /// Deletes provided item from a database /// /// to delete Task DeleteItemAsync(PhonebookRecord item); }