import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { PresentationMobileMenu } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2023-06-19 15:29
 */
interface PresentationMobileMenuCU extends ConditionUtil<PresentationMobileMenuCU>{
    ID:FieldUtil<PresentationMobileMenuCU>;
    TEXT:FieldUtil<PresentationMobileMenuCU>;
    LEVEL:FieldUtil<PresentationMobileMenuCU>;
    PARENT_ID:FieldUtil<PresentationMobileMenuCU>;
    SORT:FieldUtil<PresentationMobileMenuCU>;
    TYPE:FieldUtil<PresentationMobileMenuCU>;
    ICON:FieldUtil<PresentationMobileMenuCU>;
    CONTENT:FieldUtil<PresentationMobileMenuCU>;
    SUB_TEXT:FieldUtil<PresentationMobileMenuCU>;
}

class PresentationMobileMenuCUImpl extends ConditionUtilImpl<PresentationMobileMenuCUImpl> implements PresentationMobileMenuCU{ 
    newInstance(): PresentationMobileMenuCUImpl {
        return new PresentationMobileMenuCUImpl();
    } 
    get ID(): FieldUtil<PresentationMobileMenuCU>{  
        return new FieldUtil('id','id','主键', this);
    }
    get TEXT(): FieldUtil<PresentationMobileMenuCU>{  
        return new FieldUtil('text','text','', this);
    }
    get LEVEL(): FieldUtil<PresentationMobileMenuCU>{  
        return new FieldUtil('level','level','', this);
    }
    get PARENT_ID(): FieldUtil<PresentationMobileMenuCU>{  
        return new FieldUtil('parent_id','parentId','', this);
    }
    get SORT(): FieldUtil<PresentationMobileMenuCU>{  
        return new FieldUtil('sort','sort','', this);
    }
    get TYPE(): FieldUtil<PresentationMobileMenuCU>{  
        return new FieldUtil('type','type','展示类型（0-空节点; 1-IMG；2-VIDEO；）', this);
    }
    get ICON(): FieldUtil<PresentationMobileMenuCU>{  
        return new FieldUtil('icon','icon','', this);
    }
    get CONTENT(): FieldUtil<PresentationMobileMenuCU>{  
        return new FieldUtil('content','content','', this);
    }
    get SUB_TEXT(): FieldUtil<PresentationMobileMenuCU>{  
        return new FieldUtil('sub_text','subText','', this);
    }
}

@Singleton 
class PresentationMobileMenuMU extends TableUtilImpl<PresentationMobileMenuCU,PresentationMobileMenu>{ 
    tableName  = 'presentation_mobile_menu';
    tableFields  = ['id','text','level','parent_id','sort','type','icon','content','sub_text'];
    modelFields  = ['id','text','level','parentId','sort','type','icon','content','subText'];
    modelIdFields  = ['id'];
    tableIdFields  = ['id'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): PresentationMobileMenuCU {
        return new PresentationMobileMenuCUImpl();
    }   

    static get ID(): FieldUtil<PresentationMobileMenuCU>{ 
        return new FieldUtil('id','id','主键', new PresentationMobileMenuCUImpl());
    }
    static get TEXT(): FieldUtil<PresentationMobileMenuCU>{ 
        return new FieldUtil('text','text','', new PresentationMobileMenuCUImpl());
    }
    static get LEVEL(): FieldUtil<PresentationMobileMenuCU>{ 
        return new FieldUtil('level','level','', new PresentationMobileMenuCUImpl());
    }
    static get PARENT_ID(): FieldUtil<PresentationMobileMenuCU>{ 
        return new FieldUtil('parent_id','parentId','', new PresentationMobileMenuCUImpl());
    }
    static get SORT(): FieldUtil<PresentationMobileMenuCU>{ 
        return new FieldUtil('sort','sort','', new PresentationMobileMenuCUImpl());
    }
    static get TYPE(): FieldUtil<PresentationMobileMenuCU>{ 
        return new FieldUtil('type','type','展示类型（0-空节点; 1-IMG；2-VIDEO；）', new PresentationMobileMenuCUImpl());
    }
    static get ICON(): FieldUtil<PresentationMobileMenuCU>{ 
        return new FieldUtil('icon','icon','', new PresentationMobileMenuCUImpl());
    }
    static get CONTENT(): FieldUtil<PresentationMobileMenuCU>{ 
        return new FieldUtil('content','content','', new PresentationMobileMenuCUImpl());
    }
    static get SUB_TEXT(): FieldUtil<PresentationMobileMenuCU>{ 
        return new FieldUtil('sub_text','subText','', new PresentationMobileMenuCUImpl());
    }

    get ID(): FieldUtil<PresentationMobileMenuCU>{ 
        return PresentationMobileMenuMU.ID;
    }
    get TEXT(): FieldUtil<PresentationMobileMenuCU>{ 
        return PresentationMobileMenuMU.TEXT;
    }
    get LEVEL(): FieldUtil<PresentationMobileMenuCU>{ 
        return PresentationMobileMenuMU.LEVEL;
    }
    get PARENT_ID(): FieldUtil<PresentationMobileMenuCU>{ 
        return PresentationMobileMenuMU.PARENT_ID;
    }
    get SORT(): FieldUtil<PresentationMobileMenuCU>{ 
        return PresentationMobileMenuMU.SORT;
    }
    get TYPE(): FieldUtil<PresentationMobileMenuCU>{ 
        return PresentationMobileMenuMU.TYPE;
    }
    get ICON(): FieldUtil<PresentationMobileMenuCU>{ 
        return PresentationMobileMenuMU.ICON;
    }
    get CONTENT(): FieldUtil<PresentationMobileMenuCU>{ 
        return PresentationMobileMenuMU.CONTENT;
    }
    get SUB_TEXT(): FieldUtil<PresentationMobileMenuCU>{ 
        return PresentationMobileMenuMU.SUB_TEXT;
    }
}
export {PresentationMobileMenuMU, PresentationMobileMenuCU}
