using Microsoft.AspNetCore.SignalR;
using xAiModels.Interfaces;
using xAiModels.Interfaces.Entities;
using xAiModels.Providers.Dtos;
using xAiModels.Providers.Entities;
namespace xAiModels.Providers
{
///
/// All Data Manipulation Requirements ...
///
public class XAiDataProvider : IXAiDataProvider
{
private readonly IHubContext messageDtoHub;
private readonly IHubContext projectDtoHub;
private readonly IXAiMessageRepository messageRepositoryService;
private readonly IXAiProjectRepository projectRepositoryService;
private readonly IHubContext messageEntityHub;
private readonly IHubContext projectEntityHub;
private readonly IXAiConversationRepository conversationRepository;
private readonly IHubContext conversationDtoHub;
private readonly IHubContext conversationEntityHub;
private readonly IXAiProjectTitleResourceProvider projectTitleResourceProvider;
private readonly IXAiConversationTitleResourceProvider conversationTitleResourceProvider;
private readonly IXAiProjectDescriptionResourceProvider projectDescriptionResourceProvider;
public XAiDataProvider(
IHubContext messageDtoHub,
IHubContext projectDtoHub,
IXAiMessageRepository messageRepositoryService,
IXAiProjectRepository projectRepositoryService,
IHubContext messageEntityHub,
IHubContext projectEntityHub,
IXAiConversationRepository conversationRepository,
IHubContext conversationDtoHub,
IHubContext conversationEntityHub,
IXAiProjectTitleResourceProvider projectTitleResourceProvider,
IXAiConversationTitleResourceProvider conversationTitleResourceProvider,
IXAiProjectDescriptionResourceProvider projectDescriptionResourceProvider
)
{
this.messageDtoHub = messageDtoHub;
this.projectDtoHub = projectDtoHub;
this.projectEntityHub = projectEntityHub;
this.messageEntityHub = messageEntityHub;
this.conversationDtoHub = conversationDtoHub;
this.conversationEntityHub = conversationEntityHub;
this.conversationRepository = conversationRepository;
this.messageRepositoryService = messageRepositoryService;
this.projectRepositoryService = projectRepositoryService;
this.projectTitleResourceProvider = projectTitleResourceProvider;
this.conversationTitleResourceProvider = conversationTitleResourceProvider;
this.projectDescriptionResourceProvider = projectDescriptionResourceProvider;
}
}
}