120 lines
3.4 KiB
TypeScript
120 lines
3.4 KiB
TypeScript
import axios, { AxiosInstance } from 'axios';
|
|
import { Bee, BeeDebug, Reference } from "@ethersphere/bee-js";
|
|
|
|
const beeJSClient = () => {
|
|
let apiHost = process.env.REACT_APP_BEE_HOST || 'http://localhost:1633'
|
|
|
|
if (sessionStorage.getItem('api_host')) {
|
|
apiHost = String(sessionStorage.getItem('api_host'))
|
|
}
|
|
|
|
return new Bee(apiHost)
|
|
}
|
|
|
|
const beeJSDebugClient = () => {
|
|
let debugApiHost = process.env.REACT_APP_BEE_DEBUG_HOST || 'http://localhost:1635'
|
|
|
|
if (sessionStorage.getItem('debug_api_host')) {
|
|
debugApiHost = String(sessionStorage.getItem('debug_api_host'))
|
|
}
|
|
|
|
return new BeeDebug(debugApiHost)
|
|
}
|
|
|
|
const beeDebugApiClient = (): AxiosInstance => {
|
|
let debugApiHost = process.env.REACT_APP_BEE_DEBUG_HOST || 'http://localhost:1635'
|
|
|
|
if (sessionStorage.getItem('debug_api_host')) {
|
|
debugApiHost = String(sessionStorage.getItem('debug_api_host'))
|
|
}
|
|
|
|
return axios.create({
|
|
baseURL: debugApiHost
|
|
})
|
|
}
|
|
|
|
export const beeApi = {
|
|
status: {
|
|
health() {
|
|
return beeJSClient().isConnected()
|
|
}
|
|
},
|
|
files: {
|
|
uploadFile(file: File) {
|
|
return beeJSClient().uploadFile(file)
|
|
},
|
|
downloadFile(hash: string | Reference) {
|
|
return beeJSClient().downloadFile(hash)
|
|
},
|
|
},
|
|
}
|
|
|
|
export const beeDebugApi = {
|
|
status: {
|
|
nodeHealth() {
|
|
return beeJSDebugClient().getHealth()
|
|
},
|
|
},
|
|
connectivity: {
|
|
addresses() {
|
|
return beeJSDebugClient().getNodeAddresses()
|
|
},
|
|
listPeers() {
|
|
return beeJSDebugClient().getPeers()
|
|
},
|
|
topology() {
|
|
return beeJSDebugClient().getTopology()
|
|
},
|
|
ping(peerId: string) {
|
|
return beeJSDebugClient().pingPeer(peerId)
|
|
}
|
|
},
|
|
balance: {
|
|
balances() {
|
|
return beeDebugApiClient().get(`/balances`)
|
|
},
|
|
peerBalance(peerId: string) {
|
|
return beeDebugApiClient().get(`/balances/${peerId}`)
|
|
},
|
|
consumed() {
|
|
return beeDebugApiClient().get(`/consumed`)
|
|
},
|
|
peerConsumed(peerId: string) {
|
|
return beeDebugApiClient().get(`/consumed/${peerId}`)
|
|
}
|
|
},
|
|
chequebook: {
|
|
address() {
|
|
return beeDebugApiClient().get(`/chequebook/address`)
|
|
},
|
|
balance() {
|
|
return beeDebugApiClient().get(`/chequebook/balance`)
|
|
},
|
|
getLastCheques() {
|
|
return beeDebugApiClient().get(`/chequebook/cheque`)
|
|
},
|
|
peerCashout(peerId: string) {
|
|
return beeDebugApiClient().post(`/chequebook/cashout/${peerId}`)
|
|
},
|
|
getPeerLastCashout(peerId: string) {
|
|
return beeDebugApiClient().get(`/chequebook/cashout/${peerId}`)
|
|
},
|
|
getPeerLastCheques(peerId: string) {
|
|
return beeDebugApiClient().get(`/chequebook/cheque/${peerId}`)
|
|
},
|
|
withdraw(amount: bigint) {
|
|
return beeDebugApiClient().post(`/chequebook/withdraw?amount=${amount}`)
|
|
},
|
|
deposit(amount: bigint) {
|
|
return beeDebugApiClient().post(`/chequebook/deposit?amount=${amount}`)
|
|
},
|
|
},
|
|
settlements: {
|
|
getSettlements() {
|
|
return beeDebugApiClient().get(`/settlements`)
|
|
},
|
|
peerSettlement(peerId: string) {
|
|
return beeDebugApiClient().get(`/settlements/${peerId}`)
|
|
}
|
|
}
|
|
} |