🔥A cross-language distributed transaction manager. Support xa, tcc, saga, transactional messages. 跨语言分布式事务管理器
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

84 lines
2.0 KiB

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<T>(payload: IListAllTransactionsReq): Promise<AxiosResponse<T>> {
return request({
url: '/api/dtmsvr/all',
method: 'get',
params: payload
})
}
export function forceStopTransaction(gid: string): Promise<AxiosResponse> {
return request({
url: '/api/dtmsvr/forceStop',
method: 'post',
data: {gid},
})
}
export function queryKVPair<T>(payload: { "cat": string, "key": string }): Promise<AxiosResponse<T>> {
return request({
url: '/api/dtmsvr/queryKV',
method: 'get',
params: payload
})
}
export function listKVPairs<T>(payload: IListAllKVReq): Promise<AxiosResponse<T>> {
return request({
url: '/api/dtmsvr/scanKV',
method: 'get',
params: payload
})
}
export function deleteTopic<T>(topicName: string): Promise<AxiosResponse<T>> {
return request({
url: '/api/dtmsvr/topic/' + topicName,
method: 'delete'
})
}
export function subscribe<T>(payload: { topic: string, url: string, remark: string }): Promise<AxiosResponse<T>> {
return request({
url: '/api/dtmsvr/subscribe',
method: 'get',
params: payload
})
}
export function unsubscribe(payload: { topic: string, url: string }): Promise<AxiosResponse> {
return request({
url: '/api/dtmsvr/unsubscribe',
method: 'get',
params: payload
})
}
export function getTransaction<T>(payload: { gid: string }): Promise<AxiosResponse<T>> {
return request({
url: '/api/dtmsvr/query',
method: 'get',
params: payload
})
}
export function getDtmVersion(): Promise<AxiosResponse<any>> {
return request({
url: '/api/dtmsvr/version',
method: 'get',
})
}