[frontend/core] Remove deprecated MessageService
This commit is contained in:
parent
e1e78a1052
commit
cca978a400
5 changed files with 87 additions and 90 deletions
|
@ -15,7 +15,6 @@
|
|||
@inject MetadataService MetadataService
|
||||
@inject IStringLocalizer<Localization> Loc;
|
||||
@inject GlobalComponentSvc GlobalComponentSvc
|
||||
@inject MessageService MessageService
|
||||
@inject SettingsService Settings;
|
||||
@inject NoteActions NoteActions;
|
||||
<dialog @onkeydown="HandleKeyDown" class="dialog" @ref="Dialog">
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
@using Iceshrimp.Frontend.Core.Services.NoteStore
|
||||
@using Iceshrimp.Shared.Schemas.Web
|
||||
@inject NavigationManager NavigationManager
|
||||
@inject MessageService MessageService
|
||||
@inject ApiService Api
|
||||
@inject RelatedStore Store
|
||||
@implements IDisposable
|
||||
|
|
|
@ -1,86 +1,86 @@
|
|||
using Iceshrimp.Shared.Schemas.Web;
|
||||
|
||||
namespace Iceshrimp.Frontend.Core.Services;
|
||||
|
||||
internal class MessageService
|
||||
{
|
||||
public event EventHandler<NoteResponse>? AnyNoteChanged;
|
||||
public event EventHandler<NoteResponse>? AnyNoteDeleted;
|
||||
|
||||
private readonly Dictionary<(string, Type), EventHandler<NoteResponse>> _noteChangedHandlers = new();
|
||||
|
||||
public enum Type
|
||||
{
|
||||
Updated,
|
||||
Deleted
|
||||
}
|
||||
|
||||
public NoteMessageHandler Register(string id, EventHandler<NoteResponse> func, Type type)
|
||||
{
|
||||
var tuple = (id, type);
|
||||
if (_noteChangedHandlers.ContainsKey(tuple))
|
||||
{
|
||||
_noteChangedHandlers[tuple] += func;
|
||||
}
|
||||
else
|
||||
{
|
||||
_noteChangedHandlers.Add(tuple, func);
|
||||
}
|
||||
|
||||
return new NoteMessageHandler(func, id, type, this);
|
||||
}
|
||||
|
||||
private void Unregister(string id, EventHandler<NoteResponse> func, Type type)
|
||||
{
|
||||
var tuple = (id, type);
|
||||
if (_noteChangedHandlers.ContainsKey(tuple))
|
||||
{
|
||||
#pragma warning disable CS8601
|
||||
_noteChangedHandlers[tuple] -= func;
|
||||
#pragma warning restore CS8601
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new ArgumentException("Tried to unregister from callback that doesn't exist");
|
||||
}
|
||||
}
|
||||
|
||||
public class NoteMessageHandler : IDisposable
|
||||
{
|
||||
private readonly EventHandler<NoteResponse> _handler;
|
||||
private readonly string _id;
|
||||
private readonly Type _type;
|
||||
private readonly MessageService _messageService;
|
||||
|
||||
public NoteMessageHandler(
|
||||
EventHandler<NoteResponse> handler, string id, Type type, MessageService messageService
|
||||
)
|
||||
{
|
||||
_handler = handler;
|
||||
_id = id;
|
||||
_type = type;
|
||||
_messageService = messageService;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_messageService.Unregister(_id, _handler, _type);
|
||||
}
|
||||
}
|
||||
|
||||
public Task UpdateNoteAsync(NoteResponse note)
|
||||
{
|
||||
AnyNoteChanged?.Invoke(this, note);
|
||||
_noteChangedHandlers.TryGetValue((note.Id, Type.Updated), out var xHandler);
|
||||
xHandler?.Invoke(this, note);
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
public Task DeleteNoteAsync(NoteResponse note)
|
||||
{
|
||||
AnyNoteDeleted?.Invoke(this, note);
|
||||
_noteChangedHandlers.TryGetValue((note.Id, Type.Deleted), out var xHandler);
|
||||
xHandler?.Invoke(this, note);
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
// using Iceshrimp.Shared.Schemas.Web;
|
||||
//
|
||||
// namespace Iceshrimp.Frontend.Core.Services;
|
||||
//
|
||||
// internal class MessageService
|
||||
// {
|
||||
// public event EventHandler<NoteResponse>? AnyNoteChanged;
|
||||
// public event EventHandler<NoteResponse>? AnyNoteDeleted;
|
||||
//
|
||||
// private readonly Dictionary<(string, Type), EventHandler<NoteResponse>> _noteChangedHandlers = new();
|
||||
//
|
||||
// public enum Type
|
||||
// {
|
||||
// Updated,
|
||||
// Deleted
|
||||
// }
|
||||
//
|
||||
// // public NoteMessageHandler Register(string id, EventHandler<NoteResponse> func, Type type)
|
||||
// // {
|
||||
// // var tuple = (id, type);
|
||||
// // if (_noteChangedHandlers.ContainsKey(tuple))
|
||||
// // {
|
||||
// // _noteChangedHandlers[tuple] += func;
|
||||
// // }
|
||||
// // else
|
||||
// // {
|
||||
// // _noteChangedHandlers.Add(tuple, func);
|
||||
// // }
|
||||
// //
|
||||
// // return new NoteMessageHandler(func, id, type, this);
|
||||
// // }
|
||||
//
|
||||
// // private void Unregister(string id, EventHandler<NoteResponse> func, Type type)
|
||||
// // {
|
||||
// // var tuple = (id, type);
|
||||
// // if (_noteChangedHandlers.ContainsKey(tuple))
|
||||
// // {
|
||||
// // #pragma warning disable CS8601
|
||||
// // _noteChangedHandlers[tuple] -= func;
|
||||
// // #pragma warning restore CS8601
|
||||
// // }
|
||||
// // else
|
||||
// // {
|
||||
// // throw new ArgumentException("Tried to unregister from callback that doesn't exist");
|
||||
// // }
|
||||
// // }
|
||||
//
|
||||
// // public class NoteMessageHandler : IDisposable
|
||||
// // {
|
||||
// // private readonly EventHandler<NoteResponse> _handler;
|
||||
// // private readonly string _id;
|
||||
// // private readonly Type _type;
|
||||
// // private readonly MessageService _messageService;
|
||||
// //
|
||||
// // public NoteMessageHandler(
|
||||
// // EventHandler<NoteResponse> handler, string id, Type type, MessageService messageService
|
||||
// // )
|
||||
// // {
|
||||
// // _handler = handler;
|
||||
// // _id = id;
|
||||
// // _type = type;
|
||||
// // _messageService = messageService;
|
||||
// // }
|
||||
// //
|
||||
// // public void Dispose()
|
||||
// // {
|
||||
// // _messageService.Unregister(_id, _handler, _type);
|
||||
// // }
|
||||
// // }
|
||||
//
|
||||
// public Task UpdateNoteAsync(NoteResponse note)
|
||||
// {
|
||||
// AnyNoteChanged?.Invoke(this, note);
|
||||
// _noteChangedHandlers.TryGetValue((note.Id, Type.Updated), out var xHandler);
|
||||
// xHandler?.Invoke(this, note);
|
||||
// return Task.CompletedTask;
|
||||
// }
|
||||
//
|
||||
// public Task DeleteNoteAsync(NoteResponse note)
|
||||
// {
|
||||
// AnyNoteDeleted?.Invoke(this, note);
|
||||
// _noteChangedHandlers.TryGetValue((note.Id, Type.Deleted), out var xHandler);
|
||||
// xHandler?.Invoke(this, note);
|
||||
// return Task.CompletedTask;
|
||||
// }
|
||||
// }
|
|
@ -11,7 +11,7 @@ internal class NotificationStore : NoteMessageProvider, IAsyncDisposable
|
|||
private readonly ApiService _api;
|
||||
private readonly ILogger<NotificationStore> _logger;
|
||||
private StreamingService _streamingService;
|
||||
private bool _initialized = false;
|
||||
private bool _initialized;
|
||||
private SortedList<string, NotificationResponse> Notifications { get; set; } = new();
|
||||
|
||||
public NotificationStore(
|
||||
|
|
|
@ -29,7 +29,6 @@ builder.Services.AddSingleton<StateService>();
|
|||
builder.Services.AddSingleton<EmojiService>();
|
||||
builder.Services.AddSingleton<MetadataService>();
|
||||
builder.Services.AddSingleton<VersionService>();
|
||||
builder.Services.AddSingleton<MessageService>();
|
||||
builder.Services.AddSingleton<GlobalComponentSvc>();
|
||||
builder.Services.AddSingleton<UpdateService>();
|
||||
builder.Services.AddSingleton<SettingsService>();
|
||||
|
|
Loading…
Add table
Reference in a new issue