mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-12 03:48:56 +00:00
Storage - Replace LiteDB with SQLite + EF Core (#843)
Storage - Added LiteDB to SQLite migration UI - Try to die a bit more gracefully Core - Delay start watching plugins for hot reload after initializing UI - Simplify category management logic UI - Avoid crash during profile icon load Storage - Fix entry metadata retrieval
This commit is contained in:
1 parent
9132301dbf
commit
551921db9f
130 files changed
+2965
-1135
No files matched your search
@@ -1,31 +1,30 @@
|
||||
using Artemis.WebClient.Workshop.Entities;
|
||||
using LiteDB;
|
||||
using Artemis.Core;
|
||||
using Artemis.Core.Services;
|
||||
|
||||
namespace Artemis.WebClient.Workshop.Repositories;
|
||||
|
||||
internal class AuthenticationRepository : IAuthenticationRepository
|
||||
{
|
||||
private readonly LiteRepository _repository;
|
||||
private readonly PluginSetting<string> _refreshToken;
|
||||
|
||||
public AuthenticationRepository(LiteRepository repository)
|
||||
public AuthenticationRepository(ISettingsService settingsService)
|
||||
{
|
||||
_repository = repository;
|
||||
_repository.Database.GetCollection<RefreshTokenEntity>().EnsureIndex(s => s.RefreshToken);
|
||||
// Of course anyone can grab these indirectly, but that goes for whatever we do.
|
||||
// ISettingsService is a protected service so we at least don't make it very straightforward.
|
||||
_refreshToken = settingsService.GetSetting<string>("Workshop.RefreshToken");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public void SetRefreshToken(string? refreshToken)
|
||||
{
|
||||
_repository.Database.GetCollection<RefreshTokenEntity>().DeleteAll();
|
||||
|
||||
if (refreshToken != null)
|
||||
_repository.Insert(new RefreshTokenEntity {RefreshToken = refreshToken});
|
||||
_refreshToken.Value = refreshToken;
|
||||
_refreshToken.Save();
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public string? GetRefreshToken()
|
||||
{
|
||||
return _repository.Query<RefreshTokenEntity>().FirstOrDefault()?.RefreshToken;
|
||||
return _refreshToken.Value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user