Files

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)
}
}