index.ts 878 Bytes
import { RuleChainPaginationItemType } from './model/type';
import { TBPaginationResult } from '/#/axios';
import { defHttp } from '/@/utils/http/axios';
import { RuleChainType } from '/@/views/rule/designer/types/ruleNode';

enum Api {
  SAVE = '/ruleChain/metadata',
  GET_RULE_CHAINES = '/ruleChains',
}

export const getRuleChainData = (id: string) => {
  return defHttp.get<RuleChainType>(
    {
      url: `/ruleChain/${id}/metadata`,
    },
    { joinPrefix: false }
  );
};

export const saveRuleChainData = (data: RuleChainType) => {
  return defHttp.post(
    {
      url: Api.SAVE,
      data,
    },
    { joinPrefix: false }
  );
};

export const getRuleChains = (params: Recordable) => {
  return defHttp.get<TBPaginationResult<RuleChainPaginationItemType>>(
    {
      url: Api.GET_RULE_CHAINES,
      params,
    },
    {
      joinPrefix: false,
    }
  );
};