import Request from '@/utils/request/request-util';

/**
 * low_code -数据表api
 *
 */
export class ModelApi {
  /**
   * 添加
   * @param {*} params
   * @returns
   */
  static add(params) {
    return Request.post('/metaModel/add', params);
  }
  /**
   * 编辑
   * @param {*} params
   * @returns
   */
  static edit(params) {
    return Request.post('/metaModel/edit', params);
  }
  /**
   * 删除单个
   * @param {*} params
   * @returns
   */
  static delete(params) {
    return Request.post('/metaModel/delete', params);
  }
  /**
   * 详情
   * @param {*} params
   * @returns
   */
  static detail(params) {
    return Request.getAndLoadData('/metaModel/detail', params);
  }
  
  /**
   * 批量删除模型
   * @param {*} params
   * @returns
   */
  static batchDelete(params) {
    return Request.post('/metaModel/batchDelete', params);
  }
  /**
   * 列表
   * @param {*} params
   * @returns
   */
  static list(params) {
    return Request.getAndLoadData('/metaModel/list', params);
  }

  /**
   * 分页列表
   * @param {*} params
   * @returns
   */
  static page(params) {
    return Request.getAndLoadData('/metaModel/page', params);
  }

  /**
   * 列表
   * @param {*} params
   * @returns
   */
  static list(params) {
    return Request.getAndLoadData('/metaModel/list', params);
  }

  /**
   * 获取所有业务下的table
   * @param {*} params
   * @returns
   */
  static getTotalTableList(params) {
    return Request.getAndLoadData('/metaModel/getTotalTableList', params);
  }

  /**
   * 解析create table语句，直接生成元数据模型
   * @param {*} params
   * @returns
   */
  static sqlImport(params) {
    return Request.post('/metaModelField/sqlImport', params);
  }

  /**
   * 升级模型
   * @param {*} params
   * @returns
   */
  static upgradeModel(params) {
    return Request.post('/metaModel/upgradeModel', params);
  }

  /**
   * 获取指定业务下所有的业务模型和字段
   * @param {*} params
   * @returns
   */
  static getTotalModelAndFieldList(params) {
    return Request.getAndLoadData('/metaModel/getTotalModelAndFieldList', params);
  }

  /**
   * 创建指定模型的sql
   * @param {*} params
   * @returns
   */
  static createTableSql(params) {
    return Request.getAndLoadData('/metaModel/createTableSql', params);
  }
}
