package digital.laboratory.platform.inspection.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import digital.laboratory.platform.common.mybatis.security.service.DLPUser;
import digital.laboratory.platform.inspection.dto.TemplateDeleteDto;
import digital.laboratory.platform.inspection.entity.TestTemplate;
import digital.laboratory.platform.inspection.vo.TestTemplateVo;

import java.util.List;

public interface TestTemplateService extends IService<TestTemplate> {
    TestTemplate createTemplate(TestTemplate testTemplate, String testId, DLPUser dlpUser) throws Exception;

    TestTemplate editTemplate(TestTemplate testTemplate);

    boolean delTemplate(List<String> idList, DLPUser dlpUser);

    boolean updateTestTemplate(String templateId, String argumentId, String argument, Integer opCode);

    TestTemplateVo publishTemplate(String id);

    TestTemplateVo blockTemplate(String id);

    TestTemplateVo getTemplateById(String id);

    IPage<TestTemplateVo> getTemplateVoPage(Page page, Integer opCode,DLPUser dlpUser, String keywords);

    List<TestTemplateVo> getTemplateVoList(DLPUser dlpUser);

}
