package com.xunhong.erp.turbo.infra.domain.gateway;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xunhong.erp.turbo.api.infra.dto.cmd.CategoryCreateCmd;
import com.xunhong.erp.turbo.api.infra.dto.cmd.CategoryDestroyCmd;
import com.xunhong.erp.turbo.api.infra.dto.cmd.CategoryUpdateCmd;
import com.xunhong.erp.turbo.api.infra.dto.qry.CategoryPageQry;
import com.xunhong.erp.turbo.api.infra.dto.qry.CategoryShowQry;
import com.xunhong.erp.turbo.api.infra.dto.qry.CategoryTreeQry;
import com.xunhong.erp.turbo.infra.domain.entity.Category;

import java.util.List;

public interface CategoryGateway {
	Category save(CategoryCreateCmd categoryCreateCmd);

	List<Category> list(CategoryTreeQry categoryTreeQry);

	Category update(CategoryUpdateCmd categoryUpdateCmd);

	Category show(CategoryShowQry categoryShowQry);

	void destroy(CategoryDestroyCmd categoryDestroyCmd);

	IPage<Category> page(CategoryPageQry categoryPageQry);
}
