package com.iailab.module.system.service.app;

import com.iailab.framework.common.pojo.PageResult;
import com.iailab.module.system.api.app.dto.AppMenuRespDTO;
import com.iailab.module.system.controller.admin.app.vo.AppPageReqVO;
import com.iailab.module.system.controller.admin.app.vo.AppSaveReqVO;
import com.iailab.module.system.controller.admin.auth.vo.AuthPermissionInfoRespVO;
import com.iailab.module.system.dal.dataobject.app.AppDO;

import java.util.List;

/**
 * @author PanZhibao
 * @Description
 * @createTime 2024年08月17日
 */
public interface AppService {

    Long create(AppSaveReqVO createReqVO);

    Long update(AppSaveReqVO createReqVO);

    void delete(Long id);

    AppDO getInfo(Long id);

    PageResult<AppDO> getPage(AppPageReqVO pageReqVO);

    List<AppDO> getList();

    AppDO getAppByTenantId(Long tenantId);

    List<AuthPermissionInfoRespVO.MenuVO> getAppMenu(Long id);

    List<AppDO> selectBatchIds(List<Long> ids);

}