spacylabs-rhino
Version:
48 lines (43 loc) • 1.23 kB
JavaScript
const { Joi } = require('@rhino.fi/dvf-utils')
const getAuthenticated = require('../../lib/dvf/get-authenticated')
const validateWithJoi = require('../../lib/validators/validateWithJoi')
const schema = Joi.alternatives().try(
Joi.object({
ammFundingOrderId: Joi.string()
}),
Joi.object({
sortDirection: Joi.string()
.valid('DESC', 'ASC')
.optional(),
startDate: Joi.date().optional(),
endDate: Joi.date()
.greater(Joi.ref('startDate'))
.optional(),
skip: Joi.number()
.integer()
.min(0)
.optional(),
limit: Joi.number()
.integer()
.min(1)
.max(100)
.optional(),
pool: Joi.string().optional()
})
)
const validateData = validateWithJoi(schema)('INVALID_METHOD_ARGUMENT')({
context: 'getAmmFundingOrders'
})
module.exports = (dvf, nonce, signature, data, headers) => {
const validatedData = validateData(data)
const endpoint = `/v1/trading/amm/fundingOrders`
if (validatedData.ammFundingOrderId) {
return getAuthenticated(
dvf,
`${endpoint}/${validatedData.ammFundingOrderId}`,
nonce,
signature
)
}
return getAuthenticated(dvf, endpoint, nonce, signature, validatedData, headers)
}