package cn.com.poc.agent_application.service;

import cn.com.poc.agent_application.entity.Variable;
import cn.com.poc.agent_application.query.AgentApplicationInfoQueryCondition;
import cn.com.yict.framemax.core.service.BaseService;
import cn.com.poc.agent_application.entity.BizAgentApplicationInfoEntity;
import cn.com.yict.framemax.data.model.PagingInfo;

import java.util.List;

public interface BizAgentApplicationInfoService extends BaseService {

    BizAgentApplicationInfoEntity getByAgentId(String agentId);

    List<BizAgentApplicationInfoEntity> findByExample(BizAgentApplicationInfoEntity example, PagingInfo pagingInfo) ;

    List<BizAgentApplicationInfoEntity> agentApplicationInfoQuery(AgentApplicationInfoQueryCondition condition, PagingInfo pagingInfo);

    BizAgentApplicationInfoEntity save(BizAgentApplicationInfoEntity entity) throws Exception;

    BizAgentApplicationInfoEntity update(BizAgentApplicationInfoEntity entity) throws Exception;

    BizAgentApplicationInfoEntity saveOrUpdate(BizAgentApplicationInfoEntity entity) throws Exception;

    void deletedByAgentId(String agentId);

    boolean publish(String agentId) throws Exception;

    boolean unPublish(String agentId);

    BizAgentApplicationInfoEntity saveVariableStructure(String agentId, List<Variable> variableStructure);
}