using Volo.Abp.Application.Services;

namespace NPin.Framework.Ddd.Application.Contracts;

public interface INPinCrudAppService<TEntityDto, in TKey> : ICrudAppService<TEntityDto, TKey>
{
}

public interface
    INPinCrudAppService<TEntityDto, in TKey, in TGetListInput> : ICrudAppService<TEntityDto, TKey, TGetListInput>
{
}

public interface
    INPinCrudAppService<TEntityDto, in TKey, in TGetListInput, in TCreateInput> : ICrudAppService<TEntityDto, TKey,
    TGetListInput, TCreateInput>
{
}

public interface INPinCrudAppService<TEntityDto, in TKey, in TGetListInput, in TCreateInput, in TUpdateInput> :
    ICrudAppService<TEntityDto, TKey, TGetListInput, TCreateInput, TUpdateInput>
{
}

public interface INPinCrudAppService<TEntityDto, TGetListOutputDto, in TKey, in TGetListInput, in TCreateInput,
    in TUpdateInput> :
    ICrudAppService<TEntityDto, TGetListOutputDto, TKey, TGetListInput, TCreateInput, TUpdateInput>,
    IDeleteAppService<TKey>
{
}