69 lines
2.3 KiB
JavaScript
69 lines
2.3 KiB
JavaScript
import {
|
|
normalizeEarningLedger,
|
|
normalizeEarningPage,
|
|
normalizeEarningPageQuery,
|
|
normalizeEarningSummary,
|
|
normalizeEarningWithdrawal,
|
|
normalizeEarningWithdrawalPayload
|
|
} from './earning-contract.js'
|
|
import { normalizeResourcePathId } from './request-normalizers.js'
|
|
import { requestStrict } from './request-client.js'
|
|
|
|
export const earningApi = {
|
|
async getEarningSummary(requestOptions = {}) {
|
|
const earningSummary = await requestStrict({
|
|
url: '/genealogy/app/earnings/summary',
|
|
method: 'GET'
|
|
}, {
|
|
requestController: requestOptions.requestController ?? null
|
|
})
|
|
return normalizeEarningSummary(earningSummary)
|
|
},
|
|
|
|
async getEarningLedgerPage(query = {}, requestOptions = {}) {
|
|
const ledgerPage = await requestStrict({
|
|
url: '/genealogy/app/earnings/ledger',
|
|
method: 'GET',
|
|
data: normalizeEarningPageQuery(query)
|
|
}, {
|
|
requireData: false,
|
|
requestController: requestOptions.requestController ?? null
|
|
})
|
|
return normalizeEarningPage(ledgerPage, normalizeEarningLedger, '收益明细')
|
|
},
|
|
|
|
async getEarningWithdrawalPage(query = {}, requestOptions = {}) {
|
|
const withdrawalPage = await requestStrict({
|
|
url: '/genealogy/app/earnings/withdrawals',
|
|
method: 'GET',
|
|
data: normalizeEarningPageQuery(query)
|
|
}, {
|
|
requireData: false,
|
|
requestController: requestOptions.requestController ?? null
|
|
})
|
|
return normalizeEarningPage(withdrawalPage, normalizeEarningWithdrawal, '提现记录')
|
|
},
|
|
|
|
async requestEarningWithdrawal(payload, requestOptions = {}) {
|
|
const withdrawal = await requestStrict({
|
|
url: '/genealogy/app/earnings/withdrawals',
|
|
method: 'POST',
|
|
data: normalizeEarningWithdrawalPayload(payload)
|
|
}, {
|
|
requestController: requestOptions.requestController ?? null
|
|
})
|
|
return normalizeEarningWithdrawal(withdrawal)
|
|
},
|
|
|
|
async cancelEarningWithdrawal(withdrawalId, requestOptions = {}) {
|
|
const normalizedWithdrawalId = normalizeResourcePathId(withdrawalId, '提现记录标识')
|
|
const withdrawal = await requestStrict({
|
|
url: `/genealogy/app/earnings/withdrawals/${normalizedWithdrawalId}/cancel`,
|
|
method: 'POST'
|
|
}, {
|
|
requestController: requestOptions.requestController ?? null
|
|
})
|
|
return normalizeEarningWithdrawal(withdrawal)
|
|
}
|
|
}
|