mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-03 23:14:13 +00:00 
			
		
		
		
	upd: move totalSponsors and donationUrl check
This commit is contained in:
		
							parent
							
								
									34cbf55239
								
							
						
					
					
						commit
						6b459be117
					
				
					 1 changed files with 15 additions and 14 deletions
				
			
		| 
						 | 
				
			
			@ -33,9 +33,6 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
 | 
			
		|||
		private metaService: MetaService,
 | 
			
		||||
	) {
 | 
			
		||||
		super(meta, paramDef, async (ps, me) => {
 | 
			
		||||
			// eslint-disable-next-line @typescript-eslint/no-explicit-any
 | 
			
		||||
			let totalSponsors: any;
 | 
			
		||||
 | 
			
		||||
			const maybeCached = async (key: string, forcedUpdate: boolean, fetch_cb: () => void) => {
 | 
			
		||||
				// get Key first before doing the if statement as it can be defined as either string or null
 | 
			
		||||
				const cached = await this.redisClient.get(key);
 | 
			
		||||
| 
						 | 
				
			
			@ -46,18 +43,20 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
 | 
			
		|||
 | 
			
		||||
				try {
 | 
			
		||||
					const result = await fetch_cb();
 | 
			
		||||
					await this.redisClient.set(key, JSON.stringify(totalSponsors), 'EX', 3600);
 | 
			
		||||
					await this.redisClient.set(key, JSON.stringify(result), 'EX', 3600);
 | 
			
		||||
					return result;
 | 
			
		||||
				} catch (e) { return []; }
 | 
			
		||||
			};
 | 
			
		||||
			
 | 
			
		||||
			if (ps.instance) {
 | 
			
		||||
				return { sponsor_data: await maybeCached('instanceSponsors', ps.forceUpdate, async () => {
 | 
			
		||||
					try {
 | 
			
		||||
					let totalSponsors;
 | 
			
		||||
					const meta = await this.metaService.fetch();
 | 
			
		||||
					
 | 
			
		||||
					if (meta.donationUrl && !meta.donationUrl.includes('opencollective.com')) {
 | 
			
		||||
						return [];
 | 
			
		||||
					} else if (meta.donationUrl) {
 | 
			
		||||
						try {
 | 
			
		||||
							const backers = await fetch(`${meta.donationUrl}/members/users.json`).then((response) => response.json());
 | 
			
		||||
		
 | 
			
		||||
							// Merge both together into one array and make sure it only has Active subscriptions
 | 
			
		||||
| 
						 | 
				
			
			@ -68,15 +67,17 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
 | 
			
		|||
								
 | 
			
		||||
							await this.redisClient.set('instanceSponsors', JSON.stringify(totalSponsors), 'EX', 3600);
 | 
			
		||||
							return totalSponsors;
 | 
			
		||||
						} else {
 | 
			
		||||
						} catch (error) {
 | 
			
		||||
							return [];
 | 
			
		||||
						}
 | 
			
		||||
					} catch (error) {
 | 
			
		||||
					} else {
 | 
			
		||||
						return [];
 | 
			
		||||
					}
 | 
			
		||||
				}) };
 | 
			
		||||
			} else {
 | 
			
		||||
				return { sponsor_data: await maybeCached('sponsors', ps.forceUpdate, async () => {
 | 
			
		||||
					let totalSponsors;
 | 
			
		||||
 | 
			
		||||
					try {
 | 
			
		||||
						const backers = await fetch('https://opencollective.com/sharkey/tiers/backer/all.json').then((response) => response.json());
 | 
			
		||||
						const sponsorsOC = await fetch('https://opencollective.com/sharkey/tiers/sponsor/all.json').then((response) => response.json());
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue