modelOfMatter.ts 1.13 KB
import { BasicPageParams } from '../model/baseModel';
import { GetModelTslParams, ModelOfMatterParams } from './model/modelOfMatterModel';
import { defHttp } from '/@/utils/http/axios';

enum ModelOfMatter {
  CREATE = '/things_model',
  UPDATE = '/things_model',
  DELETE = '/things_model',
  TSL = '/things_model',
  LIST = '/things_model/page',
}

export const getModelList = (params: BasicPageParams) => {
  return defHttp.get({
    url: `${ModelOfMatter.LIST}`,
    params,
  });
};

export const getModelTsl = (params: GetModelTslParams) => {
  const { functionType, deviceProfileId } = params;
  return defHttp.get({
    url: `${ModelOfMatter.TSL}/${functionType}/${deviceProfileId}`,
  });
};

export const createModel = (params: Partial<ModelOfMatterParams>) => {
  return defHttp.post({
    url: ModelOfMatter.CREATE,
    params,
  });
};

export const updateModel = (params: Partial<ModelOfMatterParams>) => {
  return defHttp.put({
    url: ModelOfMatter.UPDATE,
    params,
  });
};

export const deleteModel = (params: string[]) => {
  return defHttp.delete({
    url: ModelOfMatter.DELETE,
    params: {
      ids: params,
    },
  });
};