import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { DevopsTestTemplate } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2021-06-29 14:06
 */
interface DevopsTestTemplateCU extends ConditionUtil<DevopsTestTemplateCU>{
    ID:FieldUtil<DevopsTestTemplateCU>;
    TASK_NAME:FieldUtil<DevopsTestTemplateCU>;
    RUN_NUM:FieldUtil<DevopsTestTemplateCU>;
    RUN_MODE:FieldUtil<DevopsTestTemplateCU>;
    REPEAT_MODE:FieldUtil<DevopsTestTemplateCU>;
    PROJECT:FieldUtil<DevopsTestTemplateCU>;
    PROJECT_GROUP:FieldUtil<DevopsTestTemplateCU>;
    CREATE_USER_ID:FieldUtil<DevopsTestTemplateCU>;
    UPDATE_USER_ID:FieldUtil<DevopsTestTemplateCU>;
    CREATE_TIME:FieldUtil<DevopsTestTemplateCU>;
    UPDATE_TIME:FieldUtil<DevopsTestTemplateCU>;
    CASE_LIST:FieldUtil<DevopsTestTemplateCU>;
}

class DevopsTestTemplateCUImpl extends ConditionUtilImpl<DevopsTestTemplateCUImpl> implements DevopsTestTemplateCU{ 
    newInstance(): DevopsTestTemplateCUImpl {
        return new DevopsTestTemplateCUImpl();
    } 
    get ID(): FieldUtil<DevopsTestTemplateCU>{  
        return new FieldUtil('id','id','主键', this);
    }
    get TASK_NAME(): FieldUtil<DevopsTestTemplateCU>{  
        return new FieldUtil('task_name','taskName','任务名称', this);
    }
    get RUN_NUM(): FieldUtil<DevopsTestTemplateCU>{  
        return new FieldUtil('run_num','runNum','重复次数', this);
    }
    get RUN_MODE(): FieldUtil<DevopsTestTemplateCU>{  
        return new FieldUtil('run_mode','runMode','运行模式：1-全部执行；2-失败即停止；', this);
    }
    get REPEAT_MODE(): FieldUtil<DevopsTestTemplateCU>{  
        return new FieldUtil('repeat_mode','repeatMode','重复模式：1-顺序迭代；2-逐一迭代；', this);
    }
    get PROJECT(): FieldUtil<DevopsTestTemplateCU>{  
        return new FieldUtil('project','project','', this);
    }
    get PROJECT_GROUP(): FieldUtil<DevopsTestTemplateCU>{  
        return new FieldUtil('project_group','projectGroup','', this);
    }
    get CREATE_USER_ID(): FieldUtil<DevopsTestTemplateCU>{  
        return new FieldUtil('create_user_id','createUserId','', this);
    }
    get UPDATE_USER_ID(): FieldUtil<DevopsTestTemplateCU>{  
        return new FieldUtil('update_user_id','updateUserId','', this);
    }
    get CREATE_TIME(): FieldUtil<DevopsTestTemplateCU>{  
        return new FieldUtil('create_time','createTime','', this);
    }
    get UPDATE_TIME(): FieldUtil<DevopsTestTemplateCU>{  
        return new FieldUtil('update_time','updateTime','', this);
    }
    get CASE_LIST(): FieldUtil<DevopsTestTemplateCU>{  
        return new FieldUtil('case_list','caseList','关联的用例合集', this);
    }
}

@Singleton 
class DevopsTestTemplateMU extends TableUtilImpl<DevopsTestTemplateCU,DevopsTestTemplate>{ 
    tableName  = 'devops_test_template';
    tableFields  = ['id','task_name','run_num','run_mode','repeat_mode','project','project_group','create_user_id','update_user_id','create_time','update_time','case_list'];
    modelFields  = ['id','taskName','runNum','runMode','repeatMode','project','projectGroup','createUserId','updateUserId','createTime','updateTime','caseList'];
    modelIdFields  = ['id'];
    tableIdFields  = ['id'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): DevopsTestTemplateCU {
        return new DevopsTestTemplateCUImpl();
    }   

