using System; using GraphQL.Types; using xAiModels.Interfaces.Entities; using xAiModels.Models.Entities; using xAiModels.Providers.Entities; using xAiModels.Providers.GraphQL; using xDataService.Db; using xDataService.Models; using xDataService.Providers; namespace xAiModels.Helpers { public static class XAiModelsHelper { // #region XAiConversation ... // #region EF Repository Descriptor Provider(s) ... public static XEFRepositoryDescriptor< XAiConversation, Guid, IXAiConversationKeyGenerator, XAiConversationKeyGenerator, IXAiConversationRepositoryEvents, XAiConversationRepositoryEvents, XAiConversationGraphType, GuidGraphType, XAiConversationGraphQuery, IXAiConversationGraphQLTypeHelper, XAiConversationGraphQLTypeHelper, XAiConversationGraphSchema, IXAiConversationRepository, XAiConversationEFRepository, TContext > GetXAiConversationEFRepositoryDescriptor() where TContext : XDbContext { // var result = new XEFRepositoryDescriptor< XAiConversation, Guid, IXAiConversationKeyGenerator, XAiConversationKeyGenerator, IXAiConversationRepositoryEvents, XAiConversationRepositoryEvents, XAiConversationGraphType, GuidGraphType, XAiConversationGraphQuery, IXAiConversationGraphQLTypeHelper, XAiConversationGraphQLTypeHelper, XAiConversationGraphSchema, IXAiConversationRepository, XAiConversationEFRepository, TContext >(); // return result; } public static XEFRepositoryDescriptor< XAiConversation, Guid, IXAiConversationKeyGenerator, XAiConversationKeyGenerator, IXAiConversationRepositoryEvents, XAiConversationRepositoryEvents, XAiConversationGraphType, GuidGraphType, XAiConversationGraphQuery, IXAiConversationGraphQLTypeHelper, XAiConversationGraphQLTypeHelper, XAiConversationGraphSchema, IXAiConversationRepository, XAiConversationEFRepository, TContext, IXAiConversationSeeder, TSeederImplementation > GetXAiConversationEFRepositoryDescriptor() where TContext : XDbContext where TSeederImplementation : XBaseDbSeeder { // var result = new XEFRepositoryDescriptor< XAiConversation, Guid, IXAiConversationKeyGenerator, XAiConversationKeyGenerator, IXAiConversationRepositoryEvents, XAiConversationRepositoryEvents, XAiConversationGraphType, GuidGraphType, XAiConversationGraphQuery, IXAiConversationGraphQLTypeHelper, XAiConversationGraphQLTypeHelper, XAiConversationGraphSchema, IXAiConversationRepository, XAiConversationEFRepository, TContext, IXAiConversationSeeder, TSeederImplementation >(); // return result; } #endregion // #region Mongo Repository Descriptor Provider(s) ... public static XMongoRepositoryDescriptor< XAiConversation, Guid, IXAiConversationKeyGenerator, XAiConversationKeyGenerator, IXAiConversationRepositoryEvents, XAiConversationRepositoryEvents, XAiConversationGraphType, GuidGraphType, XAiConversationGraphQuery, IXAiConversationGraphQLTypeHelper, XAiConversationGraphQLTypeHelper, XAiConversationGraphSchema, IXAiConversationRepository, XAiConversationMongoRepository > GetXAiConversationMongoRepositoryDescriptor() { // var result = new XMongoRepositoryDescriptor< XAiConversation, Guid, IXAiConversationKeyGenerator, XAiConversationKeyGenerator, IXAiConversationRepositoryEvents, XAiConversationRepositoryEvents, XAiConversationGraphType, GuidGraphType, XAiConversationGraphQuery, IXAiConversationGraphQLTypeHelper, XAiConversationGraphQLTypeHelper, XAiConversationGraphSchema, IXAiConversationRepository, XAiConversationMongoRepository >(); // return result; } public static XMongoRepositoryDescriptor< XAiConversation, Guid, IXAiConversationKeyGenerator, XAiConversationKeyGenerator, IXAiConversationRepositoryEvents, XAiConversationRepositoryEvents, XAiConversationGraphType, GuidGraphType, XAiConversationGraphQuery, IXAiConversationGraphQLTypeHelper, XAiConversationGraphQLTypeHelper, XAiConversationGraphSchema, IXAiConversationRepository, XAiConversationMongoRepository, IXAiConversationSeeder, TSeederImplementation > GetXAiConversationMongoRepositoryDescriptor() where TSeederImplementation : XBaseDbSeeder { // var result = new XMongoRepositoryDescriptor< XAiConversation, Guid, IXAiConversationKeyGenerator, XAiConversationKeyGenerator, IXAiConversationRepositoryEvents, XAiConversationRepositoryEvents, XAiConversationGraphType, GuidGraphType, XAiConversationGraphQuery, IXAiConversationGraphQLTypeHelper, XAiConversationGraphQLTypeHelper, XAiConversationGraphSchema, IXAiConversationRepository, XAiConversationMongoRepository, IXAiConversationSeeder, TSeederImplementation >(); // return result; } #endregion // #region InMemory Repository Descriptor Provider(s) ... public static XInMemoryRepositoryDescriptor< XAiConversation, Guid, IXAiConversationKeyGenerator, XAiConversationKeyGenerator, IXAiConversationRepositoryEvents, XAiConversationRepositoryEvents, XAiConversationGraphType, GuidGraphType, XAiConversationGraphQuery, IXAiConversationGraphQLTypeHelper, XAiConversationGraphQLTypeHelper, XAiConversationGraphSchema, IXAiConversationRepository, XAiConversationInMemoryRepository > GetXAiConversationInMemoryRepositoryDescriptor() { // var result = new XInMemoryRepositoryDescriptor< XAiConversation, Guid, IXAiConversationKeyGenerator, XAiConversationKeyGenerator, IXAiConversationRepositoryEvents, XAiConversationRepositoryEvents, XAiConversationGraphType, GuidGraphType, XAiConversationGraphQuery, IXAiConversationGraphQLTypeHelper, XAiConversationGraphQLTypeHelper, XAiConversationGraphSchema, IXAiConversationRepository, XAiConversationInMemoryRepository >(); // return result; } public static XInMemoryRepositoryDescriptor< XAiConversation, Guid, IXAiConversationKeyGenerator, XAiConversationKeyGenerator, IXAiConversationRepositoryEvents, XAiConversationRepositoryEvents, XAiConversationGraphType, GuidGraphType, XAiConversationGraphQuery, IXAiConversationGraphQLTypeHelper, XAiConversationGraphQLTypeHelper, XAiConversationGraphSchema, IXAiConversationRepository, XAiConversationInMemoryRepository, IXAiConversationSeeder, TSeederImplementation > GetXAiConversationInMemoryRepositoryDescriptor() where TSeederImplementation : XBaseDbSeeder { // var result = new XInMemoryRepositoryDescriptor< XAiConversation, Guid, IXAiConversationKeyGenerator, XAiConversationKeyGenerator, IXAiConversationRepositoryEvents, XAiConversationRepositoryEvents, XAiConversationGraphType, GuidGraphType, XAiConversationGraphQuery, IXAiConversationGraphQLTypeHelper, XAiConversationGraphQLTypeHelper, XAiConversationGraphSchema, IXAiConversationRepository, XAiConversationInMemoryRepository, IXAiConversationSeeder, TSeederImplementation >(); // return result; } #endregion #endregion // #region XAiMessage ... // #region EF Repository Descriptor Provider(s) ... public static XEFRepositoryDescriptor< XAiMessage, Guid, IXAiMessageKeyGenerator, XAiMessageKeyGenerator, IXAiMessageRepositoryEvents, XAiMessageRepositoryEvents, XAiMessageGraphType, GuidGraphType, XAiMessageGraphQuery, IXAiMessageGraphQLTypeHelper, XAiMessageGraphQLTypeHelper, XAiMessageGraphSchema, IXAiMessageRepository, XAiMessageEFRepository, TContext > GetXAiMessageEFRepositoryDescriptor() where TContext : XDbContext { // var result = new XEFRepositoryDescriptor< XAiMessage, Guid, IXAiMessageKeyGenerator, XAiMessageKeyGenerator, IXAiMessageRepositoryEvents, XAiMessageRepositoryEvents, XAiMessageGraphType, GuidGraphType, XAiMessageGraphQuery, IXAiMessageGraphQLTypeHelper, XAiMessageGraphQLTypeHelper, XAiMessageGraphSchema, IXAiMessageRepository, XAiMessageEFRepository, TContext >(); // return result; } public static XEFRepositoryDescriptor< XAiMessage, Guid, IXAiMessageKeyGenerator, XAiMessageKeyGenerator, IXAiMessageRepositoryEvents, XAiMessageRepositoryEvents, XAiMessageGraphType, GuidGraphType, XAiMessageGraphQuery, IXAiMessageGraphQLTypeHelper, XAiMessageGraphQLTypeHelper, XAiMessageGraphSchema, IXAiMessageRepository, XAiMessageEFRepository, TContext, IXAiMessageSeeder, TSeederImplementation > GetXAiMessageEFRepositoryDescriptor() where TContext : XDbContext where TSeederImplementation : XBaseDbSeeder { // var result = new XEFRepositoryDescriptor< XAiMessage, Guid, IXAiMessageKeyGenerator, XAiMessageKeyGenerator, IXAiMessageRepositoryEvents, XAiMessageRepositoryEvents, XAiMessageGraphType, GuidGraphType, XAiMessageGraphQuery, IXAiMessageGraphQLTypeHelper, XAiMessageGraphQLTypeHelper, XAiMessageGraphSchema, IXAiMessageRepository, XAiMessageEFRepository, TContext, IXAiMessageSeeder, TSeederImplementation >(); // return result; } #endregion // #region Mongo Repository Descriptor Provider(s) ... public static XMongoRepositoryDescriptor< XAiMessage, Guid, IXAiMessageKeyGenerator, XAiMessageKeyGenerator, IXAiMessageRepositoryEvents, XAiMessageRepositoryEvents, XAiMessageGraphType, GuidGraphType, XAiMessageGraphQuery, IXAiMessageGraphQLTypeHelper, XAiMessageGraphQLTypeHelper, XAiMessageGraphSchema, IXAiMessageRepository, XAiMessageMongoRepository > GetXAiMessageMongoRepositoryDescriptor() { // var result = new XMongoRepositoryDescriptor< XAiMessage, Guid, IXAiMessageKeyGenerator, XAiMessageKeyGenerator, IXAiMessageRepositoryEvents, XAiMessageRepositoryEvents, XAiMessageGraphType, GuidGraphType, XAiMessageGraphQuery, IXAiMessageGraphQLTypeHelper, XAiMessageGraphQLTypeHelper, XAiMessageGraphSchema, IXAiMessageRepository, XAiMessageMongoRepository >(); // return result; } public static XMongoRepositoryDescriptor< XAiMessage, Guid, IXAiMessageKeyGenerator, XAiMessageKeyGenerator, IXAiMessageRepositoryEvents, XAiMessageRepositoryEvents, XAiMessageGraphType, GuidGraphType, XAiMessageGraphQuery, IXAiMessageGraphQLTypeHelper, XAiMessageGraphQLTypeHelper, XAiMessageGraphSchema, IXAiMessageRepository, XAiMessageMongoRepository, IXAiMessageSeeder, TSeederImplementation > GetXAiMessageMongoRepositoryDescriptor() where TSeederImplementation : XBaseDbSeeder { // var result = new XMongoRepositoryDescriptor< XAiMessage, Guid, IXAiMessageKeyGenerator, XAiMessageKeyGenerator, IXAiMessageRepositoryEvents, XAiMessageRepositoryEvents, XAiMessageGraphType, GuidGraphType, XAiMessageGraphQuery, IXAiMessageGraphQLTypeHelper, XAiMessageGraphQLTypeHelper, XAiMessageGraphSchema, IXAiMessageRepository, XAiMessageMongoRepository, IXAiMessageSeeder, TSeederImplementation >(); // return result; } #endregion // #region InMemory Repository Descriptor Provider(s) ... public static XInMemoryRepositoryDescriptor< XAiMessage, Guid, IXAiMessageKeyGenerator, XAiMessageKeyGenerator, IXAiMessageRepositoryEvents, XAiMessageRepositoryEvents, XAiMessageGraphType, GuidGraphType, XAiMessageGraphQuery, IXAiMessageGraphQLTypeHelper, XAiMessageGraphQLTypeHelper, XAiMessageGraphSchema, IXAiMessageRepository, XAiMessageInMemoryRepository > GetXAiMessageInMemoryRepositoryDescriptor() { // var result = new XInMemoryRepositoryDescriptor< XAiMessage, Guid, IXAiMessageKeyGenerator, XAiMessageKeyGenerator, IXAiMessageRepositoryEvents, XAiMessageRepositoryEvents, XAiMessageGraphType, GuidGraphType, XAiMessageGraphQuery, IXAiMessageGraphQLTypeHelper, XAiMessageGraphQLTypeHelper, XAiMessageGraphSchema, IXAiMessageRepository, XAiMessageInMemoryRepository >(); // return result; } public static XInMemoryRepositoryDescriptor< XAiMessage, Guid, IXAiMessageKeyGenerator, XAiMessageKeyGenerator, IXAiMessageRepositoryEvents, XAiMessageRepositoryEvents, XAiMessageGraphType, GuidGraphType, XAiMessageGraphQuery, IXAiMessageGraphQLTypeHelper, XAiMessageGraphQLTypeHelper, XAiMessageGraphSchema, IXAiMessageRepository, XAiMessageInMemoryRepository, IXAiMessageSeeder, TSeederImplementation > GetXAiMessageInMemoryRepositoryDescriptor() where TSeederImplementation : XBaseDbSeeder { // var result = new XInMemoryRepositoryDescriptor< XAiMessage, Guid, IXAiMessageKeyGenerator, XAiMessageKeyGenerator, IXAiMessageRepositoryEvents, XAiMessageRepositoryEvents, XAiMessageGraphType, GuidGraphType, XAiMessageGraphQuery, IXAiMessageGraphQLTypeHelper, XAiMessageGraphQLTypeHelper, XAiMessageGraphSchema, IXAiMessageRepository, XAiMessageInMemoryRepository, IXAiMessageSeeder, TSeederImplementation >(); // return result; } #endregion #endregion // #region XAiProject ... // #region EF Repository Descriptor Provider(s) ... public static XEFRepositoryDescriptor< XAiProject, Guid, IXAiProjectKeyGenerator, XAiProjectKeyGenerator, IXAiProjectRepositoryEvents, XAiProjectRepositoryEvents, XAiProjectGraphType, GuidGraphType, XAiProjectGraphQuery, IXAiProjectGraphQLTypeHelper, XAiProjectGraphQLTypeHelper, XAiProjectGraphSchema, IXAiProjectRepository, XAiProjectEFRepository, TContext > GetXAiProjectEFRepositoryDescriptor() where TContext : XDbContext { // var result = new XEFRepositoryDescriptor< XAiProject, Guid, IXAiProjectKeyGenerator, XAiProjectKeyGenerator, IXAiProjectRepositoryEvents, XAiProjectRepositoryEvents, XAiProjectGraphType, GuidGraphType, XAiProjectGraphQuery, IXAiProjectGraphQLTypeHelper, XAiProjectGraphQLTypeHelper, XAiProjectGraphSchema, IXAiProjectRepository, XAiProjectEFRepository, TContext >(); // return result; } public static XEFRepositoryDescriptor< XAiProject, Guid, IXAiProjectKeyGenerator, XAiProjectKeyGenerator, IXAiProjectRepositoryEvents, XAiProjectRepositoryEvents, XAiProjectGraphType, GuidGraphType, XAiProjectGraphQuery, IXAiProjectGraphQLTypeHelper, XAiProjectGraphQLTypeHelper, XAiProjectGraphSchema, IXAiProjectRepository, XAiProjectEFRepository, TContext, IXAiProjectSeeder, TSeederImplementation > GetXAiProjectEFRepositoryDescriptor() where TContext : XDbContext where TSeederImplementation : XBaseDbSeeder { // var result = new XEFRepositoryDescriptor< XAiProject, Guid, IXAiProjectKeyGenerator, XAiProjectKeyGenerator, IXAiProjectRepositoryEvents, XAiProjectRepositoryEvents, XAiProjectGraphType, GuidGraphType, XAiProjectGraphQuery, IXAiProjectGraphQLTypeHelper, XAiProjectGraphQLTypeHelper, XAiProjectGraphSchema, IXAiProjectRepository, XAiProjectEFRepository, TContext, IXAiProjectSeeder, TSeederImplementation >(); // return result; } #endregion // #region Mongo Repository Descriptor Provider(s) ... public static XMongoRepositoryDescriptor< XAiProject, Guid, IXAiProjectKeyGenerator, XAiProjectKeyGenerator, IXAiProjectRepositoryEvents, XAiProjectRepositoryEvents, XAiProjectGraphType, GuidGraphType, XAiProjectGraphQuery, IXAiProjectGraphQLTypeHelper, XAiProjectGraphQLTypeHelper, XAiProjectGraphSchema, IXAiProjectRepository, XAiProjectMongoRepository > GetXAiProjectMongoRepositoryDescriptor() { // var result = new XMongoRepositoryDescriptor< XAiProject, Guid, IXAiProjectKeyGenerator, XAiProjectKeyGenerator, IXAiProjectRepositoryEvents, XAiProjectRepositoryEvents, XAiProjectGraphType, GuidGraphType, XAiProjectGraphQuery, IXAiProjectGraphQLTypeHelper, XAiProjectGraphQLTypeHelper, XAiProjectGraphSchema, IXAiProjectRepository, XAiProjectMongoRepository >(); // return result; } public static XMongoRepositoryDescriptor< XAiProject, Guid, IXAiProjectKeyGenerator, XAiProjectKeyGenerator, IXAiProjectRepositoryEvents, XAiProjectRepositoryEvents, XAiProjectGraphType, GuidGraphType, XAiProjectGraphQuery, IXAiProjectGraphQLTypeHelper, XAiProjectGraphQLTypeHelper, XAiProjectGraphSchema, IXAiProjectRepository, XAiProjectMongoRepository, IXAiProjectSeeder, TSeederImplementation > GetXAiProjectMongoRepositoryDescriptor() where TSeederImplementation : XBaseDbSeeder { // var result = new XMongoRepositoryDescriptor< XAiProject, Guid, IXAiProjectKeyGenerator, XAiProjectKeyGenerator, IXAiProjectRepositoryEvents, XAiProjectRepositoryEvents, XAiProjectGraphType, GuidGraphType, XAiProjectGraphQuery, IXAiProjectGraphQLTypeHelper, XAiProjectGraphQLTypeHelper, XAiProjectGraphSchema, IXAiProjectRepository, XAiProjectMongoRepository, IXAiProjectSeeder, TSeederImplementation >(); // return result; } #endregion // #region InMemory Repository Descriptor Provider(s) ... public static XInMemoryRepositoryDescriptor< XAiProject, Guid, IXAiProjectKeyGenerator, XAiProjectKeyGenerator, IXAiProjectRepositoryEvents, XAiProjectRepositoryEvents, XAiProjectGraphType, GuidGraphType, XAiProjectGraphQuery, IXAiProjectGraphQLTypeHelper, XAiProjectGraphQLTypeHelper, XAiProjectGraphSchema, IXAiProjectRepository, XAiProjectInMemoryRepository > GetXAiProjectInMemoryRepositoryDescriptor() { // var result = new XInMemoryRepositoryDescriptor< XAiProject, Guid, IXAiProjectKeyGenerator, XAiProjectKeyGenerator, IXAiProjectRepositoryEvents, XAiProjectRepositoryEvents, XAiProjectGraphType, GuidGraphType, XAiProjectGraphQuery, IXAiProjectGraphQLTypeHelper, XAiProjectGraphQLTypeHelper, XAiProjectGraphSchema, IXAiProjectRepository, XAiProjectInMemoryRepository >(); // return result; } public static XInMemoryRepositoryDescriptor< XAiProject, Guid, IXAiProjectKeyGenerator, XAiProjectKeyGenerator, IXAiProjectRepositoryEvents, XAiProjectRepositoryEvents, XAiProjectGraphType, GuidGraphType, XAiProjectGraphQuery, IXAiProjectGraphQLTypeHelper, XAiProjectGraphQLTypeHelper, XAiProjectGraphSchema, IXAiProjectRepository, XAiProjectInMemoryRepository, IXAiProjectSeeder, TSeederImplementation > GetXAiProjectInMemoryRepositoryDescriptor() where TSeederImplementation : XBaseDbSeeder { // var result = new XInMemoryRepositoryDescriptor< XAiProject, Guid, IXAiProjectKeyGenerator, XAiProjectKeyGenerator, IXAiProjectRepositoryEvents, XAiProjectRepositoryEvents, XAiProjectGraphType, GuidGraphType, XAiProjectGraphQuery, IXAiProjectGraphQLTypeHelper, XAiProjectGraphQLTypeHelper, XAiProjectGraphSchema, IXAiProjectRepository, XAiProjectInMemoryRepository, IXAiProjectSeeder, TSeederImplementation >(); // return result; } #endregion #endregion } }