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; } } }