| 1234567891011121314151617181920212223242526272829 |
- using Application.Abstractions.Data;
- using Application.Abstractions.Messaging;
- using Microsoft.EntityFrameworkCore;
- namespace Application.Features.Admin.Channel.ExpConfig.Get;
- internal sealed class Handler(IAppDbContext db) : IQueryHandler<Query, Response>
- {
- public async Task<Response> Handle(Query request, CancellationToken ct)
- {
- var entity = await db.Config.AsNoTracking()
- .OrderByDescending(x => x.ID)
- .FirstOrDefaultAsync(ct);
- var cfg = entity?.ChatExp ?? new Domain.Entities.Common.ChatExpConfig();
- return new Response(
- cfg.ChatXpPerMessage,
- cfg.DonationXpPerAmount,
- cfg.ChatXpSessionLimit,
- cfg.MinContentLength,
- cfg.RateLimitSec,
- cfg.LeaderboardSize,
- cfg.CrownTopN,
- cfg.UxShowLeaderboard,
- cfg.UxShowMyXpBadge
- );
- }
- }
|