import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { TapdReviewAppDefault } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2021-08-18 14:29
 */
interface TapdReviewAppDefaultCU extends ConditionUtil<TapdReviewAppDefaultCU>{
    ID:FieldUtil<TapdReviewAppDefaultCU>;
    APP_NAME:FieldUtil<TapdReviewAppDefaultCU>;
    APP_TYPE:FieldUtil<TapdReviewAppDefaultCU>;
    VERSION:FieldUtil<TapdReviewAppDefaultCU>;
    DESCRIPTION:FieldUtil<TapdReviewAppDefaultCU>;
    BUSINESS_GROUP:FieldUtil<TapdReviewAppDefaultCU>;
}

class TapdReviewAppDefaultCUImpl extends ConditionUtilImpl<TapdReviewAppDefaultCUImpl> implements TapdReviewAppDefaultCU{ 
    newInstance(): TapdReviewAppDefaultCUImpl {
        return new TapdReviewAppDefaultCUImpl();
    } 
    get ID(): FieldUtil<TapdReviewAppDefaultCU>{  
        return new FieldUtil('id','id','', this);
    }
    get APP_NAME(): FieldUtil<TapdReviewAppDefaultCU>{  
        return new FieldUtil('app_name','appName','应用名称', this);
    }
    get APP_TYPE(): FieldUtil<TapdReviewAppDefaultCU>{  
        return new FieldUtil('app_type','appType','应用类型：0-deamon应用；1-web应用；2-前端；', this);
    }
    get VERSION(): FieldUtil<TapdReviewAppDefaultCU>{  
        return new FieldUtil('version','version','发布版本', this);
    }
    get DESCRIPTION(): FieldUtil<TapdReviewAppDefaultCU>{  
        return new FieldUtil('description','description','', this);
    }
    get BUSINESS_GROUP(): FieldUtil<TapdReviewAppDefaultCU>{  
        return new FieldUtil('business_group','businessGroup','业务组类型：0-CP；1-PC；2-SaaS；', this);
    }
}

@Singleton 
class TapdReviewAppDefaultMU extends TableUtilImpl<TapdReviewAppDefaultCU,TapdReviewAppDefault>{ 
    tableName  = 'tapd_review_app_default';
    tableFields  = ['id','app_name','app_type','version','description','business_group'];
    modelFields  = ['id','appName','appType','version','description','businessGroup'];
    modelIdFields  = ['id'];
    tableIdFields  = ['id'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): TapdReviewAppDefaultCU {
        return new TapdReviewAppDefaultCUImpl();
    }   

    static get ID(): FieldUtil<TapdReviewAppDefaultCU>{ 
        return new FieldUtil('id','id','', new TapdReviewAppDefaultCUImpl());
    }
    static get APP_NAME(): FieldUtil<TapdReviewAppDefaultCU>{ 
        return new FieldUtil('app_name','appName','应用名称', new TapdReviewAppDefaultCUImpl());
    }
    static get APP_TYPE(): FieldUtil<TapdReviewAppDefaultCU>{ 
        return new FieldUtil('app_type','appType','应用类型：0-deamon应用；1-web应用；2-前端；', new TapdReviewAppDefaultCUImpl());
    }
    static get VERSION(): FieldUtil<TapdReviewAppDefaultCU>{ 
        return new FieldUtil('version','version','发布版本', new TapdReviewAppDefaultCUImpl());
    }
    static get DESCRIPTION(): FieldUtil<TapdReviewAppDefaultCU>{ 
        return new FieldUtil('description','description','', new TapdReviewAppDefaultCUImpl());
    }
    static get BUSINESS_GROUP(): FieldUtil<TapdReviewAppDefaultCU>{ 
        return new FieldUtil('business_group','businessGroup','业务组类型：0-CP；1-PC；2-SaaS；', new TapdReviewAppDefaultCUImpl());
    }

    get ID(): FieldUtil<TapdReviewAppDefaultCU>{ 
        return TapdReviewAppDefaultMU.ID;
    }
    get APP_NAME(): FieldUtil<TapdReviewAppDefaultCU>{ 
        return TapdReviewAppDefaultMU.APP_NAME;
    }
    get APP_TYPE(): FieldUtil<TapdReviewAppDefaultCU>{ 
        return TapdReviewAppDefaultMU.APP_TYPE;
    }
    get VERSION(): FieldUtil<TapdReviewAppDefaultCU>{ 
        return TapdReviewAppDefaultMU.VERSION;
    }
    get DESCRIPTION(): FieldUtil<TapdReviewAppDefaultCU>{ 
        return TapdReviewAppDefaultMU.DESCRIPTION;
    }
    get BUSINESS_GROUP(): FieldUtil<TapdReviewAppDefaultCU>{ 
        return TapdReviewAppDefaultMU.BUSINESS_GROUP;
    }
}
export {TapdReviewAppDefaultMU, TapdReviewAppDefaultCU}
