package com.lightinit.hsdataplatform.model.admin;

import com.lightinit.hsdataplatform.annotation.FieldDescriber;
import org.hibernate.validator.constraints.NotEmpty;

public class RouteAddInputModel {

    private Long id ;

    private String publishState ;

    private String auditOpinion ;

    //新增路由参数
    @NotEmpty
    @FieldDescriber(descripton = "路由ID")
    private String gatewayRouteId ;
    //路径
    private String path ;
    //映射服务id
    private String serviceId ;
    //标签
    @NotEmpty
    @FieldDescriber(descripton = "标签")
    private String appName ;
    //时间窗口
    private Integer refreshInterval ;
    //请求数限制
    private Integer policyLimit ;
    //请求时间
    private Integer policyQuota ;
    //租户
    private String lesseeId ;
    //读取权限
    private String authType ;
    //写入权限
    private String authValue ;
    //忽略前缀
    private boolean stripPrefix ;
    //失败重试
    private boolean retryable ;
    //启用
    private boolean enabled ;

    private String serviceUrl ;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getPublishState() {
        return publishState;
    }

    public void setPublishState(String publishState) {
        this.publishState = publishState;
    }

    public String getAuditOpinion() {
        return auditOpinion;
    }

    public void setAuditOpinion(String auditOpinion) {
        this.auditOpinion = auditOpinion;
    }

    public String getGatewayRouteId() {
        return gatewayRouteId;
    }

    public void setGatewayRouteId(String gatewayRouteId) {
        this.gatewayRouteId = gatewayRouteId;
    }

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path;
    }

    public String getServiceId() {
        return serviceId;
    }

    public void setServiceId(String serviceId) {
        this.serviceId = serviceId;
    }

    public String getAppName() {
        return appName;
    }

    public void setAppName(String appName) {
        this.appName = appName;
    }

    public Integer getRefreshInterval() {
        return refreshInterval;
    }

    public void setRefreshInterval(Integer refreshInterval) {
        this.refreshInterval = refreshInterval;
    }

    public Integer getPolicyLimit() {
        return policyLimit;
    }

    public void setPolicyLimit(Integer policyLimit) {
        this.policyLimit = policyLimit;
    }

    public Integer getPolicyQuota() {
        return policyQuota;
    }

    public void setPolicyQuota(Integer policyQuota) {
        this.policyQuota = policyQuota;
    }

    public String getLesseeId() {
        return lesseeId;
    }

    public void setLesseeId(String lesseeId) {
        this.lesseeId = lesseeId;
    }

    public String getAuthType() {
        return authType;
    }

    public void setAuthType(String authType) {
        this.authType = authType;
    }

    public String getAuthValue() {
        return authValue;
    }

    public void setAuthValue(String authValue) {
        this.authValue = authValue;
    }

    public boolean isStripPrefix() {
        return stripPrefix;
    }

    public void setStripPrefix(boolean stripPrefix) {
        this.stripPrefix = stripPrefix;
    }

    public boolean isRetryable() {
        return retryable;
    }

    public void setRetryable(boolean retryable) {
        this.retryable = retryable;
    }

    public boolean isEnabled() {
        return enabled;
    }

    public void setEnabled(boolean enabled) {
        this.enabled = enabled;
    }

    public String getServiceUrl() {
        return serviceUrl;
    }

    public void setServiceUrl(String serviceUrl) {
        this.serviceUrl = serviceUrl;
    }
}
