From 804a87053f6fbf1ea6db387f549407e0b8ed6544 Mon Sep 17 00:00:00 2001 From: Mentor Date: Mon, 6 Dec 2021 16:52:34 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20write=20incomplete=20Rocketeers?= =?UTF-8?q?=20to=20database=20to=20appease=20the=20Opensea=20api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- functions/nft-media/rocketeer.js | 37 +++++++++++++++++--------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/functions/nft-media/rocketeer.js b/functions/nft-media/rocketeer.js index 4d1c0b7..d69e4fa 100644 --- a/functions/nft-media/rocketeer.js +++ b/functions/nft-media/rocketeer.js @@ -72,6 +72,26 @@ async function generateRocketeer( id, network='mainnet' ) { // Generate randomized attributes rocketeer.attributes = pickRandomAttributes( globalAttributes ) + // Set birthday + rocketeer.attributes.push( { + "display_type": "date", + "trait_type": "birthday", + "value": Math.floor( Date.now() / 1000 ) + } ) + + // Special editions + const edition = { "trait_type": "edition", value: "regular" } + if( id <= 50 ) edition.value = 'genesis' + if( id % 42 === 0 ) edition.value = 'hitchhiker' + if( ( id - 1 ) % 42 == 0 ) edition.value = 'generous' + rocketeer.attributes.push( edition ) + + // Create description + rocketeer.description = `${ rocketeer.name } is a proud member of the ${ rocketeer.attributes.find( ( { trait_type } ) => trait_type == 'patch' ).value } guild.` + + // Write the incomplete Rocketeer to the database, because opensea doesn't update metadata by itself + await db.collection( `${ network }Rocketeers` ).doc( id ).set( rocketeer, { merge: true } ) + // Generate color attributes rocketeer.attributes.push( { "trait_type": "outfit color", @@ -90,20 +110,6 @@ async function generateRocketeer( id, network='mainnet' ) { value: `rgb( ${ randomNumberBetween( 0, 255 ) }, ${ randomNumberBetween( 0, 255 ) }, ${ randomNumberBetween( 0, 255 ) } )` } ) - // Set birthday - rocketeer.attributes.push( { - "display_type": "date", - "trait_type": "birthday", - "value": Math.floor( Date.now() / 1000 ) - } ) - - // Special editions - const edition = { "trait_type": "edition", value: "regular" } - if( id <= 50 ) edition.value = 'genesis' - if( id % 42 === 0 ) edition.value = 'hitchhiker' - if( ( id - 1 ) % 42 == 0 ) edition.value = 'generous' - rocketeer.attributes.push( edition ) - // Generate, compile and upload image rocketeer.image = await svgFromAttributes( rocketeer.attributes, `${ network }Rocketeers/${id}` ) @@ -118,9 +124,6 @@ async function generateRocketeer( id, network='mainnet' ) { } ) - // Create description - rocketeer.description = `${ rocketeer.name } is a proud member of the ${ rocketeer.attributes.find( ( { trait_type } ) => trait_type == 'patch' ).value } guild.` - // Save new Rocketeer await db.collection( `${ network }Rocketeers` ).doc( id ).set( rocketeer, { merge: true } )