REORG
This commit is contained in:
parent
8d68ee380a
commit
45514010f2
3505 changed files with 154 additions and 523 deletions
74
src/Org/Startup.cs
Normal file
74
src/Org/Startup.cs
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
using Microsoft.Extensions.Localization;
|
||||
using Microsoft.Extensions.Options;
|
||||
using Yavsc.Server.Helpers;
|
||||
using Yavsc.Settings;
|
||||
|
||||
namespace Yavsc;
|
||||
|
||||
public class Startup
|
||||
{
|
||||
public static void Configure(
|
||||
IApplicationBuilder app,
|
||||
IOptions<SiteSettings> siteSettings,
|
||||
IOptions<SmtpSettings> smtpSettings,
|
||||
IOptions<PayPalSettings> payPalSettings,
|
||||
IOptions<GoogleAuthSettings> googleSettings,
|
||||
IStringLocalizer<Startup> localizer,
|
||||
ILoggerFactory loggerFactory,
|
||||
string environmentName)
|
||||
{
|
||||
Config.GoogleSettings = googleSettings.Value;
|
||||
ResourcesHelpers.GlobalLocalizer = localizer;
|
||||
Config.SiteSetup = siteSettings.Value;
|
||||
Config.SmtpSetup = smtpSettings.Value;
|
||||
Config.Authority = siteSettings.Value.Authority;
|
||||
string blogsDir = siteSettings.Value.Blog ?? throw new Exception("blogsDir is not set.");
|
||||
string billsDir = siteSettings.Value.Bills ?? throw new Exception("billsDir is not set.");
|
||||
AbstractFileSystemHelpers.UserFilesDirName = new DirectoryInfo(blogsDir).FullName;
|
||||
AbstractFileSystemHelpers.UserBillsDirName = new DirectoryInfo(billsDir).FullName;
|
||||
Config.Temp = siteSettings.Value.TempDir;
|
||||
Config.PayPalSettings = payPalSettings.Value;
|
||||
|
||||
AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);
|
||||
|
||||
// TODO implement an installation & upgrade procedure
|
||||
// Create required directories
|
||||
foreach (string dir in new string[] { AbstractFileSystemHelpers.UserFilesDirName, AbstractFileSystemHelpers.UserBillsDirName, Config.Temp })
|
||||
{
|
||||
if (dir == null)
|
||||
{
|
||||
throw new Exception(nameof(dir));
|
||||
}
|
||||
|
||||
DirectoryInfo di = new(dir);
|
||||
if (!di.Exists)
|
||||
{
|
||||
di.Create();
|
||||
}
|
||||
}
|
||||
CheckApp(loggerFactory.CreateLogger<Startup>(), environmentName);
|
||||
}
|
||||
|
||||
public static void CheckApp(ILogger logger, string environmentName)
|
||||
{
|
||||
var appData = Environment.GetEnvironmentVariable("APPDATA");
|
||||
if (appData == null)
|
||||
{
|
||||
logger.LogWarning("AppData was not found in environment variables");
|
||||
if (Config.SiteSetup.DataDir == null) {
|
||||
Config.SiteSetup.DataDir = "AppData"+environmentName;
|
||||
logger.LogInformation("Using: "+Config.SiteSetup.DataDir);
|
||||
} else logger.LogInformation("Using value from settings: "+Config.SiteSetup.DataDir);
|
||||
DirectoryInfo di = new DirectoryInfo(Config.SiteSetup.DataDir);
|
||||
if (!di.Exists)
|
||||
{
|
||||
di.Create();
|
||||
logger.LogWarning("Created dir : "+di.FullName);
|
||||
}
|
||||
logger.LogInformation("Using existing directory: "+di.FullName);
|
||||
Environment.SetEnvironmentVariable("APPDATA", Config.SiteSetup.DataDir);
|
||||
logger.LogWarning("It has been set to : "+Environment.GetEnvironmentVariable("APPDATA"));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue