service/datastore/elasticsearch/EsTableService.js Source
import { Zondy } from '../../common/Base';
import { DataStoreService } from '../ServiceBase';

/**
 * @author 基础平台-潘卓然
 * @class module:弹性搜索服务.EsTableService
 * @classdesc 枚举目录树结果
 * @description Zondy.DataStore.ElasticSearch.EsTableService-根据数据库结构枚举目录,枚举库列表、表列表
 * @param {Object} option 属性键值对
 * @param {String} [option.path] 库名称
 * @param {String} [option.tableNames] 表名,多个用逗号分隔,如:时空库
 * @see https://shimo.im/docs/1d579d6a082a4631
 * @example http://192.168.96.101:9091//datastore/rest/dataset/es/schema/{path}?
 * tableNames=sp_taxibj_200_2
 */
export default class EsTableService extends DataStoreService {
    constructor(option) {
        let options = option || {};
        super(options);

        /**
         * @member module:弹性搜索服务.EsTableService.prototype.serviceUrl
         * @type {String}
         * @description 时空聚类查询地址
         * @default /datastore/rest/dataset/es/schema/
         */
        this.serviceUrl = '/datastore/rest/dataset/es/schema/';

        /**
         * @member module:弹性搜索服务.EsTableService.prototype.indexName
         * @type {String}
         * @description 库名称
         * @default null
         */
        this.indexName = options.indexName !== undefined ? options.indexName : null;

        /**
         * @member module:弹性搜索服务.EsTableService.prototype.tableNames
         * @type {String}
         * @description 表名,多个用逗号分隔,如:时空库
         * @default null
         */
        this.tableNames = options.tableNames !== undefined ? options.tableNames : null;
    }

    /**
     * @description 查询函数,向服务器发送请求,返回geosjon格式数据
     * @function module:弹性搜索服务.EsTableService.prototype.query
     * @param  {Function} onSuccess 查询成功回调函数。
     * @param {Function} onError 查询失败回调函数。
     */
    query(onSuccess, onError) {
        let { serviceUrl, params, indexName } = this;
        serviceUrl = serviceUrl + indexName;
        let url = this.getFullUrl(serviceUrl, params);
        this.get(url, onSuccess, onError);
    }
}
export { EsTableService };
Zondy.DataStore.ElasticSearch.EsTableService = EsTableService;