| 
					
				 | 
			
			
				@@ -0,0 +1,50 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using System; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using System.Globalization; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using System.Threading.Tasks; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using Jellyfin.Data.Entities; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using MediaBrowser.Controller.Events; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using MediaBrowser.Controller.Events.Updates; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using MediaBrowser.Model.Activity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using MediaBrowser.Model.Globalization; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using MediaBrowser.Model.Notifications; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+namespace Jellyfin.Server.Implementations.Events.Consumers.Updates 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /// <summary> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /// Creates an entry in the activity log when a plugin is installed. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /// </summary> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public class PluginInstalledLogger : IEventConsumer<PluginInstalledEventArgs> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private readonly ILocalizationManager _localizationManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private readonly IActivityManager _activityManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /// <summary> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /// Initializes a new instance of the <see cref="PluginInstalledLogger"/> class. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /// </summary> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /// <param name="localizationManager">The localization manager.</param> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /// <param name="activityManager">The activity manager.</param> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public PluginInstalledLogger(ILocalizationManager localizationManager, IActivityManager activityManager) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _localizationManager = localizationManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _activityManager = activityManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /// <inheritdoc /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public async Task OnEvent(PluginInstalledEventArgs eventArgs) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            await _activityManager.CreateAsync(new ActivityLog( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                string.Format( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    CultureInfo.InvariantCulture, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    _localizationManager.GetLocalizedString("PluginInstalledWithName"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    eventArgs.Argument.Name), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                NotificationType.PluginInstalled.ToString(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Guid.Empty) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ShortOverview = string.Format( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    CultureInfo.InvariantCulture, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    _localizationManager.GetLocalizedString("VersionNumber"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    eventArgs.Argument.Version) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }).ConfigureAwait(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |