package com.qqchen.deploy.backend.framework.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * SSH命令执行结果
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CommandResult {
    
    /**
     * 命令是否执行成功
     */
    private boolean success;
    
    /**
     * 命令输出（成功时为标准输出，失败时为错误输出）
     */
    private String output;
    
    /**
     * 退出码（0表示成功）
     */
    private Integer exitCode;
    
    /**
     * 创建成功结果
     */
    public static CommandResult success(String output) {
        return CommandResult.builder()
            .success(true)
            .output(output)
            .exitCode(0)
            .build();
    }
    
    /**
     * 创建失败结果
     */
    public static CommandResult failure(String error, Integer exitCode) {
        return CommandResult.builder()
            .success(false)
            .output(error)
            .exitCode(exitCode)
            .build();
    }
}
