mirror of
https://github.com/claunia/romrepomgr.git
synced 2025-12-16 19:24:51 +00:00
[Blazor] Ensure folders exist.
This commit is contained in:
11
RomRepoMgr.Blazor/Consts.cs
Normal file
11
RomRepoMgr.Blazor/Consts.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
namespace RomRepoMgr.Blazor;
|
||||
|
||||
public class Consts
|
||||
{
|
||||
public const string DbFolder = "db";
|
||||
public const string DatFolder = "dats";
|
||||
public const string IncomingDatFolder = "incoming-dats";
|
||||
public const string RepositoryFolder = "repo";
|
||||
public const string IncomingRomsFolder = "incoming";
|
||||
public const string TemporaryFolder = "tmp";
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using Microsoft.FluentUI.AspNetCore.Components;
|
||||
using RomRepoMgr.Blazor;
|
||||
using RomRepoMgr.Blazor.Components;
|
||||
using Serilog;
|
||||
|
||||
@@ -15,8 +16,36 @@ Log.Logger = new LoggerConfiguration()
|
||||
Log.Information("Welcome to ROM Repository Manager!");
|
||||
Log.Information("Copyright © 2020-2025 Natalia Portillo");
|
||||
|
||||
// Ensure the folders exist
|
||||
Log.Information("Ensuring folders exist...");
|
||||
|
||||
string[] folders =
|
||||
[
|
||||
Consts.DbFolder, Consts.DatFolder, Consts.IncomingDatFolder, Consts.RepositoryFolder, Consts.IncomingRomsFolder
|
||||
];
|
||||
|
||||
foreach(string folder in folders)
|
||||
{
|
||||
if(!Directory.Exists(folder))
|
||||
{
|
||||
Log.Debug("Creating folder: {Folder}", folder);
|
||||
Directory.CreateDirectory(folder);
|
||||
}
|
||||
else
|
||||
Log.Debug("Folder already exists: {Folder}", folder);
|
||||
}
|
||||
|
||||
// Ensure the temporary folder exists but it can also be a symlink
|
||||
if(!Directory.Exists(Consts.TemporaryFolder) && !File.Exists(Consts.TemporaryFolder))
|
||||
{
|
||||
Log.Debug("Creating folder: {TemporaryFolder}", Consts.TemporaryFolder);
|
||||
Directory.CreateDirectory(Consts.TemporaryFolder);
|
||||
}
|
||||
else
|
||||
Log.Debug("Folder already exists: {TemporaryFolder}", Consts.TemporaryFolder);
|
||||
|
||||
Log.Debug("Creating the builder...");
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
builder.Host.UseSerilog(); // ✅ Plug Serilog into the host
|
||||
|
||||
@@ -25,12 +54,12 @@ builder.Services.AddRazorComponents().AddInteractiveServerComponents();
|
||||
builder.Services.AddFluentUIComponents();
|
||||
|
||||
Log.Debug("Building the application...");
|
||||
var app = builder.Build();
|
||||
WebApplication app = builder.Build();
|
||||
|
||||
// Configure the HTTP request pipeline.
|
||||
if(!app.Environment.IsDevelopment())
|
||||
{
|
||||
app.UseExceptionHandler("/Error", createScopeForErrors: true);
|
||||
app.UseExceptionHandler("/Error", true);
|
||||
|
||||
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
|
||||
app.UseHsts();
|
||||
|
||||
Reference in New Issue
Block a user