import { DataState,FieldInfo } from 'model-util-base'
/**
 * @author auto generate
 * @version 1.0
 * @date 2020-07-31 13:17
 */
export interface BmVersion{
    /**
    * 
    * @type { string }
    */
    id?: string;
    /**
    * 
    * @type { string }
    */
    serviceCenterId?: string;
    /**
    * 
    * @type { string }
    */
    appId?: string;
    /**
    * 
    * @type { string }
    */
    bmProjectId?: string;
    /**
    * 
    * @type { string }
    */
    basicVersionId?: string;
    /**
    * 
    * @type { string }
    */
    versionNo?: string;
    /**
    * 
    * @type { number }
    */
    major?: number;
    /**
    * 
    * @type { number }
    */
    minor?: number;
    /**
    * 
    * @type { boolean }
    */
    released?: boolean;
    /**
    * 
    * @type { boolean }
    */
    bmsReleased?: boolean;
    /**
    * 
    * @type { string }
    */
    description?: string;
    /**
    * 
    * @type { string }
    */
    javaBuildStatus?: string;
    /**
    * 
    * @type { string }
    */
    npmBuildStatus?: string;
    /**
    * 
    * @type { string }
    */
    npmPackageName?: string;
    /**
    * 
    * @type { string }
    */
    nodeBuildStatus?: string;
    /**
    * 
    * @type { string }
    */
    gradlePackageName?: string;
    /**
    * 
    * @type { string }
    */
    createUserId?: string;
    /**
    * 
    * @type { string }
    */
    updateUserId?: string;
    /**
    * 
    * @type { Date }
    */
    createTime?: Date;
    /**
    * 
    * @type { Date }
    */
    updateTime?: Date;
}
export class BmVersionMI{ 
    static get ID(): FieldInfo{  
        return new FieldInfo('id','');
    }
    static get SERVICE_CENTER_ID(): FieldInfo{  
        return new FieldInfo('serviceCenterId','');
    }
    static get APP_ID(): FieldInfo{  
        return new FieldInfo('appId','');
    }
    static get BM_PROJECT_ID(): FieldInfo{  
        return new FieldInfo('bmProjectId','');
    }
    static get BASIC_VERSION_ID(): FieldInfo{  
        return new FieldInfo('basicVersionId','');
    }
    static get VERSION_NO(): FieldInfo{  
        return new FieldInfo('versionNo','');
    }
    static get MAJOR(): FieldInfo{  
        return new FieldInfo('major','');
    }
    static get MINOR(): FieldInfo{  
        return new FieldInfo('minor','');
    }
    static get RELEASED(): FieldInfo{  
        return new FieldInfo('released','');
    }
    static get BMS_RELEASED(): FieldInfo{  
        return new FieldInfo('bmsReleased','');
    }
    static get DESCRIPTION(): FieldInfo{  
        return new FieldInfo('description','');
    }
    static get JAVA_BUILD_STATUS(): FieldInfo{  
        return new FieldInfo('javaBuildStatus','');
    }
    static get NPM_BUILD_STATUS(): FieldInfo{  
        return new FieldInfo('npmBuildStatus','');
    }
    static get NPM_PACKAGE_NAME(): FieldInfo{  
        return new FieldInfo('npmPackageName','');
    }
    static get NODE_BUILD_STATUS(): FieldInfo{  
        return new FieldInfo('nodeBuildStatus','');
    }
    static get GRADLE_PACKAGE_NAME(): FieldInfo{  
        return new FieldInfo('gradlePackageName','');
    }
    static get CREATE_USER_ID(): FieldInfo{  
        return new FieldInfo('createUserId','');
    }
    static get UPDATE_USER_ID(): FieldInfo{  
        return new FieldInfo('updateUserId','');
    }
    static get CREATE_TIME(): FieldInfo{  
        return new FieldInfo('createTime','');
    }
    static get UPDATE_TIME(): FieldInfo{  
        return new FieldInfo('updateTime','');
    }
}


/**
 * @author auto generate
 * @version 1.0
 * @date 2020-07-31 13:17
 */
export interface SysUser{
    /**
    * 
    * @type { string }
    */
    id?: string;
    /**
    * 
    * @type { string }
    */
    name?: string;
}
export class SysUserMI{ 
    static get ID(): FieldInfo{  
        return new FieldInfo('id','');
    }
    static get NAME(): FieldInfo{  
        return new FieldInfo('name','');
    }
}


/**
 * @author auto generate
 * @version 1.0
 * @date 2020-07-31 13:17
 */
export interface BmModelProject{
    /**
    * 
    * @type { string }
    */
    id?: string;
    /**
    * 
    * @type { string }
    */
    serviceCenterId?: string;
    /**
    * 
    * @type { string }
    */
    appId?: string;
    /**
    * 
    * @type { string }
    */
    packageName?: string;
    /**
    * 
    * @type { string }
    */
    pid?: string;
    /**
    * 
    * @type { string }
    */
    code?: string;
    /**
    * 
    * @type { string }
    */
    description?: string;
    /**
    * 
    * @type { string }
    */
    updateUserId?: string;
    /**
    * 
    * @type { string }
    */
    createUserId?: string;
    /**
    * 
    * @type { Date }
    */
    createTime?: Date;
    /**
    * 
    * @type { Date }
    */
    updateTime?: Date;
    /**
    * extend field in SysUser
    * 
    * @type { string }
    */
    createUserName?: string;
    /**
    * 子表 BmVersion 
    * @type { BmVersion[] }
    */
    bmVersion?:BmVersion[];

    /**
    * 数据状态 
    * @type { DataState }
    */
    _state?: DataState;
}
export class BmModelProjectMI{ 
    static get ID(): FieldInfo{  
        return new FieldInfo('id','');
    }
    static get SERVICE_CENTER_ID(): FieldInfo{  
        return new FieldInfo('serviceCenterId','');
    }
    static get APP_ID(): FieldInfo{  
        return new FieldInfo('appId','');
    }
    static get PACKAGE_NAME(): FieldInfo{  
        return new FieldInfo('packageName','');
    }
    static get PID(): FieldInfo{  
        return new FieldInfo('pid','');
    }
    static get CODE(): FieldInfo{  
        return new FieldInfo('code','');
    }
    static get DESCRIPTION(): FieldInfo{  
        return new FieldInfo('description','');
    }
    static get UPDATE_USER_ID(): FieldInfo{  
        return new FieldInfo('updateUserId','');
    }
    static get CREATE_USER_ID(): FieldInfo{  
        return new FieldInfo('createUserId','');
    }
    static get CREATE_TIME(): FieldInfo{  
        return new FieldInfo('createTime','');
    }
    static get UPDATE_TIME(): FieldInfo{  
        return new FieldInfo('updateTime','');
    }
    static get CREATE_USER_NAME(): FieldInfo{  
        return new FieldInfo('createUserName','');
    }
}


/**
 * @author auto generate
 * @version 1.0
 * @date 2020-07-31 13:17
 */
export interface BmViewModel{
    /**
    * 
    * @type { string }
    */
    id?: string;
    /**
    * 
    * @type { string }
    */
    bmProjectId?: string;
    /**
    * 
    * @type { string }
    */
    versionId?: string;
    /**
    * 
    * @type { string }
    */
    versionNo?: string;
    /**
    * 
    * @type { string }
    */
    name?: string;
    /**
    * 
    * @type { string }
    */
    tableName?: string;
    /**
    * 
    * @type { string }
    */
    description?: string;
    /**
    * 
    * @type { boolean }
    */
    released?: boolean;
    /**
    * 
    * @type { string }
    */
    buildMethod?: string;
    /**
    * 
    * @type { string }
    */
    buildSql?: string;
    /**
    * 
    * @type { string }
    */
    datasourceId?: string;
    /**
    * 
    * @type { string }
    */
    createUserId?: string;
    /**
    * 
    * @type { string }
    */
    updateUserId?: string;
    /**
    * 
    * @type { Date }
    */
    createTime?: Date;
    /**
    * 
    * @type { Date }
    */
    updateTime?: Date;
}
export class BmViewModelMI{ 
    static get ID(): FieldInfo{  
        return new FieldInfo('id','');
    }
    static get BM_PROJECT_ID(): FieldInfo{  
        return new FieldInfo('bmProjectId','');
    }
    static get VERSION_ID(): FieldInfo{  
        return new FieldInfo('versionId','');
    }
    static get VERSION_NO(): FieldInfo{  
        return new FieldInfo('versionNo','');
    }
    static get NAME(): FieldInfo{  
        return new FieldInfo('name','');
    }
    static get TABLE_NAME(): FieldInfo{  
        return new FieldInfo('tableName','');
    }
    static get DESCRIPTION(): FieldInfo{  
        return new FieldInfo('description','');
    }
    static get RELEASED(): FieldInfo{  
        return new FieldInfo('released','');
    }
    static get BUILD_METHOD(): FieldInfo{  
        return new FieldInfo('buildMethod','');
    }
    static get BUILD_SQL(): FieldInfo{  
        return new FieldInfo('buildSql','');
    }
    static get DATASOURCE_ID(): FieldInfo{  
        return new FieldInfo('datasourceId','');
    }
    static get CREATE_USER_ID(): FieldInfo{  
        return new FieldInfo('createUserId','');
    }
    static get UPDATE_USER_ID(): FieldInfo{  
        return new FieldInfo('updateUserId','');
    }
    static get CREATE_TIME(): FieldInfo{  
        return new FieldInfo('createTime','');
    }
    static get UPDATE_TIME(): FieldInfo{  
        return new FieldInfo('updateTime','');
    }
}


