| 
														
															@@ -36,7 +36,6 @@ permissions.moderator = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	"admin.view.songs": true, 
														 | 
														
														 | 
														
															 	"admin.view.songs": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	"admin.view.stations": true, 
														 | 
														
														 | 
														
															 	"admin.view.stations": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	"admin.view.users": true, 
														 | 
														
														 | 
														
															 	"admin.view.users": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	"admin.view.youtubeChannels": true, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	"admin.view.youtubeVideos": true, 
														 | 
														
														 | 
														
															 	"admin.view.youtubeVideos": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	"apis.searchDiscogs": true, 
														 | 
														
														 | 
														
															 	"apis.searchDiscogs": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	"news.create": true, 
														 | 
														
														 | 
														
															 	"news.create": true, 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -66,8 +65,27 @@ permissions.moderator = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	"users.requestPasswordReset": true, 
														 | 
														
														 | 
														
															 	"users.requestPasswordReset": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	"users.resendVerifyEmail": true, 
														 | 
														
														 | 
														
															 	"users.resendVerifyEmail": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	"users.update": true, 
														 | 
														
														 | 
														
															 	"users.update": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	"youtube.getChannel": true, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	"youtube.requestSetAdmin": true 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	"youtube.requestSetAdmin": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	...(config.get("experimental.soundcloud") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		? { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				"admin.view.soundcloudTracks": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				"admin.view.soundcloud": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				"soundcloud.getArtist": true 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		  } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		: {}), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	...(config.get("experimental.spotify") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		? { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				"admin.view.spotify": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				"spotify.getTracksFromMediaSources": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				"spotify.getAlbumsFromIds": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				"spotify.getArtistsFromIds": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				"spotify.getAlternativeArtistSourcesForArtists": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				"spotify.getAlternativeAlbumSourcesForAlbums": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				"spotify.getAlternativeMediaSourcesForTracks": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				"admin.view.youtubeChannels": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				"youtube.getChannel": true 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		  } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		: {}) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 permissions.admin = { 
														 | 
														
														 | 
														
															 permissions.admin = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	...permissions.moderator, 
														 | 
														
														 | 
														
															 	...permissions.moderator, 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -95,52 +113,24 @@ permissions.admin = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	"users.update.restricted": true, 
														 | 
														
														 | 
														
															 	"users.update.restricted": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	"utils.getModules": true, 
														 | 
														
														 | 
														
															 	"utils.getModules": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	"youtube.getApiRequest": true, 
														 | 
														
														 | 
														
															 	"youtube.getApiRequest": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	"youtube.getMissingChannels": true, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	"youtube.getMissingVideos": true, 
														 | 
														
														 | 
														
															 	"youtube.getMissingVideos": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	"youtube.resetStoredApiRequests": true, 
														 | 
														
														 | 
														
															 	"youtube.resetStoredApiRequests": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	"youtube.removeStoredApiRequest": true, 
														 | 
														
														 | 
														
															 	"youtube.removeStoredApiRequest": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	"youtube.removeVideos": true, 
														 | 
														
														 | 
														
															 	"youtube.removeVideos": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	"youtube.updateVideosV1ToV2": true 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	"youtube.updateVideosV1ToV2": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	...(config.get("experimental.soundcloud") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		? { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				"soundcloud.fetchNewApiKey": true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				"soundcloud.testApiKey": true 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		  } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		: {}), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	...(config.get("experimental.spotify") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		? { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				"youtube.getMissingChannels": true 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		  } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		: {}) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-if (config.get("experimental.soundcloud")) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.moderator["admin.view.soundcloudTracks"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.admin["admin.view.soundcloudTracks"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.moderator["admin.view.soundcloud"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.admin["admin.view.soundcloud"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.admin["soundcloud.fetchNewApiKey"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.admin["soundcloud.testApiKey"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.moderator["soundcloud.getArtist"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.admin["soundcloud.getArtist"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-if (config.get("experimental.spotify")) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.moderator["admin.view.spotify"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.admin["admin.view.spotify"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.moderator["spotify.getTracksFromMediaSources"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.admin["spotify.getTracksFromMediaSources"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.moderator["spotify.getAlbumsFromIds"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.admin["spotify.getAlbumsFromIds"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.moderator["spotify.getArtistsFromIds"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.admin["spotify.getArtistsFromIds"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.moderator["spotify.getAlternativeArtistSourcesForArtists"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.admin["spotify.getAlternativeArtistSourcesForArtists"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.moderator["spotify.getAlternativeAlbumSourcesForAlbums"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.admin["spotify.getAlternativeAlbumSourcesForAlbums"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.moderator["spotify.getAlternativeMediaSourcesForTracks"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	permissions.admin["spotify.getAlternativeMediaSourcesForTracks"] = true; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 export const hasPermission = async (permission, session, stationId) => { 
														 | 
														
														 | 
														
															 export const hasPermission = async (permission, session, stationId) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	const CacheModule = moduleManager.modules.cache; 
														 | 
														
														 | 
														
															 	const CacheModule = moduleManager.modules.cache; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	const DBModule = moduleManager.modules.db; 
														 | 
														
														 | 
														
															 	const DBModule = moduleManager.modules.db; 
														 |