mirror of
				https://github.com/karl0ss/homepage.git
				synced 2025-10-31 14:34:00 +00:00 
			
		
		
		
	Merge pull request #198 from JazzFisch/fix-incorrect-widget-values
Fix issues with incorrect values in widgets
This commit is contained in:
		
						commit
						8a226ca473
					
				| @ -6,16 +6,6 @@ import npmProxyHandler from "utils/proxies/npm"; | ||||
| import transmissionProxyHandler from "utils/proxies/transmission"; | ||||
| import qbittorrentProxyHandler from "utils/proxies/qbittorrent"; | ||||
| 
 | ||||
| function jsonArrayMapper(data, map) { | ||||
|   if (data?.length > 0) { | ||||
|     const json = JSON.parse(data.toString()); | ||||
|     if (json instanceof Array) { | ||||
|       return json.map(map); | ||||
|     } | ||||
|   } | ||||
|   return data; | ||||
| } | ||||
| 
 | ||||
| function asJson(data) { | ||||
|   if (data?.length > 0) { | ||||
|     const json = JSON.parse(data.toString()); | ||||
| @ -24,6 +14,18 @@ function asJson(data) { | ||||
|   return data; | ||||
| } | ||||
| 
 | ||||
| function jsonArrayTransform(data, transform) { | ||||
|   const json = asJson(data); | ||||
|   if (json instanceof Array) { | ||||
|     return transform(json); | ||||
|   } | ||||
|   return json; | ||||
| } | ||||
| 
 | ||||
| function jsonArrayFilter(data, filter) { | ||||
|   return jsonArrayTransform(data, items => items.filter(filter)); | ||||
| } | ||||
| 
 | ||||
| const serviceProxyHandlers = { | ||||
|   // uses query param auth
 | ||||
|   emby: genericProxyHandler, | ||||
| @ -33,16 +35,16 @@ const serviceProxyHandlers = { | ||||
|     proxy: genericProxyHandler, | ||||
|     maps: { | ||||
|       movie: (data) => ({ | ||||
|         wanted: jsonArrayMapper(data, (item) => item.isAvailable === false).length, | ||||
|         have: jsonArrayMapper(data, (item) => item.isAvailable === true).length, | ||||
|       }), | ||||
|         wanted: jsonArrayFilter(data, (item) => item.isAvailable === false).length, | ||||
|         have: jsonArrayFilter(data, (item) => item.isAvailable === true).length | ||||
|       }) | ||||
|     }, | ||||
|   }, | ||||
|   sonarr: { | ||||
|     proxy: genericProxyHandler, | ||||
|     maps: { | ||||
|       series: (data) => ({ | ||||
|         total: asJson(data.toString()).length, | ||||
|         total: asJson(data).length, | ||||
|       }), | ||||
|     }, | ||||
|   }, | ||||
| @ -50,7 +52,7 @@ const serviceProxyHandlers = { | ||||
|     proxy: genericProxyHandler, | ||||
|     maps: { | ||||
|       album: (data) => ({ | ||||
|         have: jsonArrayMapper(data, (item) => item.statistics.percentOfTracks === 100).length, | ||||
|         have: jsonArrayFilter(data, (item) => item.statistics.percentOfTracks === 100).length, | ||||
|       }), | ||||
|     }, | ||||
|   }, | ||||
| @ -58,7 +60,7 @@ const serviceProxyHandlers = { | ||||
|     proxy: genericProxyHandler, | ||||
|     maps: { | ||||
|       book: (data) => ({ | ||||
|         have: jsonArrayMapper(data, (item) => item.statistics.bookFileCount > 0).length, | ||||
|         have: jsonArrayFilter(data, (item) => item.statistics.bookFileCount > 0).length, | ||||
|       }), | ||||
|     }, | ||||
|   }, | ||||
| @ -66,10 +68,10 @@ const serviceProxyHandlers = { | ||||
|     proxy: genericProxyHandler, | ||||
|     maps: { | ||||
|       movies: (data) => ({ | ||||
|         total: asJson(data.toString()).total, | ||||
|         total: asJson(data).total, | ||||
|       }), | ||||
|       episodes: (data) => ({ | ||||
|         total: asJson(data.toString()).total, | ||||
|         total: asJson(data).total, | ||||
|       }), | ||||
|     }, | ||||
|   }, | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Ben Phelps
						Ben Phelps