mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-04 07:24:13 +00:00 
			
		
		
		
	upd: cache instance sponsors
This commit is contained in:
		
							parent
							
								
									cc1017b2af
								
							
						
					
					
						commit
						dcd6eee627
					
				
					 1 changed files with 6 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -35,9 +35,12 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
 | 
			
		|||
		super(meta, paramDef, async (ps, me) => {
 | 
			
		||||
			let totalSponsors;
 | 
			
		||||
			const cachedSponsors = await this.redisClient.get('sponsors');
 | 
			
		||||
			const cachedInstanceSponsors = await this.redisClient.get('instanceSponsors');	
 | 
			
		||||
 | 
			
		||||
			if (!ps.forceUpdate && !ps.instance && cachedSponsors) {
 | 
			
		||||
				totalSponsors = JSON.parse(cachedSponsors);
 | 
			
		||||
			} else if (ps.instance && !ps.forceUpdate && cachedInstanceSponsors) {
 | 
			
		||||
				totalSponsors = JSON.parse(cachedInstanceSponsors);
 | 
			
		||||
			} else if (!ps.instance) {
 | 
			
		||||
				try {
 | 
			
		||||
					const backers = await fetch('https://opencollective.com/sharkey/tiers/backer/all.json').then((response) => response.json());
 | 
			
		||||
| 
						 | 
				
			
			@ -66,6 +69,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
 | 
			
		|||
 | 
			
		||||
						// Remove possible duplicates
 | 
			
		||||
						totalSponsors = [...new Map(allSponsors.map(v => [v.profile, v])).values()];
 | 
			
		||||
						
 | 
			
		||||
						await this.redisClient.set('instanceSponsors', JSON.stringify(totalSponsors), 'EX', 3600);
 | 
			
		||||
					} else {
 | 
			
		||||
						totalSponsors = [];
 | 
			
		||||
					}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue