- Introduced Telegram.Bot package for bot functionality. - Updated user management to include Telegram linking and blocking features. - Enhanced activation request handling with notifications via Telegram. - Added new database entities for Telegram link tokens and login requests. - Implemented traffic synchronization for client stats in the XuiPanelGateway. - Updated application structure to support new test projects and improved dependency injection for Telegram services.
23 lines
946 B
C#
23 lines
946 B
C#
using Microsoft.EntityFrameworkCore;
|
|
using PnvPanel.Application.Common.Interfaces;
|
|
using PnvPanel.Application.Common.Messaging;
|
|
using PnvPanel.Application.Common.Models;
|
|
|
|
namespace PnvPanel.Application.Admin.Apps;
|
|
|
|
public sealed class UpdateAppCommandHandler(IAppDbContext dbContext) : ICommandHandler<UpdateAppCommand, Result<AdminAppDto>>
|
|
{
|
|
public async Task<Result<AdminAppDto>> Handle(UpdateAppCommand command, CancellationToken cancellationToken)
|
|
{
|
|
var app = await dbContext.ClientApps.FirstOrDefaultAsync(a => a.Id == command.AppId, cancellationToken);
|
|
if (app is null)
|
|
return Result.Failure<AdminAppDto>(AppErrors.NotFound);
|
|
|
|
app.Update(
|
|
command.Name, new Uri(command.DownloadUrl, UriKind.Absolute), command.OperatingSystem,
|
|
command.Description, command.IconUrl, command.SortOrder, command.IsEnabled);
|
|
|
|
return Result.Success(AdminAppDto.FromDomain(app));
|
|
}
|
|
}
|