mirror of
https://github.com/stronk-dev/RandomChad.git
synced 2025-07-05 10:35:08 +02:00
✨ easy endpoint to get multiple rocketeers
This commit is contained in:
parent
a578cf071f
commit
e47a1054b7
@ -1,6 +1,6 @@
|
|||||||
const app = require( './express' )()
|
const app = require( './express' )()
|
||||||
const { getTotalSupply } = require( '../modules/contract' )
|
const { getTotalSupply } = require( '../modules/contract' )
|
||||||
const { safelyReturnRocketeer, web2domain } = require( '../nft-media/rocketeer' )
|
const { safelyReturnRocketeer, web2domain, safelyReturnMultipleRocketeers } = require( '../nft-media/rocketeer' )
|
||||||
const { setAvatar, resetAvatar } = require( '../integrations/avatar' )
|
const { setAvatar, resetAvatar } = require( '../integrations/avatar' )
|
||||||
const { generateNewOutfit, setPrimaryOutfit } = require( '../integrations/changingroom' )
|
const { generateNewOutfit, setPrimaryOutfit } = require( '../integrations/changingroom' )
|
||||||
|
|
||||||
@ -40,6 +40,24 @@ app.get( '/api/rocketeer/:id', async ( req, res ) => {
|
|||||||
|
|
||||||
} )
|
} )
|
||||||
|
|
||||||
|
app.get( '/api/rocketeers/', async ( req, res ) => {
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
// Parse the request
|
||||||
|
let { ids } = req.query
|
||||||
|
ids = ids.split( ',' )
|
||||||
|
if( ids.length > 100 ) throw new Error( 'Please do not ask for so much data at once :)' )
|
||||||
|
const rocketeers = await safelyReturnMultipleRocketeers( ids, 'testnet' )
|
||||||
|
return res.json( rocketeers )
|
||||||
|
|
||||||
|
} catch( e ) {
|
||||||
|
return res.json( { error: e.message || e.toString() } )
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} )
|
||||||
|
|
||||||
/* ///////////////////////////////
|
/* ///////////////////////////////
|
||||||
// VGR's dashboard integration
|
// VGR's dashboard integration
|
||||||
// /////////////////////////////*/
|
// /////////////////////////////*/
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
const app = require( './express' )()
|
const app = require( './express' )()
|
||||||
const { getTotalSupply } = require( '../modules/contract' )
|
const { getTotalSupply } = require( '../modules/contract' )
|
||||||
const { safelyReturnRocketeer, web2domain } = require( '../nft-media/rocketeer' )
|
const { safelyReturnRocketeer, web2domain, safelyReturnMultipleRocketeers } = require( '../nft-media/rocketeer' )
|
||||||
const { generateNewOutfit, setPrimaryOutfit } = require( '../integrations/changingroom' )
|
const { generateNewOutfit, setPrimaryOutfit } = require( '../integrations/changingroom' )
|
||||||
|
|
||||||
////////////////////////////////
|
////////////////////////////////
|
||||||
@ -39,6 +39,24 @@ app.get( '/testnetapi/rocketeer/:id', async ( req, res ) => {
|
|||||||
|
|
||||||
} )
|
} )
|
||||||
|
|
||||||
|
app.get( '/testnetapi/rocketeers/', async ( req, res ) => {
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
// Parse the request
|
||||||
|
let { ids } = req.query
|
||||||
|
ids = ids.split( ',' )
|
||||||
|
if( ids.length > 100 ) throw new Error( 'Please do not ask for so much data at once :)' )
|
||||||
|
const rocketeers = await safelyReturnMultipleRocketeers( ids, 'testnet' )
|
||||||
|
return res.json( rocketeers )
|
||||||
|
|
||||||
|
} catch( e ) {
|
||||||
|
return res.json( { error: e.message || e.toString() } )
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} )
|
||||||
|
|
||||||
/* ///////////////////////////////
|
/* ///////////////////////////////
|
||||||
// Changing room endpoints
|
// Changing room endpoints
|
||||||
// /////////////////////////////*/
|
// /////////////////////////////*/
|
||||||
|
@ -149,7 +149,22 @@ async function safelyReturnRocketeer( id, network ) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function safelyReturnMultipleRocketeers( ids=[], network='mainnet' ) {
|
||||||
|
|
||||||
|
// Chech if this is an illegal ID
|
||||||
|
const invalidIds = await Promise.all( ids.map( id => isInvalidRocketeerId( id, network ) ) )
|
||||||
|
if( invalidIds.includes( true ) ) throw invalidIds
|
||||||
|
|
||||||
|
// Get old rocketeers
|
||||||
|
const rocketeers = await Promise.all( ids.map( id => getExistingRocketeer( id ) ) )
|
||||||
|
|
||||||
|
// Send back an array of rocketeers, but not any failed ones
|
||||||
|
return rocketeers.filter( rocketeer => rocketeer )
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
web2domain: web2domain,
|
web2domain,
|
||||||
safelyReturnRocketeer: safelyReturnRocketeer
|
safelyReturnRocketeer,
|
||||||
|
safelyReturnMultipleRocketeers
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user