Add read receipts and editing limits

Introduced message read tracking with a dedicated MessageReadingService, SignalR read request/response contracts, and hub notification flow for read receipts. Added configurable message edit constraints through MessageEditingOptions and a shared INowDateTimeProvider so timestamps are consistent across the app. Also fixed recipient validation in message removal and improved push token upsert behavior by matching the correct user/session record.
This commit is contained in:
Artemy
2026-08-27 18:02:47 +07:00
parent 3ec61fa2c0
commit 4603be9f71
17 changed files with 262 additions and 30 deletions
@@ -1,4 +1,5 @@
using Govor.Application.Authentication.JWT;
using Govor.Application.Messages;
namespace Govor.API.Common.Extensions;
@@ -8,7 +9,7 @@ public static class AddOptionExtensions
{
services.Configure<JwtAccessOption>(configuration.GetSection(nameof(JwtAccessOption)));
services.Configure<JwtRefreshOption>(configuration.GetSection(nameof(JwtRefreshOption)));
services.Configure<MessageEditingOptions>(configuration.GetSection(nameof(MessageEditingOptions)));
return services;
}
}