package com.qqchen.deploy.backend.framework.ssh.websocket.request;

import com.qqchen.deploy.backend.framework.enums.SSHMessageType;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * SSH终端尺寸调整请求（Framework层）
 * 
 * 前端发送格式：
 * {
 *   "type": "resize",
 *   "data": {
 *     "request": {
 *       "rows": 40,
 *       "cols": 150
 *     }
 *   }
 * }
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class SSHResizeRequest extends SSHBaseRequest {
    
    /**
     * 终端行数
     */
    private Integer rows;
    
    /**
     * 终端列数
     */
    private Integer cols;
    
    public SSHResizeRequest() {
        setType(SSHMessageType.RESIZE);
    }
    
    /**
     * 验证参数有效性
     */
    public boolean isValid() {
        return rows != null && cols != null && rows > 0 && cols > 0;
    }
}
