import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { DevopsApp } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2021-02-08 18:12
 */
interface DevopsAppCU extends ConditionUtil<DevopsAppCU>{
    ID:FieldUtil<DevopsAppCU>;
    APP_NAME:FieldUtil<DevopsAppCU>;
    APP_CODE:FieldUtil<DevopsAppCU>;
    APP_TYPE:FieldUtil<DevopsAppCU>;
    BUSINESS_AREA:FieldUtil<DevopsAppCU>;
    BUSINESS_GROUP:FieldUtil<DevopsAppCU>;
    CONTEXT:FieldUtil<DevopsAppCU>;
    APP_PORT:FieldUtil<DevopsAppCU>;
    MONITOR_PORT:FieldUtil<DevopsAppCU>;
    CURRENT_VERSION:FieldUtil<DevopsAppCU>;
    HEALTH_URL:FieldUtil<DevopsAppCU>;
    WEB_SERVER:FieldUtil<DevopsAppCU>;
    DEV_LANGUAGE:FieldUtil<DevopsAppCU>;
    ENV_CODE:FieldUtil<DevopsAppCU>;
    RUNNING_STATE:FieldUtil<DevopsAppCU>;
    REMARK:FieldUtil<DevopsAppCU>;
    CREATE_TIME:FieldUtil<DevopsAppCU>;
    UPDATE_TIME:FieldUtil<DevopsAppCU>;
    HOST_IP:FieldUtil<DevopsAppCU>;
}

class DevopsAppCUImpl extends ConditionUtilImpl<DevopsAppCUImpl> implements DevopsAppCU{ 
    newInstance(): DevopsAppCUImpl {
        return new DevopsAppCUImpl();
    } 
    get ID(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('ID','id','主键', this);
    }
    get APP_NAME(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('APP_NAME','appName','应用名称', this);
    }
    get APP_CODE(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('APP_CODE','appCode','应用代码', this);
    }
    get APP_TYPE(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('APP_TYPE','appType','应用类型：0-deamon应用；1-web应用', this);
    }
    get BUSINESS_AREA(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('BUSINESS_AREA','businessArea','分区', this);
    }
    get BUSINESS_GROUP(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('BUSINESS_GROUP','businessGroup','所属项目组', this);
    }
    get CONTEXT(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('CONTEXT','context','上下文', this);
    }
    get APP_PORT(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('APP_PORT','appPort','应用端口', this);
    }
    get MONITOR_PORT(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('MONITOR_PORT','monitorPort','监控端口', this);
    }
    get CURRENT_VERSION(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('CURRENT_VERSION','currentVersion','当前版本', this);
    }
    get HEALTH_URL(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('HEALTH_URL','healthUrl','健康检查url', this);
    }
    get WEB_SERVER(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('WEB_SERVER','webServer','web服务器类型：0-Tomcat；1-Node', this);
    }
    get DEV_LANGUAGE(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('DEV_LANGUAGE','devLanguage','开发语言：0-JAVA；1-NodeJS', this);
    }
    get ENV_CODE(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('ENV_CODE','envCode','环境编码', this);
    }
    get RUNNING_STATE(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('RUNNING_STATE','runningState','运行状态', this);
    }
    get REMARK(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('REMARK','remark','描述', this);
    }
    get CREATE_TIME(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('CREATE_TIME','createTime','创建时间', this);
    }
    get UPDATE_TIME(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('UPDATE_TIME','updateTime','更新时间', this);
    }
    get HOST_IP(): FieldUtil<DevopsAppCU>{  
        return new FieldUtil('HOST_IP','hostIp','主机IP，多个时逗号隔开', this);
    }
}

@Singleton 
class DevopsAppMU extends TableUtilImpl<DevopsAppCU,DevopsApp>{ 
    tableName  = 'devops_app';
    tableFields  = ['id','app_name','app_code','app_type','business_area','business_group','context','app_port','monitor_port','current_version','health_url','web_server','dev_language','env_code','running_state','remark','create_time','update_time','host_ip'];
    modelFields  = ['id','appName','appCode','appType','businessArea','businessGroup','context','appPort','monitorPort','currentVersion','healthUrl','webServer','devLanguage','envCode','runningState','remark','createTime','updateTime','hostIp'];
    modelIdFields  = ['id'];
    tableIdFields  = ['id'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): DevopsAppCU {
        return new DevopsAppCUImpl();
    }   

