import {AxiosResponse} from 'axios' import request from '/@/utils/request' export interface IListAllTransactionsReq { gid?: string, limit: number position?: string } export interface IListAllKVReq { cat: string limit: number position?: string } export function listAllTransactions(payload: IListAllTransactionsReq): Promise> { return request({ url: '/api/dtmsvr/all', method: 'get', params: payload }) } export function forceStopTransaction(gid: string): Promise { return request({ url: '/api/dtmsvr/forceStop', method: 'post', data: {gid}, }) } export function queryKVPair(payload: { "cat": string, "key": string }): Promise> { return request({ url: '/api/dtmsvr/queryKV', method: 'get', params: payload }) } export function listKVPairs(payload: IListAllKVReq): Promise> { return request({ url: '/api/dtmsvr/scanKV', method: 'get', params: payload }) } export function deleteTopic(topicName: string): Promise> { return request({ url: '/api/dtmsvr/topic/' + topicName, method: 'delete' }) } export function subscribe(payload: { topic: string, url: string, remark: string }): Promise> { return request({ url: '/api/dtmsvr/subscribe', method: 'get', params: payload }) } export function unsubscribe(payload: { topic: string, url: string }): Promise { return request({ url: '/api/dtmsvr/unsubscribe', method: 'get', params: payload }) } export function getTransaction(payload: { gid: string }): Promise> { return request({ url: '/api/dtmsvr/query', method: 'get', params: payload }) } export function getDtmVersion(): Promise> { return request({ url: '/api/dtmsvr/version', method: 'get', }) }