From 38c60cee378b9c2ad42fc9dc79bc492b919a68f5 Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Tue, 15 Aug 2023 15:49:14 +1000 Subject: Convert Razor pages to Blazor --- ConfigService.cs | 80 -------------------------------------------------------- 1 file changed, 80 deletions(-) delete mode 100644 ConfigService.cs (limited to 'ConfigService.cs') diff --git a/ConfigService.cs b/ConfigService.cs deleted file mode 100644 index 0ee4113..0000000 --- a/ConfigService.cs +++ /dev/null @@ -1,80 +0,0 @@ -namespace HyperBooru; - -public interface IConfigService { - public string DataPath { get; } - public string DbPath { get; } - public string MediaBasePath { get; } - public string GetPath(DbMedia media); - public string GetPath(DbMedia media, int width, int height); -} - -public class ConfigService : IConfigService { - private IConfiguration config; - - private const string AppName = "HyperBooru"; - - public string DataPath { - get { - #if DEBUG - return "Data"; - #else - string? path = config["DataPath"]; - if(path is not null) - return path; - - switch(Environment.OSVersion.Platform) { - case PlatformID.Win32NT: - return Path.Join( - Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), - AppName); - case PlatformID.Unix: - return $"/var/lib/{AppName.ToLower()}"; - default: - throw new NotImplementedException( - $"Unknown Operating System: {Environment.OSVersion.Platform}"); - } - #endif - } - } - - public string DbPath => - Path.Join(DataPath, $"{AppName}.db"); - - public string MediaBasePath => - Path.Join(DataPath, "media"); - - public string ThumbnailBasePath => - Path.Join(DataPath, "thumb"); - - public ConfigService(IConfiguration config) { - this.config = config; - InitDirectoryStructure(); - } - - public string GetPath(DbMedia media) { - var fileInfo = new FileInfo(Path.Join( - MediaBasePath, - media.Guid.ToString().Substring(0, 2), - media.Guid.ToString().Substring(2, 2), - media.Guid.ToString())); - - Directory.CreateDirectory(fileInfo.Directory.FullName); - return fileInfo.FullName; - } - - public string GetPath(DbMedia media, int width, int height) { - var fileInfo = new FileInfo(Path.Join( - ThumbnailBasePath, - media.Guid.ToString().Substring(0, 2), - media.Guid.ToString().Substring(2, 2), - $"{media.Guid.ToString()}-{width}-{height}")); - - Directory.CreateDirectory(fileInfo.Directory.FullName); - return fileInfo.FullName; - } - - private void InitDirectoryStructure() { - Directory.CreateDirectory(DataPath); - Directory.CreateDirectory(MediaBasePath); - } -} \ No newline at end of file -- cgit v1.3