    static get ID(): FieldUtil<DevopsTestTemplateCU>{ 
        return new FieldUtil('id','id','主键', new DevopsTestTemplateCUImpl());
    }
    static get TASK_NAME(): FieldUtil<DevopsTestTemplateCU>{ 
        return new FieldUtil('task_name','taskName','任务名称', new DevopsTestTemplateCUImpl());
    }
    static get RUN_NUM(): FieldUtil<DevopsTestTemplateCU>{ 
        return new FieldUtil('run_num','runNum','重复次数', new DevopsTestTemplateCUImpl());
    }
    static get RUN_MODE(): FieldUtil<DevopsTestTemplateCU>{ 
        return new FieldUtil('run_mode','runMode','运行模式：1-全部执行；2-失败即停止；', new DevopsTestTemplateCUImpl());
    }
    static get REPEAT_MODE(): FieldUtil<DevopsTestTemplateCU>{ 
        return new FieldUtil('repeat_mode','repeatMode','重复模式：1-顺序迭代；2-逐一迭代；', new DevopsTestTemplateCUImpl());
    }
    static get PROJECT(): FieldUtil<DevopsTestTemplateCU>{ 
        return new FieldUtil('project','project','', new DevopsTestTemplateCUImpl());
    }
    static get PROJECT_GROUP(): FieldUtil<DevopsTestTemplateCU>{ 
        return new FieldUtil('project_group','projectGroup','', new DevopsTestTemplateCUImpl());
    }
    static get CREATE_USER_ID(): FieldUtil<DevopsTestTemplateCU>{ 
        return new FieldUtil('create_user_id','createUserId','', new DevopsTestTemplateCUImpl());
    }
    static get UPDATE_USER_ID(): FieldUtil<DevopsTestTemplateCU>{ 
        return new FieldUtil('update_user_id','updateUserId','', new DevopsTestTemplateCUImpl());
    }
    static get CREATE_TIME(): FieldUtil<DevopsTestTemplateCU>{ 
        return new FieldUtil('create_time','createTime','', new DevopsTestTemplateCUImpl());
    }
    static get UPDATE_TIME(): FieldUtil<DevopsTestTemplateCU>{ 
        return new FieldUtil('update_time','updateTime','', new DevopsTestTemplateCUImpl());
    }
    static get CASE_LIST(): FieldUtil<DevopsTestTemplateCU>{ 
        return new FieldUtil('case_list','caseList','关联的用例合集', new DevopsTestTemplateCUImpl());
    }

    get ID(): FieldUtil<DevopsTestTemplateCU>{ 
        return DevopsTestTemplateMU.ID;
    }
    get TASK_NAME(): FieldUtil<DevopsTestTemplateCU>{ 
        return DevopsTestTemplateMU.TASK_NAME;
    }
    get RUN_NUM(): FieldUtil<DevopsTestTemplateCU>{ 
        return DevopsTestTemplateMU.RUN_NUM;
    }
    get RUN_MODE(): FieldUtil<DevopsTestTemplateCU>{ 
        return DevopsTestTemplateMU.RUN_MODE;
    }
    get REPEAT_MODE(): FieldUtil<DevopsTestTemplateCU>{ 
        return DevopsTestTemplateMU.REPEAT_MODE;
    }
    get PROJECT(): FieldUtil<DevopsTestTemplateCU>{ 
        return DevopsTestTemplateMU.PROJECT;
    }
    get PROJECT_GROUP(): FieldUtil<DevopsTestTemplateCU>{ 
        return DevopsTestTemplateMU.PROJECT_GROUP;
    }
    get CREATE_USER_ID(): FieldUtil<DevopsTestTemplateCU>{ 
        return DevopsTestTemplateMU.CREATE_USER_ID;
    }
    get UPDATE_USER_ID(): FieldUtil<DevopsTestTemplateCU>{ 
        return DevopsTestTemplateMU.UPDATE_USER_ID;
    }
    get CREATE_TIME(): FieldUtil<DevopsTestTemplateCU>{ 
        return DevopsTestTemplateMU.CREATE_TIME;
    }
    get UPDATE_TIME(): FieldUtil<DevopsTestTemplateCU>{ 
        return DevopsTestTemplateMU.UPDATE_TIME;
    }
    get CASE_LIST(): FieldUtil<DevopsTestTemplateCU>{ 
        return DevopsTestTemplateMU.CASE_LIST;
    }
}
export {DevopsTestTemplateMU, DevopsTestTemplateCU}
