Add Telegram notification for news publication to users
CI / Backend (build + test) (push) Successful in 3m0s
CI / Frontend (lint + typecheck + build) (push) Successful in 31s

- Implemented NotifyUsersNewsPublishedAsync method in TelegramNotifier to send notifications to activated Telegram users when a news post is published.
- Updated CreatePostCommandHandler to invoke the new Telegram notification method after creating a news post.
- Enhanced IIdentityService to retrieve activated linked Telegram user IDs for notifications.
- Updated ITelegramNotifier interface to include the new notification method documentation.
This commit is contained in:
Leonid Pershin
2026-07-14 07:19:19 +03:00
parent 6bd34441fb
commit a833d9aa5b
5 changed files with 47 additions and 1 deletions
@@ -252,6 +252,14 @@ internal sealed class IdentityService(UserManager<AppUser> userManager, SignInMa
: new TelegramLinkInfo(false, null, null);
}
public async Task<IReadOnlyCollection<long>> GetActivatedLinkedTelegramUserIdsAsync(CancellationToken cancellationToken)
{
return await userManager.Users.AsNoTracking()
.Where(u => u.TelegramUserId != null && u.IsActivated && !u.IsBlocked)
.Select(u => u.TelegramUserId!.Value)
.ToListAsync(cancellationToken);
}
private async Task<string> GetPrimaryRoleNameAsync(AppUser user)
{
var roles = await userManager.GetRolesAsync(user);