package com.xunhong.erp.turbo.rbac.app.executor.cmd;

import com.xunhong.erp.turbo.api.rbac.dto.cmd.MenuUpdateCmd;
import com.xunhong.erp.turbo.api.rbac.dto.vo.MenuVO;
import com.xunhong.erp.turbo.rbac.app.assembler.MenuAssembler;
import com.xunhong.erp.turbo.rbac.domain.entity.Menu;
import com.xunhong.erp.turbo.rbac.domain.gateway.MenuGateway;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;

@Component
@RequiredArgsConstructor
public class MenuUpdateCmdExe {
	private final MenuAssembler menuAssembler;

	private final MenuGateway menuGateway;

	public MenuVO execute(MenuUpdateCmd menuUpdateCmd) {
		Menu menu = menuGateway.update(menuUpdateCmd);
		return menuAssembler.toMenuVO(menu);
	}
}
