816 lines
27 KiB
C#
816 lines
27 KiB
C#
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>,
|
|
TContext
|
|
> GetXAiConversationEFRepositoryDescriptor<TContext>()
|
|
where TContext : XDbContext
|
|
{
|
|
//
|
|
var result = new XEFRepositoryDescriptor<
|
|
XAiConversation,
|
|
Guid,
|
|
IXAiConversationKeyGenerator,
|
|
XAiConversationKeyGenerator,
|
|
IXAiConversationRepositoryEvents,
|
|
XAiConversationRepositoryEvents,
|
|
XAiConversationGraphType,
|
|
GuidGraphType,
|
|
XAiConversationGraphQuery,
|
|
IXAiConversationGraphQLTypeHelper,
|
|
XAiConversationGraphQLTypeHelper,
|
|
XAiConversationGraphSchema,
|
|
IXAiConversationRepository,
|
|
XAiConversationEFRepository<TContext>,
|
|
TContext
|
|
>();
|
|
|
|
//
|
|
return result;
|
|
}
|
|
|
|
public static XEFRepositoryDescriptor<
|
|
XAiConversation,
|
|
Guid,
|
|
IXAiConversationKeyGenerator,
|
|
XAiConversationKeyGenerator,
|
|
IXAiConversationRepositoryEvents,
|
|
XAiConversationRepositoryEvents,
|
|
XAiConversationGraphType,
|
|
GuidGraphType,
|
|
XAiConversationGraphQuery,
|
|
IXAiConversationGraphQLTypeHelper,
|
|
XAiConversationGraphQLTypeHelper,
|
|
XAiConversationGraphSchema,
|
|
IXAiConversationRepository,
|
|
XAiConversationEFRepository<TContext>,
|
|
TContext,
|
|
IXAiConversationSeeder,
|
|
TSeederImplementation
|
|
> GetXAiConversationEFRepositoryDescriptor<TContext, TSeederImplementation>()
|
|
where TContext : XDbContext
|
|
where TSeederImplementation : XBaseDbSeeder<XAiConversation, Guid>
|
|
{
|
|
//
|
|
var result = new XEFRepositoryDescriptor<
|
|
XAiConversation,
|
|
Guid,
|
|
IXAiConversationKeyGenerator,
|
|
XAiConversationKeyGenerator,
|
|
IXAiConversationRepositoryEvents,
|
|
XAiConversationRepositoryEvents,
|
|
XAiConversationGraphType,
|
|
GuidGraphType,
|
|
XAiConversationGraphQuery,
|
|
IXAiConversationGraphQLTypeHelper,
|
|
XAiConversationGraphQLTypeHelper,
|
|
XAiConversationGraphSchema,
|
|
IXAiConversationRepository,
|
|
XAiConversationEFRepository<TContext>,
|
|
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<TSeederImplementation>()
|
|
where TSeederImplementation : XBaseDbSeeder<XAiConversation, Guid>
|
|
{
|
|
//
|
|
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<TSeederImplementation>()
|
|
where TSeederImplementation : XBaseDbSeeder<XAiConversation, Guid>
|
|
{
|
|
//
|
|
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>,
|
|
TContext
|
|
> GetXAiMessageEFRepositoryDescriptor<TContext>()
|
|
where TContext : XDbContext
|
|
{
|
|
//
|
|
var result = new XEFRepositoryDescriptor<
|
|
XAiMessage,
|
|
Guid,
|
|
IXAiMessageKeyGenerator,
|
|
XAiMessageKeyGenerator,
|
|
IXAiMessageRepositoryEvents,
|
|
XAiMessageRepositoryEvents,
|
|
XAiMessageGraphType,
|
|
GuidGraphType,
|
|
XAiMessageGraphQuery,
|
|
IXAiMessageGraphQLTypeHelper,
|
|
XAiMessageGraphQLTypeHelper,
|
|
XAiMessageGraphSchema,
|
|
IXAiMessageRepository,
|
|
XAiMessageEFRepository<TContext>,
|
|
TContext
|
|
>();
|
|
|
|
//
|
|
return result;
|
|
}
|
|
|
|
public static XEFRepositoryDescriptor<
|
|
XAiMessage,
|
|
Guid,
|
|
IXAiMessageKeyGenerator,
|
|
XAiMessageKeyGenerator,
|
|
IXAiMessageRepositoryEvents,
|
|
XAiMessageRepositoryEvents,
|
|
XAiMessageGraphType,
|
|
GuidGraphType,
|
|
XAiMessageGraphQuery,
|
|
IXAiMessageGraphQLTypeHelper,
|
|
XAiMessageGraphQLTypeHelper,
|
|
XAiMessageGraphSchema,
|
|
IXAiMessageRepository,
|
|
XAiMessageEFRepository<TContext>,
|
|
TContext,
|
|
IXAiMessageSeeder,
|
|
TSeederImplementation
|
|
> GetXAiMessageEFRepositoryDescriptor<TContext, TSeederImplementation>()
|
|
where TContext : XDbContext
|
|
where TSeederImplementation : XBaseDbSeeder<XAiMessage, Guid>
|
|
{
|
|
//
|
|
var result = new XEFRepositoryDescriptor<
|
|
XAiMessage,
|
|
Guid,
|
|
IXAiMessageKeyGenerator,
|
|
XAiMessageKeyGenerator,
|
|
IXAiMessageRepositoryEvents,
|
|
XAiMessageRepositoryEvents,
|
|
XAiMessageGraphType,
|
|
GuidGraphType,
|
|
XAiMessageGraphQuery,
|
|
IXAiMessageGraphQLTypeHelper,
|
|
XAiMessageGraphQLTypeHelper,
|
|
XAiMessageGraphSchema,
|
|
IXAiMessageRepository,
|
|
XAiMessageEFRepository<TContext>,
|
|
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<TSeederImplementation>()
|
|
where TSeederImplementation : XBaseDbSeeder<XAiMessage, Guid>
|
|
{
|
|
//
|
|
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<TSeederImplementation>()
|
|
where TSeederImplementation : XBaseDbSeeder<XAiMessage, Guid>
|
|
{
|
|
//
|
|
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>,
|
|
TContext
|
|
> GetXAiProjectEFRepositoryDescriptor<TContext>()
|
|
where TContext : XDbContext
|
|
{
|
|
//
|
|
var result = new XEFRepositoryDescriptor<
|
|
XAiProject,
|
|
Guid,
|
|
IXAiProjectKeyGenerator,
|
|
XAiProjectKeyGenerator,
|
|
IXAiProjectRepositoryEvents,
|
|
XAiProjectRepositoryEvents,
|
|
XAiProjectGraphType,
|
|
GuidGraphType,
|
|
XAiProjectGraphQuery,
|
|
IXAiProjectGraphQLTypeHelper,
|
|
XAiProjectGraphQLTypeHelper,
|
|
XAiProjectGraphSchema,
|
|
IXAiProjectRepository,
|
|
XAiProjectEFRepository<TContext>,
|
|
TContext
|
|
>();
|
|
|
|
//
|
|
return result;
|
|
}
|
|
|
|
public static XEFRepositoryDescriptor<
|
|
XAiProject,
|
|
Guid,
|
|
IXAiProjectKeyGenerator,
|
|
XAiProjectKeyGenerator,
|
|
IXAiProjectRepositoryEvents,
|
|
XAiProjectRepositoryEvents,
|
|
XAiProjectGraphType,
|
|
GuidGraphType,
|
|
XAiProjectGraphQuery,
|
|
IXAiProjectGraphQLTypeHelper,
|
|
XAiProjectGraphQLTypeHelper,
|
|
XAiProjectGraphSchema,
|
|
IXAiProjectRepository,
|
|
XAiProjectEFRepository<TContext>,
|
|
TContext,
|
|
IXAiProjectSeeder,
|
|
TSeederImplementation
|
|
> GetXAiProjectEFRepositoryDescriptor<TContext, TSeederImplementation>()
|
|
where TContext : XDbContext
|
|
where TSeederImplementation : XBaseDbSeeder<XAiProject, Guid>
|
|
{
|
|
//
|
|
var result = new XEFRepositoryDescriptor<
|
|
XAiProject,
|
|
Guid,
|
|
IXAiProjectKeyGenerator,
|
|
XAiProjectKeyGenerator,
|
|
IXAiProjectRepositoryEvents,
|
|
XAiProjectRepositoryEvents,
|
|
XAiProjectGraphType,
|
|
GuidGraphType,
|
|
XAiProjectGraphQuery,
|
|
IXAiProjectGraphQLTypeHelper,
|
|
XAiProjectGraphQLTypeHelper,
|
|
XAiProjectGraphSchema,
|
|
IXAiProjectRepository,
|
|
XAiProjectEFRepository<TContext>,
|
|
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<TSeederImplementation>()
|
|
where TSeederImplementation : XBaseDbSeeder<XAiProject, Guid>
|
|
{
|
|
//
|
|
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<TSeederImplementation>()
|
|
where TSeederImplementation : XBaseDbSeeder<XAiProject, Guid>
|
|
{
|
|
//
|
|
var result = new XInMemoryRepositoryDescriptor<
|
|
XAiProject,
|
|
Guid,
|
|
IXAiProjectKeyGenerator,
|
|
XAiProjectKeyGenerator,
|
|
IXAiProjectRepositoryEvents,
|
|
XAiProjectRepositoryEvents,
|
|
XAiProjectGraphType,
|
|
GuidGraphType,
|
|
XAiProjectGraphQuery,
|
|
IXAiProjectGraphQLTypeHelper,
|
|
XAiProjectGraphQLTypeHelper,
|
|
XAiProjectGraphSchema,
|
|
IXAiProjectRepository,
|
|
XAiProjectInMemoryRepository,
|
|
IXAiProjectSeeder,
|
|
TSeederImplementation
|
|
>();
|
|
|
|
//
|
|
return result;
|
|
}
|
|
#endregion
|
|
#endregion
|
|
}
|
|
} |