Set appData env var
This commit is contained in:
parent
a5ffc3583d
commit
239477e46b
4 changed files with 187 additions and 163 deletions
|
|
@ -28,6 +28,8 @@ namespace Yavsc
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public Contact Admin { get; set; }
|
public Contact Admin { get; set; }
|
||||||
|
|
||||||
|
public string DataDir { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// User's files directory
|
/// User's files directory
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
|
using System.IO;
|
||||||
using Google.Apis.Auth.OAuth2;
|
using Google.Apis.Auth.OAuth2;
|
||||||
using Microsoft.AspNet.Builder;
|
using Microsoft.AspNet.Builder;
|
||||||
using Microsoft.AspNet.Hosting;
|
using Microsoft.AspNet.Hosting;
|
||||||
|
|
@ -21,8 +22,27 @@ namespace Yavsc
|
||||||
ILoggerFactory loggerFactory
|
ILoggerFactory loggerFactory
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|
||||||
var logger = loggerFactory.CreateLogger<Startup>();
|
var logger = loggerFactory.CreateLogger<Startup>();
|
||||||
|
|
||||||
|
var appData = Environment.GetEnvironmentVariable("APPDATA");
|
||||||
|
if (appData == null)
|
||||||
|
{
|
||||||
|
if (SiteSetup.DataDir == null) {
|
||||||
|
SiteSetup.DataDir = "AppData";
|
||||||
|
} else logger.LogWarning("existing setting: "+SiteSetup.DataDir);
|
||||||
|
DirectoryInfo di = new DirectoryInfo(SiteSetup.DataDir);
|
||||||
|
if (!di.Exists)
|
||||||
|
{
|
||||||
|
di.Create();
|
||||||
|
logger.LogWarning("Created dir : "+di.FullName);
|
||||||
|
} else logger.LogWarning("existing: "+di.Name);
|
||||||
|
SiteSetup.DataDir = Path.Combine(Directory.GetCurrentDirectory(),di.Name);
|
||||||
|
Environment.SetEnvironmentVariable("APPDATA", SiteSetup.DataDir);
|
||||||
|
logger.LogWarning("AppData was not found in env vars, it has been set to : "+
|
||||||
|
Environment.GetEnvironmentVariable("APPDATA"));
|
||||||
|
}
|
||||||
|
|
||||||
var creds = GoogleSettings?.Account?.private_key;
|
var creds = GoogleSettings?.Account?.private_key;
|
||||||
if (creds==null)
|
if (creds==null)
|
||||||
throw new InvalidOperationException("No Google API credential");
|
throw new InvalidOperationException("No Google API credential");
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,7 @@ namespace Yavsc
|
||||||
builder.AddEnvironmentVariables();
|
builder.AddEnvironmentVariables();
|
||||||
Configuration = builder.Build();
|
Configuration = builder.Build();
|
||||||
ConnectionString = Configuration["Data:DefaultConnection:ConnectionString"];
|
ConnectionString = Configuration["Data:DefaultConnection:ConnectionString"];
|
||||||
|
|
||||||
}
|
}
|
||||||
public static GoogleAuthSettings GoogleSettings { get; set; }
|
public static GoogleAuthSettings GoogleSettings { get; set; }
|
||||||
public IConfigurationRoot Configuration { get; set; }
|
public IConfigurationRoot Configuration { get; set; }
|
||||||
|
|
@ -264,6 +265,7 @@ namespace Yavsc
|
||||||
Startup.UserBillsDirName = new DirectoryInfo(siteSettings.Value.UserFiles.Bills).FullName;
|
Startup.UserBillsDirName = new DirectoryInfo(siteSettings.Value.UserFiles.Bills).FullName;
|
||||||
Startup.Temp = siteSettings.Value.TempDir;
|
Startup.Temp = siteSettings.Value.TempDir;
|
||||||
PayPalSettings = payPalSettings.Value;
|
PayPalSettings = payPalSettings.Value;
|
||||||
|
|
||||||
// TODO implement an installation & upgrade procedure
|
// TODO implement an installation & upgrade procedure
|
||||||
// Create required directories
|
// Create required directories
|
||||||
foreach (string dir in new string[] { UserFilesDirName, UserBillsDirName, SiteSetup.TempDir })
|
foreach (string dir in new string[] { UserFilesDirName, UserBillsDirName, SiteSetup.TempDir })
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue