PalacePal/Pal.Client/DependencyInjection/RepoVerification.cs

28 lines
879 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);
2023-07-31 00:58:24 +00:00
if (!pluginInterface.IsDev && pluginInterface.SourceRepository.TrimEnd('/') != "https://plugins.carvel.li")
2023-02-15 22:17:19 +00:00
{
2023-03-30 20:01:43 +00:00
chat.Error(string.Format(Localization.Error_WrongRepository,
2023-07-31 00:58:24 +00:00
"https://plugins.carvel.li"));
2023-03-30 20:01:43 +00:00
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
}
}