import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { DevopsTestCase } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2022-09-01 18:16
 */
interface DevopsTestCaseCU extends ConditionUtil<DevopsTestCaseCU>{
    ID:FieldUtil<DevopsTestCaseCU>;
    CASE_NO:FieldUtil<DevopsTestCaseCU>;
    CASE_TYPE:FieldUtil<DevopsTestCaseCU>;
    CASE_LEVEL:FieldUtil<DevopsTestCaseCU>;
    CASE_MODULE:FieldUtil<DevopsTestCaseCU>;
    CASE_PC_FUNCTION:FieldUtil<DevopsTestCaseCU>;
    CASE_MOBILE_FUNCTION:FieldUtil<DevopsTestCaseCU>;
    CASE_FILE:FieldUtil<DevopsTestCaseCU>;
    PROJECT:FieldUtil<DevopsTestCaseCU>;
    PROJECT_GROUP:FieldUtil<DevopsTestCaseCU>;
    CREATE_TIME:FieldUtil<DevopsTestCaseCU>;
    UPDATE_TIME:FieldUtil<DevopsTestCaseCU>;
    CASENAME:FieldUtil<DevopsTestCaseCU>;
    BUSMODULE:FieldUtil<DevopsTestCaseCU>;
}

class DevopsTestCaseCUImpl extends ConditionUtilImpl<DevopsTestCaseCUImpl> implements DevopsTestCaseCU{ 
    newInstance(): DevopsTestCaseCUImpl {
        return new DevopsTestCaseCUImpl();
    } 
    get ID(): FieldUtil<DevopsTestCaseCU>{  
        return new FieldUtil('id','id','主键', this);
    }
    get CASE_NO(): FieldUtil<DevopsTestCaseCU>{  
        return new FieldUtil('case_no','caseNo','用例编号', this);
    }
    get CASE_TYPE(): FieldUtil<DevopsTestCaseCU>{  
        return new FieldUtil('case_type','caseType','用例类型：1-冒烟测试', this);
    }
    get CASE_LEVEL(): FieldUtil<DevopsTestCaseCU>{  
        return new FieldUtil('case_level','caseLevel','用例类型：1-紧急；2-高；3-中；4-低；5-无关紧要', this);
    }
    get CASE_MODULE(): FieldUtil<DevopsTestCaseCU>{  
        return new FieldUtil('case_module','caseModule','类名', this);
    }
    get CASE_PC_FUNCTION(): FieldUtil<DevopsTestCaseCU>{  
        return new FieldUtil('case_pc_function','casePcFunction','PC函数', this);
    }
    get CASE_MOBILE_FUNCTION(): FieldUtil<DevopsTestCaseCU>{  
        return new FieldUtil('case_mobile_function','caseMobileFunction','mobile函数', this);
    }
    get CASE_FILE(): FieldUtil<DevopsTestCaseCU>{  
        return new FieldUtil('case_file','caseFile','文件名称', this);
    }
    get PROJECT(): FieldUtil<DevopsTestCaseCU>{  
        return new FieldUtil('project','project','', this);
    }
    get PROJECT_GROUP(): FieldUtil<DevopsTestCaseCU>{  
        return new FieldUtil('project_group','projectGroup','', this);
    }
    get CREATE_TIME(): FieldUtil<DevopsTestCaseCU>{  
        return new FieldUtil('create_time','createTime','', this);
    }
    get UPDATE_TIME(): FieldUtil<DevopsTestCaseCU>{  
        return new FieldUtil('update_time','updateTime','', this);
    }
    get CASENAME(): FieldUtil<DevopsTestCaseCU>{  
        return new FieldUtil('casename','casename','用例标题', this);
    }
    get BUSMODULE(): FieldUtil<DevopsTestCaseCU>{  
        return new FieldUtil('busmodule','busmodule','业务模块', this);
    }
}

@Singleton 
class DevopsTestCaseMU extends TableUtilImpl<DevopsTestCaseCU,DevopsTestCase>{ 
    tableName  = 'devops_test_case';
    tableFields  = ['id','case_no','case_type','case_level','case_module','case_pc_function','case_mobile_function','case_file','project','project_group','create_time','update_time','casename','busmodule'];
    modelFields  = ['id','caseNo','caseType','caseLevel','caseModule','casePcFunction','caseMobileFunction','caseFile','project','projectGroup','createTime','updateTime','casename','busmodule'];
    modelIdFields  = ['id'];
    tableIdFields  = ['id'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): DevopsTestCaseCU {
        return new DevopsTestCaseCUImpl();
    }   

