import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { BeMsDeployStatusLog } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2021-09-09 11:14
 */
interface BeMsDeployStatusLogCU extends ConditionUtil<BeMsDeployStatusLogCU>{
    ID:FieldUtil<BeMsDeployStatusLogCU>;
    DEPLOY_ID:FieldUtil<BeMsDeployStatusLogCU>;
    POD_ID:FieldUtil<BeMsDeployStatusLogCU>;
    IP:FieldUtil<BeMsDeployStatusLogCU>;
    STATUS:FieldUtil<BeMsDeployStatusLogCU>;
    ENV_CODE:FieldUtil<BeMsDeployStatusLogCU>;
    RESTART_TOTAL:FieldUtil<BeMsDeployStatusLogCU>;
    VERSION_NO:FieldUtil<BeMsDeployStatusLogCU>;
    CREATE_TIME:FieldUtil<BeMsDeployStatusLogCU>;
    UPDATE_TIME:FieldUtil<BeMsDeployStatusLogCU>;
    PHASE:FieldUtil<BeMsDeployStatusLogCU>;
}

class BeMsDeployStatusLogCUImpl extends ConditionUtilImpl<BeMsDeployStatusLogCUImpl> implements BeMsDeployStatusLogCU{ 
    newInstance(): BeMsDeployStatusLogCUImpl {
        return new BeMsDeployStatusLogCUImpl();
    } 
    get ID(): FieldUtil<BeMsDeployStatusLogCU>{  
        return new FieldUtil('id','id','主键', this);
    }
    get DEPLOY_ID(): FieldUtil<BeMsDeployStatusLogCU>{  
        return new FieldUtil('deploy_id','deployId','部署配置ID', this);
    }
    get POD_ID(): FieldUtil<BeMsDeployStatusLogCU>{  
        return new FieldUtil('pod_id','podId','POD_ID', this);
    }
    get IP(): FieldUtil<BeMsDeployStatusLogCU>{  
        return new FieldUtil('ip','ip','IP', this);
    }
    get STATUS(): FieldUtil<BeMsDeployStatusLogCU>{  
        return new FieldUtil('status','status','00:正常，01：异常', this);
    }
    get ENV_CODE(): FieldUtil<BeMsDeployStatusLogCU>{  
        return new FieldUtil('env_code','envCode','环境代码', this);
    }
    get RESTART_TOTAL(): FieldUtil<BeMsDeployStatusLogCU>{  
        return new FieldUtil('restart_total','restartTotal','重启次数', this);
    }
    get VERSION_NO(): FieldUtil<BeMsDeployStatusLogCU>{  
        return new FieldUtil('version_no','versionNo','版本号', this);
    }
    get CREATE_TIME(): FieldUtil<BeMsDeployStatusLogCU>{  
        return new FieldUtil('create_time','createTime','创建时间', this);
    }
    get UPDATE_TIME(): FieldUtil<BeMsDeployStatusLogCU>{  
        return new FieldUtil('update_time','updateTime','更新时间', this);
    }
    get PHASE(): FieldUtil<BeMsDeployStatusLogCU>{  
        return new FieldUtil('phase','phase','phase', this);
    }
}

@Singleton 
class BeMsDeployStatusLogMU extends TableUtilImpl<BeMsDeployStatusLogCU,BeMsDeployStatusLog>{ 
    tableName  = 'be_ms_deploy_status_log';
    tableFields  = ['id','deploy_id','pod_id','ip','status','env_code','restart_total','version_no','create_time','update_time','phase'];
    modelFields  = ['id','deployId','podId','ip','status','envCode','restartTotal','versionNo','createTime','updateTime','phase'];
    modelIdFields  = ['id'];
    tableIdFields  = ['id'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): BeMsDeployStatusLogCU {
        return new BeMsDeployStatusLogCUImpl();
    }   

    static get ID(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return new FieldUtil('id','id','主键', new BeMsDeployStatusLogCUImpl());
    }
    static get DEPLOY_ID(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return new FieldUtil('deploy_id','deployId','部署配置ID', new BeMsDeployStatusLogCUImpl());
    }
    static get POD_ID(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return new FieldUtil('pod_id','podId','POD_ID', new BeMsDeployStatusLogCUImpl());
    }
    static get IP(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return new FieldUtil('ip','ip','IP', new BeMsDeployStatusLogCUImpl());
    }
    static get STATUS(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return new FieldUtil('status','status','00:正常，01：异常', new BeMsDeployStatusLogCUImpl());
    }
    static get ENV_CODE(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return new FieldUtil('env_code','envCode','环境代码', new BeMsDeployStatusLogCUImpl());
    }
    static get RESTART_TOTAL(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return new FieldUtil('restart_total','restartTotal','重启次数', new BeMsDeployStatusLogCUImpl());
    }
    static get VERSION_NO(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return new FieldUtil('version_no','versionNo','版本号', new BeMsDeployStatusLogCUImpl());
    }
    static get CREATE_TIME(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return new FieldUtil('create_time','createTime','创建时间', new BeMsDeployStatusLogCUImpl());
    }
    static get UPDATE_TIME(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return new FieldUtil('update_time','updateTime','更新时间', new BeMsDeployStatusLogCUImpl());
    }
    static get PHASE(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return new FieldUtil('phase','phase','phase', new BeMsDeployStatusLogCUImpl());
    }

    get ID(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return BeMsDeployStatusLogMU.ID;
    }
    get DEPLOY_ID(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return BeMsDeployStatusLogMU.DEPLOY_ID;
    }
    get POD_ID(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return BeMsDeployStatusLogMU.POD_ID;
    }
    get IP(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return BeMsDeployStatusLogMU.IP;
    }
    get STATUS(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return BeMsDeployStatusLogMU.STATUS;
    }
    get ENV_CODE(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return BeMsDeployStatusLogMU.ENV_CODE;
    }
    get RESTART_TOTAL(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return BeMsDeployStatusLogMU.RESTART_TOTAL;
    }
    get VERSION_NO(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return BeMsDeployStatusLogMU.VERSION_NO;
    }
    get CREATE_TIME(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return BeMsDeployStatusLogMU.CREATE_TIME;
    }
    get UPDATE_TIME(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return BeMsDeployStatusLogMU.UPDATE_TIME;
    }
    get PHASE(): FieldUtil<BeMsDeployStatusLogCU>{ 
        return BeMsDeployStatusLogMU.PHASE;
    }
}
export {BeMsDeployStatusLogMU, BeMsDeployStatusLogCU}
