mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
68 lines
1.7 KiB
JavaScript
68 lines
1.7 KiB
JavaScript
import axios from 'axios'
|
|
import CONFIG from '../config'
|
|
|
|
const apiGet = async (url) => {
|
|
try {
|
|
const result = await axios.get(url)
|
|
if (result.status !== 200) {
|
|
throw new Error('HTTP Status Error ' + result.status)
|
|
}
|
|
if (result.data.state !== 'success') {
|
|
throw new Error(result.data.msg)
|
|
}
|
|
return { success: true, result }
|
|
} catch (error) {
|
|
return { success: false, result: error }
|
|
}
|
|
}
|
|
|
|
const apiPost = async (url, payload) => {
|
|
try {
|
|
const result = await axios.post(url, payload)
|
|
if (result.status !== 200) {
|
|
throw new Error('HTTP Status Error ' + result.status)
|
|
}
|
|
if (result.data.state !== 'success') {
|
|
throw new Error(result.data.msg)
|
|
}
|
|
return { success: true, result }
|
|
} catch (error) {
|
|
return { success: false, result: error }
|
|
}
|
|
}
|
|
|
|
const communityAPI = {
|
|
balance: async (sessionId) => {
|
|
return apiGet(CONFIG.COMMUNITY_API_URL + 'getBalance/' + sessionId)
|
|
},
|
|
transactions: async (sessionId, firstPage = 1, items = 1000, order = 'DESC') => {
|
|
return apiGet(
|
|
`${CONFIG.COMMUNITY_API_URL}listTransactions/${firstPage}/${items}/${order}/${sessionId}`,
|
|
)
|
|
},
|
|
/* create: async (sessionId, email, amount, memo, target_date = new Date() ) => {
|
|
const payload = {
|
|
sessionId,
|
|
email,
|
|
amount,
|
|
target_date,
|
|
memo,
|
|
auto_sign: true,
|
|
}
|
|
return apiPost(CONFIG.COMMUNITY_API__URL + 'createCoins/', payload)
|
|
}, */
|
|
send: async (sessionId, email, amount, memo, targetDate) => {
|
|
const payload = {
|
|
session_id: sessionId,
|
|
email,
|
|
amount,
|
|
memo,
|
|
target_date: targetDate,
|
|
auto_sign: true,
|
|
}
|
|
return apiPost(CONFIG.COMMUNITY_API_URL + 'sendCoins/', payload)
|
|
},
|
|
}
|
|
|
|
export default communityAPI
|