package com.friday.operation.api.tooldriver.service;

import com.friday.base.common.response.DubboResult;
import com.friday.operation.api.keepalive.dto.taieoc.MachineInfoDto;
import com.friday.operation.api.tooldriver.dto.rpa.CodePackageDto;
import com.friday.operation.api.tooldriver.dto.rpa.CodePackageFilter;
import com.friday.operation.api.tooldriver.dto.rpa.ReleaseDto;
import com.friday.operation.api.tooldriver.dto.rpa.ReleaseFilter;

import java.util.ArrayList;

public interface IProcess {
    DubboResult<CodePackageDto> uploadPackage(MachineInfoDto infoDto, CodePackageDto pkg);

    DubboResult deletePackageByKey(MachineInfoDto infoDto, String key);

    DubboResult<ArrayList<CodePackageDto>> queryPackages(MachineInfoDto infoDto, CodePackageFilter filter);

    DubboResult<ReleaseDto> releaseProcess(MachineInfoDto infoDto, ReleaseDto release);

    DubboResult<ArrayList<ReleaseDto>> queryProcessReleases(MachineInfoDto infoDto, ReleaseFilter filter);

    DubboResult<String> obtainProcessMaxVersionFileKey(MachineInfoDto infoDto, CodePackageFilter filter);
}
