package cd.casic.ci.process.process.service.shuimu;

import cd.casic.ci.process.dto.req.shuimu.*;
import cd.casic.ci.process.dto.resp.shuimu.*;
import cd.casic.framework.commons.pojo.PageResult;

import java.util.List;

public interface ShuiMuService {
    String getToken();
    /**
     *  获取编译环境
     * */
    List<String> imageList(String label);
    String createProject(ShuiMuProjectCreateReq req);
    /**
     *  获取检测配置
     * */
    String readWfuzzJsonFile(String projectId);
    /**
     *  获取需要填写的表单项信息
     * */
    String readHelpersJsonFile(String projectId);

    ShuiMuProjectVersionResp getProjectVersion(String projectId);
    ShuiMuProjectInfoResp getProjectInfo(String projectId);

    void buildAndSaveConfig(ShuiMuBuildAndSaveReq req);
    void uploadWfuzzJson(ShuiMuUpdateWFuzzJsonReq req);
    void executeAllEntrypointsTest(String projectId,Integer fuzzMinutes);
    ShuiMuProjectResourceResp getProjectResource(String projectId);

    PageResult<ShuiMuTestProblemResp> problemsOfTest(ShuiMuTestProblemReq req);

    ShuiMuProjectReportResp getProjectReport(String projectId);
    ShuiMuWebFuzzProjectCreateResp createWebFuzzProject(ShuiMuWebFuzzProjectCreateUpdateReq req);

    ShuiMuWebFuzzProjectResp getWebFuzzProjectById(String id);
    void createWebFuzzTest(String projectId);
    void updateWebFuzzProject(ShuiMuWebFuzzProjectCreateUpdateReq req);

}