    static get ID(): FieldUtil<DevopsTestCaseCU>{ 
        return new FieldUtil('id','id','主键', new DevopsTestCaseCUImpl());
    }
    static get CASE_NO(): FieldUtil<DevopsTestCaseCU>{ 
        return new FieldUtil('case_no','caseNo','用例编号', new DevopsTestCaseCUImpl());
    }
    static get CASE_TYPE(): FieldUtil<DevopsTestCaseCU>{ 
        return new FieldUtil('case_type','caseType','用例类型：1-冒烟测试', new DevopsTestCaseCUImpl());
    }
    static get CASE_LEVEL(): FieldUtil<DevopsTestCaseCU>{ 
        return new FieldUtil('case_level','caseLevel','用例类型：1-紧急；2-高；3-中；4-低；5-无关紧要', new DevopsTestCaseCUImpl());
    }
    static get CASE_MODULE(): FieldUtil<DevopsTestCaseCU>{ 
        return new FieldUtil('case_module','caseModule','类名', new DevopsTestCaseCUImpl());
    }
    static get CASE_PC_FUNCTION(): FieldUtil<DevopsTestCaseCU>{ 
        return new FieldUtil('case_pc_function','casePcFunction','PC函数', new DevopsTestCaseCUImpl());
    }
    static get CASE_MOBILE_FUNCTION(): FieldUtil<DevopsTestCaseCU>{ 
        return new FieldUtil('case_mobile_function','caseMobileFunction','mobile函数', new DevopsTestCaseCUImpl());
    }
    static get CASE_FILE(): FieldUtil<DevopsTestCaseCU>{ 
        return new FieldUtil('case_file','caseFile','文件名称', new DevopsTestCaseCUImpl());
    }
    static get PROJECT(): FieldUtil<DevopsTestCaseCU>{ 
        return new FieldUtil('project','project','', new DevopsTestCaseCUImpl());
    }
    static get PROJECT_GROUP(): FieldUtil<DevopsTestCaseCU>{ 
        return new FieldUtil('project_group','projectGroup','', new DevopsTestCaseCUImpl());
    }
    static get CREATE_TIME(): FieldUtil<DevopsTestCaseCU>{ 
        return new FieldUtil('create_time','createTime','', new DevopsTestCaseCUImpl());
    }
    static get UPDATE_TIME(): FieldUtil<DevopsTestCaseCU>{ 
        return new FieldUtil('update_time','updateTime','', new DevopsTestCaseCUImpl());
    }
    static get CASENAME(): FieldUtil<DevopsTestCaseCU>{ 
        return new FieldUtil('casename','casename','用例标题', new DevopsTestCaseCUImpl());
    }
    static get BUSMODULE(): FieldUtil<DevopsTestCaseCU>{ 
        return new FieldUtil('busmodule','busmodule','业务模块', new DevopsTestCaseCUImpl());
    }

    get ID(): FieldUtil<DevopsTestCaseCU>{ 
        return DevopsTestCaseMU.ID;
    }
    get CASE_NO(): FieldUtil<DevopsTestCaseCU>{ 
        return DevopsTestCaseMU.CASE_NO;
    }
    get CASE_TYPE(): FieldUtil<DevopsTestCaseCU>{ 
        return DevopsTestCaseMU.CASE_TYPE;
    }
    get CASE_LEVEL(): FieldUtil<DevopsTestCaseCU>{ 
        return DevopsTestCaseMU.CASE_LEVEL;
    }
    get CASE_MODULE(): FieldUtil<DevopsTestCaseCU>{ 
        return DevopsTestCaseMU.CASE_MODULE;
    }
    get CASE_PC_FUNCTION(): FieldUtil<DevopsTestCaseCU>{ 
        return DevopsTestCaseMU.CASE_PC_FUNCTION;
    }
    get CASE_MOBILE_FUNCTION(): FieldUtil<DevopsTestCaseCU>{ 
        return DevopsTestCaseMU.CASE_MOBILE_FUNCTION;
    }
    get CASE_FILE(): FieldUtil<DevopsTestCaseCU>{ 
        return DevopsTestCaseMU.CASE_FILE;
    }
    get PROJECT(): FieldUtil<DevopsTestCaseCU>{ 
        return DevopsTestCaseMU.PROJECT;
    }
    get PROJECT_GROUP(): FieldUtil<DevopsTestCaseCU>{ 
        return DevopsTestCaseMU.PROJECT_GROUP;
    }
    get CREATE_TIME(): FieldUtil<DevopsTestCaseCU>{ 
        return DevopsTestCaseMU.CREATE_TIME;
    }
    get UPDATE_TIME(): FieldUtil<DevopsTestCaseCU>{ 
        return DevopsTestCaseMU.UPDATE_TIME;
    }
    get CASENAME(): FieldUtil<DevopsTestCaseCU>{ 
        return DevopsTestCaseMU.CASENAME;
    }
    get BUSMODULE(): FieldUtil<DevopsTestCaseCU>{ 
        return DevopsTestCaseMU.BUSMODULE;
    }
}
export {DevopsTestCaseMU, DevopsTestCaseCU}
