Made repository methods asynchronous. Simplified playlist repository. Use playlist manager in the app, and left playlist repository to only be used by the playlist manager.

This commit is contained in:
2026-07-24 09:49:58 -04:00
parent 0acbab1215
commit 63938b0139
14 changed files with 181 additions and 96 deletions

View File

@@ -14,13 +14,19 @@ public abstract class JsonFileRepository<TObject> : FileRepository<TObject> wher
protected override string Extension => "json";
protected override TObject Deserialize(Stream stream)
protected override async Task<TObject> DeserializeAsync(Stream stream)
{
return JsonSerializer.Deserialize<TObject>(stream) ?? new();
return await JsonSerializer.DeserializeAsync<TObject>(stream) ?? new();
}
protected override string Serialize(TObject obj)
protected override async Task<string> SerializeAsync(TObject obj)
{
return JsonSerializer.Serialize(obj, _options);
using MemoryStream memoryStream = new();
await JsonSerializer.SerializeAsync(memoryStream, obj, _options);
memoryStream.Position = 0;
using StreamReader reader = new(memoryStream);
return await reader.ReadToEndAsync();
}
}