namespace Netina.AdminPanel.PWA.Services.RestServices; public interface ICrudApiRest where T : class { [Post("")] Task Create([Body] TCreateCommand payload, [Header("Authorization")] string authorization); [Get("")] Task> ReadAll([Query] int page,[Header("Authorization")] string authorization); [Get("/{key}")] Task ReadOne(TKey key, [Header("Authorization")] string authorization); [Get("/{key}")] Task ReadOne(TKey key); [Put("")] Task Update([Body] TUpdateCommand payload, [Header("Authorization")] string authorization); [Delete("/{key}")] Task Delete(TKey key, [Header("Authorization")] string authorization); } public interface ICrudDtoApiRest where T : class where TDto : class { [Post("")] Task Create([Body] TCreateCommand payload, [Header("Authorization")] string authorization); [Post("")] Task Create([Body] TDto payload, [Header("Authorization")] string authorization); [Get("")] Task> ReadAll([Query]int page); [Get("")] Task> ReadAll([Query] int page, [Header("Authorization")] string authorization); [Get("")] Task> ReadAll(); [Get("/{key}")] Task ReadOne(TKey key); [Put("")] Task Update([Body] T payload, [Header("Authorization")] string authorization); [Put("")] Task Update([Body] TDto payload, [Header("Authorization")] string authorization); [Delete("/{key}")] Task Delete(TKey key, [Header("Authorization")] string authorization); }