/**
 * @author auto generate
 * @version 1.0
 * @date 2020-07-31 13:17
 */
export interface BmViewModelField{
    /**
    * 
    * @type { string }
    */
    id?: string;
    /**
    * 
    * @type { string }
    */
    bmProjectId?: string;
    /**
    * 
    * @type { string }
    */
    bmViewModelId?: string;
    /**
    * 
    * @type { string }
    */
    versionId?: string;
    /**
    * 
    * @type { string }
    */
    name?: string;
    /**
    * 
    * @type { string }
    */
    columnName?: string;
    /**
    * 
    * @type { boolean }
    */
    primaryKey?: boolean;
    /**
    * 
    * @type { string }
    */
    primaryKeyGenType?: string;
    /**
    * 
    * @type { string }
    */
    title?: string;
    /**
    * 
    * @type { string }
    */
    dataType?: string;
    /**
    * 
    * @type { string }
    */
    javaDataType?: string;
    /**
    * 
    * @type { string }
    */
    description?: string;
    /**
    * 
    * @type { string }
    */
    updateUserId?: string;
    /**
    * 
    * @type { string }
    */
    createUserId?: string;
    /**
    * 
    * @type { Date }
    */
    createTime?: Date;
    /**
    * 
    * @type { Date }
    */
    updateTime?: Date;
}
export class BmViewModelFieldMI{ 
    static get ID(): FieldInfo{  
        return new FieldInfo('id','');
    }
    static get BM_PROJECT_ID(): FieldInfo{  
        return new FieldInfo('bmProjectId','');
    }
    static get BM_VIEW_MODEL_ID(): FieldInfo{  
        return new FieldInfo('bmViewModelId','');
    }
    static get VERSION_ID(): FieldInfo{  
        return new FieldInfo('versionId','');
    }
    static get NAME(): FieldInfo{  
        return new FieldInfo('name','');
    }
    static get COLUMN_NAME(): FieldInfo{  
        return new FieldInfo('columnName','');
    }
    static get PRIMARY_KEY(): FieldInfo{  
        return new FieldInfo('primaryKey','');
    }
    static get PRIMARY_KEY_GEN_TYPE(): FieldInfo{  
        return new FieldInfo('primaryKeyGenType','');
    }
    static get TITLE(): FieldInfo{  
        return new FieldInfo('title','');
    }
    static get DATA_TYPE(): FieldInfo{  
        return new FieldInfo('dataType','');
    }
    static get JAVA_DATA_TYPE(): FieldInfo{  
        return new FieldInfo('javaDataType','');
    }
    static get DESCRIPTION(): FieldInfo{  
        return new FieldInfo('description','');
    }
    static get UPDATE_USER_ID(): FieldInfo{  
        return new FieldInfo('updateUserId','');
    }
    static get CREATE_USER_ID(): FieldInfo{  
        return new FieldInfo('createUserId','');
    }
    static get CREATE_TIME(): FieldInfo{  
        return new FieldInfo('createTime','');
    }
    static get UPDATE_TIME(): FieldInfo{  
        return new FieldInfo('updateTime','');
    }
}