    static get ID(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('ID','id','主键', new DevopsAppCUImpl());
    }
    static get APP_NAME(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('APP_NAME','appName','应用名称', new DevopsAppCUImpl());
    }
    static get APP_CODE(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('APP_CODE','appCode','应用代码', new DevopsAppCUImpl());
    }
    static get APP_TYPE(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('APP_TYPE','appType','应用类型：0-deamon应用；1-web应用', new DevopsAppCUImpl());
    }
    static get BUSINESS_AREA(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('BUSINESS_AREA','businessArea','分区', new DevopsAppCUImpl());
    }
    static get BUSINESS_GROUP(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('BUSINESS_GROUP','businessGroup','所属项目组', new DevopsAppCUImpl());
    }
    static get CONTEXT(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('CONTEXT','context','上下文', new DevopsAppCUImpl());
    }
    static get APP_PORT(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('APP_PORT','appPort','应用端口', new DevopsAppCUImpl());
    }
    static get MONITOR_PORT(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('MONITOR_PORT','monitorPort','监控端口', new DevopsAppCUImpl());
    }
    static get CURRENT_VERSION(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('CURRENT_VERSION','currentVersion','当前版本', new DevopsAppCUImpl());
    }
    static get HEALTH_URL(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('HEALTH_URL','healthUrl','健康检查url', new DevopsAppCUImpl());
    }
    static get WEB_SERVER(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('WEB_SERVER','webServer','web服务器类型：0-Tomcat；1-Node', new DevopsAppCUImpl());
    }
    static get DEV_LANGUAGE(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('DEV_LANGUAGE','devLanguage','开发语言：0-JAVA；1-NodeJS', new DevopsAppCUImpl());
    }
    static get ENV_CODE(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('ENV_CODE','envCode','环境编码', new DevopsAppCUImpl());
    }
    static get RUNNING_STATE(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('RUNNING_STATE','runningState','运行状态', new DevopsAppCUImpl());
    }
    static get REMARK(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('REMARK','remark','描述', new DevopsAppCUImpl());
    }
    static get CREATE_TIME(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('CREATE_TIME','createTime','创建时间', new DevopsAppCUImpl());
    }
    static get UPDATE_TIME(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('UPDATE_TIME','updateTime','更新时间', new DevopsAppCUImpl());
    }
    static get HOST_IP(): FieldUtil<DevopsAppCU>{ 
        return new FieldUtil('HOST_IP','hostIp','主机IP，多个时逗号隔开', new DevopsAppCUImpl());
    }

    get ID(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.ID;
    }
    get APP_NAME(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.APP_NAME;
    }
    get APP_CODE(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.APP_CODE;
    }
    get APP_TYPE(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.APP_TYPE;
    }
    get BUSINESS_AREA(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.BUSINESS_AREA;
    }
    get BUSINESS_GROUP(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.BUSINESS_GROUP;
    }
    get CONTEXT(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.CONTEXT;
    }
    get APP_PORT(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.APP_PORT;
    }
    get MONITOR_PORT(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.MONITOR_PORT;
    }
    get CURRENT_VERSION(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.CURRENT_VERSION;
    }
    get HEALTH_URL(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.HEALTH_URL;
    }
    get WEB_SERVER(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.WEB_SERVER;
    }
    get DEV_LANGUAGE(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.DEV_LANGUAGE;
    }
    get ENV_CODE(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.ENV_CODE;
    }
    get RUNNING_STATE(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.RUNNING_STATE;
    }
    get REMARK(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.REMARK;
    }
    get CREATE_TIME(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.CREATE_TIME;
    }
    get UPDATE_TIME(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.UPDATE_TIME;
    }
    get HOST_IP(): FieldUtil<DevopsAppCU>{ 
        return DevopsAppMU.HOST_IP;
    }
}
export {DevopsAppMU, DevopsAppCU}
