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:
@@ -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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user