17c2958b9c
Build and Deploy to Production / build-and-deploy (push) Successful in 1m37s
- Add AppVersion entity with CurrentVersion, MinRequiredVersion, RequiresFullCacheClear - Add GetAppVersion query to check app version and compare with client version - Add GetAllAppVersions query for admin panel - Add UpdateAppVersion command to update/create app versions - Add appversion.proto for gRPC communication - Add AppVersionService for gRPC endpoints - Add database migration for AppVersions table
45 lines
1.4 KiB
C#
45 lines
1.4 KiB
C#
namespace CMSMicroservice.Application.AppVersionCQ.Queries.GetAllAppVersions;
|
|
|
|
/// <summary>
|
|
/// Handler برای دریافت همه نسخههای اپلیکیشنها
|
|
/// </summary>
|
|
public class GetAllAppVersionsQueryHandler : IRequestHandler<GetAllAppVersionsQuery, List<AppVersionItemDto>>
|
|
{
|
|
private readonly IApplicationDbContext _context;
|
|
|
|
public GetAllAppVersionsQueryHandler(IApplicationDbContext context)
|
|
{
|
|
_context = context;
|
|
}
|
|
|
|
public async Task<List<AppVersionItemDto>> Handle(GetAllAppVersionsQuery request, CancellationToken cancellationToken)
|
|
{
|
|
var query = _context.AppVersions
|
|
.Where(v => !v.IsDeleted);
|
|
|
|
if (!request.IncludeInactive)
|
|
{
|
|
query = query.Where(v => v.IsActive);
|
|
}
|
|
|
|
var versions = await query
|
|
.OrderBy(v => v.AppName)
|
|
.Select(v => new AppVersionItemDto
|
|
{
|
|
Id = v.Id,
|
|
AppName = v.AppName,
|
|
CurrentVersion = v.CurrentVersion,
|
|
MinRequiredVersion = v.MinRequiredVersion,
|
|
RequiresFullCacheClear = v.RequiresFullCacheClear,
|
|
UpdateMessage = v.UpdateMessage,
|
|
ReleaseNotes = v.ReleaseNotes,
|
|
IsActive = v.IsActive,
|
|
Created = v.Created,
|
|
LastModified = v.LastModified
|
|
})
|
|
.ToListAsync(cancellationToken);
|
|
|
|
return versions;
|
|
}
|
|
}
|