package cn.reghao.devops.mgr.app.service;

import cn.reghao.devops.mgr.app.model.dto.AppConfigDto;
import cn.reghao.devops.mgr.app.model.dto.AppConfigUpdateDto;
import cn.reghao.devops.mgr.app.model.dto.CopyAppDto;
import cn.reghao.devops.mgr.app.model.po.AppBuilding;
import cn.reghao.devops.mgr.builder.chain.impl.BuildChainResult;
import cn.reghao.jutil.jdk.result.Result;

/**
 * @author reghao
 * @date 2021-10-22 14:48:26
 */
public interface AppBuildService {
    Result createAppBuild(AppConfigDto appConfigDto);
    Result createByCopy(CopyAppDto copyAppDto);
    Result updateAppConfig(AppConfigUpdateDto appConfigUpdateDto);
    Result deleteAppBuild(String appId);
    void deleteBuildLog(String buildLogId);

    void updateBeforeBuild(String appId, String buildBy);
    AppBuilding updateAfterBuild(BuildChainResult buildChainResult);
    void resetBuildStat();
    Result clearLocalRepo(String appId);
}
