PalacePal/Pal.Client/DependencyInjection/RepoVerification.cs

30 lines
1016 B
C#
Raw Normal View History

2023-02-15 22:17:19 +00:00
using System;
using Dalamud.Game.Gui;
using Dalamud.Logging;
using Dalamud.Plugin;
using Microsoft.Extensions.Logging;
2023-02-15 22:17:19 +00:00
using Pal.Client.Extensions;
using Pal.Client.Properties;
2023-03-30 20:01:43 +00:00
namespace Pal.Client.DependencyInjection;
internal sealed class RepoVerification
2023-02-15 22:17:19 +00:00
{
2023-03-30 20:01:43 +00:00
public RepoVerification(ILogger<RepoVerification> logger, DalamudPluginInterface pluginInterface, Chat chat)
2023-02-15 22:17:19 +00:00
{
2023-03-30 20:01:43 +00:00
logger.LogInformation("Install source: {Repo}", pluginInterface.SourceRepository);
if (!pluginInterface.IsDev
&& !pluginInterface.SourceRepository.StartsWith("https://raw.githubusercontent.com/carvelli/")
&& !pluginInterface.SourceRepository.StartsWith("https://github.com/carvelli/"))
2023-02-15 22:17:19 +00:00
{
2023-03-30 20:01:43 +00:00
chat.Error(string.Format(Localization.Error_WrongRepository,
"https://github.com/carvelli/Dalamud-Plugins"));
throw new RepoVerificationFailedException();
2023-02-15 22:17:19 +00:00
}
2023-03-30 20:01:43 +00:00
}
2023-03-08 00:27:10 +00:00
2023-03-30 20:01:43 +00:00
internal sealed class RepoVerificationFailedException : Exception
{
2023-02-15 22:17:19 +00:00
}
}