summaryrefslogtreecommitdiff
path: root/Services/ConfigService.cs
diff options
context:
space:
mode:
authorJake Mannens <jake@asger.xyz>2026-06-05 00:37:02 +1000
committerJake Mannens <jake@asger.xyz>2026-06-11 01:13:31 +1000
commit81a0570c1b64891f286ee86d34d6f77090d525e3 (patch)
tree1c98593ddec2eb64029f4fabe024cb5323050bb1 /Services/ConfigService.cs
parent03055cb1b262a2b9a0516ad3aa523e503edeb36b (diff)
Deleted server-specific files
Diffstat (limited to 'Services/ConfigService.cs')
-rw-r--r--Services/ConfigService.cs72
1 files changed, 0 insertions, 72 deletions
diff --git a/Services/ConfigService.cs b/Services/ConfigService.cs
deleted file mode 100644
index ac1f155..0000000
--- a/Services/ConfigService.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-using HyperBooru.ApiModels;
-
-namespace HyperBooru.Services;
-
-public interface IConfigService {
- public string DataPath { get; }
- public string KeyPath { get; }
- public string DbConnectionString { get; }
- public string MediaBasePath { get; }
- public string ThumbnailBasePath { get; }
- public string ConvertedMediaBasePath { get; }
- public bool EnableOcr { get; }
-}
-
-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 KeyPath =>
- Path.Join(DataPath, "keys");
-
- public string DbConnectionString =>
- config.GetConnectionString("DefaultConnection") ??
- throw new HBException("Unable to get default connection string");
-
- public string MediaBasePath =>
- Path.Join(DataPath, "media");
-
- public string ThumbnailBasePath =>
- Path.Join(DataPath, "thumb");
-
- public string ConvertedMediaBasePath =>
- Path.Join(DataPath, "converted");
-
- public bool EnableOcr =>
- bool.TryParse(config["DisableOcr"], out bool x) ? !x : true;
-
- public ConfigService(IConfiguration config) {
- this.config = config;
- InitDirectoryStructure();
- }
-
- private void InitDirectoryStructure() {
- Directory.CreateDirectory(DataPath);
- Directory.CreateDirectory(MediaBasePath);
- }
-} \ No newline at end of file