using AutoMapper; using Chatbot.Api.Domain.Repositories; using MediatR; using System; using System.Threading; using System.Threading.Tasks; namespace Chatbot.Api.Application.Queries { public class GetChat { public class Query : Query { public Guid SessionId { get; set; } public Query() { } } public class Model { public Guid ChatId { get; set; } } public class QueryHandler : IRequestHandler { private readonly IChatRepository _chatRepository; private readonly IMapper _mapper; public QueryHandler(IChatRepository chatRepository, IMapper mapper) { _chatRepository = chatRepository; _mapper = mapper; } public async Task Handle(Query request, CancellationToken cancellationToken) { var chat = await _chatRepository.CreateChat(request.SessionId); var result = _mapper.Map(chat); return result; } } } }