Browse Source

More safety checks for LiteDb

pull/109/head
Ionite 1 year ago
parent
commit
cbe3fb7cd0
No known key found for this signature in database
  1. 9
      StabilityMatrix.Core/Database/LiteDbContext.cs

9
StabilityMatrix.Core/Database/LiteDbContext.cs

@ -46,7 +46,8 @@ public class LiteDbContext : ILiteDbContext
{ {
db = new LiteDatabaseAsync(":temp:"); db = new LiteDatabaseAsync(":temp:");
} }
else
{
// Attempt to create connection, might be in use // Attempt to create connection, might be in use
try try
{ {
@ -61,6 +62,7 @@ public class LiteDbContext : ILiteDbContext
{ {
logger.LogWarning("Database in use or not accessible ({Message}), using temporary database", e.Message); logger.LogWarning("Database in use or not accessible ({Message}), using temporary database", e.Message);
} }
}
// Fallback to temporary database // Fallback to temporary database
db ??= new LiteDatabaseAsync(":temp:"); db ??= new LiteDatabaseAsync(":temp:");
@ -136,12 +138,15 @@ public class LiteDbContext : ILiteDbContext
return changed; return changed;
} }
public async Task<GithubCacheEntry?> GetGithubCacheEntry(string cacheKey) public async Task<GithubCacheEntry?> GetGithubCacheEntry(string? cacheKey)
{ {
if (string.IsNullOrEmpty(cacheKey)) return null;
if (await GithubCache.FindByIdAsync(cacheKey).ConfigureAwait(false) is { } result) if (await GithubCache.FindByIdAsync(cacheKey).ConfigureAwait(false) is { } result)
{ {
return result; return result;
} }
return null; return null;
} }

Loading…
Cancel
Save